Sadržaj:

Arduino Nano bazirano IR kontrolisano RGB LED svjetlo: 5 koraka
Arduino Nano bazirano IR kontrolisano RGB LED svjetlo: 5 koraka

Video: Arduino Nano bazirano IR kontrolisano RGB LED svjetlo: 5 koraka

Video: Arduino Nano bazirano IR kontrolisano RGB LED svjetlo: 5 koraka
Video: ESP32 Tutorial 12 - WS2812 RGB Srip 4 Project with SunFounder's ESP32 IoT Learnig kit 2024, Juli
Anonim
Arduino Nano bazirana IR kontrolisana RGB LED dioda
Arduino Nano bazirana IR kontrolisana RGB LED dioda

u ovom malom projektu želim vam pokazati kako sam izgradio RGB LED zasnovan na Arduinu koji se kontrolira putem daljinskog upravljača i napaja USB kabelom.

Supplies

1. RGB LED

2. IC prijemnik

3. USB kabl

4. Arduino nano

5. IC daljinski

6. neki kablovi

7. Otpornici 50-100 ohma (koristim otpornike od 47 ohma, ali nema velike razlike)

Korak 1: Odaberite svoj daljinski upravljač

Odaberite svoj daljinski upravljač
Odaberite svoj daljinski upravljač

Dakle, vaš daljinski upravljač ćete koristiti, ali vaš daljinski upravljač bi trebao imati 6 ključeva koje želite koristiti. 2 od njih su za crvenu, 2 za zelenu i 2 za plavu.

Korak 2: Prvo ga izradite na ploči za hljeb (nije potrebno, ali se preporučuje)

Prvo ga izgradite na ploči za hljeb (nije potrebno, ali se preporučuje)
Prvo ga izgradite na ploči za hljeb (nije potrebno, ali se preporučuje)
Prvo ga izradite na ploči za kruh (nije potrebno, ali se preporučuje)
Prvo ga izradite na ploči za kruh (nije potrebno, ali se preporučuje)

Sada, napravite 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 infracrveni prijemnik> Arduino nano Digitalni pin 4

IC prijemnik pin 2> 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 sledeći:

Evo biblioteke koju sam koristio.

#include

int IR_Recv = 4; // pin 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 boju svjetlina se povećava #define Bup2 3772781293 // povećava svjetlinu plave boje #define Bdown1 3772801693 // smanjuje svjetlinu plave boje #define Bdown2 3361986248 // smanjuje svjetlinu plave boje // NAPOMENA: MORATE MIJENJATI BROJEVE NA DALJINSKOM !!! ! // Imam 2 duplikata ključeva, na primjer Rup1 i Rup2. jer // moj daljinski upravljač emituje 2 broja kada pritisnete jedan taster. // u vašem slučaju možete staviti iste brojeve u Rup1 i Rup2, Gup1 i Gup2 i tako jedan. // Kada 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 rezultati; 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; break; slučaj Rup2: Rval = Rval + 10; break; slučaj Rdown1: Rval = Rval - 10; break; slučaj Rdown2: Rval = Rval - 10; break; ////////////// ZELENO kućište Gup1: Gval = Gval + 10; break; slučaj Gup2: Gval = Gval + 10; break; slučaj Gdown1: Gval = Gval - 10; break; slučaj Gdown2: Gval = Gval - 10; break; /////////////// PLAVI slučaj Bup1: Bval = Bval + 10; break; slučaj Bup2: Bval = Bval + 10; break; slučaj Bdown1: Bval = Bval - 10; break; slučaj Bdown2: Bval = Bval - 10; break; ////////////////////////////////////////////} unrecv.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); }

Korak 4: Završavanje

Završna obrada
Završna obrada
Završna obrada
Završna obrada
Završna obrada
Završna obrada

Nisam dobro uradio kućište. sve što sam uradio je samo da ga zalijepim, ali pokušao sam ga učiniti što je moguće manjim.

Ako imate bilo kakvih pitanja ili grešaka, svakako mi recite, potrudit ću se da vam pomognem ispraviti grešku. hvala na čitanju.

Preporučuje se: