print("Today we gonna light up ultrasonic sensor")
print("Date: 27/11/2023")
print("by ZaruSAN")
# TRIG-trigger the object,ECHO-accept the reflec from trigger
#distance - 4m
#en - 4pin from en ,jgn connect
# 1) search library,ultrasonic sensor library + python + esp32,(github)@(random nerd)
# 2) copy that library coding
# 3) ( every input device must have library)
# wokwi> create new file> library_ultrasonic.py > paste
# see class HCSR04: (ada brapa)class HCSR04 kalo ada 1,is be ok
#IMPORT ALL NECESSARY LIBRARIES
import library_servo
import library_ultrasonic
from machine import Pin, PWM, SoftI2C
import ssd1306 #this is oled library
from utime import sleep
#DECLARE PIN
TRIG = Pin(12, Pin .IN)
ECHO = Pin(26, Pin.OUT)
led_red = Pin(15,Pin.OUT) #PIN OUTPUT
led_biru = Pin(5,Pin.OUT)
push_button = Pin(2, Pin.IN)
Servo_pin = Pin(14,Pin.OUT)
i2c_oled = SoftI2C(scl=Pin(22), sda=Pin(21))
oled_width = 128
oled_height = 64
# Initialize components
ukur_air = library_ultrasonic.HCSR04(trigger_pin = TRIG, echo_pin = ECHO)
motor_mesinbasuh = library_servo.Servo(pin= Servo_pin)
skrin = ssd1306.SSD1306_I2C(width=oled_width, height=oled_height, i2c=i2c_oled)
#MAIN PROGRAM
while True:
logic_state = push_button.value()
if logic_state == True : # if button push> led on > machine start run
led_red.value(1) # if button not push > led off > machine stop running
else:
led_red.value(0)
# ultrasonic
# if air dh cukup,motor akan start run
measure_water_lavel = ukur_air.distance_mm()
print(' AIR SUDAH MENCUKUPI :',distance_in_mm, 'mm')
sleep(0.5)
led_biru.on()
sleep(0.5)
# servo motor
# program for motor running
if distance_in_mm => 100:
motor_mesinbasuh.move(0)
sleep(0.2)
motor_mesinbasuh.move(90)
sleep(0.5)
motor_mesinbasuh.move(-180)
sleep(0.5)
motor_mesinbasuh.move(90)
sleep(0.5)
motor_mesinbasuh.move(0)
sleep(0.5)
else:
servo_palang.move(0)