- Matériaux nécessaires:
- LDR:
- LED RVB:
- Schéma:
- Explication de la programmation:
- Fonctionnement de la lampe de mélange de couleurs Arduino:
Et si nous pouvions générer différentes couleurs à l'aide d'une seule LED RVB et rendre le coin de notre pièce plus attrayant? Donc, voici une simple lampe de mélange de couleurs basée sur Arduino qui peut changer de couleur en cas de changement de lumière dans la pièce. Ainsi, cette lampe changera automatiquement sa couleur en fonction des conditions d'éclairage de la pièce.
Chaque couleur est la combinaison de la couleur rouge, verte et bleue. Ainsi, nous pouvons générer n'importe quelle couleur en utilisant des couleurs rouge, verte et bleue. Ainsi, ici, nous allons varier PWM c'est-à-dire l'intensité de la lumière sur les LDR. Cela modifiera davantage l'intensité de la couleur rouge, verte et bleue dans la LED RVB, et différentes couleurs seront produites.
Le tableau ci-dessous montre les combinaisons de couleurs avec changement respectif des cycles d'utilisation.
Matériaux nécessaires:
- 1 x Arduino UNO
- 1 x planche à pain
- 3 résistances de 220 ohms
- 3 résistances de 1 kilohm
- Fils de cavalier
- 3 x LDR
- 3 x bandes colorées (rouge, vert, bleu)
- 1 x LED RVB
LDR:
Nous utiliserons une photorésistance (ou une résistance dépendant de la lumière, LDR ou cellule photo-conductrice) ici dans ce circuit. Les LDR sont fabriqués à partir de matériaux semi-conducteurs pour leur permettre d'avoir leurs propriétés de sensibilité à la lumière. Ces LDR ou PHOTO RESISTORS fonctionnent sur le principe de «Photo Conductivité». Maintenant, ce que dit ce principe, c'est que chaque fois que la lumière tombe sur la surface du LDR (dans ce cas) la conductance de l'élément augmente ou en d'autres termes, la résistance du LDR diminue lorsque la lumière tombe sur la surface du LDR. Cette propriété de diminution de la résistance pour le LDR est obtenue parce qu'il s'agit d'une propriété du matériau semi-conducteur utilisé en surface.
Ici, trois capteurs LDR sont utilisés pour contrôler la luminosité de chaque LED rouge, verte et bleue à l'intérieur de la LED RVB. En savoir plus sur le contrôle de LDR avec Arduino ici.
LED RVB:
Il existe deux types de LED RVB, l'un est de type cathode commun (négatif commun) et l'autre est de type anode commun (positif commun). En CC (Common Cathode ou Common Negative), il y aura trois bornes positives, chaque borne représentant une couleur et une borne négative représentant les trois couleurs.
Dans notre circuit, nous allons utiliser le type CA (Common Anode ou Common Positive). Dans le type d'anode commune, si nous voulons que la LED ROUGE soit allumée, nous devons mettre à la terre la broche de la LED ROUGE et alimenter le positif commun. Il en va de même pour toutes les LED. Apprenez ici à interfacer la LED RVB avec Arduino.
Schéma:
Le schéma électrique complet de ce projet est donné ci-dessus. Le + 5V et la connexion à la terre indiqués dans le schéma de circuit peuvent être obtenus à partir de la broche 5V et de terre de l'Arduino. L'Arduino lui-même peut être alimenté à partir de votre ordinateur portable ou via la prise CC à l'aide d'un adaptateur 12V ou d'une batterie 9V.
Nous utiliserons PWM pour changer la luminosité de la LED RVB. Vous pouvez en savoir plus sur PWM ici. Voici quelques exemples PWM avec Arduino:
- Alimentation variable par Arduino Uno
- Contrôle de moteur CC à l'aide d'Arduino
- Générateur de sons basé sur Arduino
Explication de la programmation:
Tout d'abord, nous déclarons toutes les entrées et les broches de sortie comme indiqué ci-dessous.
const byte red_sensor_pin = A0; octet const green_sensor_pin = A1; const byte blue_sensor_pin = A2; const octet green_led_pin = 9; const byte blue_led_pin = 10; const byte red_led_pin = 11;
Déclarez les valeurs initiales des capteurs et des voyants à 0.
unsigned int red_led_value = 0; unsigned int blue_led_value = 0; unsigned int green_led_value = 0; unsigned int red_sensor_value = 0; unsigned int blue_sensor_value = 0; unsigned int green_sensor_value = 0; void setup () { pinMode (red_led_pin, OUTPUT); pinMode (blue_led_pin, OUTPUT); pinMode (green_led_pin, OUTPUT); Serial.begin (9600); }
Dans la section boucle, nous prendrons la sortie de trois capteurs avec analogRead (); fonction et stocker dans trois variables différentes.
boucle vide () { red_sensor_value = analogRead (red_sensor_pin); retard (50); blue_sensor_value = analogRead (blue_sensor_pin); retard (50); green_sensor_value = analogRead (green_sensor_pin);
Imprimez ces valeurs sur le moniteur série à des fins de débogage
Serial.println ("Raw Sensor Values:"); Serial.print ("\ t Red:"); Serial.print (red_sensor_value); Serial.print ("\ t Blue:"); Serial.print (blue_sensor_value); Serial.print ("\ t Green:"); Serial.println (green_sensor_value);
Nous obtiendrons des valeurs 0-1023 des capteurs mais nos broches PWM Arduino ont des valeurs 0-255 en sortie. Nous devons donc convertir nos valeurs brutes en 0-255. Pour cela, nous devons diviser les valeurs brutes par 4 OU simplement utiliser la fonction de mappage d'Arduino pour convertir ces valeurs.
red_led_value = red_sensor_value / 4; // définir la LED rouge blue_led_value = blue_sensor_value / 4; // définir la LED bleue green_led_value = green_sensor_value / 4; // définir la LED verte
Imprimer les valeurs mappées sur le moniteur série
Serial.println ("Valeurs de capteur mappées:"); Serial.print ("\ t Red:"); Serial.print (red_led_value); Serial.print ("\ t Blue:"); Serial.print (blue_led_value); Serial.print ("\ t Green:"); Serial.println (green_led_value);
Utilisez analogWrite () pour définir la sortie de la LED RVB
analogWrite (red_led_pin, red_led_value); // indique la LED rouge analogWrite (blue_led_pin, blue_led_value); // indique la LED bleue analogWrite (green_led_pin, green_led_value); // indiquer le vert
Fonctionnement de la lampe de mélange de couleurs Arduino:
Comme nous utilisons trois LDR, lorsque la lumière incidente sur ces capteurs, sa résistance change en conséquence, les tensions changent également au niveau des broches analogiques d'Arduino qui agissent comme des broches d'entrée pour les capteurs.
Lorsque l'intensité de la lumière change sur ces capteurs, sa LED respective en RVB brillera avec la quantité de résistance changeante et nous avons un mélange de couleurs différent dans la LED RVB en utilisant PWM.