from machine import Pin, SPI
import time
# Initialisation SPI (VSPI)
spi = SPI(
2, # SPI2 = VSPI sur ESP32
baudrate=1_000_000,
polarity=0,
phase=0,
bits=8,
firstbit=SPI.MSB,
sck=Pin(18),
mosi=Pin(23),
miso=Pin(19)
)
# Chip Selects
cs1 = Pin(5, Pin.OUT, value=1) # CS capteur 1
cs2 = Pin(17, Pin.OUT, value=1) # CS capteur 2
def read_sensor(cs, command, response_len):
"""
Lecture générique d’un capteur SPI
"""
cs.value(0) # Activer le capteur
spi.write(command) # Envoyer la commande
response = spi.read(response_len)
cs.value(1) # Désactiver le capteur
return response
# Exemple de commandes (dépend du capteur)
CMD_READ = bytes([0x80, 0x00])
while True:
data1 = read_sensor(cs1, CMD_READ, 2)
data2 = read_sensor(cs2, CMD_READ, 2)
print("Capteur 1:", data1)
print("Capteur 2:", data2)
time.sleep(1)