start:raspberry:i2c
−Table des matières
I2C raspberry <--> ESP32
Installer le module smsbus python3
sudo apt-get install python3-smbus
faire :
sudo pip list ( pour verifier l'installation )
Programme en python sur RPI
- exemple010.py
from smbus import SMBus addr = 0x55 # L'adresse du bus I2C sur l'ESP32 bus = SMBus(1) # indique le repertoire /dev/ic2-1 numb = 1 print ("taper 1 pour ON ou 0 pour OFF") while numb == 1: ledstate = input(">>>>") if ledstate == "1": # Allume la Led gpio 12 sur l'ESP32 bus.write_byte(addr, 0x1) # Allume sur 1 elif ledstate == "0": # Eteint la Led gpio 12 sur l'ESP32 bus.write_byte(addr, 0x0) # Eteint sur 0 else: numb = 0
Programme reception I2C C-Arduino sur ESP32
- exemple012.ino
/*Arduino Slave for Raspberry Pi Master i2c_slave_ard.ino Connects to Raspberry Pi via I2C DroneBot Workshop 2019 https://dronebotworkshop.com */ // Include the Wire library for I2C #include <Wire.h> // LED on pin 12 const int ledPin = 12; void setup() { // Configure l'adresse I2C de l'ESP32 SLAVE Wire.begin(0x55); // Recoit les données du bus I2C Wire.onReceive(receiveEvent); // Active la LED 13 sur GPIO 12 et l 'eteint pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); } void receiveEvent(int howMany) { while (Wire.available()) { // boucle tant que l on recoit des caractéres sur le bus I2C char c = Wire.read(); // recoit les caracteres envoyés sur le bus digitalWrite(ledPin, c);// Allume ou eteint la LED 12 } } void loop() { delay(100); }
/home/chanteri/www/fablab37110/data/pages/start/raspberry/i2c.txt · Dernière modification : 2025/03/02 18:34 de admin