ARDUINO UNO
OBJETS CONNECTES

Introduction

Il s'agit maintenant :

Expérimenter

Afficher du texte, des nombres

Le moniteur série permet d'afficher sur l'ordinateur du texte, des nombres envoyés par la carte. Tester ce programme :

unsigned int compteur = 0;   // unsigned signifie que l'entier est positif

void setup() {
  Serial.begin(115200);      // mise en route du port série
}

void loop() {
  Serial.print("Compteur : ");
  Serial.println(compteur);
  compteur++;
  delay(2000);
}

Ouvrir le menu Outils/Moniteur série, régler la vitesse de connexion (115200 bauds), pour obtenir :

Afficher la tension générée par un capteur

Câblage

Réaliser le montage ci-dessous. Le point de jonction entre la résistance et la photorésistance est relié à l'entrée analogique A0. Sa tension varie de 0 V à 5 V, selon la luminosité reçue par la photorésistance. Selon cette tension, la fonction analogRead(0) retourne un nombre compris entre 0 et 1023 :

Programme

Le programme basique ci-desssous permet de tester le fonctionnement.

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

void loop() {
  Serial.println(analogRead(A0));
  delay(1000);
}

Piloter la carte depuis le PC

Téléverser le programme ci-dessous.

void setup() {
  pinMode(13, OUTPUT);
  Serial.begin(115200);
}

void loop() {
  if (Serial.available()>0) {       // si des caractères sont envoyés
    char caractere = Serial.read(); // lecture d'un caractère
    if (caractere == 'a') {
      digitalWrite(13, HIGH);
    }
    if (caractere == 'e') {
      digitalWrite(13, LOW);
    }
    Serial.print(caractere);
  }
}

Ouvrir le menu Outils/Moniteur série, régler la vitesse de connexion (115200 bauds), pour obtenir :

Pour allumer ou éteindre la DEL présente sur la carte Arduino Uno, utiliser la première ligne du moniteur série, écrire les caractères a ou e. Valider en appuyant sur la touche Entrée du clavier ou en cliquant sur bouton Envoyer.

Programmer

Dé électronique

Réaliser un programme qui envoie à l'ordinateur un nombre aléatoire allant de 1 à 5 à chaque passage de la main au-dessus de la photorésistance. S'aider de la fonction random().

Eclairage automatique

Si la pièce est mal éclairée (main positionnée au-dessus de la photorésistance), le système :

Dans le cas contraire, si la pièce est convenablement éclairée, le système :

Pour aller plus loin

Il s'agit de remplacer le monieur série par un programme en Python.

Afficher du texte, des nombres

Code pour la carte Arduino

Le code à charger sur la carte Arduino UNO est le même que celui du paragraphe II.1.

Code en Python

Un exemple de code à faire tourner sur le PC est proposé ci-dessous. La ligne 2 est à adapter selon le nom de port série et la vitesse de transmission des données.

import serial
portUSB=serial.Serial('COM3', 115200)

while True:
  lu=portUSB.readline()[:-2] 
  print('Texte retourné par la carte Arduino UNO : ', lu.decode('utf-8'))

Explications :

Piloter la carte depuis le PC

Code pour la carte Arduino

Le code à charger sur la carte Arduino UNO est le même que celui du paragraphe II.3.

Code en Python

La ligne 2 du code ci-dessous est à adapter à votre cas.

import serial
portUSB=serial.Serial('COM3', 115200)

print ("Entrer a pour allumer la DEL, e pour l'éteindre, s pour stopper.")
while True:
  car = input("Saisir votre commande : ")
  if (car=='s'):
    portUSB.close()
    break
  portUSB.write(car.encode('utf-8'))