Étape 11 : Electronics
Brancher les servos et les lumières est auto explicative en regardant le code arduino représenté ci-dessous. L’orateur est déchiré dehors à mettre dans la boîte.
Remarque : câble positif de l’orateur va à la broche analogique A0 et le fil de masse sur la broche de terre. Le téléphone/composant produisant son se branchera sur le câble composant du haut-parleur.
Remarque importante : Les servos pour déplacer que la tête en position vers le haut n’a pas encore été ajoutée ! Mettra à jour.
Coupe-bise
par BARRAGAN / / cet exemple de code est dans le domaine public.
Remarque : UART sera désactivé lorsque le servo est attaché à la broche 0 ou 1.
#include
Servo myServo, servo2 ; Créez l’objet servo pour contrôler un servo / / un maximum de huit objets servo peut être créé à flotteur lecture = 0.0 ; flotteur inputPin = A0 ; int pos = 0 ; variable pour stocker la pos2 servo d’int position = 0 ;
définir des codes pin : const int buttonPin = 29 ; le nombre de la tige poussoir const int ledPin = 2 ; le nombre de la LED pin const int ledPin2 = 3 ;
variables vont changer : buttonState int = 0 ; variable pour la lecture de l’état de bouton poussoir
int sensorValue = 0 ; le capteur valeur int sensorMin = 1023 ; capteur minimale valeur int sensorMax = 0 ; valeur maximale capteur
void setup() {Serial.begin(9600) ; myServo.attach(78) ; servo2.attach(81) ;
tandis que (millis() < 5000) {sensorValue = analogRead(inputPin) ;
enregistrer la valeur maximale capteur si (sensorValue > sensorMax) {sensorMax = sensorValue;}
enregistrer la valeur minimale capteur si (sensorValue < sensorMin) {sensorMin = sensorValue;}}
initialiser la broche LED en tant que sortie : pinMode (ledPin, sortie) ; initialiser la broche LED en tant que sortie : pinMode (ledPin2, sortie) ; initialiser la tige poussoir comme intrant : pinMode (buttonPin, entrée) ;
myServo.write(10) ; Servo2.Write(10) ;
}
void loop() {/ / lecture de l’état de la valeur du bouton poussoir : buttonState = digitalRead(buttonPin) ;
Si (buttonState == HIGH) {/ / allumer la LED: digitalWrite (ledPin, HIGH); digitalWrite (ledPin2, HIGH) ;
lecture de la sonde : sensorValue = analogRead(inputPin) ; nouvelle_valeur = sensorValue ; sensorValue = carte (sensorValue, sensorMin, sensorMax, 0, 255) ; sensorValue = contraindre (sensorValue, 0, 255) ; if(sensorValue > 238) {pos2 = 10 ; pour (pos = 10; pos < 60; pos += 1) / / va de 0 degrés à 45 degrés {myServo.write(pos2) ; servo2.write(pos) ; delay(5) ; pos2-= 1;}} else {myServo.write(10) ; servo2.write(10);}
} else {}
désactiver les LED: digitalWrite (ledPin, basse) ; digitalWrite (ledPin2, basse) ; myServo.write(10) ; Servo2.Write(10) ; }
}