Étape 6: programmation
Bon, si votre installation est maintenant terminée. Maintenant son heure pour les faire parler. Assurez-vous que vous disposez d’Arduino et Vixen installé sur votre ordinateur. Connaître les bases du langage arduino aidera beaucoup.Vous devrez commencer un profil Vixen spécifiquement pour cette application. Je suggère de 8 canaux, car c’est ce que.
Configuré, ajuster les angles de programme à vos citrouilles, tel que mentionné dans mon programme. Valeur par défaut est 45.
Voici le programme que je dirige, cependant, n’hésitez pas à expérimenter avec les vôtres :
/*
Copiez le code suivant parcourt renarde l’arduino, les pins d’usining 3, 5 et 6 avec
3 servos séparés ; broches, 9, 10 et 11 sont utilisés pour les 3 circuits LED avec PWM ;
broches 12, 13 sont des broches numériques supplémentaires.
*/
#include < Servo.h >
Servo Pumpkin1 ;
Servo Pumpkin2 ;
Servo Pumpkin3 ;
int pos = 0 ;
int Chan1 = 3 ; PWM-Servo 1
int Chan2 = 5 ; PWM-Servo 2
int Chan3 = 6 ; PWM-Servo 3
int Chan4 = 9 ; PWM-Light 1
int Chan5 = 10 ; PWM-Light 2
int Chan6 = 11 ; PWM-Light 3
int Chan7 = 12 ; supplémentaire
int Chan8 = 13 ; supplémentaire
int i = 0 ; Compteur de boucle
int incomingByte [8] ; Tableau pour stocker les 25 valeurs du port série
int val1 ;
val2 int ;
int val3 ;
configurer les broches / entrées et sorties
void setup()
{
Serial.Begin(9600) ; mettre en place la série à 9600 bps
pinMode (Chan1, sortie) ;
Pumpkin1.Attach(3) ;
pinMode (Chan2, sortie) ;
Pumpkin2.Attach(5) ;
pinMode (Chan3, sortie) ;
Pumpkin3.Attach(6) ;
pinMode (Chan4, sortie) ;
pinMode (Chan5, sortie) ;
pinMode (Chan6, sortie) ;
pinMode (Chan7, sortie) ;
pinMode (Chan8, sortie) ;
}
void loop()
{/ / 8 canaux viennent pour l’Arduino
Si (Serial.available() > = 8) {}
lire l’octet le plus ancien dans le tampon de la série :
pour (int i = 0; i < 9; i ++) {}
lire chaque octet
incomingByte [i] = Serial.read() ;
}
Pumpkin1
val1 = incomingByte [0] ;
val1 = carte (val1, 0, 255, 0, 45) ; Changer le dernier numéro d’après combien de temps vous souhaitez la citrouille pour ouvrir.
Pumpkin1.Write(val1) ;
Delay(15) ;
Pumpkin2
val2 = incomingByte [1] ;
val2 = carte (val2, 255, 0, 0, 45) ; Changer le dernier numéro d’après combien de temps vous souhaitez la citrouille pour ouvrir.
Pumpkin2.Write(val2) ;
Delay(15) ;
Pumpkin3
val3 = incomingByte [2] ;
val3 = carte (val3, 255, 0, 0, 45) ; Changer le dernier numéro d’après combien de temps vous souhaitez la citrouille pour ouvrir.
Pumpkin3.Write(val3) ;
Delay(15) ;
analogWrite (Chan4, incomingByte[3]) ; Voyant 1
analogWrite (Chan5, incomingByte[4]) ; Lumière 2
analogWrite (Chan6, incomingByte[5]) ; Lumière 3
digitalWrite (Chan7, incomingByte[6]) ; Extras
digitalWrite (Chan8, incomingByte[7]) ; Extras
}
}