Go Down

Topic: RS232 Arduino <-> Arduino (Read 815 times) previous topic - next topic

copernicooo

Bonsoir,
Un petit coup de main concernant une communication RS232 en 2 arduino s'il vous plait? :-(

Aprs pas mal de recherche et d'essais je n'arrive toujours a rien. Pourtant cela semble ultra simple...
Bon, ok je suis pas un monstre sur Arduino mais quand même, j'ai toujours pu faire ce que je voulais, mais là, je sèche...

Merci beaucoup a celui qui pourra m'éclairer...

Donc pour faire simple, je souhaite simplement communiquer en 2 Arduino en RS232

Donc j'ai 2 arduino connectés comme suit:
emetteur <--> recepteur
rx <--> tx
tx <--> rx
gnd <--> gnd

voici les codes:

emetteur:

#define bouton 8
void setup() {
  pinMode (bouton, INPUT);
  Serial.begin (9600); 
}
void loop() {
  if (digitalRead (bouton) == HIGH) {
    Serial.print ("ON");
  }
  else {
    Serial.print ("OFF");
  } 
}


recepteur:

#define led 13
void setup() {
  pinMode (led, OUTPUT);
  Serial.begin (9600);
}
void loop() {
  char Buffer[10];
  if (Serial.available()) {
    for (int i=0 ; i<=9 ; i++) {
     Buffer = '\0';
    }
    int x = 0;
    while (Serial.available()) {
      Buffer
  • = Serial.read();
          x++;
        }
        if(Buffer == "ON") {
          digitalWrite (led, HIGH);
        }
        if (Buffer == "OFF") {
          digitalWrite (led, LOW);
        }
      }
    }[/i]

    Rien de bien sorcier pourtant, je n'ai aucun résultat...
    Quelqu'un peut-il m'aider?
    D'avance merci  :)

B@tto

Simplement parce que tu ne peux pas "simple ment" comparer deux chaines de caractère comme ça. Deux solutions :
- utiliser la classe String (mais Skywodd va gueuler :p)
- utiliser strcmp() exemple ici : http://arduino.cc/forum/index.php/topic,40823.0.html
Blog électronique : http://battomicro.wordpress.com/
Photographie : www.interactive-celebration.fr

skywodd

Bonjour,


- utiliser la classe String (mais Skywodd va gueuler :p)

Attend je m'éclaircit la voix *rrrmrrrrrm* voila c'est bon je suis prés à gueuler :smiley-mr-green:

Avant :
Code: [Select]
if(Buffer == "ON")

Aprés :
Code: [Select]
if(strcmp(Buffer, "ON") == 0)

Facile non ?
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Go Up
 

Quick Reply

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Note: this post will not display until it's been approved by a moderator.
Name:
Email:

shortcuts: alt+s submit/post or alt+p preview