2.2 LED που αναπνέει

Θα χρησιμοποιήσουμε τωρα μια άλλη μέθοδο για να ελέγξουμε τη φωτεινότητα του LED. Σε αντίθεση με το προηγούμενο έργο, εδώ η φωτεινότητα του LED αλλάζει σταδιακά.

Όταν κάνετε κλικ στη μορφή της σκηνής, η φωτεινότητα του LED αυξάνεται αργά και στη συνέχεια σβήνει αμέσως.

../_images/3_ap.png

Θα μάθετε

  • Να ρυθμίζετε την τιμή εξόδου της ακίδας PWM

  • Να δημιουργείτε μεταβλητές

  • Να αλλάζετε τη φωτεινότητα μορφής

Κατασκευάστε το κύκλωμα

Σε αυτό το έργο το κύκλωμα είναι το ίδιο με αυτό του προηγούμενου έργου 2.1 Επιτραπέζιο φωτιστικό, αλλά αντί να χρησιμοποιεί HIGH/LOW για να ανάβουν ή να σβήνουν τα LED, το παρόν έργο χρησιμοποιεί το σήμα PWM - Wikipedia για να ανάβει ή να σβήνει βαθμιαία το LED.

Το εύρος σήματος του PWM είναι 0-255. Στην πλακέτα Arduino Uno, οι ακίδες εξόδου 3, 5, 6, 9, 10, 11 μπορούν να εξάγουν σήμα PWM. Στο Mega2560, οι ακίδες 2 - 13, 44 - 46 μπορούν να εξάγουν σήμα PWM.

../_images/led_circuit.png

Προγραμματισμός

1. Επιλέξτε μια μορφη

Διαγράψτε την προεπιλεγμένη μορφή, κάντε κλικ στο κουμπί Choose a Sprite στην κάτω δεξιά γωνία της περιοχής μορφής, εισαγάγετε το button3 στο πλαίσιο αναζήτησης και, στη συνέχεια, κάντε κλικ πάνω του για να το προσθέσετε.

../_images/3_sprite.png

2. Δημιουργήστε μια μεταβλητή.

Δημιουργήστε τη μεταβλητή με όνομα pwm για να αποθηκεύσετε την τιμή αλλαγής του pwm.

Κάντε κλικ στην παλέτα Variables και επιλέξτε Make a Variable.

../_images/3_ap_va.png

Εισαγάγετε το όνομα της μεταβλητής, μπορεί να είναι οποιοδήποτε όνομα (οπωσδήποτε με αγγλικούς χαρακτήρες), αλλά συνιστάται να είναι ένα όνομα που να περιγράφει τη λειτουργία της. Ο τύπος δεδομένων είναι Number(αριθμός) και For all sprites (για όλες τις μορφές).

../_images/3_ap_pwm.png

Μόλις δημιουργηθεί, θα δείτε το pwm μέσα στην παλέτα Variables και σεκατάσταση «επιλεγμένο», που σημαίνει ότι αυτή η μεταβλητή θα εμφανιστεί στη σκηνή. Μπορείτε να δοκιμάσετε να το αποεπιλέξετε για να δείτε αν το pwm εξακολουθεί να υπάρχει στη σκηνή.

../_images/3_ap_0.png

3. Ρυθμίστε την αρχική κατάσταση Όταν θα γίνεται κλικ στη μορφή button3, θα αλλάζει η ενδυμασία στην button-b (κατάσταση «κλικαρισμένο») και θα ορίζεται αρχική τιμή της μεταβλητής pwm σε 0.

  • [set pwm to 0]: από την παλέτα Variables, χρησιμοποιείται για τον ορισμό της τιμής της μεταβλητής.

../_images/3_ap_brightness.png

4. Κάντε το LED όλο και πιο φωτεινό

Δεδομένου ότι το εύρος του pwm είναι 0-255, με το μπλοκ [repeat], η τιμή της μεταβλητής pwm αυξάνεται έως το 255 κατά 5 κάθε φορά και, σε κάθε αύξηση, η μεταβλητή τοποθετείται στο μπλοκ [set PWM pin], με αποτέλεσμα το LED να γίνεται όλο και πιο φωτεινό σταδιακά.

  • [change pwm by 5]: από την παλέτα Variables, αλλάζει την τιμή της μεταβλητής κατά έναν συγκεκριμένο αριθμό κάθε φορά. Μπορεί να είναι θετικός ή αρνητικός αριθμός, ο θετικός την αυξάνει και ο αρνητικός τη μειώνει κάθε φορά. Για παράδειγμα, εδώ η μεταβλητή pwm αυξάνεται κατά 5 κάθε φορά.

  • [set PWM pin]: από την παλέτα Arduino Uno, χρησιμοποιείται για τον ορισμό της τιμής εξόδου της ακίδας pwm.

../_images/3_ap_1.png

Τέλος, αλλάξτε την ενδυμασία του button3 στην αρχική button-a και κάντε την τιμή της ακίδας PWM 0, έτσι ώστε το LED να ανάβει σταδιακά και μετά να σβήσει ξανά.

../_images/3_ap_2.png