Spisu treści:

Arduino Nano z diodą LED RGB sterowaną podczerwienią: 5 kroków
Arduino Nano z diodą LED RGB sterowaną podczerwienią: 5 kroków

Wideo: Arduino Nano z diodą LED RGB sterowaną podczerwienią: 5 kroków

Wideo: Arduino Nano z diodą LED RGB sterowaną podczerwienią: 5 kroków
Wideo: Kurs Arduino #5: Diody RGB - Prawidłowe podłączenie i obsługa + tęczowa lampka 2024, Listopad
Anonim
Arduino Nano z diodą LED RGB sterowaną podczerwienią
Arduino Nano z diodą LED RGB sterowaną podczerwienią

w tym małym projekcie chcę pokazać, jak zbudowałem diodę LED RGB opartą na Arduino, sterowaną pilotem na podczerwień i zasilaną kablem USB.

Kieszonkowe dzieci

1. Dioda LED RGB

2. Odbiornik podczerwieni

3. Kabel USB

4. Arduino nano

5. Pilot na podczerwień

6. niektóre kable

7. Rezystory 50-100 omów (używam oporników 47 omów, ale nie ma dużej różnicy)

Krok 1: Wybierz pilota

Wybierz swojego pilota
Wybierz swojego pilota

Więc który pilot użyjesz, to twoja decyzja, ale twój pilot powinien mieć 6 kluczy, których chcesz użyć. 2 z nich są dla czerwonego, 2 z nich dla zielonego i 2 dla niebieskiego.

Krok 2: Najpierw zbuduj na desce do chleba (nie jest to konieczne, ale zalecane)

Najpierw zbuduj na desce do chleba (niekonieczne, ale zalecane)
Najpierw zbuduj na desce do chleba (niekonieczne, ale zalecane)
Najpierw zbuduj na desce do chleba (niekonieczne, ale zalecane)
Najpierw zbuduj na desce do chleba (niekonieczne, ale zalecane)

Teraz zbuduj obwód na płytce prototypowej

znajomości:

RGB LED GND > Arduino nano GND

RGB LED czerwony > Arduino nano Digital pin 5

RGB LED zielony > pin cyfrowy Arduino nano 6

RGB LED Niebieski > Arduino nano Digital pin 9

USB GND > Arduino nano GND

USB 5v > Arduino nano 5v

Odbiornik podczerwieni pin 1 > Arduino nano Digital pin 4

Pin odbiornika podczerwieni 2 > Arduino nano GND

Odbiornik podczerwieni pin 3 > Arduino nano 5v

(wszystkie połączenia są pokazane powyżej)

(każdy kolorowy pin diody RGB jest połączony szeregowo z rezystorami)

Krok 3: Kodeks

kod jest następujący:

Oto biblioteka, z której korzystałem.

#włączać

int IR_Recv = 4; //Styk odbiornika podczerwieni

int Rwal = 0; int Gval = 0; int Bwal = 0; int RvalDemo = 0; int GvalDemo = 0; int BvalDemo = 0; intR = 5; //Czerwona szpilka int G = 6; //Zielona szpilka int B = 9; //niebieski pin #define Rup1 1976685926 //zwiększa jasność czerwieni #define Rup2 3772818013 //zwiększa jasność czerwieni #define Rdown1 3843765582 //zmniejsza jasność czerwieni #define Rdown2 3772813933 //zmniejsza jasność czerwieni #define Gup1 3772797613 //sprawia, że zielona jasność rośnie #define Gup2 3774104872 //zielona jasność rośnie #define Gdown1 3772834333 //zielona jasność spada #define Gdown2 1784778242 //zielona jasność spada #define Bup1 3980777284 //sprawia, że zielona zwiększanie jasności #define Bup2 3772781293 //zmniejszanie jasności niebieskiej #define Bdown1 3772801693 //zmniejszanie jasności niebieskiej #define Bdown2 3361986248 //zmniejszanie jasności niebieskiej //UWAGA: NALEŻY ZMIENIĆ NUMERY NA PILOCIE!!! ! //Mam 2 zduplikowane klucze, na przykład Rup1 i Rup2. ponieważ //mój pilot wyświetla 2 cyfry po naciśnięciu jednego klawisza. //w twoim przypadku możesz umieścić te same liczby w Rup1 i Rup2, Gup1 i Gup2 i tak jeden. //Po naciśnięciu klawisza numer powinien pojawić się w monitorze szeregowym, //To właśnie należy wpisać w sekcji „#define”. IRrecv nierecv(IR_Recv); decode_results wyniki; void setup(){ TCCR2A = _BV(COM2A1) | _BV(COM2B1) | _BV(WGM21) | _BV(WGM20); TCCR2B = _BV(CS22); nieodwoł.enableIRIn(); pinMode(R, WYJŚCIE); pinMode(G, WYJŚCIE); pinMode(B, WYJŚCIE); Serial.początek(9600); } void loop(){ if (irrecv.decode(&wyniki)){ long int decCode = results.value; switch (results.value){ ////////////RED case Rup1: Rval = Rval + 10; przerwa; przypadek Rup2: Rval = Rval + 10; przerwa; przypadek Rdown1: Rval = Rval - 10; przerwa; przypadek Rdown2: Rval = Rval - 10; przerwa; ////////////ZIELONY przypadek Gup1: Gval = Gval + 10; przerwa; przypadek Gup2: Gval = Gval + 10; przerwa; wielkość liter Gdown1: Gval = Gval - 10; przerwa; przypadek Gdown2: Gval = Gval - 10; przerwa; /////////////NIEBIESKI przypadek Bup1: Bval = Bval + 10; przerwa; przypadek Bup2: Bval = Bval + 10; przerwa; przypadek Bdown1: Bval = Bval - 10; przerwa; przypadek Bdown2: Bval = Bval - 10; przerwa; //////////////////////////////////////// } nieodw.wznawianie(); } jeśli (Rval > 255) (Rval = 255); jeśli (Rval 255) (Gval = 255); jeśli (Gval 255) (Bval = 255); jeśli (Bval < 0) (Bval = 0); analogZapis(R, Rval); analogZapis(G, Gval); analogZapis(B, Bval); Serial.println(wyniki.wartość); opóźnienieMikrosekund(1); }

Krok 4: Wykończenie

Wykończeniowy
Wykończeniowy
Wykończeniowy
Wykończeniowy
Wykończeniowy
Wykończeniowy

Niebo nie zrobiłem dobrej roboty z okrywami. wszystko, co zrobiłem, to po prostu nagrać to, ale starałem się, aby był jak najmniejszy.

Jeśli masz jakieś pytania lub błędy, koniecznie powiedz mi, zrobię co w mojej mocy, aby pomóc Ci naprawić błąd. dziękuje za przeczytanie.

Zalecana: