Bonjour
mon projet est concevoir CNC 2 axe
j’utilise moniteur série arduino pour envoyer une commande en code G , par exemple G01 X100 Y200
mon problème est j'arrive pas a envoyer plusieurs commande en même temps
exp
G01 X100 Y100
G01 X00
G01 X200 Y50
G01 X50 Y60
G01 X30 Y40
G01 X00 Y00
G01 X200
G01 X150 Y300
G01 Y00
G01 Y30
ci dessous le code arduino pour mieux comprendre mon problème
float parseNumber(char code,float val) {
char *ptr=buffer; // commencer au début de la mémoire
while((long)ptr > 1 && (*ptr) && (long)ptr < (long)buffer+sofar) { // aller jusqu'au bout
if(*ptr==code) { // si vous trouvez un code sur votre chemin,
return atof(ptr+1); // convertir les chiffres qui suivent en un flotteur et le retourner
}
ptr=strchr(ptr,' ')+1; // faire un pas d'ici à la lettre après l'espace suivant
}
return val; // fin atteinte, rien trouvé, return default val.
}
void loop() {
while(Serial.available() > 0) { // si quelque chose est disponible
char c=Serial.read(); // obtenez-le
Serial.print(c); // répète-le pour que je sache que tu as eu le message.
if(sofar<MAX_BUF-1) buffer[sofar++]=c; // le stocker
if(c=='\n') {
// message complet reçu
buffer[sofar]=0; // terminer la buffer pour que les fonctions de chaîne fonctionnent correctement
Serial.print(F("\r\n")); // un caractère de retour pour l'homme
processCommand(); // faire quelque chose avec la commande
ready();