Go Down

Topic: Questions (Read 127 times) previous topic - next topic

tizio_faret

Salut
Je souhaite créer un terminal sur mon pc qui puisse me permettre d'échanger directement avec ma carte arduino uno sans effectuer un téléversement. C'est possible ?

Je débute désolé si ma question parait stupide

Merci d'avance

Pas la peine de le créer, il existe déjà. Cela s'appelle la console série. C'est accessible par Serial. Par exemple:
Code: [Select]

if (Serial.available()) // Si un octet arrive dans la carte
  Serial.println(Serial.read()); alors on le lit par read et on l'affiche par print

tizio_faret

Merci beaucoup !
J'ai une autre question, qui n'a aucun rapport :
Existe-t-il une instruction "attendre jusqu'à" ?
J'aimerais que mon programme ne fasse rien tant qu'une variable n'a pas pris une certaine valeur. J'ai bien tenté de faire ça :
Code: [Select]
     while (interrupteur == !LOW){
        delay(1);
      }

 Mais sans succès (j'ignore pourquoi d'ailleurs, ça aurait dû marcher).
Merci d'avance :)

lesept

Essaye

Code: [Select]
while (interrupteur != LOW);

C'est la bonne syntaxe, mais il est possible que l'erreur vienne d'autre chose, par exemple de ta variable interrupteur ou de la manière dont cet interrupteur est branché.
Pose ce genre de question dans la section principale du forum français, elle aura plus de visibilité 
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

kamill

Bonjour,

Comment est modifiée ta variable interrupteur ?
Comme elle n'est pas modifiée dans ta boucle, elle doit être modifiée en interruption. Est ce le cas?

Est ce que tu n'as pas voulu faire
Code: [Select]
     while (digitalRead(interrupteur) == !LOW){
        delay(1);
      }

tizio_faret

#5
Oct 18, 2020, 10:41 pm Last Edit: Oct 18, 2020, 10:57 pm by tizio_faret
Wow merci pour vos réponses.
Alors j'ai essayé avec les syntaxes que vous m'avez proposées. Mais ça n'a pas fonctionné.

J'ai recrée le circuit électronique et le code sur Tinkercad ici. Comme tu me l'a conseillé j'ai crée le topic sur le forum principal à cette adresse donc si vous pouvez répondre là bas c'est mieux.
Ah oui aussi. Ce que je veux faire avec mon circuit c'est qu'à chaque fois que j'appuie sur le bouton pressoir, le nombre affiché sur l'écran augmente. Le problème que j'ai c'est qu'il suffit d'appuyer longtemps sur le bouton pour que le nombre augmente. D'où ma question, je voulais que le programme s'arrête et attende que l'interrupteur prenne la valeur "LOW".
Pour l'instant ça marche pas, j'attends vos idées :)

Go Up