Étape 7: Mettre sur pied l’électronique
Maintenant que nous avons une gâchette Tweet grâce à la prise de l’iPhone et les comparateurs LM339, il est temps de rassembler les pièces.- Commutateur de tension est jointe à un pin d’entrée sur l’Arduino
- Les oiseaux et les Servos sont attachés aux broches de sortie
- Alimentation batterie de 4 AA
- Le code de l’entrée pin montres et lorsque l’interrupteur est fermé, les oiseaux chantent et les Servos tourner à 15 fois
Code de l’Arduino :
/*
Robe de twitter #TFF
avec beaucoup d’inspiration à travers l’internet (balayage, bouton, Arduino Cookbook)
*/#include < Servo.h >
Servo myservo ; Créez l’objet servo pour contrôler un servo
vous pouvez créer un maximum de huit objets de servo
les constantes ne changeront pas. Ils sont utilisés ici pour
Définissez les codes pin :
const int headphonePin = 2 ; le nombre de l’axe de comparatif de casque
const int ledPin = 13 ; le nombre de l’axe de la LED
const int servoPin = 9 ; Servos NIP (toujours avec une broche pour les mettre en miroir mouvement
const int birdPin = 6 ;
variables vont changer :
int headphoneState = 1 ; variable pour la lecture de l’état de casque
int servoCounter = 0 ; compteur pour le nombre de touches
int pos = 0 ; variable pour stocker la position du servo
void setup() {}
myservo.Attach(servoPin) ; attache le servo sur la broche 9 à l’objet de servo
pinMode (ledPin, sortie) ; Broche d’essai LED
pinMode (birdPin, sortie) ; Goupille de chants
pinMode (headphonePin, entrée) ; initialiser la goupille de comparateur casque comme entrée
pour le dépannage--sortent en finale
Serial.Begin(9600) ;
}
void loop() {}
int val ;
Val = digitalRead(headphonePin) ; pour le dépannage sur la série
digitalWrite (birdPin, basse) ; les oiseaux partent
lire l’état du casque d’écoute :
headphoneState = digitalRead(headphonePin) ; Y a-t-il un bruit de tweet, ou est-il calme ?
/*
ÉTAT DE CALME ***
*/
Dans le circuit, quand il n’y a pas de bruit, sortie est élevée
Dans cet état de calme, nous ne voulons pas déclenchée ou faible
Si (headphoneState == HIGH) {}
éloigner les fonctions
digitalWrite (ledPin, basse) ;
digitalWrite (birdPin, HIGH) ;
}
/*
ÉTAT DÉCLENCHÉ ***
*/
else {}
Sinon on entend qu'un tweet a déclenché une alerte
Pour cela nous voulons déclencher la sequense de chants d’oiseaux et les ailes de servo
allumer la LED :
digitalWrite (ledPin, HIGH) ;
digitalWrite (birdPin, basse) ; la valeur de la LED sur
Delay(10000) ;
digitalWrite (birdPin, HIGH) ;
SERVOS (selon balayage)
pour (int servoCounter = 0; servoCounter < 15 ; servoCounter ++) {//repeat ce modèle 15 fois
pour (pos = 0; pos < 180; pos += 1) / / va de 0 degrés à 180 degrés
{/ / par incréments de 1 degré
myservo.Write(POS) ; dire de servo pour aller à positionner dans la variable « pos »
Delay(1) ; attend 1 ms - très rapide pour le servo atteindre la position
}
pour (pos = 180; pos > = 1; pos-= 1) / / va de 180 degrés à 0 degrés
{
myservo.Write(POS) ; dire de servo pour aller à positionner dans la variable « pos »
Delay(1) ; attend 11ms du servo atteindre la position
}
}
}
}