Arts numériques 1
Accueil du site / Modules / Arduino / arduino : communication par le port série

Pour communiquer avec un ordinateur, vers processing, max/msp ou flash, ou un autre arduino, le port série est utilisé. En fait il passe par le por usb, il est donc émulé. Mais peu importe, l’important c’est que ça marche.

Arduino vers le monde extérieur

On peut envoyer une information de arduino facilement. Dans le setup, on déclarera :

void setup(){
Serial.begin(9600);
}

void loop(){
Serial.print("Voic une info sans retour a la ligne - ");
Serial.println("Voic une info AVEC retour a la ligne");
delay(1000);
}

Ceci établit une connection au port série à 9600 bauds

Ensuite, on emploie les deux fonctions de base, Serial.print() et Serial.println

Le port série est très utile pour débugguer nos code : tester un vairaible en temps réel, voir quand un événement est perçu par un capteur, etc.

Du monde extérieur vers arduino

Arduino peut lire l’information provenant du port série. Mais rappelez-vous que arduino est beaucoup plus rapide que l’information qui lui arrive. Il faut donc écrire un code qui attend l’info, la lit quand elle arrive et la traite.

int ledPin = 9;

void setup()
{
 // begin the serial communication
 Serial.begin(9600);
 pinMode(ledPin, OUTPUT);

}

void loop()
{
 byte val;

 // regarde si quelque chose se trouve dans le buffer
 if (Serial.available()) {
   // lit le premier byte dans la pile (valeur entre 0 to 255)
   val = Serial.read();
   // set the brightness of the LED
   analogWrite(ledPin, val); // par exemple
 }
}

Le code ci-dessus dimme la led sur la pin 9, en power modulator. On peut aussi imaginer un traitement sur un caractere, parfois plus facile :

int ledPin = 9;

void setup()
{
 // begin the serial communication
 Serial.begin(9600);
 pinMode(ledPin, OUTPUT);
}

if (Serial.available() > 0) {

  char valeur = Serial.read();

  switch(valeur) {
  case 'a':
    analogWrite(ledPin, 30);

  case 'c':
    analogWrite(ledPin, 120);

  case 'd':
    analogWrite(ledPin, 230);
  }
}

Lorsque l’on veut coder l’information sur plusieurs bytes, il faudra plus d’astuce.

Répondre à cet article

Forum

  • arduino : communication par le port série

    20 janvier 2012, par Lewis

    Cet article est intéressant et je vais d’ailleurs le faire suivre à une amie qui semble être du même avis que vous et je suis certaine qu’elle m’en sera reconnaissante. Félicitations pour ce post et le temps pour partager ces idées. Je serais reconnaissante de pouvoir lire vos articles à ce propos dans les prochains mois. Ca m’est vraiment très agréable ! Merci encore

    Lettre résiliation mutuelle cmu


    La lettre résiliation mutuelle tranquilité santé

    Résiliation : lettre de résiliation mutuelle : lettre résiliation mutuelle avant date anniversaire - lettre résiliation mutuelle complémentaire santé - lettre résiliation mutuelle mariage - lettre résiliation mutuelle pour adhésion obligatoire

  • arduino : communication par le port série

    7 février 2012, par Albertine

    Tout d’abord bravo pour ces remarques à la fois éclairantes et posées. Toutefois certains points auraient supporté davantage de développement notamment dans la conclusion. Simplement une façon de dire que je suis empressé de découvrir la suite

    pneu pas cher rechapé


    ABC pneu pas cher voiture


    Commander un univ pneu avec du pneu pas cher dans le 77. pneu pas cher calvados - pneu pas cher reunion - pneu pas cher luxembourg