Etape 11 : Programmer l’Arduino
Upload ce code à votre Arduino :/ * MAKE MagazineArdumpkin ou Pumpuino, votre appel ?
Par Marc de Vinck
*/
#include "<" Servo.h">" / / retirer les symboles « citation » de ce code de ligne!! J’ai dû ajouter donc instructables ne dépouille pas les sortir.
Servo myservo ; Créez l’objet servo pour contrôler un servo
inputPin int = 7 ; Choisissez l’entrée pin (pour un bouton poussoir)
int val1 = 0 ; variable pour garder la trace de l’état de bouton
val2 int = 0 ; variable utilisée pour PWM de LED
int ledrt = 10 ; œil droit conduit
int ledlt = 11 ; oeil gauche conduit
int ledmain = 6 ; LED blanche au centre du potiron
int pos = 0 ; variable pour stocker la position du servo
void setup() {}
myservo.Attach(9) ; s’adapte sur le servo broche 9 à l’objet de servo
myservo.Write(90) ; dire de servo pour aller à la position « 90 » ou position « off »
pinMode (ledrt, sortie) ; déclarer les LED en sortie
pinMode (ledlt, sortie) ; déclarer les LED en sortie
pinMode (ledmain, sortie) ; déclarer les LED en sortie
pinMode (inputPin, entrée) ; déclarer les touche comme entrée
}
void loop() {}
val1 = digitalRead(inputPin) ; lire la valeur d’entrée
Si (val1 == HIGH) {/ / vérifier si l’entrée est haute
Trick() ;
}
else {}
Treat() ;
}
}
void trick() {}
digitalWrite(ledmain,HIGH) ; allumer LED principale
digitalWrite(ledrt,HIGH) ; tourner sur le œil droit LED
digitalWrite(ledlt,HIGH) ; tourner sur le œil gauche LED
pour (val2 = 0; val2 < = 255 ; val2 += 2) / / fade (de min à max)
{
analogWrite (ledlt, val2) ; écriture gauche conduit à la puissance de « val »
analogWrite (ledrt, val2) ; écrire à droite conduit à la puissance de « val »
analogWrite (ledmain, val2) ; écriture principale conduit à la puissance de « val »
Delay(30) ; attend 30 millisecondes pour effet de gradation
}
myservo.Write(90) ; Set servo sur la position « off »
Delay(10) ;
myservo.Write(45) ; mettre le servo sur la position « on »
Delay(500) ; séjour "sur 1/2 seconde
myservo.Write(90) ; Set servo arrière à la position « off »
Delay(200) ;
digitalWrite (ledmain, basse) ; éteindre la LED citrouille principal
digitalWrite(ledrt,LOW) ; éteindre la LED droite
digitalWrite(ledlt,LOW) ; éteindre le voyant de gauche
}
void treat() {/ / cela s’estompe les voyants marche/arrêt jusqu'à ce que la touche
pour (val2 = 0; val2 < = 255 ; val2 += 50) / / fade (de min à max)
{
analogWrite (ledrt, val2) ;
analogWrite (ledlt, val2) ;
Delay(30) ; attend 30 millisecondes pour effet de gradation
}
pour (val2 = 255 ; val2 > = 0; val2-= 50) / / fade out (à partir de max et min)
{
analogWrite (ledrt, val2) ; écriture gauche conduit à la puissance de « val »
analogWrite (ledlt, val2) ; écrire à droite conduit à la puissance de « val »
Delay(30) ; attend 30 millisecondes pour effet de gradation
}
}