Pages: [1]   Go Down
Author Topic: Problème de code pour communication avec pc  (Read 589 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 26
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour !

Je débute avec le langage allumé et je souhaiterais, en tapant des ordre (définie préalablement) dans la console arduino pouvoir donner des ordre à ma carte... (exemple allumer ou éteindre une led par exemple x))

Du coup voilà ce que j'ai fait :
(Je suis conscient que beaucoup de chose vont s'en doute vous paraitre abérante, mais je suis là pour apprendre smiley-wink)

Code:
 char runkey = run;
  char stopkey = stop;
  
  void setup()  
    {  
    Serial.begin(9600);  
    }  
  
  void loop()  
    {  
    while (Serial.available())  
      {  
        char key = Serial.read();  
        if (key == runkey)
        {
          Serial.print("La lampe s'allume");
        }
        else if (key == runkey)
        {
          Serial.print("La lampe s'eteint");
        {
        else
        {
          Serial.print("commande ");  
          Serial.print(key);  
          Serial.println(" non reconnue.");  
        }
      }  

Si quelqu'un peut me donner des pistes pour que ce programme fonctionne, ça serait super smiley
Merci d'avance
Logged

France - Pays de la Loire
Offline Offline
Full Member
***
Karma: 0
Posts: 176
Bidouilleur du dimanche ... et des autres jours de la semaine ...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

C'est pas là qu'il y a un schmol :
if (key == runkey)
        {
          Serial.print("La lampe s'allume");
        }
        else if (key == runkey)
A+
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 26
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ah oui en effet, je me suis tromper de variable pour le else if...
Mais ça ne règle pas mon problème... :/

Voici l'erreur :

error: 'run' was not declared in this scope In function 'void loop()':
Logged

France
Offline Offline
Faraday Member
**
Karma: 23
Posts: 3025
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
error: 'run' was not declared in this scope In function 'void loop()':
Code:
 char runkey = run;
  char stopkey = stop;
Le compilateur te dis que run n'est pas défini.
Et tu dois avoir la même erreur avec la ligne suivante
Tu as créé 2 variables de type char, il faut donc leur donner des valeurs du même type. Donc soit un nombre entre 0 et 255, soit un caractère.
« Last Edit: March 20, 2010, 06:38:02 pm by fdufnews » Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 17
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut

char c'est pas un seul caractere ex: char debut="D"
et non un mot , la c'est un String (mais dans d'autres Langage)

A+ :smiley
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 26
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci a vous 2, j'ai un peux avancer x) :
Code:
 char runkey = 1;
  char stopkey = 2;
  
  void setup()  
    {  
    Serial.begin(9600);  
    }  
  
  void loop()  
    {  
    while (Serial.available())  
      {  
        char key = Serial.read();  
        if (key == runkey)
        {
          Serial.print("La lampe s'allume");
        }
        else if (key == stopkey)
        {
          Serial.print("La lampe s'eteint");
        }
        else
        {
          Serial.print("commande ");  
          Serial.print(key);  
          Serial.println(" non reconnue.");  
        }
      }  
    }  

En effet maintenant le transfert veux bien s'effectuer à la carte =D
Seulement quand j'ouvre la console ça me dit toujours : Commande (celle que j'ai tappé) non reconnue. Et ceux, même si je tape 1 ou 2 o0... (pour info, j'ai essayer aussi de déclarer mes variable en int mais ça ne change rien...)

Pourriez vous aussi me donner le type de variable acceptant les mots entier en langage arduino ?
Logged

France
Offline Offline
Faraday Member
**
Karma: 23
Posts: 3025
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nous on veut bien t'aider, mais au vu de tes questions il te manque quelques bases. Il y a un minimum d'effort à faire pour comprendre le langage de programmation alors pour commencer, il y a plusieurs pistes:
    1) la référence arduino http://arduino.cc/en/Reference/HomePage
    2) la traduction de la référence arduino http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Reference
    3) la lecture de code existant et une fois que l'on a compris l'adaptation à son besoin. Pour le code existant il y a le site arduino http://arduino.cc/en/Tutorial/HomePage ou les exemples de code qui sont installés avec l'environnement de développement.
   4) les guides pour débuter comme celui-là par exemple http://earthshinedesign.co.uk/ASKManual/Site/ASKManual.html
   5) puis il ne faut pas oublier la fonction recherche sur le forum parce que allumer une led avec des commandes par la console on l'a déjà traité au moins 10 fois.
Logged

Pages: [1]   Go Up
Jump to: