from machine import Pin
from machine import Pin, time_pulse_us
from machine import Pin , I2C
from ssd1306 import SSD1306_I2C
import time
led_pins = [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
leds = [Pin(pin_num, Pin.OUT)for pin_num in led_pins]
i2c=I2C(0,sda=Pin(0), scl=Pin(1), freq=400000)
oled = SSD1306_I2C(128, 64, i2c)
vitesse_son = 340 #vitesse du son dan l'aire
TRIG_PULSE_US=10
trig = Pin(28, Pin.OUT)
echo = Pin(27, Pin.IN)
vitesse_son = 340 #vitesse du son dan l'aire
TRIG_PULSE_US=10
trig1 = Pin(26, Pin.OUT)
echo2 = Pin(22, Pin.IN)
def allumer_leds(jusqua_a_index):
for i in range(jusqua_a_index):
leds[i].on()
def eteindre_leds():
for led in leds:
led.off()
#boucle principale
while True:
"""
for i in range(11):
allumer_leds(i)
time.sleep(0.5)
eteindre_leds()
"""
#depart
trig.value(0)
time.sleep_us(5)
#créer une impulsion
trig.value(1)
time.sleep_us(TRIG_PULSE_US)
trig.value(0)
ultrason = time_pulse_us(echo, 1, 30000)#temps de propagation de l'onde (µs)
distance_cm = vitesse_son * ultrason / 20000
print(f"Distance : {distance_cm} cm")
time.sleep_ms(500)
oled.fill(0)
oled.text(f"Distance : {distance_cm} cm", 0, 0)
oled.show()
if distance_cm > 0 and distance_cm < 10:
for i in range(9, 0, -1):
leds[i].off()
if distance_cm > 10 and distance_cm < 20 :
for i in range(2):
leds[i].on()
for i in range(9, 1, -1):
leds[i].off()
if distance_cm > 20 and distance_cm < 30:
for i in range(3):
leds[i].on()
for i in range(9, 2, -1):
leds[i].off()
if distance_cm > 30 and distance_cm < 40 :
for i in range(4):
leds[i].on()
for i in range(9, 3, -1):
leds[i].off()
if distance_cm > 40 and distance_cm < 50:
for i in range(5):
leds[i].on()
for i in range(9, 4, -1):
leds[i].off()
if distance_cm > 50 and distance_cm < 60 :
for i in range(6):
leds[i].on()
for i in range(9, 5, -1):
leds[i].off()
if distance_cm > 60 and distance_cm < 70 :
for i in range(7):
leds[i].on()
for i in range(9, 6, -1):
leds[i].off()
if distance_cm > 70 and distance_cm < 80:
for i in range(8):
leds[i].on()
for i in range(9, 7, -1):
leds[i].off()
if distance_cm > 80 and distance_cm < 90:
for i in range(9):
leds[i].on()
for i in range(9, 8, -1):
leds[i].off()
if distance_cm > 90 and distance_cm < 100:
for i in range(10):
leds[i].on()