Étape 14 : codage
Maintenant que tous les raccordements sont effectués, vous êtes prêt à écrire le code pour le maillot.Voici le lien où vous pouvez télécharger le logiciel arduino :
http://www.Arduino.cc/en/main/Software
Voici le code que j’ai écrit. N’hésitez pas à l’utiliser.
ces constantes décrivent les broches. Ils ne changent pas :
const int lightpin = 0 ; lit la puissance de la cellule photoélectrique
const int switchp = 5 ; broche d’alimentation pour le relais à la fil EL
const int XPSous = 3 ; axe x de l’accéléromètre / / z-AXIS (uniquement sur les modèles 3 axes)
const int LED1 = 8 ; LED 1-6, numéroté en conséquence
const int LED2 = 9 ;
const int DEL3 = 10 ;
const int LED4 = 11 ;
const int DEL5 = 12 ;
const int LED6 = 13 ;
void setup()
{
initialiser la communication série :
Serial.Begin(9600) ;
Fournir la masse et la puissance en utilisant les entrées analogiques comme d’habitude
broches numériques. Il est ainsi possible de connecter directement le
carte de dérivation à l’Arduino. Si vous utilisez le 5V normal et
Broches GND sur l’Arduino, vous pouvez supprimer ces lignes.
pinMode (switchp, sortie) ;
pinMode (LED1, sortie) ;
pinMode (LED2, sortie) ;
pinMode (DEL3, sortie) ;
pinMode (LED4, sortie) ;
pinMode (DEL5, sortie) ;
pinMode (LED6, sortie) ;
pinMode(lightpin,INPUT) ;
pinMode(xpin,INPUT) ;
pinMode (switchp, sortie) ;
}
void loop()
{
if(analogRead(lightpin) < 30) //test pour voir si il n’y a lumière sur le capteur de lumière
{
if(analogRead(XPIN) > 600) //test pour voir si il y a accélération
{
gauche
digitalWrite (switchp, HIGH) ; définir le fil EL sur
Delay(200) ; attendre la seconde.2
digitalWrite (switchp, basse) ; partit le fil EL
digitalWrite (DEL3, élevé) ; la valeur de la LED sur
digitalWrite (LED4, élevé) ; la valeur de la LED sur
Delay(200) ; attendre la seconde.2
digitalWrite (DEL3, faible) ; déclencher la LED
digitalWrite (LED2, élevé) ; la valeur de la LED sur
digitalWrite (LED4, faible) ; déclencher la LED
digitalWrite (DEL5, élevé) ; la valeur de la LED sur
digitalWrite (switchp, HIGH) ; définir le fil EL sur
Delay(200) ; attendre la seconde.2
digitalWrite (switchp, basse) ; partit le fil EL
digitalWrite (LED2, faible) ; déclencher la LED
digitalWrite (LED1, élevé) ; la valeur de la LED sur
digitalWrite (DEL5, faible) ;
digitalWrite (LED6, élevé) ;
Delay(200) ; attendre la seconde.2
digitalWrite (LED1, faible) ;
digitalWrite (LED6, faible) ;
digitalWrite (switchp, HIGH) ;
Delay(200) ; attendre la seconde.2
digitalWrite (switchp, basse) ;
}
d’autre //Turn sur indefintely EL WIRE et LED
{
digitalWrite (LED6, élevé) ; la valeur de la LED sur
digitalWrite(LED5,HIGH) ;
digitalWrite (LED4, élevé) ; la valeur de la LED sur
digitalWrite(LED3,HIGH) ;
digitalWrite (LED2, élevé) ; la valeur de la LED sur
digitalWrite(LED1,HIGH) ;
digitalWrite (switchp, HIGH) ;
}
}
d’autre //if lightsensor est éteint, puis tournez EL WIRE et LED éteinte
{
digitalWrite (LED6, faible) ; la valeur de la LED sur
digitalWrite(LED5,LOW) ;
digitalWrite (LED4, faible) ; la valeur de la LED sur
digitalWrite(LED3,LOW) ;
digitalWrite (LED2, faible) ; la valeur de la LED sur
digitalWrite(LED1,LOW) ;
digitalWrite(switchp,LOW) ;
}
Serial.Print(analogRead(lightpin)) ; sortie pour moniteur série
Serial.Print("\t") ;
imprimer les valeurs de la sonde :
Serial.Print(analogRead(XPIN)) ;
imprimer un onglet entre les valeurs :
Serial.Print("\t") ;
imprimer un onglet entre les valeurs :
Serial.println() ;
délai avant la prochaine lecture :
Delay(50) ;
}