Sadržaj:
- Pribor
- Korak 1: Odaberite svoj daljinski upravljač
- Korak 2: Prvo ga izradite na ploči za kruh (nije potrebno, ali se preporučuje)
- Korak 3: Kôd
- Korak 4: Dovršavanje
- Korak 5: TESTIRAJTE
Video: Arduino Nano bazirano IR kontrolirano RGB LED svjetlo: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:33
u ovom malom projektu želim vam pokazati kako sam izgradio RGB LED zasnovan na Arduinu koji se kontrolira daljinskim upravljačem i napaja USB kabelom.
Pribor
1. RGB LED
2. IC prijemnik
3. USB kabel
4. Arduino nano
5. IC daljinski
6. neki kabeli
7. Otpornici 50-100 ohma (koristim otpornike od 47 ohma, ali nema velike razlike)
Korak 1: Odaberite svoj daljinski upravljač
Dakle, vaš daljinski upravljač je vaša odluka, ali vaš daljinski upravljač trebao bi imati 6 ključeva koje želite koristiti. 2 su za crvenu, 2 za zelenu i 2 za plavu.
Korak 2: Prvo ga izradite na ploči za kruh (nije potrebno, ali se preporučuje)
Sada izgradite krug na ploči
veze:
RGB LED GND> Arduino nano GND
RGB LED crvena> Arduino nano digitalni pin 5
RGB LED zelena> Arduino nano Digitalni pin 6
RGB LED plava> Arduino nano Digitalni pin 9
USB GND> Arduino nano GND
USB 5v> Arduino nano 5v
Pin 1 za IR prijemnik> Arduino nano Digitalni pin 4
Pin 2 za IR prijemnik> Arduino nano GND
IC prijemnik pin 3> Arduino nano 5v
(sve veze su prikazane gore)
(svaki pin u boji RGB LED spojen je serijski na otpornike)
Korak 3: Kôd
kod je sljedeći:
Evo biblioteke koju sam koristio.
#uključi
int IR_Recv = 4; // pin IR prijemnika
int Rval = 0; int Gval = 0; int Bval = 0; int RvalDemo = 0; int GvalDemo = 0; int BvalDemo = 0; int R = 5; // crveni pin int G = 6; // zelena pin int B = 9; // Plavi pin #define Rup1 1976685926 // povećava svjetlinu crvene boje #define Rup2 3772818013 // povećava svjetlinu crvene boje #define Rdown1 3843765582 // smanjuje svjetlinu crvene boje #define Rdown2 3772813933 // smanjuje svjetlinu crvene boje #define Gup1 3772797613 // povećava svjetlinu zelene boje #define Gup2 3774104872 // povećava svjetlinu zelene boje #define Gdown1 3772834333 // smanjuje svjetlinu zelene boje #define Gdown2 1784778242 // smanjuje svjetlinu zelene boje #define Bup1 3980777284 // čini plavu svjetlina ide gore #define Bup2 3772781293 // povećava svjetlinu plave boje #define Bdown1 3772801693 // smanjuje svjetlinu plave boje #define Bdown2 3361986248 // smanjuje svjetlinu plave boje // NAPOMENA: TREBA PROMIJENITI BROJEVE NA DALJINSKOM !!! ! // Imam 2 duplicirana ključa, na primjer Rup1 i Rup2. jer // moj daljinski upravljač odašilje 2 broja kada pritisnete jednu tipku. // u vašem slučaju možete staviti iste brojeve u Rup1 i Rup2, Gup1 i Gup2 i tako jedan. // Kad pritisnete tipku, broj bi se trebao pojaviti u Serijskom monitoru, // To je ono što trebate upisati u odjeljak "#define". IRrecv unrecv (IR_Recv); decode_results rezultate; void setup () {TCCR2A = _BV (COM2A1) | _BV (COM2B1) | _BV (WGM21) | _BV (WGM20); TCCR2B = _BV (CS22); unrecv.enableIRIn (); pinMode (R, OUTPUT); pinMode (G, OUTPUT); pinMode (B, OUTPUT); Serial.begin (9600); } void loop () {if (unrecv.decode (& results)) {long int decCode = results.value; switch (results.value) {///////////// CRVENI slučaj Rup1: Rval = Rval + 10; pauza; slučaj Rup2: Rval = Rval + 10; pauza; slučaj Rdown1: Rval = Rval - 10; pauza; slučaj Rdown2: Rval = Rval - 10; pauza; ////////////// ZELENO kućište Gup1: Gval = Gval + 10; pauza; slučaj Gup2: Gval = Gval + 10; pauza; slučaj Gdown1: Gval = Gval - 10; pauza; slučaj Gdown2: Gval = Gval - 10; pauza; /////////////// PLAVI slučaj Bup1: Bval = Bval + 10; pauza; slučaj Bup2: Bval = Bval + 10; pauza; slučaj Bdown1: Bval = Bval - 10; pauza; slučaj Bdown2: Bval = Bval - 10; pauza; ////////////////////////////////////////////} unrecv.resume (); } if (Rval> 255) (Rval = 255); if (Rval 255) (Gval = 255); ako (Gval 255) (Bval = 255); ako (Bval <0) (Bval = 0); analogWrite (R, Rval); analogWrite (G, Gval); analogWrite (B, Bval); Serial.println (results.value); delayMicroseconds (1); }
Korak 4: Dovršavanje
Nisam dobro obavio kućište. sve što sam učinio je samo ga zalijepiti, ali pokušao sam ga smanjiti što je moguće manje.
Ako imate bilo kakvih pitanja ili grešaka, svakako mi recite, potrudit ću se da vam pomognem ispraviti grešku. hvala na čitanju.
Preporučeni:
Svjetlo sata sa matričnim matričnim zaslonom, LED trakom, kontrolirano WiFi -jem: 3 koraka (sa slikama)
Svjetlo sata matrice matričnog zaslona s LED trakama s WiFi upravljanjem: programabilne LED trake, npr. temeljene na WS2812, fascinantne su. Aplikacije su mnogobrojne i brzo možete postići impresivne rezultate. I nekako mi se čini da su izgradnja satova još jedna domena o kojoj puno razmišljam. Počevši s nekim iskustvom u
WIFI kontrolirano svjetlo raspoloženja: 4 koraka (sa slikama)
WIFI kontrolirano svjetlo raspoloženja: Ovo je WIFI kontrolirano svjetlo raspoloženja koje sam dizajnirao i napravio! Promjer je 10 cm, a visina 19 cm. Dizajnirao sam ga za " LED STRIP speed challenge ". Ovo svjetlo raspoloženja može se kontrolirati putem interneta na bilo kojem uređaju u vašoj lokalnoj mreži! I
Stolno svjetlo kontrolirano Arduinom/aplikacijom: 6 koraka (sa slikama)
Arduino/App Control Light svjetlo za stol: Za ovaj projekt želio sam nešto što bi mi omogućilo da se naučim više o elektronici/softveru, nešto u što još nisam ušao. Odlučio sam da bi svjetlo bilo dobra platforma za ovo. dizajn koji sam smislio je za uplighter
Svjetlo za disanje kontrolirano malinom Pi: 5 koraka
Svjetlo za disanje kontrolirano od maline Pi: "Svjetlo vježbe disanja" " ovdje je opisano jednostavno i relativno jeftino pulsirajuće svjetlo koje vas može podržati u disanju i pomoći vam da zadržite stalan ritam disanja. Također se može koristiti npr. kao umirujuće n
Svjetlo božićnog drvca kontrolirano igračkom: 12 koraka (sa slikama)
Svjetlo božićnog drvca kontrolirano igračkom. Pozdrav tvorcima! Dolaze Božić i nova godina. To znači svečano raspoloženje, darove i, naravno, božićno drvce ukrašeno jarkim šarenim svjetlima. Za mene su svjetla božićnog drvca na masovnom tržištu previše dosadna. Kako bih ugodio djeci, napravio sam jedinstveni C