Capteur couleur Arduino (4 / 5 étapes)

Étape 4: Étape 3: écrire du Code

Voici mon code Arduino. Vous aurez besoin d’étalonner les valeurs const basés sur la quantité de lumière est dans la salle - commentez la partie indiquée de la méthode loop() et notez les valeurs RVB, qu'il affiche pour les cartes de couleur différentes. Stocker ces valeurs RVB dans le ICOLOR const int [] au début du script. Si vous avez fait un bon travail de lumière-imperméabilisation de la boîte, les mêmes valeurs RVB devraient fonctionner avec différents niveaux de rétroéclairage.

/ ** Fonctionne un capteur de couleur sur l’Arduino
* Lancez le programme tout en montrant la carte blanche. Quand le RGB LED s’éteint,
* commutateur (rapidement) sur le carton noir. Après que le RGB LED clignote blanc, il est prêt.
*/
identificateurs de code PIN
bleu int = A2 ;
int vert = A1 ;
int rouge = A0 ;
redOut int = 9 ;
int greenOut = 10 ;
int blueOut = 11 ;
compte le nombre de lignes - utilisé pour les événements de temps
int count = 0 ;
stocke l’actuelle entrée RGB
int [3] ;
ICOLOR = entrée RGB de transistor qui est que la couleur.
COLOR = RGB à LED RGB montrent que la couleur de sortie
int IWHITE [3] = {175,48,455} ; int blanc [3] = {224,226,243} ;
int IBLACK [3] = {42,5,20} ; int [3] = {0,0,0} ;
int IRED [3] = {145,15,38} ; int rouge [3] = {200,0,0} ;
int IYELLOW [3] = {175,40,60} ; int jaune [3] = {255,150,0} ;
int IMAGENTA [3] = {150,16,83} ; int MAGENTA [3] = {200,0,200} ;
int IBLUE [3] = {57,7,160} ; int bleu [3] = {0,0,200} ;
int IGREEN [3] = {41,6,50} ; int vert [3] = {0,200,0} ;
int NONE [3] ;
[0] de ces derniers est le min, [1] est le maximum.
int redConvert [2] ;
int greenConvert [2] ;
int blueConvert [2] ;

lectures dans la couleur courante
int * readColor() {}
int ret [3] ;
ret [0] = analogRead(red) ;
ret [1] = analogRead(green) ;
ret [2] = analogRead(blue) ;
retour ret ;
}

vérifie que chaque élément de color1 relève de dev de
l’élément correspondant dans le refColor
inRange booléenne (int color1 [], int refColor [], int dev) {}
retour (abs (color1 [0] - refColor[0]) < = dev) & &
ABS (color1 [1] - refColor[1]) < = dev & &
ABS (color1 [2] - refColor[2]) < = dev ;
}

définit la couleur de la LED RGB
void setColor (int color[]) {}
analogWrite (redOut, color[0]) ;
analogWrite (greenOut, color[1]) ;
analogWrite (blueOut, color[2]) ;
}

détermine les valeurs de noir et blanc
void calibrate() {}
setColor(RED) ;
Delay(500) ;
setColor(GREEN) ;
Delay(500) ;
setColor(BLUE) ;
Delay(500) ;
setColor(WHITE) ;
int redSum = 0 ;
int greenSum = 0 ;
int blueSum = 0 ;
pour (int i = 1; i < = 5; i ++) {}
redSum += analogRead(red) ;
greenSum += analogRead(green) ;
blueSum += analogRead(blue) ;
Delay(333) ;
}
int whiteCal [3] = {redSum/5, greenSum/5, blueSum/5} ;
redSum = blueSum = greenSum = 0 ;
setColor(OFF) ;
Serial.Print ("blanc Cal (RGB):") ;
Serial.Print(whiteCal[0]) ;
Serial.Print("") ;
Serial.Print(whiteCal[1]) ;
Serial.Print("") ;
Serial.println(whiteCal[2]) ;
Serial.println (« carte d’insertion noir") ;
{while(inRange(readColor(),whiteCal,50))}
Delay(1000) ;
Serial.Print ("rouge vert bleu:") ;
Serial.Print(analogRead(Red)) ;
Serial.Print("") ;
Serial.Print(analogRead(Green)) ;
Serial.Print("") ;
Serial.println(analogRead(Blue)) ;
setColor(out) ;
}
Serial.println ("nouvelle carte détectée - j’espère que c’est noir") ;
Delay(5000) ;
pour (int i = 1; i < = 5; i ++) {}
redSum += analogRead(red) ;
greenSum += analogRead(green) ;
blueSum += analogRead(blue) ;
Delay(100) ;
}
int blackCal [3] = {redSum/5, greenSum/5, blueSum/5} ;
Serial.Print ("noir Cal (RGB):") ;
Serial.Print(blackCal[0]) ;
Serial.Print("") ;
Serial.Print(blackCal[1]) ;
Serial.Print("") ;
Serial.println(blackCal[2]) ;
calculer des fonctions de conversion
redConvert [0] = blackCal [0] ;
redConvert [1] = whiteCal [0] ;
greenConvert [0] = blackCal [1] ;
greenConvert [1] = whiteCal [1] ;
blueConvert [0] = blackCal [2] ;
blueConvert [1] = whiteCal [2] ;
}

exécute la routine de calibration et allume la lumière blanche avant
boucle de départ
void setup() {}
Serial.Begin(9600) ;
CALIBRATE() ;
setColor(WHITE) ;
Delay(1000) ;
}

void loop() {}
lectures de nouvelles valeurs
[0] = analogRead (rouge); //0-1024
[1] = analogRead(green) ;
[2] = analogRead(blue) ;

mise à jour de LED RVB et imprimer le résultat moins fréquemment
Si (Nbre % 5000 == 0) {}
Serial.Print ("rouge vert bleu:") ;
Serial.Print(out[0]) ;
Serial.Print("") ;
Serial.Print(out[1]) ;
Serial.Print("") ;
Serial.println(out[2]) ;

commentez le reste de cette boucle à des valeurs d’affichage juste et ne pas utiliser la LED RGB
{if(inRange(out,iWhite,10))}
Serial.println("White!") ;
setColor(WHITE) ;
}
else {if(inRange(out,IRED,10))
Serial.println("Red!") ;
setColor(RED) ;
}
else {if(inRange(out,IBLUE,10))
Serial.println("Blue!") ;
setColor(BLUE) ;
}
else {if(inRange(out,IYELLOW,10))
Serial.println("Yellow!") ;
setColor(YELLOW) ;
}
else {if(inRange(out,IMAGENTA,10))
Serial.println("magenta!") ;
setColor(MAGENTA) ;
}
else {if(inRange(out,IGREEN,10))
Serial.println("Green!") ;
setColor(GREEN) ;
}
d’autre setColor(OFF) ;
}
Count ++ ;
}

Articles Liés

Capteurs et Arduino serial communication pour les débutants de couleur

Capteurs et Arduino serial communication pour les débutants de couleur

Salut tous, je vais parler de capteurs couleur : comment construire et étalonner un et comment l'utiliser avec la communication série grâce à une carte Arduino.La dernière étape explique comment j'ai utilisé ce projet pour un Gimp (signifie « GNU Ima
Capteur couleur de Arduino DIY

Capteur couleur de Arduino DIY

Comment faire un capteur de couleur Arduino DIYÉtape 1: pièces 4 LED (vert, bleu, rouge, jaune)résistance ohms 4 2201 LDRrésistance de 1 10 kBroches femellesPCBEtape 2: Couper le circuit imprimé Façonner votre conception au CCP. Puis le couper. J'ai
Contrôle par capteur sonore Arduino

Contrôle par capteur sonore Arduino

Contrôle par capteur sonore ArduinoYouTube VidéoDocuments
Capteur couleur LED Arduino simple pour les débutants

Capteur couleur LED Arduino simple pour les débutants

Il y a quelques différents types de capteurs de couleur.Celui qui est utilisé dans ce instructable est un capteur de couleur « réfléchissante » il a un feu rouge feu vert de la source source une source de lumière bleue (un R, G, B LED fonctionnerait)
Capteur couleur bricolage

Capteur couleur bricolage

Bonjour tout le monde!!,J'avais passé mon bricolage avec arduino toute la semaine et j'ai aussi acheté quelques capteurs et modules pour elle mais il manquait quelque chose!!. Et c'est un capteur de couleur!! Après recherche sur Google que j'ai trouv
Vernier capteurs et Arduino (ou Teensy) pour l’enregistrement des données

Vernier capteurs et Arduino (ou Teensy) pour l’enregistrement des données

regardons comment recueillir des données provenant de capteurs éducatifs Vernier à l'aide d'un Conseil de développement microcontrôleur compatible Arduino.Si vous avez juste besoin d'interfacer une sonde avec un ordinateur et veulent tout faire, vous
Construire votre propre (at) capteur couleur minuscules.

Construire votre propre (at) capteur couleur minuscules.

Il y a quelques mois, j'ai vu une instructable par fjordcarver sur la façon de construire un coloursensor avec une RGB led et un LDR. Ça m'a inspiré pour essayer de savoir si je pouvais améliorer sa conception.Voici les choses que je voulais :Le capt
Visualiser les données provenant de capteurs utilisant Arduino + coolterm

Visualiser les données provenant de capteurs utilisant Arduino + coolterm

une fois que vous obtenez des valeurs des capteurs, par exemple en utilisant l'Arduino, (voir mon précédent instructable), parfois c'est agréable de voir les données du capteur dans un graphe.Voici comment en quelques étapes seulement !J'ai fait cett
Haleine bricolage capteur avec Arduino (capteur Stretch tricoté conductrice)

Haleine bricolage capteur avec Arduino (capteur Stretch tricoté conductrice)

Ce capteur DIY prendra la forme d'un conducteur capteur stretch tricoté. Il se terminera autour de votre poitrine/ventre et quand votre poitrine/estomac se dilate et contrats seront donc le capteur et par conséquent, les données d'entrée qui sont ali
Comment utiliser MQ7 gaz capteurs whith Arduino + Android App

Comment utiliser MQ7 gaz capteurs whith Arduino + Android App

Dans ce projet vous montrer, comment recevoir des MQ7 données d'arduino avec votre téléphone android. Ici de carbone est un gaz très dengerous qui est inodore et incolore. CO est produit par l'oxydation partielle du dioxyde de carbone, par exemple qu
Horloge en temps réel avec alarme et capteurs environnementaux Arduino

Horloge en temps réel avec alarme et capteurs environnementaux Arduino

Horloge de l'Arduino, avec, batterie de secours (horloge temps réel), heure, Date, alarme, température, humidité, pression, LCD sortie, entrée de clavier, veille, blanc éclairage (4 X) LCD LED avec gradateurÉtape 1: Liste des piecesHorloge temps réel
Alarme de sécurité à la maison ou un détecteur de mouvement à l’aide de LCD et capteur de Arduino,P.I.R.

Alarme de sécurité à la maison ou un détecteur de mouvement à l’aide de LCD et capteur de Arduino,P.I.R.

Salut tout le monde,Aujourd'hui je vais vous montrer comment faire une alarme de sécurité à la maison intéressante, magnifique, à peu de frais. Ce Gadget vous aide à protéger votre maison contre les voleurs. Dans ce projet je vais utiliser une Freedu
Comment utiliser un capteur Flex - Arduino Tutorial

Comment utiliser un capteur Flex - Arduino Tutorial

Dans ce « How to » tutoriel vous allez apprendre à utiliser un capteur flex avec Arduino uno.Un capteur flex utilise du charbon sur une bande de plastique se comporte comme une résistance variable. Les changements de résistance en flexion de la compo
Mesure de la distance au fil du temps avec capteur à ultrasons Arduino HC-SR04

Mesure de la distance au fil du temps avec capteur à ultrasons Arduino HC-SR04

L'objectif de ce projet est de créer un ensemble expérimental jusqu'à basé sur microcontrôleur arduino et un capteur à ultrasons qui nous permettra de prendre des mesures de distance dans le temps. Cette configuration pourrait servir dans un laborato