Προγραμματιζόμενο κύκλωμα χρονοδιακόπτη Arduino 2 βημάτων

Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων





Σε αυτό το άρθρο μαθαίνουμε πώς να φτιάχνουμε ένα απλό κύκλωμα χρονοδιακόπτη Arduino 2 βημάτων, το οποίο μπορεί να χρησιμοποιηθεί για την εναλλαγή ON / OFF ηλεκτρικού φορτίου με ανεξάρτητα ρυθμιζόμενους χρονισμούς ON και OFF.

Για παράδειγμα, εάν θέλετε ένα φως να παραμείνει αναμμένο για 24 ώρες και OFF για 2 ώρες, μπορείτε απλά να το κάνετε μέσω μιας γρήγορης τροποποίησης στον κώδικα προγράμματος. Με τον ίδιο τρόπο μπορείτε να προσαρμόσετε τους χρονισμούς εξόδου σε οποιοδήποτε άλλο επιθυμητό σύνολο χρονικών διαστημάτων αλλάζοντας τον κώδικα κατάλληλα.



Απλά πρέπει μεταγλώττιση και μεταφόρτωση τον ακόλουθο κωδικό στην πλακέτα Arduino και ξεκινήστε τη λειτουργία χρονοδιακόπτη σύμφωνα με τις συγκεκριμένες ανάγκες της εφαρμογής σας.

Κωδικός προγράμματος

void setup(){ pinMode(13, OUTPUT) } void loop(){ digitalWrite(13, HIGH) delay(86400000) digitalWrite(13, LOW) delay(3600000) }

Στο παραπάνω παράδειγμα κωδικοποιήστε τις γραμμές καθυστέρηση (86400000) και καθυστέρηση (3600000) προσδιορίστε τα χρονικά διαστήματα καθυστέρησης ON και OFF εξόδου αντίστοιχα, σε χιλιοστά του δευτερολέπτου. Εδώ, το σχήμα 86400000 χιλιοστά του δευτερολέπτου αντιστοιχεί σε 24 ώρες, ενώ 3.600.000 παρουσιάζει καθυστέρηση 1 ώρας.



Μπορείτε να προσαρμόσετε αυτές τις δύο τιμές σύμφωνα με την προσωπική σας προτίμηση για να λάβετε τις απαιτούμενες καθυστερήσεις εξόδου.

Μόλις ρυθμιστεί και ενεργοποιηθεί, το Arduino θα συνεχίσει να εναλλάσσεται μεταξύ της ακολουθίας χρονισμού ON / OFF των δύο βημάτων. εφ 'όσον παραμένει ισχύς στο σύστημα.

Διάγραμμα κυκλώματος

Το πλήρες διάγραμμα κυκλώματος μαζί με τις συνδέσεις Arduino φαίνεται στο ακόλουθο διάγραμμα:

Κύκλωμα χρονοδιακόπτη Arduino One-Shot

Εάν δεν θέλετε ο χρονοδιακόπτης να περάσει μέσω του χρονοδιακόπτη δύο βημάτων, αντί να θέλετε ο χρονοδιακόπτης να είναι ένας τύπος μιας λήψης, ο οποίος θα απενεργοποιείται μόνιμα μετά την καθορισμένη καθυστέρηση, μπορείτε να εφαρμόσετε τον ακόλουθο κωδικό:

int led = 13 // Pin 13 has an LED connected on most Arduino boards. unsigned long DELAY_TIME = 10000 // 10 sec unsigned long delayStart = 0 // the time the delay started bool delayRunning = false // true if still waiting for delay to finish void setup() { pinMode(led, OUTPUT) // initialize the digital pin as an output. digitalWrite(led, HIGH) // turn led on // start delay delayStart = millis() delayRunning = true } void loop() { // check if delay has timed out if (delayRunning && ((millis() - delayStart) >= DELAY_TIME)) { delayRunning = false // finished delay -- single shot, once only digitalWrite(led, LOW) // turn led off } }

Εάν θέλετε μια διακριτικά σχεδιασμένη έκδοση ενός ίδιου προγραμματιζόμενου κυκλώματος χρονοδιακόπτη, μπορείτε επιλέξτε αυτό το κύκλωμα

Απαιτούμενα ανταλλακτικά για το κύκλωμα χρονοδιακόπτη Arduino

  • Arduino Πίνακας UNO = 1
  • IC 7809 = 1
  • BC547 = 1
  • 1N4007 Δίοδος = 1
  • 10k 1/4 w αντίσταση = 1
  • Ρελέ 12V / 400 ohm / SPDT / 5 amp = 1
  • 12V AC to DC Adapter = 1



Προηγούμενο: Απλό κύκλωμα ψηφιακού χρονοδιακόπτη με οθόνη 2 ψηφίων Επόμενο: Ψηφιακό κύκλωμα θερμομέτρου - Χρησιμοποιεί ένα ηλιακό στοιχείο για ισχύ