İçindekiler:

IoT Dış Mekan Pet Kapısı: 6 Adım (Resimlerle)
IoT Dış Mekan Pet Kapısı: 6 Adım (Resimlerle)

Video: IoT Dış Mekan Pet Kapısı: 6 Adım (Resimlerle)

Video: IoT Dış Mekan Pet Kapısı: 6 Adım (Resimlerle)
Video: YÜZLEŞME! Eski Mahkum (İdam Anları) 33 Sene Suçsuz Hapis! Bırakmadılar Yaşayalım 2024, Temmuz
Anonim
IoT Dış Mekan Evcil Hayvan Kapısı
IoT Dış Mekan Evcil Hayvan Kapısı
IoT Dış Mekan Evcil Hayvan Kapısı
IoT Dış Mekan Evcil Hayvan Kapısı
IoT Dış Mekan Evcil Hayvan Kapısı
IoT Dış Mekan Evcil Hayvan Kapısı
IoT Dış Mekan Evcil Hayvan Kapısı
IoT Dış Mekan Evcil Hayvan Kapısı

Otomatik bir tavuk kümesi kapısı oluşturmak için bu talimattan ilham aldım. Sadece tavuk kümesi kapısını zamanlayıcıda değil, aynı zamanda telefonumla veya bilgisayarımla kontrol edebilmek için kapıyı internete bağlamak istedim. Bu kapı benim tavuk kümesim için yapıldı, ancak çeşitli evcil hayvanlar için diğer barınma türlerine kolayca uygulanabilir. Kullandığım eski araba anten motorunun yanı sıra farklı türde 12V motorları da kullanabilirsiniz.

Adafruit IO ve IFTTT'yi kurup ESP8266'ma bağladıktan sonra tavuk kümesi kapım online olarak kontrol edilebiliyor. Kapı açılabilir veya kapatılabilir:

1) Adafruit.io'ya girdiğim kesin zamanlarda

2) Telefonumda bir düğmeye basarak

3) Belirli bir numaraya kısa mesaj göndererek

4) Adafruit.io'da bir butona tıklayarak

5) Fiziksel bir düğmeye basarak

Bu özelliklere ek olarak, tavuk kümesi kapısı, kapının açılmaması veya kapanmaması gibi kapıyla ilgili herhangi bir sorun hakkında IFTTT uygulaması aracılığıyla telefonuma push bildirimleri gönderebiliyor.

Tavuk kümesim WiFi yönlendiricimden yaklaşık 500 fit uzakta olduğundan, bu projeyi gerçekleştirmek için bir ESP8266 ile eşleştirilmiş bir 433MHz RFM69HCW verici ve alıcı kullandım. İnternete bağlı donanıma sahip siyah bir iç verici kutusu ve motoru kontrol eden gri bir dış mekan alıcı kutusu vardır.

Bu talimat, tavuk kümesi kapımı açan veya kapatan bir 12V motoru kontrol etmek için gerekli donanımı oluşturma sürecinde size yol gösterecektir.

Aşağıdaki parçaları kullandım:

433MHz RFM69HCW ile Adafruit 32u4 - 25 $

Adafruit MCP23017 I2C 16 giriş/çıkış bağlantı noktası genişletici IC - 2,95 $

ESP8266 WiFi ile Adafruit Feather HUZZAH - 16,95 $

Adafruit Radyo FeatherWing 433MHz RFM69HCW - $10

1,6 mm kalınlığında PCB'ler için Adafruit SMA Konnektör - 2,50 $

Adafruit uFL SMA Anten Konektörü - 0,75 Dolar

Adafruit RGB Buton - 10,95$

12V güç kaynağı - 7 $

5V USB güç kaynağı - 7 $

Mikro USB Kablosu - 5 $

4 Kanal Röle Kartı (2 kanal kullanabilir) - 7 $

DC-DC Buck Dönüştürücü (sadece bir tane kullanıldı ancak 5'li paket olarak geliyor) - 20 $

Manyetik Anahtar (manyetik kapı anahtarı sensörü) - 9 $

2x 433MHz Çok Yönlü Anten - 6 $

uFL - SMA Kablo Adaptörü (yalnızca bir tane kullanıldı, ancak 2'li paket olarak geliyor) - 5 ABD doları

Su geçirmez dış mekan ABS proje kutusu - 11 $

Siyah ABS proje kutusu - 10 $

20x4 Mavi Karakterli LCD - 10$

12V Araba Anten Motoru - ebay'de ~25$

Tel ve dirençler

Adım 1: Dış Mekan Alıcısı

Açık Alıcı
Açık Alıcı
Açık Alıcı
Açık Alıcı

Dış mekan alıcısı, bir 12V motor için gücü açan veya kapatan birkaç röleye bağlı 433MHz RFM69HCW'ye sahip bir Adafruit 32u4'ten oluşur. Bu modüller ve 12V - 5V DC-DC dönüştürücü, su geçirmez gri proje kutusunun içindedir. Son olarak, 32u4 Arduino mikrodenetleyicisinin pinlerinden birine bağlı, kapının olması gerektiği zaman doğru açılıp kapanmadığını algılayan bir kapı anahtarı sensörü bulunmaktadır.

Her 15 saniyede bir, iç mekan vericisi "Aç" veya "Kapat" gönderir. Alınan komuta göre Arduino 32u4, bir röleyi açar veya kapatır. Eski bir araba anten motoru olan seçtiğim motor için, motorun kablolama şekli nedeniyle iki röleyi açıp kapatmak zorunda kaldım. Temel olarak gücü açmak için bir röle vardı ve ardından motorun açılıp açılmadığını veya geri çekilip çekilmediğini kontrol eden başka bir röle vardı.

Açık veya kapalı iletim alındığında, dış alıcı, kapı anahtarı sensörünün durumunu belirtmek için "sensorOpen" veya "sensorClosed" ile yanıt verir. İdeal olarak, "aç" komutu bir "sensorOpen" yanıtı verir, ancak kapı takılırsa veya motor sıkışırsa bunlar eşleşmeyecektir. Eşleşmediğinde, iç mekan vericisi bu bilgiyi gösterecek ve telefonunuza bir anında iletme bildirimi gönderilecektir.

Adım 2: Dış Mekan Alıcı Donanımını Bağlama

Dış Mekan Alıcı Donanımını Bağlama
Dış Mekan Alıcı Donanımını Bağlama
Dış Mekan Alıcı Donanımını Bağlama
Dış Mekan Alıcı Donanımını Bağlama
Dış Mekan Alıcı Donanımını Bağlama
Dış Mekan Alıcı Donanımını Bağlama

Dış mekan alıcısının donanımının bağlanması çok zor değildir. Kullandığım pinlerin kolayca görülebilmesi için aşağıya bir fritzing şeması ekledim.

Yukarıda belirttiğim gibi kullandığım motor iki adet röle gerektiriyordu. Pinout'un resmini ekledim. 12V'u kırmızı kabloya bağladığınız anda, uzatılırsa motor geri çekilir. Kırmızı kabloya ve yeşil kabloya aynı anda 12V bağlarsanız motor uzar.

Yukarıda bağladığım kamış anahtarı, normalde kapalı bir anahtar olarak kablolanmalıdır. Normalde açık ve normalde kapalı arasındaki fark yukarıda eklediğim resimde açıklanmıştır. Yazılımı kullanarak, 32u4'teki giriş pinine bağlı dahili bir çekme direnci vardır, bu yüzden tek yapmanız gereken kapı anahtarını giriş pinine ve ayrıca toprağa bağlamak.

Adafruit 32u4'e bir anten takmanız gerekecek. Lütfen Adafruit'in bu adımdaki gerçekten iyi açıklanmış eğitimine göz atın. Daha iyi menzil elde etmek için bir parça tel yerine harici bir anten kullanmayı seçtim.

3. Adım: İç Mekan Verici

Kapalı Verici
Kapalı Verici
Kapalı Verici
Kapalı Verici
Kapalı Verici
Kapalı Verici

İç mekan vericisi, ESP8266 WiFi özellikli bir Adafruit Feather HUZZAH'ın üzerine yığılmış bir Adafruit Radio FeatherWing 433MHz RFM69HCW'den oluşur. Bu modüller, 20x4 karakterlik bir ekrana ve siyah bir proje kutusunun içindeki bir RGB gümüş düğmeye bağlanır.

Ekranda NTC senkronize saat, dB cinsinden RSSI gücü (radyo sinyallerinin gücünü ölçer), kümes kapısının açılacağı saat, kümes kapısının kapanacağı saat ve kapının mevcut durumu bulunur. Düğme kapı kapalıyken kırmızı, kapı açıkken yeşildir.

Dış mekan alıcısının gücü kesilirse veya herhangi bir nedenle 433MHz sinyali gönderilemiyorsa, ekran ve RGB düğmesi olası iki hata modundan ilkine geçecektir. İlk hata modunda, ekranda "HATA! Dış mekan alıcısını yeniden başlatmayı deneyin." ve düğmenin bir rengi olmayacaktır. Kapı anahtarı sensörü, kapının düzgün kapanmadığını veya açılmadığını tespit ederse, ekran ve RGB düğmesi iki hata modundan ikincisine geçecektir. İkinci hata modunda, ekranda "HATA! Kapı veya anahtar sensörü sorunu" yazacaktır. ve düğmenin bir rengi olmayacaktır. Sorun kendi kendine çözüldüğünde ekran ve RGB düğmesi normale dönecektir. Bu hata modlarından herhangi biri meydana gelirse, telefonunuza anında iletme bildirimleri alabilirsiniz (bu kurulumu daha sonraki bir adımda ele alacağım).

Adım 4: İç Mekan Verici Donanımını Bağlama

İç Mekan Verici Donanımını Bağlama
İç Mekan Verici Donanımını Bağlama
İç Mekan Verici Donanımını Bağlama
İç Mekan Verici Donanımını Bağlama

Adafruit Radio FeatherWing 433MHz RFM69HCW'yi ESP8266 WiFi ile Adafruit Feather HUZZAH'ın üstüne yerleştirdikten sonra, alınmayan sadece 2 pin kaldı, I2C pinleri SDA ve SCL. Bu yüzden MCP23017 entegre devre (IC) ile gittim. I2C üzerinden herhangi bir mikro denetleyiciye 16 adede kadar ek giriş/çıkış pinini bağlayan gerçekten harika bir IC. Ayrıca, Adafruit-RGB-LCD-Shield adında, bu IC'yi teknik olarak bu Adafruit ürünü için yazılmış bir karakter ekranıyla kullanan önceden yazılmış bir kitaplık var, ancak bu proje için mükemmel çalışıyor.

MCP23017'yi bir karakter ekranıyla kullanma fikri, bu çok iyi yazılmış talimattan gelir. Lütfen kontrol et!

Bu talimatı aldım ve IC'ye birden fazla düğme ve bir RGB ekran bağlamak yerine, içinde RGB LED bulunan bir düğmeyi ve IC'ye tek renkli bir ekran bağladım. Bu, IC'nin PIN 1'ini (tipik olarak bir RGB ekranın mavi arka ışığı için kullanılır), monokrom ekranım için arka ışık olarak tanımlamamı sağladı, PIN 28 (tipik olarak bir RGB ekranının yeşil arka ışığı için kullanılır) içindeki kırmızı LED olarak düğmesi ve PIN 27 (tipik olarak bir RGB ekranının kırmızı arka ışığı için kullanılır), düğmenin içindeki yeşil LED olarak. Düğmenin bir ucuna PIN 24, diğer ucu toprağa bağlandı. Düğmenin pin çıkışını yukarıda ekli resimde görebilirsiniz (mavi katodu bağlantısız bıraktım).

Ekranı bağlamaya yardımcı olmak için bağladığım bu talimatı kullanmanın yanı sıra, her şeyi bağlamanıza yardımcı olacak bir fritzing şeması ekledim.

Bu Adafruit eğitiminde açıklandığı gibi FeatherWing 433MHz RFM69HCW'nin üstündeki üç pimi kısaltmanız gerekecek. Ayrıca FeatherWing 433MHz RFM69HCW'ye bir anten takmanız gerekecektir. Lütfen Adafruit'in bu adımdaki gerçekten iyi açıklanmış eğitimine göz atın. Daha iyi bir menzil elde etmek için bir tel parçası yerine yan tarafa monte edilmiş SMA konektörlü harici bir anten kullanmayı seçtim.

Adım 5: Adafruit. IO ve IFTTT'ye Bağlanma

Adafruit. IO ve IFTTT'ye bağlanma
Adafruit. IO ve IFTTT'ye bağlanma
Adafruit. IO ve IFTTT'ye bağlanma
Adafruit. IO ve IFTTT'ye bağlanma

Adafruit IO:

Bir hesabınız yoksa, Adafruit. IO'ya kaydolmak için lütfen bu Adafruit eğitimindeki talimatları izleyin. Ayrıca feed ve gösterge tablosunun ne olduğunu da okumalısınız.

Basit bir ifadeyle, bir gösterge panosu bir tür grafik kullanıcı arayüzü gibidir, akışlar ise internette depolayabilmeniz için veri gönderdiğiniz şeydir. 1 Pano ve 4 Feed oluşturmanız gerekecek. Tavuk kümesinin nasıl doğru yazıldığını bilmeden benimkinin adını verdim, bu yüzden lütfen yanlış yazım için kusura bakmayın. Arduino kodundaki feed adlarını yeniden adlandırmak istemiyorsanız, yaptığım adlandırmanın aynısını kullanın.

Önce dört beslemeyi oluşturun:

1) "Tavuk Darbesi" Bu, Açık/Kapalı anahtarı içindir.

2) "Chicken Coup Timer" Bu, açık zamanlayıcı içindir.

3) "Chicken Coup Timer 2" Bu, kapatma zamanlayıcısı içindir.

4) "Tavuk Darbesi Hata Mesajı" Hata mesajları içindir.

Daha sonra Chicken Coup adlı bir pano oluşturun ve mavi + düğmesini kullanarak 4 blok ekleyin. Yerleştirmeniz gereken blok türleri ve blok adları için lütfen yukarıdaki resme bakın. Anahtar durumlarını tam olarak "Açık" ve "Kapalı" olarak adlandırdığınızdan emin olun.

IFTTT:

Bu projenin IFTTT kısmı, telefonunuzdaki bir düğmeye basma ve tavuk kümesi kapısını açmak veya kapatmak için bir metin gönderme yeteneği ekler. Ayrıca, Tavuk Darbesi Hata Mesajı beslemesinde herhangi bir şey yayınlanırsa, IFTTT uygulamasının size anlık bildirimler göndermesini sağlar. Bu yetenekleri istemiyorsanız, bu bölümü atlayabilirsiniz.

Öncelikle, henüz bir hesabınız yoksa bir IFTTT hesabı oluşturun. Oluşturduğum önceden hazırlanmış uygulamaları kullanmak istiyorsanız, hesabıma gidin ve istediğiniz uygulamaları açın. Aksi takdirde, kendinizinkini oluşturmanız ve yukarıda oluşturduğunuz adafruit beslemesine abone olmanız veya yayınlamanız gerekecektir.

6. Adım: Kodu Yükleme ve WiFi SSID ve Parolayı Düzenleme

İç mekan vericisine kod yükleyebilmek için Adafruit öğreticisinin bu sayfasını incelemeniz gerekecek.

Dış mekan alıcısına kod yükleyebilmek için Adafruit öğreticisinin bu sayfasını incelemeniz gerekecek.

RFM69 kitaplığını, Adafruit_RGBLCDShield kitaplığını, simpleDStadjust adlı NTC saat kitaplığını ve ticker kitaplığını kurmanız gerekecek. Bunun nasıl yapılacağına dair bir öğreticiyi burada bulabilirsiniz.

Arduino IDE'yi açın ve "Outdoor_Receiver.ino" kodunu bir USB kablosu üzerinden dış mekan Arduino 32u4'e yükleyin.

Ardından, "Indoor_Transmitter.ino" dosyasını açın, config.h sekmesini açın ve tırnak işaretleri içine WiFi adınızı (SSID) ve şifrenizi girin. Ardından, bu eğitim sayfasını takip ederek Adafruit. IO kullanıcı adınızı ve IO Anahtarınızı alın ve config.h sekmesine girin.

Adafruit IO beslemelerinin adlarını değiştirdiyseniz, Indoor_Transmitter ana sekmesindeki kodu düzenlemeniz gerekecektir. Aşağıdakileri düzenleyin:

AdafruitIO_Feed *toggleSwitch = io.feed("Tavuk Darbesi");

AdafruitIO_Feed *timer = io.feed("Chicken Coup Timer");

AdafruitIO_Feed *timer2 = io.feed("Tavuk Darbe Zamanlayıcısı 2");

AdafruitIO_Feed *hata = io.feed("Tavuk Darbesi Hata Mesajı");

Tüm yapman gereken bu olmalı! İki eskizin nasıl çalıştığını daha iyi anlamak isterseniz, kodu yorumladım. Herhangi bir sorunuz varsa lütfen bana bildirin. İyi şanlar!

Önerilen: