İçindekiler:
Video: Raspberry Pi Hareket Sensörü IFTTT: 4 Adım
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Merhaba. 4. sınıf öğrencisiyim ve bugün IFTTT hareket sensörü yapacağız.
Gereçler
1x küçük karton kutu
1 adet ahududu pi modeli b+ veya a+
1x PIR sensörü https://www.amazon.com/gp/product/B07KZW86YR/ref=p…(Çeşitli) jumper kabloları
1 adet akıllı ampul (isteğe bağlı)
Koli bandı (isteğe bağlı)
ifttt hesabı
Adım 1: Kes:
Kutunun üst kısmının ortasında küçük bir delik açın.
Adım 2: PIR Sensörünün Takılması:
PIR sensörünün VCC etiketli pinini Raspberry Pi üzerindeki 5V pinine bağlayın. Bu, PIR sensörüne güç sağlar. GND etiketli olanı Pi üzerindeki bir topraklama pimine (GND olarak da etiketlenir) bağlayın. Bu, devreyi tamamlar. OUT etiketli olanı Pi üzerindeki herhangi bir numaralı GPIO pinine bağlayın. Bu örnekte GPIO 4'ü seçtik. Sensör hareket algıladığında OUT pini bir voltaj çıkışı verecektir. Voltaj daha sonra Raspberry Pi tarafından alınacaktır.
3. Adım: Web kancalarını kurun:
yeni bir uygulama oluşturun ve ardından Web kancalarını seçin. ve sonra aynısını bildirimlerle yapın.
Adım 4: Kod:
Python 3 veya thonny için
#! /usr/bin/python # GPIOimport timeimport istekleri olarak Importsimport RPi. GPIO # GPIO adlandırma kuralını ayarlayınGPIO.setmode(GPIO. BCM) # GPIO uyarılarını kapatınGPIO.setwarnings(False) # GPIO Pin kimliğini tutacak bir değişken ayarlayınpinpir = 17 # GPIO pinini inputGPIO.setup(pinpir, GPIO. IN) olarak ayarlayın # Mevcut ve son durumları tutan değişkenlercurrentstate = 0previousstate = 0 try: print("PIR'nin oturması bekleniyor…") # GPIO iken PIR çıkışı 0 olana kadar döngü yapın.input(pinpir) == 1: currentstate = 0 print(" Ready") # True iken CTRL-C ile kullanıcılar çıkana kadar döngü: # PIR durumunu oku currentstate = GPIO.input(pinpir) # Eğer mevcut durum ise PIR tetiklenirse == 1 ve önceki durum == 0: print("Hareket algılandı!") # Olay adı, anahtar ve json parametreleriyle (değerler) IFTTT URL'niz r = request.post('https://maker.ifttt.com/trigger /YOUR_EVENT_NAME/with/key/YOUR_KEY_HERE', params={"value1":"none", "value2":"none", "value3":"none"}) # Yeni önceki durumu kaydet önceki durum = 1 #120 saniye bekleyin ag döngüsünden önce ain print("120 saniye bekleniyor") time.sleep(120) # PIR hazır durumuna döndüyse elif currentstate == 0 ve öncekistat == 1: print("Ready") öncekidurum = 0 # 10 milisaniye bekleyin.sleep(0.01) KeyboardInterrupt hariç: print(" Quit") # GPIO ayarlarını sıfırla GPIO.cleanup()
Eğlence!