Cuprins:
- Provizii
- Pasul 1: alege telecomanda
- Pasul 2: Construiți-l mai întâi pe un panou (nu este necesar, dar recomandat)
- Pasul 3: Codul
- Pasul 4: Finalizare
- Pasul 5: TEST
Video: LED RGB controlat IR Arduino Nano Baised: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:42
în acest mic proiect vreau să vă arăt cum am construit un LED RGB bazat pe Arduino, care este controlat de telecomandă IR și alimentat prin cablu USB.
Provizii
1. LED RGB
2. Receptor IR
3. Cablu USB
4. Arduino nano
5. Telecomandă IR
6. unele cabluri
7. Rezistențe de 50-100 ohmi (folosesc rezistențe de 47 ohmi, dar nu există prea multe diferențe)
Pasul 1: alege telecomanda
Deci, ce telecomandă utilizați este decizia dvs., dar telecomanda trebuie să aibă 6 chei pe care doriți să le utilizați. 2 dintre ele sunt pentru roșu, 2 dintre ele pentru verde și 2 pentru albastru.
Pasul 2: Construiți-l mai întâi pe un panou (nu este necesar, dar recomandat)
Acum, construiți circuitul pe o placă de calcul
conexiuni:
RGB LED GND> Arduino nano GND
LED RGB Roșu> Arduino nano Pin digital 5
LED RGB verde> Arduino nano Pin digital 6
LED albastru RGB> Arduino nano Pin digital 9
USB GND> Arduino nano GND
USB 5v> Arduino nano 5v
Pinul receptorului IR 1> Arduino nano Pinul digital 4
Pinul receptorului IR 2> Arduino nano GND
Receptor IR pin 3> Arduino nano 5v
(toate conexiunile sunt prezentate mai sus)
(fiecare pin color al LED-ului RGB este conectat în serie la rezistențe)
Pasul 3: Codul
codul este următorul:
Iată biblioteca pe care am folosit-o.
#include
int IR_Recv = 4; // PIN receptor IR
int Rval = 0; int Gval = 0; int Bval = 0; int RvalDemo = 0; int GvalDemo = 0; int BvalDemo = 0; int R = 5; // Pin roșu int G = 6; // Pin verde int B = 9; // Pin albastru #define Rup1 1976685926 // face ca luminozitatea roșie să crească #define Rup2 3772818013 // face ca luminozitatea roșie să crească #define Rdown1 3843765582 // face ca luminozitatea roșie să scadă #define Rdown2 3772813933 // face ca luminozitatea roșie să scadă #define Gup1 3772797613 // crește luminozitatea verde #define Gup2 3774104872 // crește luminozitatea verde #define Gdown1 3772834333 // face luminozitatea verde să scadă #define Gdown2 1784778242 // face luminozitatea verde să coboare #define Bup1 3980777284 // face albastru luminozitatea crește #define Bup2 3772781293 // face ca luminozitatea albastră să crească #define Bdown1 3772801693 // face ca luminozitatea albastră să coboare #define Bdown2 3361986248 // face ca luminozitatea albastră să coboare // NOTĂ: TREBUIE SĂ SCHIMBAȚI NUMERE LA TELECOMANDA DUMNEAVOASTRĂ !!! ! // Am 2 chei duplicate, de exemplu Rup1 și Rup2. deoarece // telecomanda mea scoate 2 numere când apăsați o tastă. // în cazul dvs. puteți pune aceleași numere în Rup1 și Rup2, Gup1 și Gup2 și așa unul. // Când apăsați o tastă, numărul ar trebui să apară în monitorul serial, // Asta ar trebui să tastați în secțiunea „#define”. IRrecv irrecv (IR_Recv); rezultate decode_results; configurare nulă () {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; pauză; cazul Rup2: Rval = Rval + 10; pauză; caz Rdown1: Rval = Rval - 10; pauză; caz Rdown2: Rval = Rval - 10; pauză; //////////// caz VERDE Gup1: Gval = Gval + 10; pauză; cazul Gup2: Gval = Gval + 10; pauză; cazul Gdown1: Gval = Gval - 10; pauză; cazul Gdown2: Gval = Gval - 10; pauză; ///////////// caz ALBASTRU Bup1: Bval = Bval + 10; pauză; cazul Bup2: Bval = Bval + 10; pauză; cazul Bdown1: Bval = Bval - 10; pauză; cazul Bdown2: Bval = Bval - 10; pauză; //////////////////////////////////////////} irrecv.resume (); } if (Rval> 255) (Rval = 255); if (Rval 255) (Gval = 255); if (Gval 255) (Bval = 255); if (Bval <0) (Bval = 0); analogWrite (R, Rval); analogWrite (G, Gval); analogWrite (B, Bval); Serial.println (results.value); delayMicroseconds (1); }
Pasul 4: Finalizare
Nu am făcut o treabă bună de îmbrăcare. tot ce am făcut este doar să-l bandez, dar am încercat să-l fac cât mai mic posibil.
Dacă aveți întrebări sau greșeli, spuneți-mi sigur, voi face tot posibilul să vă ajut să remediați greșeala. mulțumesc pentru lectură.
Recomandat:
Led RGB controlat prin Bluetooth sau potențiometru: 5 pași
Led RGB controlat de Bluetooth sau potențiometru: Bună! Astăzi am vrut să vă împărtășesc proiectul meu Arduino. Am făcut RGB condus controlat de Arduino. Are 3 moduri și 2 interfețe. Primul mod este control manual, al doilea curcubeu rece și al treilea blocaj de culoare. La început calibrați potențiometrul. Atunci tu
Hexapod Arduino Nano 18 DOF controlat PS2 accesibil: 13 pași (cu imagini)
Hexapod Arduino Nano 18 DOF controlat PS2 accesibil: Robot Hexapod simplu folosind servo controler arduino + SSC32 și control wireless prin intermediul joystick-ului PS2. Servocontrolerul Lynxmotion are multe caracteristici care pot oferi mișcare frumoasă pentru imitarea paianjenului. Ideea este să creezi un robot hexapod care să fie
Cap unicorn controlat de WiFi? Cu lumini RGB: 5 pași (cu imagini)
Cap unicorn controlat de WiFi? Cu lumini RGB: Bună ziua tuturor. Micuțul meu mă împingea, o vreme, despre bricolajele purtabile interesante legate de unicorni. Deci, m-am zgâriat în cap și am decis să creez ceva neobișnuit și cu un buget foarte mic. Acest proiect nu necesită aplicație pentru a continua
Led RGB controlat vocal: 5 pași (cu imagini)
Led RGB controlat prin voce: Bună ziua, băieți1 Astăzi vă voi arăta cum să construiți un LED RGB controlat prin voce folosind un arduino / Ebot8
Turn de veghe interzis + LED RGB controlat WiFi: 7 pași (cu imagini)
Turn de veghe interzis + LED RGB controlat WiFi: Odată ce ați simțit că ați modificat imprimanta 3D pentru a produce imprimări de calitate decentă, începeți să căutați câteva modele interesante pe www.thingiverse.com. Am găsit Turnul interzis de kijai și m-am gândit că ar fi un test minunat pentru imprimanta mea (Anet A8). Pr