Arduino est une plateforme de prototypage électronique open-source basée sur du matériel et des logiciels flexibles et faciles à utiliser. Il est largement utilisé par les amateurs, les étudiants et les professionnels pour créer des projets interactifs et des prototypes dans divers domaines tels que l’automatisation domestique, la robotique, l’IoT (Internet des objets), et bien d’autres.
Dans ce tutoriel, nous allons explorer comment utiliser Arduino avec Python, un langage de programmation populaire, pour créer des projets interactifs et contrôler des périphériques électroniques.
Avant de commencer, assurez-vous d’avoir les éléments suivants :
La bibliothèque pySerial permet à Python de communiquer avec des périphériques série comme l’Arduino. Vous pouvez l’installer en utilisant pip, le gestionnaire de paquets de Python, avec la commande suivante dans votre terminal ou votre invite de commande :
pip install pyserial
Pour permettre à l’Arduino de communiquer avec Python, vous devez téléverser un programme sur votre carte Arduino. Voici un exemple de programme simple :
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
char data = Serial.read();
Serial.println(data);
}
}
Ce programme lit les données envoyées par Python sur le port série et les renvoie.
Maintenant, vous pouvez écrire un script Python pour envoyer des données à l’Arduino et lire les réponses. Voici un exemple de script Python :
import serial
import time
# Définir le port série (changez-le selon votre configuration)
port = '/dev/ttyUSB0'
# Initialiser la communication série avec Arduino
arduino = serial.Serial(port, 9600, timeout=1)
time.sleep(2) # Attendez que la connexion soit établie
# Envoyer des données à l'Arduino
arduino.write(b'Hello from Python!')
# Lire la réponse de l'Arduino
response = arduino.readline().decode('utf-8')
print("Réponse de l'Arduino :", response)
# Fermer la connexion
arduino.close()
Assurez-vous de modifier le port série en fonction de votre système d’exploitation (par exemple, /dev/ttyUSB0
sous Linux, COM3
sous Windows, etc.).
Enfin, exécutez le script Python. Assurez-vous que votre carte Arduino est connectée à votre ordinateur via le câble USB. Vous devriez voir la réponse de l’Arduino imprimée dans votre terminal ou votre invite de commande.
Voici quelques exemples supplémentaires pour étendre vos projets Arduino Python :
Voici quelques exemples de manipulation et de prise en main de l’Arduino avec Python, accompagnés de leur code correspondant :
Dans cet exemple, nous allons contrôler une LED connectée à un pin de l’Arduino en utilisant Python.
int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
char command = Serial.read();
if (command == '1') {
digitalWrite(ledPin, HIGH);
Serial.println("LED allumée");
} else if (command == '0') {
digitalWrite(ledPin, LOW);
Serial.println("LED éteinte");
}
}
}
import serial
import time
# Définir le port série
port = '/dev/ttyUSB0'
# Initialiser la communication série avec Arduino
arduino = serial.Serial(port, 9600, timeout=1)
time.sleep(2)
# Allumer la LED
arduino.write(b'1')
time.sleep(1)
# Éteindre la LED
arduino.write(b'0')
time.sleep(1)
# Fermer la connexion
arduino.close()
Dans cet exemple, nous allons lire les données d’un capteur analogique (par exemple, un potentiomètre) connecté à l’Arduino et les afficher en utilisant Python.
int sensorPin = A0;
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(sensorPin);
Serial.println(sensorValue);
delay(1000);
}
import serial
import time
# Définir le port série
port = '/dev/ttyUSB0'
# Initialiser la communication série avec Arduino
arduino = serial.Serial(port, 9600, timeout=1)
time.sleep(2)
# Lire et afficher les données du capteur 5 fois
for _ in range(5):
data = arduino.readline().strip().decode('utf-8')
print("Valeur du capteur :", data)
time.sleep(1)
# Fermer la connexion
arduino.close()
Ces exemples devraient vous donner un bon point de départ pour manipuler Arduino avec Python.
Voici quelques cas particuliers d’utilisation d’Arduino avec Python :
Les servomoteurs sont des actionneurs largement utilisés dans les projets d’automatisation, de robotique et de modélisme. Ils sont idéaux pour contrôler des mécanismes comme des bras robotiques, des portes automatiques, etc.
#include <Servo.h>
Servo myServo;
void setup() {
myServo.attach(9);
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
int angle = Serial.parseInt();
myServo.write(angle);
}
}
import serial
import time
# Définir le port série
port = '/dev/ttyUSB0'
# Initialiser la communication série avec Arduino
arduino = serial.Serial(port, 9600, timeout=1)
time.sleep(2)
# Contrôler le servomoteur
for angle in range(0, 180, 10):
arduino.write(str(angle).encode())
time.sleep(1)
# Fermer la connexion
arduino.close()
Dans ce cas particulier, nous allons utiliser un capteur de mouvement connecté à l’Arduino pour détecter les mouvements, puis envoyer une alerte à un ordinateur distant via Python.
int motionSensorPin = 2;
void setup() {
pinMode(motionSensorPin, INPUT);
Serial.begin(9600);
}
void loop() {
int motionDetected = digitalRead(motionSensorPin);
if (motionDetected == HIGH) {
Serial.println("Mouvement détecté !");
delay(1000); // Délai pour éviter les alertes répétées
}
}
import serial
import time
# Définir le port série
port = '/dev/ttyUSB0'
# Initialiser la communication série avec Arduino
arduino = serial.Serial(port, 9600, timeout=1)
time.sleep(2)
# Surveillance de mouvement
while True:
data = arduino.readline().strip().decode('utf-8')
if data == "Mouvement détecté !":
print("Alerte: Mouvement détecté !")
time.sleep(1)
# Fermer la connexion
arduino.close()
Ces cas particuliers illustrent la flexibilité d’Arduino combinée avec la puissance de Python pour créer des applications variées et utiles. Vous pouvez les personnaliser davantage pour répondre à des besoins spécifiques dans vos projets.
Dans ce tutoriel, nous avons exploré comment utiliser Arduino avec Python pour créer des projets interactifs. En combinant la flexibilité d’Arduino pour contrôler des périphériques électroniques avec la puissance de Python pour le traitement des données, vous pouvez créer une grande variété de projets intéressants. Amusez-vous à explorer et à expérimenter avec cette combinaison puissante de technologies !
Excel offre plusieurs méthodes pour calculer une moyenne tout en tenant compte des filtres ou…
Excel propose plusieurs fonctions pour insérer ou manipuler la date actuelle. Voici les principales méthodes…
Lorsque des nombres sont stockés sous forme de texte dans Excel, ils ne peuvent pas…
Extraire uniquement les chiffres d'une cellule contenant du texte et des nombres mélangés est une…
Pour supprimer plusieurs caractères spécifiques (par exemple, des symboles, chiffres ou lettres indésirables) dans des…
Excel permet de calculer différents types d'écarts selon le contexte, que ce soit pour des…
This website uses cookies.