Πίνακας περιεχομένων:

Arduino Nano Baised IR Controlled RGB LED: 5 Βήματα
Arduino Nano Baised IR Controlled RGB LED: 5 Βήματα

Βίντεο: Arduino Nano Baised IR Controlled RGB LED: 5 Βήματα

Βίντεο: Arduino Nano Baised IR Controlled RGB LED: 5 Βήματα
Βίντεο: Arduino IR Remote Control LED | Arduino IR Receiver 2024, Ιούλιος
Anonim
Arduino Nano Baised IR Controlled RGB LED
Arduino Nano Baised IR Controlled RGB LED

σε αυτό το μικρό έργο θέλω να σας δείξω πώς έφτιαξα το RGB LED βασισμένο σε Arduino που ελέγχεται από τηλεχειριστήριο IR και τροφοδοτείται από καλώδιο USB.

Προμήθειες

1. LED RGB

2. δέκτης IR

3. Καλώδιο USB

4. Arduino nano

5. Τηλεχειριστήριο IR

6. μερικά καλώδια

7. Αντιστάσεις 50-100 ohm (χρησιμοποιώ αντιστάσεις 47 ohm αλλά δεν υπάρχει μεγάλη διαφορά)

Βήμα 1: Επιλέξτε το τηλεχειριστήριό σας

Επιλέξτε το τηλεχειριστήριό σας
Επιλέξτε το τηλεχειριστήριό σας

Επομένως, ποιο τηλεχειριστήριο χρησιμοποιείτε είναι δική σας απόφαση, αλλά το τηλεχειριστήριό σας πρέπει να έχει 6 κλειδιά που θέλετε να χρησιμοποιήσετε. 2 από αυτά είναι για το Κόκκινο, 2 από αυτά για το Πράσινο και 2 για το Μπλε.

Βήμα 2: Κατασκευάστε το πρώτα σε έναν πίνακα ψωμιού (όχι απαραίτητο αλλά συνιστάται)

Κατασκευάστε το πρώτα σε έναν πίνακα ψωμιού (όχι απαραίτητο αλλά συνιστάται)
Κατασκευάστε το πρώτα σε έναν πίνακα ψωμιού (όχι απαραίτητο αλλά συνιστάται)
Κατασκευάστε το πρώτα σε έναν πίνακα ψωμιού (όχι απαραίτητο αλλά συνιστάται)
Κατασκευάστε το πρώτα σε έναν πίνακα ψωμιού (όχι απαραίτητο αλλά συνιστάται)

Τώρα, χτίστε το κύκλωμα σε μια σανίδα ψωμιού

συνδέσεις:

RGB LED GND> Arduino nano GND

RGB LED Κόκκινο> Arduino nano Digital pin 5

RGB LED Πράσινο> Arduino nano Digital pin 6

RGB LED μπλε> Arduino nano Digital pin 9

USB GND> Arduino nano GND

USB 5v> Arduino nano 5v

Καρφί δέκτη IR 1> Arduino nano Digital pin 4

Καρφίτσα δέκτη IR 2> Arduino nano GND

Ακίδα δέκτη IR 3> Arduino nano 5v

(όλες οι συνδέσεις φαίνονται παραπάνω)

(κάθε χρωματική ακίδα του LED RGB συνδέεται σειρά με αντιστάσεις)

Βήμα 3: Ο κώδικας

ο κωδικός είναι ο ακόλουθος:

Εδώ είναι η βιβλιοθήκη που χρησιμοποίησα.

#περιλαμβάνω

int IR_Recv = 4; // Καρφίτσα δέκτη IR

int Rval = 0; int Gval = 0; int Bval = 0; int RvalDemo = 0; int GvalDemo = 0; int BvalDemo = 0; int R = 5; // Κόκκινη καρφίτσα int G = 6; // Πράσινη καρφίτσα int B = 9; // Μπλε καρφίτσα #define Rup1 1976685926 // αυξάνει την κόκκινη φωτεινότητα #define Rup2 3772818013 // αυξάνει την κόκκινη φωτεινότητα #define Rdown1 3843765582 // μειώνει τη κόκκινη φωτεινότητα #define Rdown2 3772813933 // μειώνει την κόκκινη φωτεινότητα # # Gup1 3772797613 // κάνει την πράσινη φωτεινότητα να ανεβαίνει #define Gup2 3774104872 // κάνει την πράσινη φωτεινότητα να ανεβαίνει #define Gdown1 3772834333 // μειώνει την πράσινη φωτεινότητα #define Gdown2 1784778242 // μειώνει την πράσινη φωτεινότητα #define Bup1 3980777284 // κάνει μπλε η φωτεινότητα ανεβαίνει #define Bup2 3772781293 // κάνει το μπλε φωτεινότητα να ανεβαίνει #define Bdown1 3772801693 // μειώνει τη μπλε φωτεινότητα #define Bdown2 3361986248 // μειώνει τη μπλε φωτεινότητα // ΣΗΜΕΙΩΣΗ: ΠΡΕΠΕΙ ΝΑ ΑΛΛΑΞΕΤΕ ΤΟΥΣ ΑΡΙΘΜΟΥΣ ΣΤΟ ΤΗΛΕΚΤΡΟΝΙΚΟ ΣΑΣ !!! ! // Έχω 2 διπλά κλειδιά για παράδειγμα Rup1 και Rup2. επειδή // το τηλεχειριστήριο μου εξάγει 2 αριθμούς όταν πατάτε ένα πλήκτρο. // στην περίπτωσή σας μπορείτε να βάλετε τους ίδιους αριθμούς σε Rup1 και Rup2, Gup1 και Gup2 και έτσι ένα. // Όταν πατάτε ένα πλήκτρο, ο αριθμός πρέπει να εμφανίζεται στη Σειριακή οθόνη, // Αυτό πρέπει να πληκτρολογήσετε στην ενότητα "#define". IRrecv irrecv (IR_Recv); decode_results αποτελέσματα? void setup () {TCCR2A = _BV (COM2A1) | _BV (COM2B1) | _BV (WGM21) | _BV (WGM20); TCCR2B = _BV (CS22); irrecv.enableIRIn (); pinMode (R, OUTPUT); pinMode (G, OUTPUT); pinMode (B, OUTPUT); Serial.begin (9600); } void loop () {if (irrecv.decode (& results)) {long int decCode = results.value; switch (results.value) {/////////// RED case Rup1: Rval = Rval + 10; Διακοπή; περίπτωση Rup2: Rval = Rval + 10; Διακοπή; περίπτωση Rdown1: Rval = Rval - 10; Διακοπή; περίπτωση Rdown2: Rval = Rval - 10; Διακοπή; ///////////// ΠΡΑΣΙΝΗ θήκη Gup1: Gval = Gval + 10; Διακοπή; περίπτωση Gup2: Gval = Gval + 10; Διακοπή; περίπτωση Gdown1: Gval = Gval - 10; Διακοπή; περίπτωση Gdown2: Gval = Gval - 10; Διακοπή; ////////////// ΜΠΛΕ θήκη Bup1: Bval = Bval + 10; Διακοπή; περίπτωση Bup2: Bval = Bval + 10; Διακοπή; περίπτωση Bdown1: Bval = Bval - 10; Διακοπή; περίπτωση Bdown2: Bval = Bval - 10; Διακοπή; //////////////////////////////////////////recv.resume (); } if (Rval> 255) (Rval = 255); εάν (Rval 255) (Gval = 255); εάν (Gval 255) (Bval = 255); εάν (Bval <0) (Bval = 0)? analogWrite (R, Rval); analogWrite (G, Gval); analogWrite (B, Bval); Serial.println (results.value); καθυστέρησηΜικροδευτερόλεπτα (1); }

Βήμα 4: Φινίρισμα

Φινίρισμα
Φινίρισμα
Φινίρισμα
Φινίρισμα
Φινίρισμα
Φινίρισμα

Δεν έχω κάνει καλή δουλειά στο περίβλημα. το μόνο που έκανα ήταν να το κολλήσω με ταινία, αλλά προσπάθησα να το κάνω όσο το δυνατόν μικρότερο.

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

Συνιστάται: