Étape 3: Code d’Arduino
ldir int = 2 ; broche de gauche direction
int lpwm = 5 ; mâle de droite PWM
rdir int = 3 ; broche de gauche direction
int rpwm = 6 ; mâle de droite PWM
rs int = 255 ; vitesse principale droite
ls int = 255 ; vitesse principale gauche
rts int = 200 ; Vitesse de virage à droite
lts int = 200 ; Vitesse du clignotant gauche
#define f digitalWrite (ldir, HIGH) ; analogWrite (lpwm, ls) ; digitalWrite (rdir, HIGH) ; analogWrite (rpwm, rs) ; #define avant b digitalWrite (ldir, faible) ; analogWrite (lpwm, ls) ; digitalWrite (rdir, faible) ; analogWrite (rpwm, rs) ; vers l’arrière
#define l digitalWrite (ldir, faible) ; analogWrite (lpwm, lts) ; digitalWrite (rdir, HIGH) ; analogWrite (rpwm, rts) ; #define gauche r digitalWrite (ldir, HIGH) ; analogWrite (lpwm, lts) ; digitalWrite (rdir, faible) ; analogWrite (rpwm, rts) ; #define droite s analogWrite (lpwm, 0) ; analogWrite (rpwm, 0) ; arrêter
#define delay(50) d ;
État int ;
drapeau de l’int = 0 ; permet de s’assurer que le numéro de série s’imprime uniquement une fois l’État
void setup()
{
pinMode (ldir, sortie) ;
pinMode (lpwm, sortie) ;
pinMode (rdir, sortie) ;
pinMode (rpwm, sortie) ;
Serial.Begin(9600) ; initialiser une communication série 9600 bits par seconde
}
void loop()
{
Si une date est envoyée, le lit et enregistre dans l’État
if(Serial.available() > 0)
{
État = Serial.read() ;
drapeau = 0 ;
}
Si (État == « w » || état == « f »)
{
f; d ;
if(flag == 0)
{
Serial.println("Forward") ;
drapeau = 1 ;
}
}
Si (état == de ' || État == « b »)
{
b; d ;
if(flag == 0)
{
Serial.println("Reverse") ;
drapeau = 1 ;
}
}
Si (État == « a » || État == « r »)
{
l; d ;
if(flag == 0)
{
Serial.println("left") ;
drapeau = 1 ;
}
}
Si (État == a ' || État == « l »)
{
r; d ;
if(flag == 0)
{
Serial.println("Right") ;
drapeau = 1 ;
}
}
d’autre
{
s ;
if(flag == 0)
{
Serial.println("") ;
drapeau = 1 ;
}
}
}