Étape 18 : Programme de Bot autonome
Le programme - c’est un programme simple qui permet du bot à aller de l’avant pendant 3 secondes, stopper puis se déplacer vers l’arrière pendant 3 secondes, tournez à droite pour 3 secondes et puis tourner à gauche pendant 3 secondes. J’ai développé ce programme après environ 15 heures de R & D. Le grand avantage de ce programme est que tous mes sous-routines pour aller de l’avant, en arrière, tourner, s’arrêter, etc. sont prêts qui m’aiderait énormément dans les modèles à venir.
J’ai joint le programme :
void setup() {}
pinMode (sortie 8) ; Entrée 1 de Motor1 définie sur 8 broches de l’Arduino
pinMode (sortie 9) ; INPUT2 du Motor1 défini sur 9 broches de l’Arduino
pinMode (sortie 10,) ; Entrée 1 de Motor2 définie sur 10 broches de l’Arduino
pinMode (sortie 11) ; INPUT2 du Motor2 défini sur 11 broches de l’Arduino
}
void loop() {}
Halt() ; Arrêter les deux moteurs. Cela donne le mouvement fluide en évitant de sauter du moteur lors du changement de rotation immédiatement
Mémoire ; Appel avant la fonction qui appelle les fonctions Forward1 et Forward2
Delay(3000) ; Délai de 3 secondes
Halt() ; Arrêter le Robot
Delay(250) ; Temporisation de 0,1 secondes avant de commencer n’importe quel moteur pour vérifier le mouvement souple (sans coup de pied)
Reverse() ; Appel de fonction inverse qui appelle les fonctions Reverse1 et Reverse2
Delay(3000) ; Délai de 3 secondes
}
mémoire de Sub {/ / Robot avancer c'est-à-dire les deux moteurs se déplace vers l’avant
Forward1() ; Motor1 se déplace vers l’avant
Delay(150) ; Délai de 0,15 secondes avant le début du second moteur éviter de charger les batteries
Forward2() ; Motor2 se déplace vers l’avant
}
void Reverse() {/ / Robot de se déplacer vers l’arrière, c'est-à-dire les deux moteurs se déplace inverse
Reverse1() ; Motor1 se déplace vers l’arrière
Delay(150) ; Délai de 0,15 secondes avant le début du second moteur éviter de charger les batteries
Reverse2() ; Motor2 se déplace vers l’arrière
}
void arreter() {/ / les deux moteurs Stop (pas Break qui est mouvement interrompu)
Halt1() ;
Halt2() ; Arrêter les deux moteurs. Cela donne le mouvement fluide en évitant de sauter du moteur lors du changement de rotation immédiatement
}
void Forward1() {/ / Motor1 se déplace vers l’avant (sens horaire)
digitalWrite (8, HIGH) ;
digitalWrite (9, faible) ;
}
void Forward2() {/ / Motor2 se déplace vers l’avant (sens horaire)
digitalWrite (10, haute) ;
digitalWrite (11, faible) ;
}
void Reverse1() {/ / Motor1 déplace inverse (sens Anti horaire)
digitalWrite (8, faible) ;
digitalWrite (9, HIGH) ;
}
void Reverse2() {/ / Motor2 déplace inverse (sens Anti horaire)
digitalWrite (10, faible) ;
digitalWrite (11, haute) ;
}
void Halt1() {/ / Motor1 arrêter (pas Break qui est mouvement interrompu)
digitalWrite (8, faible) ;
digitalWrite (9, faible) ;
}
void Halt2() {/ / Motor2 arrêter (pas Break qui est mouvement interrompu)
digitalWrite (10, faible) ;
digitalWrite (11, faible) ;
}
void Stop1() {/ / Motor1 Break c'est-à-dire brusque stopper
digitalWrite (8, faible) ;
digitalWrite (9, faible) ;
}
void Stop2() {/ / Motor2 Break c'est-à-dire brusque stopper
digitalWrite (10, faible) ;
digitalWrite (11, faible) ;
}