Inhaltsverzeichnis:

Arduino Nano Baised IR-gesteuerte RGB-LED - Gunook
Arduino Nano Baised IR-gesteuerte RGB-LED - Gunook

Video: Arduino Nano Baised IR-gesteuerte RGB-LED - Gunook

Video: Arduino Nano Baised IR-gesteuerte RGB-LED - Gunook
Video: Ferngesteuertes Auto mit dem Smartphone steuern 2024, November
Anonim
Arduino Nano-basierte IR-gesteuerte RGB-LED
Arduino Nano-basierte IR-gesteuerte RGB-LED

In diesem kleinen Projekt möchte ich Ihnen zeigen, wie ich eine Arduino-basierte RGB-LED gebaut habe, die über eine IR-Fernbedienung gesteuert und über ein USB-Kabel mit Strom versorgt wird.

Lieferungen

1. RGB-LED

2. IR-Empfänger

3. USB-Kabel

4. Arduino Nano

5. IR-Fernbedienung

6. einige Kabel

7. 50-100-Ohm-Widerstände (ich verwende 47-Ohm-Widerstände, aber es gibt keinen großen Unterschied)

Schritt 1: Wählen Sie Ihre Fernbedienung

Wählen Sie Ihre Fernbedienung
Wählen Sie Ihre Fernbedienung

Welche Fernbedienung Sie verwenden, ist Ihre Entscheidung, aber Ihre Fernbedienung sollte 6 Tasten haben, die Sie verwenden möchten. 2 davon sind für Rot, 2 für Grün und 2 für Blau.

Schritt 2: Bauen Sie es zuerst auf einem Brotbrett (nicht notwendig, aber empfohlen)

Bauen Sie es zuerst auf einem Brotbrett (nicht notwendig, aber empfohlen)
Bauen Sie es zuerst auf einem Brotbrett (nicht notwendig, aber empfohlen)
Bauen Sie es zuerst auf einem Brotbrett (nicht notwendig, aber empfohlen)
Bauen Sie es zuerst auf einem Brotbrett (nicht notwendig, aber empfohlen)

Bauen Sie nun die Schaltung auf einem Steckbrett auf

Anschlüsse:

RGB-LED-GND > Arduino nano GND

RGB LED Rot > Arduino nano Digitaler Pin 5

RGB LED Grün > Arduino nano Digitaler Pin 6

RGB LED Blau > Arduino nano Digitaler Pin 9

USB GND > Arduino Nano GND

USB 5v > Arduino nano 5v

IR-Empfänger Pin 1 > Arduino Nano Digital Pin 4

IR-Empfänger Pin 2 > Arduino nano GND

IR-Empfänger Pin 3 > Arduino Nano 5V

(alle Anschlüsse sind oben abgebildet)

(jeder Farbstift der RGB-LED ist mit Widerständen in Reihe geschaltet)

Schritt 3: Der Code

Code ist folgender:

Hier ist die Bibliothek, die ich verwendet habe.

#enthalten

int IR_Recv = 4; // IR-Empfängerstift

int Rval = 0; int Gval = 0; intBval = 0; int RvalDemo = 0; int GvalDemo = 0; int BvalDemo = 0; intR = 5; // Roter Stift Int G = 6; // Grüner Stift Int B = 9; // Blauer Stift #define Rup1 1976685926 // Lässt die Helligkeit von Rot steigen #define Rup2 3772818013 // Lässt die Helligkeit von Rot an #define Rdown1 3843765582 // Lässt die Helligkeit von Rot ab #define Rdown2 3772813933 // Lässt die Helligkeit von Rot ab #define Gup1 3772797613 //macht grün heller #define Gup2 3774104872 //macht grün heller #define Gdown1 3772834333 //macht grün heller #define Gdown2 1784778242 //macht grün heller #define Bup1 3980777284 //macht blau Helligkeit erhöhen #define Bup2 3772781293 // Blaue Helligkeit erhöhen #define Bdown1 3772801693 // Blaue Helligkeit verringern #define Bdown2 3361986248 // Blaue Helligkeit verringern // HINWEIS: SIE SOLLTEN DIE ZAHLEN AUF IHRER FERNBEDIENUNG ÄNDERN!!! ! // Ich habe 2 doppelte Schlüssel, zum Beispiel Rup1 und Rup2. weil // meine Fernbedienung gibt 2 Zahlen aus, wenn Sie eine Taste drücken. // In Ihrem Fall können Sie die gleichen Zahlen in Rup1 und Rup2, Gup1 und Gup2 usw. eingeben. // Wenn Sie eine Taste drücken, sollte die Nummer im seriellen Monitor angezeigt werden. // Das sollten Sie in den Abschnitt "#define" eingeben. IRrecv irrecv(IR_Recv); decode_results-Ergebnisse; Void setup () {TCCR2A = _BV (COM2A1) | _BV(COM2B1) | _BV(WGM21) | _BV(WGM20); TCCR2B = _BV(CS22); irrecv.enableIRIn(); pinMode (R, AUSGANG); pinMode (G, AUSGANG); pinMode (B, AUSGANG); Serial.begin (9600); aufrechtzuerhalten. Void loop () { if (irrecv.decode (&results)) { long int decCode = results.value; Schalter (results.value) {//////////RED case Rup1: Rval = Rval + 10; brechen; Fall Rup2: Rval = Rval + 10; brechen; Fall Rdown1: Rval = Rval – 10; brechen; Fall Rdown2: Rval = Rval – 10; brechen; ////////////GRÜNER Fall Gup1: Gval = Gval + 10; brechen; Fall Gup2: Gval = Gval + 10; brechen; Fall Gdown1: Gval = Gval – 10; brechen; Fall Gdown2: Gval = Gval – 10; brechen; /////////////BLAUER Fall Bup1: Bval = Bval + 10; brechen; Fall Bup2: Bval = Bval + 10; brechen; Fall Bdown1: Bval = Bval – 10; brechen; Fall Bdown2: Bval = Bval – 10; brechen; /////////////////////////////////////// } irrecv.resume(); } if (Rval > 255) (Rval = 255); wenn (Rval 255) (Gval = 255); wenn (Gval 255) (Bval = 255); wenn (Bval < 0) (Bval = 0); analogWrite(R, Rval); analogWrite(G, Gval); analogWrite(B, Bval); Serial.println (results.value); VerzögerungMikrosekunden(1); }

Schritt 4: Fertigstellung

Fertigstellung
Fertigstellung
Fertigstellung
Fertigstellung
Fertigstellung
Fertigstellung

Ich habe das Gehäuse nicht gut gemacht. Alles, was ich gemacht habe, ist es einfach aufzukleben, aber ich habe versucht, es so klein wie möglich zu machen.

Wenn Sie Fragen oder Fehler haben, teilen Sie mir dies bitte mit, ich werde mein Bestes tun, um Ihnen bei der Behebung des Fehlers zu helfen. danke fürs Lesen.

Empfohlen: