Lampe de table RGB à commande gestuelle – Éclairage interactif, mains libres
Composants et fournitures
- Arduino UNO (×1)
- Réseau de capteurs de ligne analogique/numérique SmartElex RLS-08 (×1)
- Fils de connexion (×1)
- Bande LED NeoPixel RGB adressable (×1)
Outils nécessaires
- Pistolet à colle chaude
Applications et services en ligne
- Arduino IDE
À propos du projet
Nous avons tous vu différentes lampes d'ambiance et lumières RGB, la plupart disposent de boutons ou d'une télécommande pour interagir avec elles. Nous avons imaginé une lampe de bureau RGB à commande gestuelle capable de changer de couleur par un simple geste de balayage. Ce projet d'art interactif utilise une carte Arduino Uno et un capteur IR en réseau. C'est un projet amusant et facile, idéal pour initier les étudiants et les enfants.
Plongeons dans la réalisation.
Suivez-nous sur Instagram : Random stuff We Make! pour d'autres projets sympas.
Étape 1 : Rassembler le matériel
Tout le matériel listé est facilement disponible dans le commerce local ou en ligne.
- Arduino Uno
- Réseau de capteurs IR (8 capteurs)
- LED RGB adressable WS2812b
- Adaptateur d'alimentation 5 V, 2 A
Étape 2 : Présentation
Ce capteur est un réseau simple de plusieurs capteurs IR (capteurs de proximité). Ce réseau comprend 8 capteurs fournissant 8 sorties analogiques et numériques distinctes. Dans ce projet, nous l'utilisons pour identifier la direction du mouvement de la main et changer les couleurs des LED en conséquence. La carte Arduino récupère les entrées du capteur et pilote les LED.
L'image ci-joint montre le réseau de capteurs IR et les gestes associés au code. Les deux gestes simples sont :
- Balayage vers la gauche
- Balayage vers la droite
Étape 3 : Réaliser les connexions
Peu de connexions sont nécessaires (reportez-vous au schéma) :
Connexions du capteur IR :
- GND du capteur → GND de l'Arduino
- VCC du capteur → 5 V de l'Arduino
- Sortie numérique du capteur A → Broche numérique 4
- Sortie numérique du capteur B → Broche numérique 5
- Sortie numérique du capteur C → Broche numérique 6
- Sortie numérique du capteur D → Broche numérique 7
- Sortie numérique du capteur E → Broche numérique 8
- Sortie numérique du capteur F → Broche numérique 9
- Sortie numérique du capteur G → Broche numérique 10
- Sortie numérique du capteur H → Broche numérique 11
Connexions de la bande LED :
- GND de la bande → GND de l'Arduino
- 5 V de la bande → Vin de l'Arduino
- Data In de la bande → Broche numérique 3
Étape 4 : Programmation
Le code complet est fourni ci-dessous. Explication :
Nous utilisons la bibliothèque FastLED pour contrôler la bande et créer des effets. Huit variables stockent les données des capteurs. Le nombre de LED est défini à 90 (modifiable selon votre configuration) et la broche de données sur la broche 3.
La boucle void loop() contient deux structures if imbriquées qui vérifient quels capteurs sont activés et modifient les couleurs des LED en conséquence. Une fonction fadeall() assure l'effet de transition de teinte (couleur).
#include <FastLED.h>
int a,b,c,d,e,f,g,h,j=0;
#define NUM_LEDS 90
#define DATA_PIN 3
CRGB leds[NUM_LEDS];
void setup() {
pinMode(4,INPUT); pinMode(5,INPUT); pinMode(6,INPUT); pinMode(7,INPUT);
pinMode(8,INPUT); pinMode(9,INPUT); pinMode(10,INPUT); pinMode(11,INPUT);
LEDS.addLeds<WS2812,DATA_PIN,RGB>(leds,NUM_LEDS);
LEDS.setBrightness(84);
}
void fadeall() {
for(int i = 0; i < NUM_LEDS; i++) { leds[i].nscale8(250); }
}
void loop() {
a=digitalRead(4); b=digitalRead(5); c=digitalRead(6); d=digitalRead(7);
e=digitalRead(8); f=digitalRead(9); g=digitalRead(10); h=digitalRead(11);
static uint8_t hue = 0;
if(a==1) {
if(b==1) {
for(int i = 4; i < 55; i++) {
leds[i] = CHSV(hue++, 255, 255);
FastLED.show();
fadeall();
delay(10);
}
}
}
if(g==1) {
if(f==1) {
for(int i = 55; i >= 4; i--) {
leds[i] = CHSV(hue++, 255, 255);
FastLED.show();
fadeall();
delay(10);
}
}
}
}
Étape 5 : Photos
Quelques photos du projet terminé (images non incluses ici).
Schéma de câblage
Le schéma Fritzing montre 8 capteurs IR distincts ; vous pouvez utiliser soit 8 capteurs séparés, soit un unique réseau.
Processus de fabrication
- Construire un robot Raspberry Pi piloté par Bluetooth avec retour audio
- Robot à commande gestuelle piloté par Raspberry Pi
- Contrôler des LED avec Alexa via Raspberry Pi – Guide Pas à Pas
- Transformez une vieille voiture RC en véhicule piloté au joystick avec Arduino
- SunGlass-BOT : Lunettes de soleil intelligentes à adaptation automatique à la lumière
- Bras robotique 6 DoF piloté par Nunchuk Wii – Kit Arduino Mega
- Interrupteur lumineux sans fil intelligent : Manipulateur d'interrupteur piloté par Arduino
- Robot commandé par la voix avec Arduino Nano et Bluetooth
- PiBot : Robot pianiste Arduino pour performance musicale de précision