Bonjour,
je suis actuellement en terminal ssi, et j'ai un projet a réaliser qui est un doseur de silicone commandé par arduino. Cependant je ne trouve pas comment faire en sorte que arduino demande la valeur d'une variable a chaque fois que le programme se lance. J'ai effectuer un algorithme algobox pour mieux vous expliquer. Les variables donnés dans l'algorithme sont :
s : la quantité de silicone que l'on veut a la fin du dosage par la pompes
n : le nombre de tour que le moteur devra faire pour obtenir la quantité s
x : la quantité de silicone obtenue pour un tour de moteur
Le problème sur la programmation arduino viens a partir de la ligne algobox " lire s".
Donc ce que tu veux faire, c'est entrer un nombre dans le moniteur série, pour définir la valeur de la variable s ?
Tu peux faire un truc comme cela:
const size_t INPUT_SIZE = 20;
void loop()
{
if ( Serial.available() > 0 )
{
static char input[ INPUT_SIZE ];
static uint8_t i;
char c = Serial.read();
if ( c != '\n' && i < INPUT_SIZE - 1 )
input[ i++ ] = c;
else
{
input[ i ] = '\0';
i = 0;
int s;
if ( sscanf( input, "s=%d", &s ) == 1 )
{
Serial.print( "S = " );
Serial.println( s );
}
else
{
Serial.println( "Commande invalide." );
}
}
}
}
Ouvre le moniteur série, vérifie que le paramètre Fin de ligne (près du paramètre Bauds) est "Nouvelle ligne", puis envoie par exemple "s=1234" à l'arduino.