Outils pour utilisateurs

Outils du site


start:raspberry:i2c

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
start:raspberry:i2c [2025/03/02 18:23] – [Programme en python sur RPI] adminstart:raspberry:i2c [2025/03/02 18:34] (Version actuelle) – [Installer le module smsbus python3] admin
Ligne 8: Ligne 8:
  
 faire :   faire :  
-    
    sudo pip list ( pour verifier l'installation )    sudo pip list ( pour verifier l'installation )
  
Ligne 16: Ligne 15:
 from smbus import SMBus from smbus import SMBus
    
-addr = 0x55 # bus address +addr = 0x55 # L'adresse du bus I2C sur l'ESP32 
-bus = SMBus(1) # indicates /dev/ic2-1+bus = SMBus(1) # indique le repertoire /dev/ic2-1
    
 numb = 1 numb = 1
Ligne 25: Ligne 24:
 while numb == 1: while numb == 1:
     ledstate = input(">>>>")     ledstate = input(">>>>")
-    if ledstate == "1": +    if ledstate == "1": # Allume la Led gpio 12 sur l'ESP32 
-        bus.write_byte(addr, 0x1) # switch it on  +        bus.write_byte(addr, 0x1) # Allume sur 1 
-    elif ledstate == "0": +    elif ledstate == "0": # Eteint  la Led gpio 12 sur l'ESP32 
-        bus.write_byte(addr, 0x0) # switch it off+        bus.write_byte(addr, 0x0) # Eteint sur 0
     else:     else:
         numb = 0         numb = 0
 </code> </code>
 +
 +
 +==== Programme  reception  I2C C-Arduino sur ESP32 ====
 +
 +<code c 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);
 +}
 +</code> 
/home/chanteri/www/fablab37110/data/attic/start/raspberry/i2c.1740936228.txt.gz · Dernière modification : 2025/03/02 18:23 de admin