- Version
- Télécharger 20
- Taille du fichier 0.21 KB
- Date de création 14 avril 2023
- Télécharger
Arduino Nano 33 ble sense : Detection des couleurs avec le capteur APDS9960
Découvrez comment utiliser le capteur APDS9960 avec Arduino pour calculer la couleur dominante et afficher à la fois le nom de la couleur et la valeur numérique correspondante. Le code est détaillé étape par étape, avec des explications sur les fonctions utilisées pour la détection de la couleur.
Voici la vidéo :
✔️ Descriptif du code 1 : Utilisation du capteur APDS9960 pour la détection de la couleur avec Arduino
Le programme commence par inclure la bibliothèque Arduino_APDS9960.
Ensuite, dans la fonction setup(), la communication série est initialisée à une vitesse de 9600 bauds. Le programme attend ensuite que la communication série soit établie. Ensuite, le capteur APDS9960 est initialisé. Si l'initialisation échoue, un message d'erreur est affiché.
Dans la fonction loop(), les valeurs de couleur détectées sont affichées sur le port série en utilisant la fonction Serial.print(). Ce code est conçu pour être utilisé avec le traceur de courbes de l'IDE Arduino 2.0.3,qui permet d'afficher les données sous forme de graphique en temps réel.
Le traceur de courbes de l'IDE Arduino 2.0.3 s'attend à recevoir des données sous forme de texte structuré.Dans ce code, les valeurs de couleur sont affichées en premier la valeur bleue, puis une virgule, puis la valeur rouge, suivie d'une autre virgule, puis la valeur verte, et enfin un saut de ligne pour passer à la ligne suivante. Cette séquence de caractères est importante car le traceur de courbes est configuré pour reconnaître cette structure et afficher les données correctement sous forme de courbe.
✔️ Descriptif du code 2 : Recherche de la couleur dominante avec le capteur APDS9960
Le programme commence par inclure la bibliothèque "Arduino_APDS9960.h" qui contient les fonctions pour communiquer avec le capteur de couleur.
Le setup est identique au premier code .
Dans la fonction "loop", le programme entre dans une boucle qui attend jusqu'à ce qu'une mesure de couleur soit disponible en utilisant "while (!APDS.colorAvailable())". Lorsqu'une mesure est disponible, les valeurs de rouge, vert et bleu sont lues à partir du capteur en utilisant "APDS.readColor(r, g, b)" et stockées dans les variables correspondantes.
Ensuite, le programme détermine la couleur dominante en comparant les valeurs de rouge, vert et bleu. Si la valeur de rouge est la plus élevée, le programme affiche "Rouge" sur la console série en utilisant "Serial.println("Rouge")". Si la valeur de vert est la plus élevée, le programme affiche "Vert". Si la valeur de bleu est la plus élevée, le programme affiche "Bleu". Si les trois valeurs sont égales, le programme affiche "Blanc". Sinon, le programme affiche "Couleur mixte".
✔️ Descriptif du code 3 : Calcule la couleur dominante et affiche à la fois le nom de la couleur dominante et la valeur numérique.
Dans la boucle principale (loop()), le programme attend qu'une mesure de couleur soit disponible en utilisant la fonction colorAvailable() du capteur APDS9960. Une fois qu'une mesure de couleur est disponible, les valeurs de rouge, vert et bleu sont stockées dans des variables respectives à l'aide de la fonction readColor(). Les valeurs de rouge, vert et bleu sont affichées sur la console série à l'aide de la fonction Serial.println().La valeur maximale parmi les valeurs de rouge, vert et bleu est trouvée à l'aide de la fonction max().Ensuite, la couleur dominante est déterminée en fonction de la valeur maximale. Si la valeur maximale est le rouge, "Rouge" est stocké comme couleur dominante, si c'est le vert, "Vert" est stocké et sinon, "Bleu" est stocké.
La couleur dominante est stockée dans une chaîne de caractères et affichée sur le moniteur série.