Il s'agit maintenant :
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 :
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 :
Le programme basique ci-desssous permet de tester le fonctionnement.
void setup() { Serial.begin(115200); } void loop() { Serial.println(analogRead(A0)); delay(1000); }
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
.
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().
Si la pièce est mal éclairée (main positionnée au-dessus de la photorésistance), le système :
La pièce est sombre.
Dans le cas contraire, si la pièce est convenablement éclairée, le système :
La pièce est éclairée.
Il s'agit de remplacer le monieur série par un programme en Python.
Le code à charger sur la carte Arduino UNO est le même que celui du paragraphe II.1.
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 :
portUSB.readline()lit une série d'octets dont le dernier, de valeur 10 en notation décimale, correspond à un saut de ligne.
...[:-2]retire les deux derniers octets, de valeurs 13 et 10 en notation décimale, correspondant à un retour chariot et un saut de ligne.
Le code à charger sur la carte Arduino UNO est le même que celui du paragraphe II.3.
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'))