from machine import Pin,PWM
import time
alarm_distance = 150 #cm
# Define GPIO pins for the ultrasonic module
trigger_pin = Pin(14, machine.Pin.OUT)
echo_pin = Pin(15, machine.Pin.IN)
red_led_pin = PWM(Pin(7,Pin.OUT))
# Function to measure distance using the ultrasonic module
def measure_distance():
trigger_pin.low()
time.sleep_us(2)
trigger_pin.high()
time.sleep_us(10)
trigger_pin.low()
while echo_pin.value() == 0:
signaloff = time.ticks_us()
while echo_pin.value() == 1:
signalon = time.ticks_us()
# Calculate the duration of the Echo signal
timepassed = signalon - signaloff
# Calculate the distance based on the speed of sound
distance = (timepassed * 0.0343) / 2
return distance
def mapFromTo(x,a,b,c,d):
y=(x-a)/(b-a)*(d-c)+c
return y
red_led_pin.freq(1000)
# Measure the distance and print the result
while True:
distance = measure_distance()
distance = int(mapFromTo(distance,2,404,65536,0))
print (distance)
red_led_pin.duty_u16(distance)
time.sleep(0.5)
time.sleep(2)