Communication
Il est possible de communiquer avec l'Arduino via le câble USB.
Pour cela, nous devons le lui indiquer avec l'instruction Serial.begin(9600).
Ce qui signifie que l'on établie une communication série à la vitesse de 9600 bits par seconde.
void setup(){
// Ouverture de la communication série
Serial.begin(9600);
Serial.print("Bonjour");
}
void loop(){
// programme appelé en boucle
}
Serial est ce que l'on appelle un objet. C'est une entité à laquelle on pourra demander de faire différentes actions (méthodes).
Serial.begin(9600); // ouvrir une communication
Serial.print("Bonjour"); // retourner un texte
Serial.println("Bonjour"); // retourner un texte et un passage à la ligne
Serial.available(); // indique le nombre de caractères reçu par arduino
Serial.read(); // Chaque appel de read récupère un caractère envoyé
Le texte retourné par la communication s'affiche dans le moniteur série de nos éditeurs.
Sur tinkercad vous devez cliquer sur Moniteur série dans la fenêtre de code.
Définition : print, println
int i = 0;
void setup(){
// Ouverture de la communication série
Serial.begin(9600);
Serial.println("Bonjour");
}
void loop(){
// programme appelé en boucle
i = i + 1; // i augment de 1 à chaque tour de boucle;
Serial.print("compteur : ");
Serial.println(i); // affiche i et passe à la ligne
delay(1000); // attend 1 seconde
}
Définition : available, read, parseInt
Sur Tinkercad vous pouvez envoyer des données via la zone de saisie en bas du moniteur série.
Tapez votre texte et cliquez sur Envoyer.
void setup(){
// Ouverture de la communication série
Serial.begin(9600);
Serial.println("Bonjour");
}
void loop(){
// programme appelé en boucle
if (Serial.available() > 0) { // il y a au moins un caractère en attente
char car = Serial.read(); // on récupére un caractère. Au prochain tour le suivant
Serial.print("Caractère : ");
Serial.println(car); // retourne le caratère au moniteur
}
}
Pour récupérer des nombres : Serial.parseInt()
void setup(){
// Ouverture de la communication série
Serial.begin(9600);
Serial.println("Bonjour");
}
void loop(){
// programme appelé en boucle
if (Serial.available() > 0) { // il y a au moins un caractère en attente
int nombre = Serial.parseInt(); // on récupére un nombre
Serial.print("Nombre : ");
Serial.println(nombre); // retourne le caratère au moniteur
}
}
Pour récupérer un nombre à virgule : Serial.parseFloat()
void setup(){
// Ouverture de la communication série
Serial.begin(9600);
Serial.println("Bonjour");
}
void loop(){
// programme appelé en boucle
if (Serial.available() > 0) { // il y a au moins un caractère en attente
float nombre = Serial.parseFloat(); // on récupére un nombre flotant
Serial.print("Nombre : ");
Serial.println(nombre); // retourne le caratère au moniteur
}
}