logo idehack

Le starter kit Arduino Officiel

Pour débutant – Manuel en Français

Apprenez l’Arduino et l’électronique de façon pratique

Utiliser le Module TCS34725 avec un Bandeau WS2812B sur Arduino

Déc 7, 2023 | Arduino | 0 commentaires

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 :

  1. Module TCS34725 : Assurez vous de disposer du module TCS34725, un capteur de couleur compact et puissant.
  2. 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.
  3. Carte Arduino : Utilisez une carte Arduino compatible, comme l’Arduino Uno, pour héberger votre projet.
  4. 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

schema color sensor arduino

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.

  1. Ouvrez l’Environnement de Développement Arduino : Lancez l’environnement Arduino sur votre ordinateur.
  2. 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… ».
  3. 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. »
  4. 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

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Derniers Articles

Test et avis sur R36S

Test et avis sur R36S

La R36S c'une petite "console rétro" qui permet de faire tourner des jeux des plus anciennes consoles, jusqu'à à la PlayStation 1. Niveau look c'est orienté Gameboy Color mais avec des joystick et gâchettes en plus. [amazon box="B0D1KXGX6L,B0CYH8Z59B,B0CN4D81YB"...

Test et avis sur R36S

Ecran noir R36S Après mise à jour

J'ai acheté cette petite console sur Disponible ici sur Aliexpress et après avoir tenté une mise à jour de celle-ci je me suis retrouver avec un écran noir. Pour résoudre ce problème j'ai télécharger le fichier zip présent à cette adresse:...

Convertir un fichier Bin, Cue, GDI vers CHD (PSX)

Convertir un fichier Bin, Cue, GDI vers CHD (PSX)

En tant que bidouilleur amateur en électronique je passes aussi parfois par la case "émulation". Je me suis donc procurer une Box Arcade sous Android et poussé quelques recherches. Tout d'abord ces petites box même si elles ne sont pas exceptionnelles niveau...

Utiliser un capteur a effet hall avec Arduino

Utiliser un capteur a effet hall avec Arduino

Comment utiliser un "Magnet Sensor" Avec l'Arduino Le capteur magnétique Open Smart est un capteur de proximité à effet Hall. Il est conçu pour détecter la présence d'un champ magnétique. Lorsqu'un aimant est placé à proximité du capteur, il produit un signal de...

DFPlayer mp3-tf-16p et Arduino

DFPlayer mp3-tf-16p et Arduino

Jouer des fichier audio avec votre Arduino grâce au DFPlayer mp3-tf-16p Le module MP3-TF-16P, également connu sous le nom de DFPlayer Mini MP3 Player pour Arduino, est un petit dispositif conçu pour la lecture de fichiers audio au format MP3. Intégrant un lecteur de...