Daftar Isi:
Video: Sensor Gerak Raspberry Pi IFTTT: 4 Langkah
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
Halo. Saya siswa kelas 4 dan hari ini kita akan membuat sensor gerak IFTTT
Perlengkapan
1x kotak kardus kecil
1x raspberry pi model b+ atau a+
1x sensor PIR https://www.amazon.com/gp/product/B07KZW86YR/ref=p…(Berbagai) kabel jumper
1x bola lampu pintar (opsional)
Lakban (opsional)
akun ifttt
Langkah 1: Potong:
Buat lubang kecil di tengah bagian atas kotak.
Langkah 2: Memasang Sensor PIR:
Hubungkan pin sensor PIR berlabel VCC ke pin 5V pada Raspberry Pi. Ini memberikan daya ke sensor PIR. Hubungkan yang berlabel GND ke pin ground pada Pi (juga berlabel GND). Ini melengkapi rangkaian. Hubungkan yang berlabel OUT ke pin GPIO bernomor pada Pi. Dalam contoh ini, kami telah memilih GPIO 4. Pin OUT akan mengeluarkan tegangan ketika sensor mendeteksi gerakan. Tegangan tersebut kemudian akan diterima oleh Raspberry Pi.
Langkah 3: Siapkan Webhook:
buat applet baru, lalu Pilih Webhooks. dan kemudian lakukan hal yang sama dengan notifikasi.
Langkah 4: Kode:
Untuk python 3 atau thonny
#! /usr/bin/python # Importsimport RPi. GPIO sebagai GPIOimport timeimport request # Atur konvensi penamaan GPIOGPIO.setmode(GPIO. BCM) # Matikan GPIO warningsGPIO.setwarnings(False) # Setel variabel untuk menahan GPIO Pin identitypinpir = 17 # Atur pin GPIO sebagai inputGPIO.setup(pinpir, GPIO. IN) # Variabel untuk menahan status saat ini dan terakhir saat inistatus = 0keadaan sebelumnya = 0 try: print("Menunggu PIR untuk menyelesaikan …") # Loop hingga output PIR adalah 0 sementara GPIO.input(pinpir) == 1: currentstate = 0 print(" Ready") # Loop hingga pengguna berhenti dengan CTRL-C while True: # Baca status PIR currentstate = GPIO.input(pinpir) # Jika PIR dipicu jika status saat ini == 1 dan status sebelumnya == 0: print("Gerakan terdeteksi!") # URL IFTTT Anda dengan nama peristiwa, parameter kunci dan json (nilai) r = request.post('https://maker.ifttt.com/trigger /YOUR_EVENT_NAME/with/key/YOUR_KEY_HERE', params={"value1":"none", "value2":"none", "value3":"none"}) # Rekam status baru sebelumnya, status sebelumnya = 1 #Tunggu 120 detik sebelum mengulang ain print("Menunggu 120 detik") time.sleep(120) # Jika PIR telah kembali ke status siap elif currentstate == 0 dan sebelumnyastatus == 1: print("Ready") sebelumnyastatus = 0 # Tunggu waktu 10 milidetik.sleep(0.01) kecuali KeyboardInterrupt: print(" Quit") # Reset pengaturan GPIO GPIO.cleanup()
Menikmati!