from hcsr04 import HCSR04
from utime import sleep, sleep_us
from machine import SoftI2C, Pin, time_pulse_us, PWM
import oled
# Ultrasonic sensor
ultrasonic_sensor = HCSR04(trigger_pin=5, echo_pin=18)
#buzzer
buzzer = PWM(Pin(2))
buzzer.duty(0)
#led
led = Pin(15,Pin.OUT)
#i2c & oled
i2c = SoftI2C(scl=Pin(22), sda=Pin(21))
oled1 = oled.I2C(128, 64, i2c)
i2c_2 = SoftI2C(scl=Pin(23), sda=Pin(19))
oled2 = oled.I2C(128, 64, i2c_2)
while True:
distance = ultrasonic_sensor.get_distance_cm()
oled1.clear()
oled1.text('Distance: ' + str(distance), 10, 3)
oled1.show()
if distance < 70 :
led.on()
buzzer.freq(1000) # 1000Hz tone
buzzer.duty(512) # 50% duty cycle
oled2.clear()
oled2.text("warning!!", 10, 3)
oled2.show()
else:
led.off()
buzzer.duty(0)
oled2.clear()
oled2.text("", 10, 3)
oled2.show()