Étape 9: Collés ensemble et programmation de l’arduino
Raccorder les fils aux sheild moteur comme indiqué sur la figure. Maintenant, il y a qu’un seul câble libre, c’est pour la connexion avec les LEDs. Coller ensuite le le contrôleur de moteur et arduino sheild ensemble à l’aide de chaud colle pistolet. Dans la dernière image que j’ai montré que les fils de raccordement long connecté au bluetooth module est poussif sur la carte de module blutooth afin d’économiser de l’espace.
Dans l’étape suivante nous allons pour insérer les composants électroniques dans le tuyau de PVC, il faut programmer.
Je ' suis utilisant le FTDI parallèle au convertisseur série au programme l’arduino pro, si vous n’avez pas ce convertisseur. Passer par ce instructable pour programmer avec arduino uno.
Voici le programme, téléchargez-le et transférez-le sur arduino pro mini. N’hésitez pas à le modifier;)
Tube Bot
Constantes et variables
int motor1Pin1 = 5 ; broche 2 sur IC L293D
int motor1Pin2 = 6 ; Broche 7 sur IC L293D
int motor2Pin1 = 8 ; broche 10 sur IC L293D
int motor2Pin2 = 7 ; broche 15 sur IC L293D
char dataIn = s ' ;
déterminant de char ;
det de char ;
vel int = 0 ; Trucs de Bluetooth
whitelight int = 13 ;
redlight int = 10 ;
void setup() {}
Serial.Begin(9600) ; mettre en place une bibliothèque série à 9600 bps
définit les broches comme sorties :
pinMode (motor1Pin1, sortie) ;
pinMode (motor1Pin2, sortie) ;
pinMode (motor2Pin1, sortie) ;
pinMode (motor2Pin2, sortie) ;
pinMode (whitelight, sortie) ;
pinMode (redlight, sortie) ;
L’initialisation messages
Serial.println ("Arduin bot tuyau") ;
digitalWrite (whitelight, faible) ;
digitalWrite (redlight, faible) ;
}
void loop() {}
Det = check() ; Appelez subrotine check() pour obtenir le code de série
analyse du code série
commutateur (det) {}
case « F »: / / F, aller de l’avant
digitalWrite (motor1Pin1, HIGH) ;
digitalWrite (motor1Pin2, basse) ;
digitalWrite (motor2Pin1, basse) ;
digitalWrite (motor2Pin2, HIGH) ;
Det = check() ;
rupture ;
affaire « B »: / / B, revenir en arrière
digitalWrite (motor1Pin1, basse) ;
digitalWrite (motor1Pin2, HIGH) ;
digitalWrite (motor2Pin1, HIGH) ;
digitalWrite (motor2Pin2, basse) ;
Det = check() ;
rupture ;
case « L »: / / L, roues de déplacement gauche
digitalWrite (motor1Pin1, HIGH) ;
digitalWrite (motor1Pin2, basse) ;
digitalWrite (motor2Pin1, basse) ;
digitalWrite (motor2Pin2, basse) ;
Det = check() ;
rupture ;
case « R »: / / R, roues de déplacement à droite
digitalWrite (motor1Pin1, basse) ;
digitalWrite (motor1Pin2, basse) ;
digitalWrite (motor2Pin1, basse) ;
digitalWrite (motor2Pin2, HIGH) ;
Det = check() ;
rupture ;
de cas ': / / S, arrêt
digitalWrite (motor1Pin1, basse) ;
digitalWrite (motor1Pin2, basse) ;
digitalWrite (motor2Pin1, basse) ;
digitalWrite (motor2Pin2, basse) ;
Det = check() ;
rupture ;
affaire « U »: / / V, Red light sur
Serial.println ("Red LIght sur") ;
digitalWrite (redlight, HIGH) ;
rupture ;
cas « u »: / / v, le voyant rouge éteint
Serial.println ("Red Light Off") ;
digitalWrite (redlight, faible) ;
rupture ;
case « W »: / / W, feux avant sur
Serial.println ("lumière blanche sur") ;
digitalWrite (whitelight, HIGH) ;
rupture ;
case « w »: / / w, avant feux éteints
Serial.println ("lumière blanche Off") ;
digitalWrite (whitelight, faible) ;
rupture ;
}
}
obtenir un code port série bluetooth
int check() {}
Si (Serial.available() > 0) {/ / si il y a des données valides dans le port série
dataIn = Serial.read(); / / stocke les données dans une varialbe
vérifier le code
Si (dataIn == « F ») {//Forward
déterminant = « F » ;
}
ElseIf (dataIn == « B ») {//Backward
déterminant = « B » ;
}
ElseIf (dataIn == « L ») {//Left
déterminant = « L » ;
}
ElseIf (dataIn == « R ») {//Right
déterminant = « R » ;
}
ElseIf (dataIn == les de ') {//Stop
déterminant = s ' ;
}
ElseIf (dataIn == « U ») {//Red feux sur
déterminant = « U » ;
}
ElseIf (dataIn == « u ») {//Red Lights Off
déterminant = « u » ;
}
ElseIf (dataIn == « W ») {//White feux sur
déterminant = « W » ;
}
ElseIf (dataIn == « w ») {//White Lights Off
déterminant = « w » ;
}
retour déterminant ;
}
}
Arduino_pipe_bot.INO