Etape 7: Capteur logiciel
Le logiciel de capteur pour Arduino est une version modifiée de leur sketch « hello world ».
Télécharger ici l’Arduino bibliothèque « arduino_pixy-x.y.z.zip ».
http://CMUcam.org/Attachments/Download/958/Arduino...
Mettre en place l’IDE Arduino et importer la bibliothèque Pixy en sélectionnant Sketch➜Import bibliothèque dans l’IDE Arduino et en accédant au fichier Pixy.zip que vous venez de télécharger.
//
commencer l’en-tête licence / / / / ce fichier fait partie de CMUcam5 de Pixy ou « Pixy » pour faire court / / / / Pixy tous le code source est fourni aux termes de la / / GNU General Public License v2 (http://www.gnu.org/licenses/gpl-2.0.html). Ceux qui souhaitent utiliser Pixy source code, logiciel et/ou / / technologies sous différentes conditions de licence devraient nous contacter / / cmucam ces conditions de licence sont disponibles pour / / toutes les parties de la base de code lutin présenté ici. / / fin d’en-tête de licence / /
#include #include
Pixy pixy ;
trucs d’int = 0 ; int position = 150 ; const int rouge = 5 ; const int blanc = 9 ; const int redled = 3 ; const int whiteled = 8 ;
void setup() {}
pinMode (rouge, sortie) ; pinMode (blanc, sortie) ; pinMode (redled, sortie) ; pinMode(whiteled,OUTPUT) ; digitalWrite (redled, HIGH); //right test digitalWrite (whiteled, HIGH); delay(2000) de //left de test ; digitalWrite (redled, LOW); //right hors digitalWrite (whiteled, LOW); //left hors digitalWrite(red,LOW) ; digitalWrite(white,LOW) ; Delay(2000) ;
Serial.Begin(9600) ; Serial.Print("Starting...\n") ; }
void loop() {public static int i = 0; int j; char buf [32]; uint16_t blocs, blocs = pixy.getBlocks() ; if (blocs) {i ++; if (j’ai 50 % == 0) {//sprintf (buf, « Détecté % d:\n », bloque); / / Serial.print(buf) ; //for (j = 0; j170) {digitalWrite(red,HIGH) ; digitalWrite(redled,HIGH) ; delay(1000) ; digitalWrite(red,LOW) ; digitalWrite(redled,LOW);} si (pixy.blocks [j] .x < 150) {digitalWrite(white,HIGH) ; digitalWrite(whiteled,HIGH) ; delay(1000) ; digitalWrite (blanc FAIBLE) ; digitalWrite(whiteled,LOW) ; {Si (pixy.blocks [j] .x > 149 & & pixy.blocks[j].x < 171) {digitalWrite(white,HIGH) ; digitalWrite(whiteled,HIGH) ; digitalWrite(red,HIGH) ; digitalWrite(redled,HIGH) ; delay(1000) ; digitalWrite(white,LOW) ; digitalWrite(whiteled,LOW) ; digitalWrite(red,LOW) ; digitalWrite(redled,LOW);}} } }}