Étape 4: Téléchargez le code sur votre Arduino en utilisant le programme d’IDE Arduino
Utilisez le code collé ci-dessous, ou mieux encore, utilisez le croquis ci-joint d’Arduino pour envoyer le code à votre Arduino.
Assurez-vous de regarder cela intégré vidéo de YouTube, comme je l’explique comment tout le code fonctionne en faisant ce que vous voyez physiquement dans les deux la vidéo finale et le schéma de montage d’essai Fritzing.
Testeur de batterie Polygonasaurus Rex
Créé par Daniel Rudzik / / ce code est du domaine Public. N’hésitez pas à utiliser comme vous s’il vous plaît ! =)
#include //This est la bibliothèque de servo standard #include / / besoin d’inclure le SD bibliothèque //const int chipSelect = 4 ; #define chipSelect 4 //using broche numérique 4 sur arduino nano 328, peut utiliser d’autres épingles #include / / vous devrez également inclure cette bibliothèque... #include
TMRpcm tmrpcm ; créer un objet à utiliser dans cette esquisse (nouveau code) Servo servo1 ; Créez l’objet servo pour contrôler un servo Servo servo2 ; Créez l’objet servo pour contrôler un servo / / douze servo objets peuvent être créés sur la plupart planches int pos = 90 ; variable pour stocker le servo position int sensorPin = A0 ; Sélectionnez l’entrée pin pour le potentiomètre int ledPin = 13 ; Sélectionnez le code pin de la LED int sensorValue = 0 ; variable pour stocker la valeur provenant de la sonde int BatteryPin = A5 ; Sélectionnez l’entrée pin pour le potentiomètre int BatteryValue = 0 ; variable pour stocker la valeur provenant de la sonde unsigned long temps = 0 ; Afin de stocker la valeur numérique
void setup() {digitalWrite (3, faible); //Displays rouge de la Led RGB digitalWrite (2 secondaire); / / maintient le feu vert de RVB éteint servo1.attach(8); / / s’adapte sur le servo sur la broche 8 du servo objet servo2.attach(7); / / attache le servo sur la broche 7 pour le servo objet pinMode (BatteryPin, OUTPUT); pinMode (sortie 2); //green broche numérique 2 pinMode (sortie 3,); //red est la broche numérique 3 Serial.begin(9600) ; //Allows les valeurs à afficher dans le moniteur série pinMode (9 SORTIE) ; tmrpcm.speakerPin = 9 ; 5,6,11 ou 46 sur Mega, 9 sur Uno, Nano, etc. Serial.print ("carte SD Initializing...") ; Assurez-vous que l’accès select de puce par défaut est défini sur / / sortie, même si vous ne l’utilisez pas : pinMode (sortie 10,) ; voir si la carte est présente et peut être initialisée : if (! SD.begin(chipSelect)) {Serial.println ("carte a échoué ou n’existe pas"); / / ne font rien de plus : return;} Serial.println ("carte initialisée.") ; }
void loop() {BatteryValue = analogRead(BatteryPin); / / lire la valeur de la pile AA Serial.println(sensorValue) ; //Displays les valeurs de capteur photoélectrique dans Serial Monitor changer « sensorValue » à « BatteryValue » lors du test de batterie au lieu d’un affichage clair de photocellule. si (BatteryValue > 100) {/ / la valeur est supérieure à 100 quand l’AA est connecté et a pouvoir laissé dedans. Devrait fonctionner correctement avec votre batery AA mais sinon, remplacez la valeur de 100 ce qui arrive dans le moniteur série quand la batterie fait contact. tmrpcm.Play("a.wav") ; Joue le rugissement de T-Rex lorsque la valeur est supérieure à 100 et la carte SD est ok. digitalWrite (2, basse) ; S’éteint le voyant rouge de la RGB led digitalWrite (3, élevée) ; Allume le feu vert de la RGB led} else {digitalWrite (3, faible); / / allume le feu vert de la RGB led digitalWrite (2, HIGH);} //Turns sur le voyant rouge de la RGB led sensorValue = analogRead(sensorPin) ; Détecte la valeur de la cellule photoélectrique pour déterminer si elle est bloquée de la lampe de luminothérapie si (sensorValue > 700) {/ / lorsque cellule la valeur est supérieure à 700, il est bloqué pour (pos = 90; pos > = 19; pos--) {//Goes de 90 jusqu'à 19 degrés. servo1.write(pos) ; servo2.write(180-pos) ; //Simultaneously miroirs autre le servo moteur pour descendre le t-rex crâne} delay(1000) ; pour (pos = 19; pos < = 90; pos ++) / / va de 19 degrés à 90 degrés {servo1.write(pos); / / dire servo pour aller à positionner dans la variable « pos » servo2.write(180-pos) ; dire de servo pour aller à positionner dans la variable « pos » delay(15) ; attend 15 ms pour le servo atteindre la position}}}