2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
Dalam instruksi ini kita akan membangun sensor taman. Ide dari sensor parkir ini adalah untuk menunjukkan warna hijau ketika Anda memiliki banyak ruang untuk menarik mobil Anda ke depan di tempat parkir, dan kemudian berubah menjadi kuning saat Anda mendekati posisi maju sepenuhnya, dan kemudian merah ketika Anda harus berhenti. Kami akan membangun sistem ini dengan Raspberry Pi kami, dan menggunakan beberapa jarak yang dapat kami uji dengan mudah.
Langkah 1: Hal-hal yang Anda Butuhkan
Anda akan memerlukan komponen berikut selain pengaturan Raspberry Pi.
- Sensor Jarak Ultrasonik HC-SR04
- dipimpin (X3)
- 330Ω Resistor (X3)
- Resistor 10KΩ (x2)
- Kabel Jumper Pria-Pria / Pria-Wanita
- Papan tempat memotong roti
Langkah 2: Lakukan Pengkabelan
- Pemicu untuk sensor jarak adalah GPIO 4, gema adalah GPIO 18, lampu hijau 17, lampu kuning 27 dan lampu merah 22.
- Resistor 330 ohm adalah untuk led dan mereka terhubung ke kaki positif dari led dan kemudian GPIO.
- Resistor 10K ohm adalah untuk pin gema dari sensor jarak dan terhubung ke GPIO.
Langkah 3: Kode
impor RPi. GPIO sebagai GPIOimpor waktu
GPIO.setwarnings(Salah)
GPIO.pembersihan()
GPIO.setmode(GPIO. BCM)
TRIG = 4
ECHO = 18
HIJAU = 17
KUNING = 27
MERAH = 22
GPIO.setup(TRIG, GPIO. OUT)
GPIO.setup(ECHO, GPIO. IN)
GPIO.setup(HIJAU, GPIO. OUT)
GPIO.setup(KUNING, GPIO. OUT)
GPIO.setup(MERAH, GPIO. OUT)
def green_light():
GPIO.output(HIJAU, GPIO. TINGGI)
GPIO.output(KUNING, GPIO. RENDAH)
GPIO.output(MERAH, GPIO. RENDAH)
def yellow_light():
GPIO.output(HIJAU, GPIO. RENDAH)
GPIO.output(KUNING, GPIO. TINGGI)
GPIO.output(MERAH, GPIO. RENDAH)
def red_light(): GPIO.output(HIJAU, GPIO. LOW)
GPIO.output(KUNING, GPIO. RENDAH)
GPIO.output(MERAH, GPIO. TINGGI)
def get_distance():
GPIO.output(TRIG, Benar)
waktu.tidur(0,00001)
GPIO.output(TRIG, Salah)
while GPIO.input(ECHO) == False: start = time.time()
while GPIO.input(ECHO) == True: end = time.time()
signal_time = akhir-mulai
jarak = signal_time / 0,000058
jarak kembali
sementara Benar:
jarak = get_jarak()
waktu.tidur(0.05)
cetak (jarak)
jika jarak >= 25:
lampu hijau()
elif 25 > jarak > 10:
cahaya kuning()
jarak elif <= 5:
lampu merah()
Jika jaraknya lebih besar atau sama dengan 25 cm, kami menunjukkan lampu hijau. Jika antara 10 dan 25 cm, kami akan menguning, lalu kami akan berubah menjadi merah kurang dari atau sama dengan 10 cm.