Les capteurs de couleurs permettent à un projet Arduino de percevoir et de réagir aux couleurs de son environnement. Le module TCS34725 est l’un de ces capteurs puissants, capable de mesurer avec précision les composantes RVB (rouge, vert, bleu) d’une lumière, offrant ainsi une variété d’applications, de la détection de couleur à la gestion de l’éclairage ambiant.
Ce Dont Vous Aurez Besoin
Avant de plonger dans l’utilisation du module TCS34725 avec le bandeau WS2812B, assurez-vous de rassembler les éléments nécessaires. Voici la liste des composants dont vous aurez besoin pour mener à bien ce projet :
- Module TCS34725 : Assurez vous de disposer du module TCS34725, un capteur de couleur compact et puissant.
- Bandeau WS2812B : Obtenez un bandeau de LEDs WS2812B, dans la longueur et le style de votre choix, pour illuminer vos projets avec des couleurs éclatantes.
- Carte Arduino : Utilisez une carte Arduino compatible, comme l’Arduino Uno, pour héberger votre projet.
- Fils de Connexion : Assurez vous d’avoir des fils de connexion pour relier le module TCS34725, le bandeau WS2812B et la carte Arduino.
Introduction au Module TCS34725
Le module TCS34725 est un capteur de couleur intégrant un photodétecteur à conversion analogique-numérique (ADC), qui peut mesurer la lumière dans les canaux rouge, vert et bleu. Cela permet une reconnaissance précise des couleurs dans diverses conditions d’éclairage. Le module dispose également d’une compensation automatique de la luminosité ambiante pour des résultats plus cohérents.
Branchements et Configuration
Branchements Matériels
Connectez le module TCS34725 à votre Arduino en suivant ces étapes :
- Broche VCC : Connectez à 5V.
- Broche GND : Connectez à la masse (GND).
- Broche SDA : Connectez à la broche analogique A4.
- Broche SCL : Connectez à la broche analogique A5.
De plus, connectez le bandeau WS2812B à une broche de sortie de votre choix, par exemple, D9 comme pour ce code.
Installation des Bibliothèques
Assurez-vous d’installer les bibliothèques nécessaires pour le TCS34725 et le WS2812B via le Gestionnaire de Bibliothèques Arduino.
- Ouvrez l’Environnement de Développement Arduino : Lancez l’environnement Arduino sur votre ordinateur.
- Accédez au Gestionnaire de Bibliothèques : Cliquez sur l’onglet « Croquis » dans la barre de menu, puis sélectionnez « Importer une bibliothèque » -> « Gérer les bibliothèques… ».
- Recherchez les Bibliothèques Nécessaires : Dans la fenêtre du Gestionnaire de Bibliothèques, utilisez la barre de recherche en haut à droite pour rechercher les bibliothèques requises. Pour le module TCS34725, recherchez « Adafruit TCS34725, » et pour le bandeau WS2812B, recherchez « Adafruit NeoPixel. »
- Installez les Bibliothèques : Une fois que vous avez trouvé les bibliothèques nécessaires, cliquez sur chaque entrée et appuyez sur le bouton « Installer. » Attendez que le processus d’installation soit terminé.
Programmation avec Arduino
Le code Arduino ci-dessous utilise la bibliothèque Adafruit pour le TCS34725 et le WS2812B. Assurez-vous d’ajuster le numéro de broche en fonction de votre configuration matérielle.
#include <Wire.h>
#include <Adafruit_TCS34725.h>
#include <Adafruit_NeoPixel.h>
Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_50MS, TCS34725_GAIN_4X);
// Configuration du bandeau de LEDs WS2812B
#define NUMPIXELS 8 // Nombre de led sur votre module WS2812B
#define PIN_WS2812B 9 // Broche D9
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUMPIXELS, PIN_WS2812B, NEO_GRB + NEO_KHZ800);
void setup() {
Serial.begin(9600);
strip.begin();
strip.show(); // Initialiser toutes les LEDs à l'extinction
if (!tcs.begin()) {
Serial.println("Aucun capteur de couleur trouvé. Vérifiez vos connexions!");
while (1);
}
Serial.println("Capteur de couleur TCS34725 prêt.");
}
void loop() {
uint16_t r, g, b, c;
tcs.getRawData(&r, &g, &b, &c);
// Trouver la composante de couleur maximale
uint16_t maxColor = max(r, max(g, b));
// Mappage en fonction de la composante de couleur maximale
byte mappedR = map(r, 0, maxColor, 0, 255);
byte mappedG = map(g, 0, maxColor, 0, 255);
byte mappedB = map(b, 0, maxColor, 0, 255);
// Allumer le bandeau WS2812B avec les valeurs mappées
for (int i = 0; i < NUMPIXELS; ++i) {
strip.setPixelColor(i, mappedR, mappedG, mappedB);
}
strip.show();
delay(500); // Attendre un moment pour éviter les lectures trop fréquentes.
}
Conclusion
En intégrant le module TCS34725 avec un bandeau WS2812B, vous pouvez créer des projets interactifs captivants basés sur la détection et la réaction aux couleurs de l’environnement. Que ce soit pour une lampe d’ambiance intelligente ou un projet artistique interactif, les possibilités sont infinies.
N’oubliez pas d’adapter ce code de base en fonction de vos besoins spécifiques et d’explorer davantage les fonctionnalités offertes par le module TCS34725 et les bandeaux WS2812B pour débloquer tout leur potentiel créatif.
0 commentaires