Turinys:

„Arduino Nano Baised“IR valdomas RGB šviesos diodas: 5 žingsniai
„Arduino Nano Baised“IR valdomas RGB šviesos diodas: 5 žingsniai

Video: „Arduino Nano Baised“IR valdomas RGB šviesos diodas: 5 žingsniai

Video: „Arduino Nano Baised“IR valdomas RGB šviesos diodas: 5 žingsniai
Video: ESP32 Tutorial 12 - WS2812 RGB Srip 4 Project with SunFounder's ESP32 IoT Learnig kit 2024, Liepa
Anonim
„Arduino Nano Baised“IR valdomas RGB šviesos diodas
„Arduino Nano Baised“IR valdomas RGB šviesos diodas

Šiame mažame projekte noriu parodyti, kaip sukūriau „Arduino“pagrindu pagamintą RGB šviesos diodą, valdomą IR nuotolinio valdymo pultu ir maitinamą USB kabeliu.

Prekės

1. RGB šviesos diodas

2. IR imtuvas

3. USB kabelis

4. Arduino nano

5. IR nuotolinio valdymo pultas

6. kai kurie kabeliai

7. 50-100 omų rezistoriai (aš naudoju 47 omų rezistorius, bet nėra didelio skirtumo)

1 veiksmas: pasirinkite nuotolinio valdymo pultą

Pasirinkite savo nuotolinio valdymo pultą
Pasirinkite savo nuotolinio valdymo pultą

Taigi, kokį nuotolinio valdymo pultą naudoti, yra jūsų sprendimas, tačiau nuotolinio valdymo pulte turi būti 6 raktai, kuriuos norite naudoti. 2 iš jų skirti raudonai, 2 - žaliai ir 2 - mėlynai.

2 žingsnis: pirmiausia pastatykite jį ant duonos lentos (nebūtina, bet rekomenduojama)

Pirmiausia pastatykite jį ant duonos lentos (nebūtina, bet rekomenduojama)
Pirmiausia pastatykite jį ant duonos lentos (nebūtina, bet rekomenduojama)
Pirmiausia pastatykite jį ant duonos lentos (nebūtina, bet rekomenduojama)
Pirmiausia pastatykite jį ant duonos lentos (nebūtina, bet rekomenduojama)

Dabar sukurkite grandinę ant duonos lentos

jungtys:

RGB LED GND> Arduino nano GND

RGB LED raudonas> „Arduino nano“skaitmeninis kaištis 5

RGB LED žalia> Arduino nano skaitmeninis kaištis 6

RGB LED mėlyna> „Arduino nano“skaitmeninis kaištis 9

USB GND> „Arduino nano GND“

USB 5v> Arduino nano 5v

IR imtuvo kaištis 1> „Arduino nano“skaitmeninis kaištis 4

IR imtuvo kaištis 2> Arduino nano GND

IR imtuvo kaištis 3> „Arduino nano 5v“

(visos jungtys parodytos aukščiau)

(kiekvienas spalvotas RGB šviesos diodas yra nuosekliai prijungtas prie rezistorių)

3 žingsnis: Kodas

kodas yra toks:

Čia yra biblioteka, kurią naudojau.

#įtraukti

int IR_Recv = 4; // IR imtuvo kaištis

int Rval = 0; int Gval = 0; int Bval = 0; int RvalDemo = 0; int GvalDemo = 0; int BvalDemo = 0; int R = 5; // Raudonas smeigtukas int G = 6; // Žalia smeigtukas int B = 9; // Mėlynas smeigtukas #define Rup1 1976685926 // padidina raudoną ryškumą #define Rup2 3772818013 // padidina raudoną ryškumą #define Rdown1 3843765582 // sumažėja raudonas ryškumas #define Rdown2 3772813933 // sumažėja raudonas ryškumas #define Gup1 3772797613 // padidėja žalios spalvos ryškumas #define Gup2 3774104872 // padidėja žalios spalvos ryškumas #define Gdown1 3772834333 // sumažėja žalios spalvos ryškumas #define Gdown2 1784778242 // sumažėja žalios spalvos ryškumas #define Bdown1 3980777284 // padaro mėlyną ryškumas padidėja #define Bup2 3772781293 // padidėja mėlynos spalvos ryškumas #define Bdown1 3772801693 // sumažėja mėlynos spalvos ryškumas #define Bdown2 3361986248 // sumažėja mėlynos spalvos ryškumas // PASTABA: TURĖTumėte PAKEISTI SKAIČIUS Į NUOTOLĮ !!! ! // Turiu 2 pasikartojančius raktus, pavyzdžiui, Rup1 ir Rup2. nes // mano nuotolinio valdymo pultas išleidžia 2 skaičius, kai paspaudžiate vieną klavišą. // jūsų atveju tuos pačius skaičius galite sudėti į Rup1 ir Rup2, Gup1 ir Gup2 ir taip vieną. // Kai paspausite klavišą, numeris turėtų būti rodomas serijiniame monitoriuje, // Štai ką turėtumėte įvesti skyriuje „#define“. IRrecv irrecv (IR_Recv); decode_results rezultatai; 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; pertrauka; atvejis Rup2: Rval = Rval + 10; pertrauka; atvejis Rdown1: Rval = Rval - 10; pertrauka; atvejis Rdown2: Rval = Rval - 10; pertrauka; //////////// GREEN atvejis Gup1: Gval = Gval + 10; pertrauka; atvejis Gup2: Gval = Gval + 10; pertrauka; atvejis Gdown1: Gval = Gval - 10; pertrauka; atvejis Gdown2: Gval = Gval - 10; pertrauka; ///////////// MĖLYNAS atvejis Bup1: Bval = Bval + 10; pertrauka; atvejis Bup2: Bval = Bval + 10; pertrauka; atvejis Bdown1: Bval = Bval - 10; pertrauka; atvejis Bdown2: Bval = Bval - 10; pertrauka; /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } jei (Rval> 255) (Rval = 255); jei (Rval 255) (Gval = 255); jei (Gval 255) (Bval = 255); jei (Bval <0) (Bval = 0); analogWrite (R, Rval); analogWrite (G, Gval); analogWrite (B, Bval); Serial.println (results.value); delayMikrosekundės (1); }

4 žingsnis: Baigimas

Apdaila
Apdaila
Apdaila
Apdaila
Apdaila
Apdaila

Aš, dangus, nepadariau gero uždėjimo darbo. viskas, ką aš padariau, buvo tik užklijuoti juostele, bet stengiausi, kad ji būtų kuo mažesnė.

Jei turite kokių nors klausimų ar klaidų, būtinai praneškite man, aš padarysiu viską, kad padėtų jums ištaisyti klaidą. ačiū, kad skaitote.

Rekomenduojamas: