Table des matières:

LED RVB contrôlée par IR Arduino Nano Baised : 5 étapes
LED RVB contrôlée par IR Arduino Nano Baised : 5 étapes

Vidéo: LED RVB contrôlée par IR Arduino Nano Baised : 5 étapes

Vidéo: LED RVB contrôlée par IR Arduino Nano Baised : 5 étapes
Vidéo: How to make a LED digital counter using 7- Segment Display 2024, Juillet
Anonim
LED RVB contrôlée par IR Arduino Nano
LED RVB contrôlée par IR Arduino Nano

dans ce petit projet, je veux vous montrer comment j'ai construit une LED RVB basée sur Arduino qui est contrôlée par une télécommande IR et alimentée par un câble USB.

Fournitures

1. DEL RVB

2. Récepteur infrarouge

3. Câble USB

4. Arduino nano

5. Télécommande infrarouge

6. quelques câbles

7. Résistances de 50-100 ohms (j'utilise des résistances de 47 ohms mais il n'y a pas beaucoup de différence)

Étape 1: Choisissez votre télécommande

Choisissez votre télécommande
Choisissez votre télécommande

La télécommande que vous utilisez est donc votre décision, mais votre télécommande doit avoir 6 touches que vous souhaitez utiliser. 2 d'entre eux sont pour le rouge, 2 pour le vert et 2 pour le bleu.

Étape 2: Construisez-le d'abord sur une planche à pain (pas nécessaire mais recommandé)

Construisez-le d'abord sur une planche à pain (pas nécessaire mais recommandé)
Construisez-le d'abord sur une planche à pain (pas nécessaire mais recommandé)
Construisez-le d'abord sur une planche à pain (pas nécessaire mais recommandé)
Construisez-le d'abord sur une planche à pain (pas nécessaire mais recommandé)

Maintenant, construisez le circuit sur une planche à pain

Connexions:

GND LED RVB > Arduino nano GND

LED RGB Rouge > Arduino nano Digital pin 5

LED RGB Verte > Arduino nano Digital pin 6

LED RGB Bleu > Arduino nano Digital pin 9

GND USB > Arduino nano GND

USB 5v > Arduino nano 5v

Récepteur IR broche 1 > Arduino nano Digital broche 4

Broche 2 du récepteur IR > Arduino nano GND

Récepteur IR broche 3 > Arduino nano 5v

(toutes les connexions sont indiquées ci-dessus)

(chaque broche de couleur de la LED RVB est connectée en série à des résistances)

Étape 3: Le code

le code est le suivant:

Voici la bibliothèque que j'ai utilisé.

#comprendre

int IR_Recv = 4; //Broche du récepteur IR

int Rval = 0; int Gval = 0; int Bval = 0; int RvalDemo = 0; int GvalDemo = 0; int BvalDemo = 0; entier R = 5; //Broche rouge int G = 6; //Broche verte int B = 9; //Broche bleue #define Rup1 1976685926 //fait monter la luminosité rouge #define Rup2 3772818013 //fait augmenter la luminosité rouge #define Rdown1 3843765582 //fait baisser la luminosité rouge #define Rdown2 3772813933 //fait baisser la luminosité rouge #define Gup1 3772797613 //fait monter la luminosité verte #define Gup2 3774104872 //fait augmenter la luminosité verte #define Gdown1 3772834333 //fait baisser la luminosité verte #define Gdown2 1784778242 //fait baisser la luminosité verte #define Bup1 3980777284 //rend le bleu la luminosité augmente #define Bup2 3772781293 //fait monter la luminosité bleue #define Bdown1 3772801693 //fait baisser la luminosité bleue #define Bdown2 3361986248 //fait baisser la luminosité bleue //REMARQUE: VOUS DEVRIEZ CHANGER LES NUMÉROS SUR VOTRE TÉLÉCOMMANDE !!! ! //J'ai 2 clés en double, par exemple Rup1 et Rup2. parce que // ma télécommande affiche 2 chiffres lorsque vous appuyez sur une touche. //dans votre cas, vous pouvez mettre les mêmes nombres dans Rup1 et Rup2, Gup1 et Gup2 et ainsi de suite. //Lorsque vous appuyez sur une touche, le numéro doit apparaître dans le moniteur série, //C'est ce que vous devez taper dans la section "#define". IRrecv irrecv(IR_Recv); decode_results résultats; void setup(){ TCCR2A = _BV(COM2A1) | _BV(COM2B1) | _BV(WGM21) | _BV(WGM20); TCCR2B = _BV(CS22); irrecv.enableIRIn(); pinMode(R, SORTIE); pinMode(G, SORTIE); pinMode(B, SORTIE); Serial.begin(9600); } void loop(){ if (irrecv.decode(&results)){ long int decCode = results.value; switch (results.value){ ///////////cas RED Rup1: Rval = Rval + 10; Pause; cas Rup2: Rval = Rval + 10; Pause; cas Rdown1: Rval = Rval - 10; Pause; cas Rdown2: Rval = Rval - 10; Pause; ////////////cas VERT Gup1: Gval = Gval + 10; Pause; cas Gup2: Gval = Gval + 10; Pause; cas Gdown1: Gval = Gval - 10; Pause; cas Gdown2: Gval = Gval - 10; Pause; /////////////cas BLEU Bup1: Bval = Bval + 10; Pause; cas Bup2: Bval = Bval + 10; Pause; cas Bdown1: Bval = Bval - 10; Pause; cas Bdown2: Bval = Bval - 10; Pause; ///////////////////////////////////// } irrecv.resume(); } si (Rval > 255) (Rval = 255); si (Rval 255) (Gval = 255); si (Gval 255) (Bval = 255); si (Bval < 0) (Bval = 0); analogWrite(R, Rval); analogWrite(G, Gval); analogWrite(B, Bval); Serial.println(results.value); délaiMicrosecondes(1); }

Étape 4: Finition

Finition
Finition
Finition
Finition
Finition
Finition

Je n'ai pas fait un bon travail de boîtier. tout ce que j'ai fait, c'est juste l'enregistrer, mais j'ai essayé de le rendre aussi petit que possible.

Si vous avez des questions ou des erreurs, n'oubliez pas de me le dire, je ferai de mon mieux pour vous aider à corriger l'erreur. Merci d'avoir lu.

Conseillé: