Étape 20 : Codes
Copiez et collez le code dans votre logiciel Arduino. Sont les codes que nous avons utilisé pour le chariot peut être vu ci-dessous ici.
Code pour
moteurs à engrenages
inclure des fichiers pour ajouter d’autres fichiers ou les bibliothèques au programme actuel
#include
#include
#include
estado int = 0 ; crée une variable qui sera utilisée pour tester les conditions.
SoftwareSerial bleu (10, 11) ; Création RX, TX broches pour Communication Bluetooth
Adafruit_MotorShield AFMS = Adafruit_MotorShield() ; Créer l’objet de la flasque arrière avec l’adresse I2C par défaut
Adafruit_DCMotor * myMotor = AFMS.getMotor(1) ; Sélection du Port à fixer un moteur. moteur va à port 1
Adafruit_DCMotor * myMotor2 = AFMS.getMotor(2) ; Sélection du Port à fixer un moteur. moteur va à port 2
void setup() {}
Serial.Begin(9600) ; mettre en place une bibliothèque série à 9600 bps
Blue.Begin(9600) ; définit le débit en bauds à 9600 bits/s
Blue.println ("travaille bluetooth?") ; imprime une ligne afin de tester si bluetooth ne fonctionne pas
AFMS.begin() ; configurer la bibliothèque série à 9600 bps
}
void loop()
{
if(Blue.available() > 0) {//this est utilisé pour lire les valeurs par le module de X bluetooth HC-0
Estado = blue.read() ; la variable déclarée changements maintenant sa valeur qu’elle avait reçues par le module bluetooth
}
tous ces si est utilisées pour exécuter certaines actions. par exemple : dans le premier cas, la commande stop est implémentée en arrêtant tous les moteurs.
arrêter affectant tous les moteurs à une vitesse de 0
Si (=='s d’estado ') {}
myMotor -> run(RELEASE) ; un moteur a la valeur stop
myMotor -> setSpeed(0) ; un moteur a la valeur vitesse 0
myMotor2 -> run(RELEASE) ; moteur deux a la valeur stop
myMotor2 -> setSpeed(0) ; moteur deux a la valeur vitesse 0
}
avant le réglage d’un moteur à courir vers l’avant tandis que l’autre s’exécute vers l’arrière
Si (estado == « w ») {}
myMotor -> run(FORWARD) ; un moteur est mis à courir vers l’avant
myMotor -> setSpeed(255) ; un moteur est sur la vitesse max. 255 est la valeur la plus élevée possible, alors que 0 est le plus bas.
myMotor2 -> run(BACKWARD) ; moteur deux est mis à courir vers l’arrière.
myMotor2 -> setSpeed(255) ; moteur deux est affectée à la vitesse maximum. 255 est la valeur la plus élevée possible, alors que 0 est le plus bas.
}
en arrière, c’est le même code que vers l’avant ; le seul changement est qu’un moteur tourne maintenant vers l’arrière et motor2 est en cours d’exécution vers l’avant.
Si (estado == « x ») {}
myMotor -> run(BACKWARD) ; un moteur est configuré pour exécuter en arrière
myMotor -> setSpeed(255) ; un moteur est sur la vitesse max. 255 est la valeur la plus élevée possible, alors que 0 est le plus bas.
myMotor2 -> run(FORWARD) ; moteur deux est mis à courir vers l’avant
myMotor2 -> setSpeed(255) ; moteur deux est affectée à la vitesse maximum. 255 est la valeur la plus élevée possible, alors que 0 est le plus bas.
}
tourner à gauche cette fois, les deux moteurs vers la même direction
Si (estado == « a ») {}
myMotor -> run(FORWARD) ; un moteur est mis à courir vers l’avant
myMotor -> setSpeed(255) ; un moteur est sur la vitesse max. 255 est la valeur la plus élevée possible, alors que 0 est le plus bas.
myMotor2 -> run(FORWARD) ; moteur deux est mis à courir vers l’avant
myMotor2 -> setSpeed(255) ; moteur deux est affectée à la vitesse maximum. 255 est la valeur la plus élevée possible, alors que 0 est le plus bas.
}
tourner à droite, que les moteurs seront déroulera à la même direction, mais en face, tourner à gauche
Si (estado == avait ') {}
myMotor2 -> run(BACKWARD) ; moteur deux est mis à courir vers l’arrière
myMotor2 -> setSpeed(255) ; moteur deux est affectée à la vitesse maximum. 255 est la valeur la plus élevée possible, alors que 0 est le plus bas.
myMotor -> run(BACKWARD) ; un moteur est configuré pour exécuter en arrière
myMotor -> setSpeed(255) ; un moteur est sur la vitesse max. 255 est la valeur la plus élevée possible, alors que 0 est le plus bas.
}
ralentir le virage à gauche, les moteurs vont tournez lentement à gauche. C’est le même code que pour tourner à gauche, mais avec une vitesse plus lente
Si (estado == « q ») {}
myMotor2 -> run(FORWARD) ; moteur deux est mis à courir vers l’avant
myMotor2 -> setSpeed(100) ; moteur deux occupe 40 % de la vitesse max. 255 est la valeur la plus élevée possible, alors que 0 est le plus bas.
myMotor -> run(FORWARD) ; un moteur est mis à courir vers l’avant
myMotor -> setSpeed(100) ; un moteur est situé à 40 % de la vitesse max. 255 est la valeur la plus élevée possible, alors que 0 est le plus bas.
}
virage à droite lent que les moteurs tournera à droite lentement. C’est le même code que pour tourner à droite, mais avec une vitesse plus lente
Si (estado == « e ») {}
myMotor -> run(BACKWARD) ; un moteur est configuré pour exécuter en arrière
myMotor -> setSpeed(100) ; moteur 40 % de la vitesse max est la valeur est la valeur la plus élevée possible, alors que 0 est le plus bas.
myMotor2 -> run(BACKWARD) ; moteur deux est mis à courir vers l’arrière
myMotor2 -> setSpeed(100) ; moteur deux occupe 40 % de la vitesse max. 255 est la valeur la plus élevée possible, alors que 0 est le plus bas.
}
}
Code pour servo-moteurs (tailleurs de styromousse)
inclure des fichiers pour ajouter d’autres fichiers ou les bibliothèques au programme actuel
#include
#include
Servo miServo ; déclare un servo
Servo miServo2 ; déclare un servo
estado int = 0 ; crée une variable qui sera utilisée pour tester les conditions.
SoftwareSerial bleu (10, 11) ; Création RX, TX broches pour Communication Bluetooth
void setup() {}
Blue.Begin(9600) ; mettre en place une bibliothèque série à 9600 bps
Blue.println ("iniciar bluetooth") ; définit le débit en bauds à 9600 bits/s
miServo.attach (3) ; fixer le servo 1 à la broche 3
miServo2.attach (5) ; fixer le servo 2 à la broche 5
}
void loop() {}
Si //this (blue.available() > 0) est utilisée pour lire les valeurs par le module de X bluetooth HC-0
{
Estado = blue.read() ; la variable déclarée changements maintenant sa valeur qu’elle avait reçues par le module bluetooth
pinMode (7, sortie) ; utilisé pour allumer la première arme. cette arme se composait d’un coupeur de styrofoam (polystyrène expansé) qui permet à la voiture de brûler les ballons au contact.
pinMode (sortie 4) ; utilisé pour activer la deuxième arme.
}
tous ces si est utilisées pour exécuter certaines actions. par exemple : dans la première condition, le servo
Si (estado == « a ») {}
miServo.write(70) ; le servo est déplacé à cette position
digitalWrite (7, LOW) ; l’arme attachée à l’asservissement est activé.
}
Si (estado == de ') {}
miServo.write(120) ; le servo est déplacé à cette position
digitalWrite (7, HIGH) ; l’arme attachée à l’asservissement est activé.
}
Si (estado == « k ») {}
miServo2.write(30) ; le servo est déplacé à cette position
digitalWrite (4, élevée) ; l’arme attachée à l’asservissement est activé.
}
Si (estado == « g ») {}
miServo2.write(100) ; le servo est déplacé à cette position
digitalWrite (4, faible) ; l’arme attachée à l’asservissement est activé.
}
}