Étape 7: Tous les branchements
Télécharger le croquis Arduino final donné ci-dessous pour le Mini Pro à l’aide de FTDI câble ou en petits groupes du Conseil.
Souder les connexions à l’Arduino Pro Mini très soigneusement selon le schéma de circuit.
Fixer circuit en bas du ballon à l’aide de la petite quantité de feuilles ou bandes.
À ce stade le circuit sera assez léger pour être soulevé par la bulle ou juste le bon poids pour le garder en équilibre. Ajuster avec une petite quantité d’argile si le circuit est trop léger.
#include < SoftwareServo.h >
SoftwareServo myservo ; Créez l’objet servo pour contrôler un servo
SoftwareServo myservo2 ;
goUp int = 0 ;
int val = 0 ;
attente d’int = 0 ;
int flyFor = 0 ;
long flapTime = 0 ;
int angleMin = 0 ;
int angleMax = 120 ;
int upSpeed = 20 ;
int downSpeed = 1 ;
mémoire tampon int = 0 ;
Variables sonores
int potPin = 1 ; Sélectionnez l’axe d’entrée pour capteur de sons
int ledPin = 13 ; Sélectionnez le code pin de la LED
int soundVal = 0 ;
void setup()
{
pinMode (ledPin, sortie) ; déclarer la ledPin comme une sortie
myservo.Attach(2) ; attache le servo sur broche 2
myservo2.Attach(4) ;
Serial.Begin(9600) ; ouvrir le port série à 9600 bits/s :
}
void loop()
{
Servo
Si (flyFor < flapTime) {}
Si (attendre == 5) {}
Si (val < angleMin) {}
goUp = 1 ;
digitalWrite(ledPin,HIGH) ;
}
ElseIf (val > angleMax) {}
goUp = 0 ;
digitalWrite(ledPin,LOW) ;
}
Si (goUp == 0) {}
Val = upSpeed ;
} else {}
Val += downSpeed ;
}
}
attente ++ ;
Si (attendre > 200)
attendre = 0 ;
myservo.Write(Val) ;
définit la position du servo selon la valeur à l’échelle
myservo2.Write(120-Val) ;
SoftwareServo::refresh() ;
flyFor ++ ;
} else {}
Son
soundVal = analogRead(potPin) ;
Serial.println("Listening...") ;
Si (soundVal > 1020) {}
Serial.println (« FREEAK OUT!") ;
upSpeed = 15 ;
downSpeed = 15 ;
angleMax = 45 ;
angleMin = 10 ;
flapTime = 6000 ;
}
ElseIf (soundVal < 450 || soundVal > 750) {}
Si (tampon == 0) {}
Serial.println(soundVal) ;
upSpeed = aléatoire (1, 20) ; 1 à 30
downSpeed = aléatoire (1, 30); / / 1 à 30
angleMax = random (110, 120) ;
angleMin = random (30, 45) ;
flapTime = 10000 + aléatoire (5000, 10000) ;
flyFor = 0 ;
tampon = 15 ;
} else {}
mémoire tampon--;
}
}
}
}