Sensor Jarak Ultrasonic ESP32 Micropython body { font-family: sans-serif; line-height: 1.6; max-width: 800px; margin: 40px auto; padding: 0 20px; color:
#0078d7; color: white; padding: 20px; margin: 20px 0; border-radius: 5px; } Sensor Jarak Ultrasonic ESP32 Micropython
Sensor Jarak Ultrasonic ESP32 Micropython
Wokwi
untuk script programnya
from machine import Pin
import time
trigger_pin = Pin(4, Pin.OUT)
echo_pin = Pin(5, Pin.IN)
led_pin = Pin(2, Pin.OUT)
buzzer_pin = Pin(12, Pin.OUT)
def measure_distance():
trigger_pin.on()
time.sleep_us(10)
trigger_pin.off()
pulse_start = 0
pulse_end = 0
while echo_pin.value() == 0:
pulse_start = time.ticks_us()
while echo_pin.value() == 1:
pulse_end = time.ticks_us()
pulse_duration = pulse_end - pulse_start
distance = pulse_duration * 0.0343 / 2
return distance
def park_distance_alert(distance):
if distance < 10:
led_pin.on()
buzzer_pin.on()
time.sleep(0.5)
led_pin.off()
buzzer_pin.off()
while True:
distance = measure_distance()
park_distance_alert(distance)
time.sleep(0.1)
penjelasan
-
Import Library:
from machine import Pin digunakan untuk mengimpor kelas Pin dari modul machine. Kelas Pin digunakan untuk mengontrol pin pada ESP32.
import time digunakan untuk mengimpor modul time yang menyediakan fungsi-fungsi terkait waktu.
-
Pendefinisian Pin:
trigger_pin = Pin(4, Pin.OUT) mendefinisikan pin nomor 4 sebagai pin output untuk mengirim sinyal trigger ke sensor ultrasonik.
echo_pin = Pin(5, Pin.IN) mendefinisikan pin nomor 5 sebagai pin input untuk menerima sinyal echo dari sensor ultrasonik.
led_pin = Pin(2, Pin.OUT) mendefinisikan pin nomor 2 sebagai pin output untuk mengontrol LED yang akan memberikan peringatan.
buzzer_pin = Pin(12, Pin.OUT) mendefinisikan pin nomor 12 sebagai pin output untuk mengontrol buzzer yang akan memberikan peringatan.
-
Fungsi measure_distance():
- Fungsi ini digunakan untuk mengukur jarak menggunakan sensor ultrasonik.
- Pertama, pin trigger diaktifkan (on) selama 10 mikrodetik untuk mengirimkan sinyal trigger.
- Kemudian, pin trigger dinonaktifkan (off).
- Selanjutnya, program akan mencatat waktu saat pin echo bernilai 0 (pulsa awal) dan mencatat waktu saat pin echo bernilai 1 (pulsa akhir).
- Durasi pulsa dihitung dengan mengurangi waktu pulsa awal dari waktu pulsa akhir.
- Jarak dihitung dengan mengalikan durasi pulsa dengan konstanta 0.0343 (konversi ke centimeter) dan dibagi 2 karena pulsa pergi-pergi.
- Fungsi ini mengembalikan nilai jarak.
-
Fungsi park_distance_alert(distance):
- Fungsi ini digunakan untuk memberikan peringatan jika jarak yang diukur terlalu dekat.
- Jika jarak kurang dari 10 cm, LED dan buzzer akan diaktifkan selama 0.5 detik sebagai peringatan.
- Setelah itu, LED dan buzzer akan dinonaktifkan.
-
Perulangan Utama:
- Program akan menjalankan perulangan
while True secara terus menerus.
- Pada setiap iterasi, program akan melakukan pengukuran jarak dengan memanggil fungsi
measure_distance().
- Nilai jarak yang diukur akan diteruskan ke fungsi
park_distance_alert() untuk memeriksa apakah peringatan perlu diberikan.
- Setelah itu, program akan menunggu selama 0.1 detik sebelum mengulangi iterasi berikutnya.
Discussion (0)