Ημέρα 5 - Ενότητα 2 - Αναβοσβήνοντας ένα LED με το NodeMCU
Ιστότοπος: | ΕΛ/ΛΑΚ Moodle |
Μάθημα: | Εκπαιδευτική Ρομποτική - 3D Εκτυπώσεις - Διαδίκτυο των Πραγμάτων |
Βιβλίο: | Ημέρα 5 - Ενότητα 2 - Αναβοσβήνοντας ένα LED με το NodeMCU |
Εκτυπώθηκε από: | Guest user |
Ημερομηνία: | Παρασκευή, 22 Νοεμβρίου 2024, 5:49 AM |
Περιγραφή
Μετά την ολοκλήρωση αυτής της ενότητας ως εκπαιδευόμενοι θα μπορείτε να:
- περιγράψετε τι είναι ένα LED και τη χρήση του
- δηλώσετε τι είναι ένας αντιστάτης και η λειτουργία του
- συνδυάσετε ηλεκτρονικά στοιχεία για να δημιουργήσετε ένα κύκλωμα
- δημιουργείτε τον κώδικα για να αναβοσβήνει το LED
Ας κάνουμε το LED να αναβοσβήσει!
Σε αυτό το κεφάλαιο θα δοκιμάσουμε το πρόγραμμα Blink, προγραμματίζοντας το NodeMCU για να αναβοσβήνει το LED με μία καθυστέρηση που έχουμε προηγουμένως καθορίσει.
Συνδέουμε το NodeMCU και το LED όπως παραπάνω στο breadboard, φροντίζοντας να συνδέσουμε το κοντύτερο πόδι από τα δύο στην επαφή GND του NodeMCU (δια μέσου ενός 220 Ohm αντιστάτη) και το μακρύτερο πόδι στην επαφή D7.
Ο αντιστάτης είναι ένα ηλεκτρονικό στοιχείο το οποίο χρησιμοποιείται για τον περιορισμό της ροής του ρεύματος στο κύκλωμα. Στην περίπτωσή μας τον χρησιμοποιούμε με σκοπό να προστατεύει το LED από το να μην καταστραφεί ή τουλάχιστον να μην πιεστεί, καθώς οι προδιαγραφές του LED είναι για χρήση με μικρότερης ισχύος ροή ηλεκτρικού ρεύματος από αυτή που δίνει το NodeMCU.
Η επαφή D7 (Digital pin 7) αντιστοιχεί στην επαφή 13 όπως την αντιλαμβάνεται το Arduino IDE. Αντιγράφουμε λοιπόν τον ακόλουθο κώδικα στον επεξεργαστή κώδικα του Arduino IDE:
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}
και πατάμε το κουμπί Upload. Στη συνέχεια απολαμβάνουμε το πρώτο μας πρόγραμμα Blinking.
Ας δούμε τις λεπτομέρειες του προγράμματός μας.
Υπάρχουν δύο ενότητες: void setup() και void loop().Οτιδήποτε ανήκει στην ενότητα void setup() (μέσα σε άγκιστρα {} ) εκτελείται μία φορά μόνο, όταν το πρόγραμμα ξεκινάει.
pinMode(13, OUTPUT); προετοιμάζει την επαφή 13 (D7-Digital 7) του NodeMCU για να δέχεται εντολές εξόδου όπως "Άναψε" ή "Σβήσε", 0 ή 1, με τη δυαδική λογική.
Οτιδήποτε ανήκει στην ενότητα void loop() (μέσα σε άγκιστρα {} )εκτελείται ξανά και ξανά, μέχρι να βγάλουμε από το καλώδιο, το NodeMCU.
digitalWrite(13, HIGH); δίνει εντολή στην επαφή 13 (D7-Digital 7) να ανάψει και digitalWrite(13, LOW); δίνει εντολή στην επαφή 13 (D7-Digital 7) να σβήσει.
Μεταξύ των δύο παραπάνω εντολών υπάρχουν δύο εντολές delay(1000); που η καθεμία λέει στο πρόγραμμα να περιμένει για 1000 ms (1 δευτερόλεπτο) πριν εκτελεστεί η επόμενη εντολή.
Τώρα, δοκιμάστε να αλλάξετε το πρόγραμμα με σκοπό να στείλετε ένα μήνυμα SOS δια μέσου του NodeMCU και του LED.
Μη φοβάστε την αποτυχία. Η επιτυχία έρχεται αμέσως μετά την τελευταία μας αποτυχία, αν συνεχίσουμε να προσπαθούμε!