Du nouveau : Demande d'aide pour ce code (Voiture téléguidée) - #3 by system - Français - Arduino Forum
Bien le bonjour a vous tous,
Je suis sur un projet qui consiste a faire une voiture téléguider mais j'ais des problème au niveau de mes variable char :s
Voici mon code actuelle
/* Voiture Téléguider 0.0.1 */
/* Fonction :
Servo Moteur : direction 1x PIN PWM(PIN 5)
Moteur : Avancer/reculer 2x PIN(PIN 7 & 8) + 1x PIN PWM(PIN 6)
Réception 433 Mhz : 1x PIN(PIN 11) */
/*-----------------------------------------------------------------------------------------*/
#include <VirtualWire.h>//433Mhz
#include <Servo.h>
uint8_t buf[VW_MAX_MESSAGE_LEN]; // Tableau qui va contenir le message recu (de taille maximum VW_MAX_MESSAGE_LEN)
uint8_t buflen = VW_MAX_MESSAGE_LEN; // Taille maximum de notre tableau
int rx_pin = 11;
int av_pin = 7;
int ar_pin = 8;
int servoMot;
int motor;
boolean marche;
char commande = "";
char message;
Servo myServo;
void setup()
{
//Init 433Mhz Reception
extern void vw_set_rx_pin(uint8_t rx_pin);
vw_setup(2000);
vw_rx_start();
//Init servo
myServo.attach(5);
//Init Pin
pinMode(av_pin, OUTPUT);
pinMode(ar_pin, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
}
void loop()
{
message = receiver();
//Réception des commande
if(message == "avance")
commande = "avance";
else if(message == "recule")
commande = "recule";
else if(massage == "turn")
commande = "turn";
else
{
int val = parseInt(message);
if(val >= 0 && val <= 255)
{
if(commande == "turn")
myServo.write(val);
else if(commande == "avance")
{
digitalWrite(av_pin, HIGH);
digitalWrite(ar_pin, LOW);
analogWrite(6, val);
}
else if(commande == "recule")
{
digitalWrite(av_pin, LOW);
digitalWrite(ar_pin, HIGH);
analogWrite(6, val);
}
else
{
myServo.write(0);
digitalWrite(av_pin, LOW);
digitalWrite(ar_pin, LOW);
analogWrite(6, 0);
}
}
}
}
char receiver()
{
char message = "";
if (vw_wait_rx_max(200)) // Si un message est recu dans les 200ms qui viennent
{
if (vw_get_message(buf, &buflen)) // On copie le message, qu'il soit corrompu ou non
{
for (byte i = 0; i < buflen; i++)
{
if(buf[i] != "")
message += buf[i];
}
return message;
}
}
}
Merci d’avance