Bonsoir chers fans d'Arduino,
Comme je suis un débutant avec Arduino, je demande votre aide.
Je veux utiliser mon Arduino Uno pour contrôler 4 LEDs indépendamment via Serial.Monitor.
Je veux donner à mon Arduino 2 tableaux pour qu'il puisse allumer mes LEDs.
Le tableau numéro 1 contient les numéros des LEDs que je veux allumer, par exemple [1 2 3 4].
et le deuxième tableau contient le temps pendant lequel chaque LED s'allume, par exemple [5 10 9 7].
Dans cet exemple, la LED 1 s'allumera pendant 5 secondes, la LED2-----10s, la LED3----9s-, la LED4----7s.
Ma Question : Comment je dois faire pour que mon Programme Code reçoit ces 2 Tableaux du Serial.monitor
en Gros Comment ajouter 2 tableaux via Serial.monitor a mon Programm Code.
Merci d avoir concerner du temps a lire mon problem
==> définissez comment vous allez rentrer l’information (en une ligne, en plusieurs, avec les crochets etc) et comment vous validez une commande.
une fois cela effectué, utilisez le tutos mentionnés ci dessus pour capturer la commande et ensuite l’analyser
en prenant le code du tuto, ceci serait une base de départ:
const byte tailleMessageMax = 50;
char message[tailleMessageMax + 1]; // +1 car on doit avoir un caractère de fin de chaîne en C, le '\0'
const char marqueurDeFin = '\n';
boolean commandeDisponible()
{
static byte indexMessage = 0; // static pour se souvenir de cette variable entre 2 appels consécutifs. initialisée qu'une seule fois.
boolean messageEnCours = true;
while (Serial.available() && messageEnCours) {
int c = Serial.read();
if (c != -1) {
switch (c) {
case marqueurDeFin:
message[indexMessage] = '\0'; // on termine la c-string
indexMessage = 0; // on se remet au début pour la prochaine fois
messageEnCours = false;
break;
case '\r': break; // ignoré
default:
if (indexMessage <= tailleMessageMax - 1) message[indexMessage++] = (char) c; // on stocke le caractère et on passe à la case suivante
break;
}
}
}
return !messageEnCours;
}
void setup() {
Serial.begin(115200);
}
void loop() {
if (commandeDisponible()) {
Serial.print(F("Commande à Analyser: "));
Serial.println(message);
}
}
ouvrez la console Série à 115200 bauds, sélectionnez “Nouvelle Ligne” ou “Les deux, NL et CR” comme marqueur de fin en bas de la fenêtre.
Tapez du texte dans la barre de saisie et validez
vous pouvez ensuite utiliser les fonction de stdlib.h et string.h pour analyser ce qui a été tapé et extraire les nombres