Étape 6: Programmation de l’Arduino
Voici le code qui est explicite !
/ * Ceci est le code pour le contrôle de n’importe quelle voiture R/C avec un émetteur d’avion rédigé par Vishnu Chaitanya Paméla. Profitez!! */
int motor1Left = 5; / / définit la broche 5 tel qu’il est branché sur le moteur
int motor1Right = 6; / / définit la broche 6 tel qu’il est branché sur le moteur
int motor2Left = 7; / / définit la broche 7 tel qu’il est branché sur le moteur
int motor2Right = 8; / / définit la broche 8 tel qu’il est branché sur le moteur
canal 1 int = 9 ; définit les canaux qui sont connectés
canal2 int = 10; / / aux broches 9 et 10 de l’arduino respectivement
int canal1 ; Utilisé plus tard pour
int canal2 ; stocker des valeurs
installation Sub ()
{
pinMode (motor1Left, sortie); / / initialise les broches moteurs
pinMode (motor1Right, sortie) ;
pinMode (motor2Left, sortie) ;
pinMode (motor2Right, sortie); / / as sorties
pinMode (canal 1, entrée); / / initialise les canaux
pinMode (canal2, entrée); / / comme entrées
Serial.Begin (9600) ; Définit le débit en bauds à 9600 bits/s
}
void loop ()
{
Canal 1 = (pulseIn (canal1, HIGH)) ; Vérifie la valeur de canal 1
Serial.println (canal 1) ; Imprime la valeur de canaux sur le moniteur de la série
Si (canal 1 > 1300 & & canal1 < 1500) / * si ces conditions sont remplies, procédez comme suit. Ce sont les valeurs que j’ai reçu de mon émetteur, dont vous pouvez personnaliser selon vos valeurs émetteur * /
{
digitalWrite (motor1Left, basse) ; Définit aussi bien la
digitalWrite (motor1Right, LOW); / / moteurs à faible
}
Si (canal 1 < 1300) / / vérifie si le canal 1 est inférieur à 1300
{
digitalWrite (motor1Left, HIGH); / / tourne à gauche
digitalWrite (motor1Right, basse) ; moteur en marche avant
}
Si (> 1500 canal1) / / vérifie si le canal 1 est supérieure à 1500
{
digitalWrite (motor1Left, LOW); / / tourne à droite
digitalWrite (motor1Right, HIGH); / / moteur vers l’avant
}
Canal2 = (pulseIn (canal2, HIGH)) ; Vérifie la valeur de canal 1
Serial.println (canal2) ; Imprime les chaînes de valeur sur le moniteur de la série
Si (canal2 > 1300 & & canal1 < 1500) / / si ces conditions sont remplies, procédez comme suit
{
digitalWrite (motor2Left, LOW); / / définit tous les deux la
digitalWrite (motor2Right, LOW); / / moteurs à faible
}
Si (canal2 < 1300) / / vérifie si canal2 est inférieur à 1300
{
digitalWrite (motor2Left, LOW); / / tourne à gauche
digitalWrite (motor2Right, HIGH); / / moteur vers l’arrière
}
Si (canal2 > 1500) / / vérifie si canal2 est supérieure à 1500
{
digitalWrite (motor2Left, HIGH); / / tourne à droite
digitalWrite (motor2Right, LOW); / / moteur vers l’arrière
}
/ * Remarque : vérifier les valeurs des canaux que vous obtenez dans le moniteur de la série
et ajuster les valeurs dans le cas des déclarations en conséquence. Dans mon cas, lorsque le bâton
a été centrée, mes lectures étaient 1400 à 1470. Lorsque le manche a été soulevé, les lectures sont
au-dessus de 1470 et lorsqu’il a été abaissé, les lectures étaient inférieurs à 1300.
*/