Connecter une carte Arduino à un Raspberry Pi
Matériel requis:
-
- Un Raspberry Pi.
- Un Arduino.
- Un câble USB de type B.
- Un kit de câbles / breadboard (facultatif).
- Des LEDs (facultatif).
- Des résistances (facultatif).
Voici un tutoriel pour connecter une carte Arduino à un Raspberry Pi via une communication série (port USB) :
Communication unidirectionnelle de l’Arduino vers le Raspberry Pi:
Côté Arduino, nous allons simplement lui demander d’écrire sur la sortie série (Serial) le message que nous souhaitons transmettre. Voici un exemple de code qui envoie un message toutes les deux secondes:
nt i = 0;
void setup() {
Serial.begin(9600);
Serial.println("Un message sera envoyé toutes les deux secondes !");
}
void loop() {
Serial.println("Message #" + String(i));
delay(2000);
i++;
}
Côté Raspberry Pi, nous allons écrire un programme en Python qui utilise la fonction serial.Serial. Pour cela, nous devons connaître le port utilisé par l’Arduino sur le Raspberry Pi. Vous pouvez trouver le port en entrant la commande Linux suivante :
ls /dev/tty*
Branchez ensuite l’Arduino au port USB et réexécutez la commande. Un nouvel élément devrait apparaître dans la liste, portant le nom de votre Arduino (par exemple, /dev/ttyACM0). Voici un exemple de programme Python pour communiquer avec l’Arduino :
import serial
# Ouverture du port série
ser = serial.Serial('/dev/ttyACM0', 9600)
while True:
data = ser.readline().decode().strip()
print(f"Reçu depuis l'Arduino : {data}")
Communication bidirectionnelle:
Pour une communication bidirectionnelle, vous pouvez combiner les deux méthodes précédentes. Ainsi, vous pourrez à la fois envoyer et recevoir des données entre l’Arduino et le Raspberry Pi.
Amusez-vous bien à connecter ces deux plateformes !