İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Bu derste, Arduino Uno kullanarak kapı açma olayını nasıl algılayacağınızı ve Gmail üzerinden nasıl bildirim göndereceğinizi göstereceğim.
Acemi iseniz, Arduino - WiFi ve Arduino - Kapı Sensörü eğitimlerinde wifi ve sensör hakkında bilgi edinebilirsiniz.
Başlayalım!
Kapı Açılımını Tespit Etme OlayıKullandığım manyetik sensör iki parçadan oluşuyor: sensör ve mıknatıs. İki parça birbirine yakın olduğunda sensörün çıkış pini YÜKSEK, aksi takdirde çıkış pini DÜŞÜK olur. Bu özellikten yararlanarak sensörün bir parçasını kapı kanadına diğerini kapı kasasına monte ettim. Çıkış pininin durumunu kontrol ederek kapının ne zaman açıldığını algılayabilir ve sonrasında uyarı verebilir veya bildirim gönderebiliriz.
İşleme Olayı
Kapı açma olayı gerçekleştiğinde Gmail üzerinden bir bildirim gönderilir.
Adım 1: İhtiyacımız Olan Şeyler
1. Arduino UNO veya Genuino UNO
2. Arduino için PHPoC Kalkanı
3. Manyetik Sensör
2. Adım: Montaj
1. PHPoC Shield'i Arduino'ya Yığınlayın.
2. LAN kablosunu Ethernet kalkanına bağlayın.
3. Arduino ve Sensör arasındaki kabloları sabitleyin.
-----5v--------kırmızı pim.
----A0-------siyah iğne.
Adım 3: Bu Seti Kapıya Takın
1. Sensör parçasını, Arduino setini (PHPoC kalkanı dahil) kapı çerçevesine takın
2. Mıknatıs parçasını kapı kanadına takın.
3. Güç Arduino
4. LAN kablosu veya USB Wifi Dongle ile İnternete bağlanın.
Adım 4: Arduino'da Kitaplığı İndirin ve Kurun
PHPoC ve ezButton kitaplığını kurun
Adım 5: Arduino Kodu
#Dahil etmek
#include PhpocE-posta e-postası; ezButon düğmesi(A0); // A0 pinine bağlanan Button nesnesi yarat; geçersiz kurulum() { Serial.begin(9600); Phpoc.begin(PF_LOG_SPI | PF_LOG_NET | PF_LOG_APP); //Phpoc.beginIP6(); IPv6'yı kullanacaksanız bu satırın yorumunu kaldırın button.setDebounceTime(100); // geri dönme süresini 100 milisaniyeye ayarla } void loop() { button.loop(); // önce loop() fonksiyonunu çağırmak ZORUNDADIR if(button.isPressed()) { // eğer kapı açılırsa… email.setOutgoingServer("smtp.gmail.com", 587); email.setOutgoingLogin("Google Kimliği", "Google Şifresi"); email.setFrom("Gmail adresi", "Gönderen Adı"); email.setTo("Alıcı e-posta adresi", "Alıcı Adı"); email.setSubject("Kapı açıldı. [#905]"); // Posta Konusu // Posta İçeriği email.beginMessage(); email.println("#905"); email.println(""); email.println("Kapı açıldı."); email.endMessage(); if (email.send() > 0) // E-posta Gönder Serial.println("Postanız başarıyla gönderildi"); else Serial.println("Postanız gönderilmedi"); } else if (button.isReleased()) { // kapı kapalıysa… // Kodları aynı şekilde yazın } }
Adım 6: İşlev Referansları
- döngü()
- kurmak()
- Seri.başlangıç()
- Seri.println()
- gecikme()
- döngü için
- döngü sırasında
- eğer başkaysa
- String.toInt()