problème de variable

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".

Je vous remercie d'avance pour votre aide,
Julien

Capture.PNG

jguilbaud:
Le problème sur la programmation arduino viens a partir de la ligne algobox " lire s".

Qu'utilisez-vous comme interface homme-machine?

Je me servirai du moniteur série arduino sur lequel je raccorderai un pavé numérique et un écran lcd

Bonjour et bienvenue,

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.

Pour une méthode plus robuste, lis ceci:[]Gammon Forum : Electronics : Microprocessors : How to process incoming serial data without blocking]](Gammon Forum : Electronics : Microprocessors : How to process incoming serial data without blocking)

Donc il faut lire l'entrée Serial pour recevoir les consignes