voila je suis en STI2D et on doit faire un projet , en l'occurrence ici c'est piloter une voiture télécommandé mais j'arrive pas trop a comprendre la configuration pour les modules Xbee et pour la carte de puissance (MD22) je comprend pas comment on lui dit de faire tourner le moteur dans un sens ou dans l'autre donc voila mes deux programmes:
programmes de la télécommande:
int valeur_vertical = 2.5; //joystick
int valeurcible = 2.5; //joystick
int action_moteur = 0; //joystick
void setup()
{
Serial.begin(9600);
}
// Xbee configuration
void setDestination()
{
delay(1000);
Serial.print("+++");
delay(1000);
char thisByte = 0;
while (thisByte != '\r') { // attend la reponse de l'xbee
if (Serial.available() > 0)
{
thisByte = Serial.read();
}
}
Serial.print("ATRE\r");// met les paramétres par defaut
Serial.print("ATDL 0x0000\r"); // communique avec xbee 0
Serial.print("ATMY 0x0001\r"); // ici c'est l' xbee 1
Serial.print("ATID 0x1234\r"); // adresse du réseau 1234
Serial.print("ATCH 0x0C\r"); //lit le canal utilisé
Serial.print("ATIU 0x1\r"); //autorise les I/O
Serial.print("ATCN\r"); // sort du mode configuration
//mettre le mode peer to peer CE=0 A1=1 A2=0
}
void loop()
{
//Utilisation Joystick
int valeur_vertical = analogRead(2);
if (valeurcible < valeur_vertical)
{
action_moteur = 1; //moteur avance
}
if (valeurcible > valeur_vertical)
{
action_moteur = 0; // moteur recule
}
if (valeurcible = valeur_vertical)
{
action_moteur = -1; //moteur stop
}
}
et voila le programme pour le modèle réduit:
int action_moteur = 0;
void setup()
{
Serial.begin(9600) ;
}
// Xbee configuration
void setDestination() {
Serial.print("+++");
char thisByte = 0;
while (thisByte != '\r') { // wait for xbee response
if (Serial.available() > 0) {
thisByte = Serial.read();
}
}
Serial.print("ATRE\r");// met les paramétres par defaut
Serial.print("ATDL 0x0001\r"); // communique avec xbee 1
Serial.print("ATMY 0x0000\r"); // ici c'est l' xbee 0
Serial.print("ATID 0x1234\r"); // adresse du réseau 1234
Serial.print("ATCH 0x0C\r"); //lit le canal utilisé
Serial.print("ATIU 0x1\r"); //autorise les I/O
Serial.print("ATCN\r"); // sort du mode configuration
//mettre le mode peer to peer CE=0 A1=1 A2=0
}
void loop()
{
//informations télécommande
if (action_moteur = 1)
{
//mettre la commande pour que le moteur avance (voir avec le md22)
}
if (action_moteur = 0)
{
//mettre la commande pour que le moteur recule (voir avec le md22)
}
if (action_moteur = -1)
{
//mettre la commande pour que le moteur stop (voir avec le md22)
}
}
j'ai aussi un programme pour le MD22 mais je les pas trop compris