Isi kandungan:

Pintu Haiwan Peliharaan Luar IoT: 6 Langkah (dengan Gambar)
Pintu Haiwan Peliharaan Luar IoT: 6 Langkah (dengan Gambar)

Video: Pintu Haiwan Peliharaan Luar IoT: 6 Langkah (dengan Gambar)

Video: Pintu Haiwan Peliharaan Luar IoT: 6 Langkah (dengan Gambar)
Video: Jangan pegang ekor kelinci ketika tertidur ‼️ Dijamin bakal menyesal 🤮 #Shorts #YouTubeShorts 2024, Julai
Anonim
Pintu Haiwan Luaran IoT
Pintu Haiwan Luaran IoT
Pintu Haiwan Luaran IoT
Pintu Haiwan Luaran IoT
Pintu Haiwan Luaran IoT
Pintu Haiwan Luaran IoT
Pintu Haiwan Luaran IoT
Pintu Haiwan Luaran IoT

Saya terinspirasi oleh arahan ini untuk membuat pintu kandang ayam automatik. Bukan sahaja saya mahukan pintu kandang ayam pada pemasa, tetapi saya juga mahu menyambungkan pintu ke internet supaya saya dapat mengawalnya dengan telefon atau komputer saya. Pintu ini dibina untuk kandang ayam saya, namun ia boleh digunakan dengan mudah untuk jenis perumahan lain untuk pelbagai haiwan peliharaan. Anda juga boleh menggunakan pelbagai jenis motor 12V selain motor antena kereta lama yang saya gunakan.

Setelah menyiapkan dan menghubungkan Adafruit IO dan IFTTT ke ESP8266 saya, pintu kandang ayam saya dapat dikendalikan dalam talian. Pintu boleh dibuka atau ditutup:

1) Pada masa yang tepat yang saya masukkan di adafruit.io

2) Dengan menekan butang di telefon saya

3) Dengan menghantar pesanan teks ke nombor tertentu

4) Dengan mengklik butang di adafruit.io

5) Dengan menekan butang fizikal

Di atas ciri-ciri tersebut, pintu kandang ayam dapat mengirim pemberitahuan tolak ke telefon saya melalui aplikasi IFTTT mengenai sebarang masalah dengan pintu seperti pintu yang gagal dibuka atau ditutup.

Kerana kandang ayam saya berada di luar sekitar 500 kaki dari penghala WiFi saya, saya menggunakan pemancar dan penerima RFM69HCW 433MHz yang dipasangkan dengan ESP8266 untuk menyelesaikan projek ini. Terdapat kotak pemancar dalaman hitam dengan perkakasan yang disambungkan ke internet dan kotak penerima luaran kelabu yang mengawal motor.

Instruksional ini akan membawa anda melalui proses membuat perkakasan yang diperlukan untuk mengawal motor 12V yang membuka atau menutup pintu kandang ayam saya.

Saya menggunakan bahagian berikut:

Adafruit 32u4 dengan 433MHz RFM69HCW - $ 25

Adafruit MCP23017 I2C 16 input / output port expander IC - $ 2,95

Adafruit Feather HUZZAH dengan ESP8266 WiFi - $ 16.95

Adafruit Radio FeatherWing 433MHz RFM69HCW - $ 10

Adafruit SMA Connector untuk PCB tebal 1.6 mm - $ 2.50

Adafruit uFL SMA Antenna Connector - $ 0,75

Butang RGB Adafruit - $ 10,95

Bekalan kuasa 12V - $ 7

Bekalan kuasa USB 5V - $ 7

Kabel USB Mikro - $ 5

4 Channel Relay Board (boleh menggunakan 2 saluran) - $ 7

DC-DC Buck Converter (hanya digunakan satu tetapi boleh didapati dalam bentuk 5) - $ 20

Reed Switch (sensor suis pintu magnetik) - $ 9

Antena Omnidirectional 2x 433MHz - $ 6

uFL ke SMA Cable Adapter (hanya digunakan satu tetapi boleh didapati sebagai pek 2) - $ 5

Kotak projek ABS luar kalis air - $ 11

Kotak projek ABS hitam - $ 10

LCD Aksara Biru 20x4 - $ 10

Motor Antena Kereta 12V - ~ $ 25 di ebay

Kawat dan perintang

Langkah 1: Penerima Luar

Penerima Luar
Penerima Luar
Penerima Luar
Penerima Luar

Penerima luaran terdiri daripada Adafruit 32u4 dengan 433MHz RFM69HCW yang disambungkan ke beberapa geganti yang menghidupkan atau mematikan kuasa untuk motor 12V. Modul ini serta penukar DC-DC 12V hingga 5V terdapat di dalam kotak projek kelabu kalis air. Akhirnya, terdapat sensor suis pintu yang disambungkan ke salah satu pin mikrokontroler 32u4 Arduino yang merasakan sama ada pintu dibuka atau ditutup dengan betul atau tidak.

Setiap 15 saat, pemancar dalaman akan menghantar "Buka" atau "Tutup." Berdasarkan arahan yang diterima, Arduino 32u4 akan menghidupkan atau mematikan geganti. Untuk motor yang saya pilih, yang merupakan motor antena kereta lama, saya terpaksa menghidupkan atau mematikan dua geganti kerana cara motor dipasang. Pada asasnya terdapat relay untuk menghidupkan kuasa dan kemudian relay lain yang mengawal sama ada motor dilanjutkan atau ditarik.

Setelah transmisi terbuka atau tutup diterima, penerima luar bertindak balas dengan "sensorOpen" atau "sensorClosed" untuk menunjukkan status sensor suis pintu. Sebaik-baiknya, arahan "terbuka" akan memberikan respons "sensorOpen", namun, jika pintu tersekat atau motor macet, ini tidak akan sesuai. Apabila tidak sesuai, pemancar dalaman akan memaparkan maklumat tersebut dan pemberitahuan tolak akan dikirimkan ke telefon anda.

Langkah 2: Menyambungkan Perkakasan Penerima Luar

Menyambungkan Perkakasan Penerima Luar
Menyambungkan Perkakasan Penerima Luar
Menyambungkan Perkakasan Penerima Luar
Menyambungkan Perkakasan Penerima Luar
Menyambungkan Perkakasan Penerima Luar
Menyambungkan Perkakasan Penerima Luar

Perkakasan untuk penerima luaran tidak terlalu sukar untuk disambungkan. Saya memasukkan skema fritzing di bawah supaya pin yang saya gunakan dapat dilihat dengan mudah.

Seperti yang saya nyatakan di atas, motor yang saya gunakan memerlukan dua geganti. Saya menyertakan gambar pinout. Yang kedua anda menyambungkan 12V ke wayar merah, motor akan mundur jika dipanjangkan. Sekiranya anda menyambungkan 12V ke wayar merah dan wayar hijau pada masa yang sama, motor akan memanjang.

Suis reed yang saya pautkan di atas hendaklah disambungkan sebagai suis tertutup biasanya. Perbezaan antara biasanya terbuka dan tertutup biasanya dijelaskan dalam gambar yang saya lampirkan di atas. Dengan menggunakan perisian, ada resistor pullup dalaman yang terpasang pada pin input pada 32u4, jadi yang perlu anda lakukan hanyalah menyambungkan suis pintu ke pin input dan juga ke ground.

Anda perlu memasang antena ke Adafruit 32u4. Sila lihat tutorial Adafruit yang dijelaskan dengan baik mengenai langkah ini. Saya memilih untuk menggunakan antena luaran dan bukannya sekeping wayar untuk mendapatkan jarak yang lebih baik.

Langkah 3: Pemancar Dalaman

Pemancar Dalaman
Pemancar Dalaman
Pemancar Dalaman
Pemancar Dalaman
Pemancar Dalaman
Pemancar Dalaman

Pemancar dalaman terdiri daripada Adafruit Radio FeatherWing 433MHz RFM69HCW yang disusun di atas Adafruit Feather HUZZAH dengan ESP8266 WiFi. Modul ini disambungkan ke paparan watak 20x4 dan butang perak RGB di dalam kotak projek hitam.

Paparan mempunyai jam NTC yang disegerakkan, kekuatan RSSI dalam dB (mengukur kekuatan isyarat radio), masa ketika pintu kandang ayam akan dibuka, masa ketika pintu kandang ayam akan ditutup, dan status pintu semasa. Butang berwarna merah ketika pintu ditutup dan hijau ketika pintu terbuka.

Sekiranya penerima luaran kehilangan kuasa atau jika isyarat 433MHz tidak dapat dihantar untuk alasan apa pun, butang paparan dan RGB akan masuk ke yang pertama dari dua kemungkinan mod ralat. Dalam mod ralat pertama, paparan akan bertuliskan "RALAT! Cuba mulakan semula penerima luar." dan butang tidak akan mempunyai warna. Sekiranya sensor suis pintu mengesan pintu tidak ditutup atau terbuka dengan betul, butang paparan dan RGB akan masuk ke mod kedua ralat kedua. Dalam mod ralat kedua, paparan akan berbunyi "KESALAHAN! Masalah sensor pintu atau suis." dan butang tidak akan mempunyai warna. Apabila masalah itu selesai, butang paparan dan RGB akan kembali normal. Anda boleh menerima pemberitahuan tolak ke telefon anda jika salah satu daripada mod ralat ini berlaku (saya akan membahas penyiapan itu di langkah kemudian).

Langkah 4: Menyambungkan Perkakasan Pemancar Dalaman

Menyambungkan Perkakasan Pemancar Dalaman
Menyambungkan Perkakasan Pemancar Dalaman
Menyambungkan Perkakasan Pemancar Dalaman
Menyambungkan Perkakasan Pemancar Dalaman

Setelah memasang Adafruit Radio FeatherWing 433MHz RFM69HCW di atas Adafruit Feather HUZZAH dengan WiFi ESP8266, hanya ada 2 pin yang tidak diambil, pin I2C SDA dan SCL. Inilah sebabnya mengapa saya menggunakan litar bersepadu (IC) MCP23017. Ini adalah IC yang sangat hebat yang menghubungkan hingga 16 pin input / output tambahan ke mana-mana mikrokontroler melalui I2C. Selain itu, terdapat perpustakaan pra-tulisan yang disebut Adafruit-RGB-LCD-Shield yang menggunakan IC ini dengan paparan watak yang ditulis secara teknikal untuk produk Adafruit ini, namun ia berfungsi dengan sempurna untuk projek ini.

Idea untuk menggunakan MCP23017 dengan paparan watak berasal dari arahan yang ditulis dengan baik ini. Sila lihat!

Saya mengambil arahan itu dan bukannya menyambungkan banyak butang dan paparan RGB ke IC, saya hanya menyambungkan satu butang yang mempunyai LED RGB di dalamnya dan paparan monokrom ke IC. Ini membolehkan saya menentukan PIN 1 IC (biasanya digunakan untuk lampu latar biru paparan RGB) sebagai lampu latar untuk paparan monokrom saya, PIN 28 (biasanya digunakan untuk lampu latar hijau paparan RGB) sebagai LED merah di dalam butang, dan PIN 27 (biasanya digunakan untuk lampu latar merah paparan RGB) sebagai LED hijau di dalam butang. PIN 24 disambungkan ke satu sisi butang dan sebelah yang lain dihubungkan ke tanah. Anda dapat melihat pinout butang dalam gambar yang dilampirkan di atas (saya membiarkan katod biru terputus).

Selain menggunakan petunjuk yang saya pautkan untuk membantu memasang paparan, saya telah memasukkan skema fritzing yang akan membantu anda menghubungkan semuanya.

Anda mesti memotong tiga pin di bahagian atas FeatherWing 433MHz RFM69HCW seperti yang dijelaskan oleh tutorial Adafruit ini. Anda juga perlu memasang antena ke FeatherWing 433MHz RFM69HCW. Sila lihat tutorial Adafruit yang dijelaskan dengan baik mengenai langkah ini. Saya memilih untuk menggunakan antena luaran dengan penyambung SMA yang dipasang di sisi dan bukannya sekeping wayar untuk mendapatkan jarak yang lebih baik.

Langkah 5: Menyambung ke Adafruit. IO dan IFTTT

Menyambung ke Adafruit. IO dan IFTTT
Menyambung ke Adafruit. IO dan IFTTT
Menyambung ke Adafruit. IO dan IFTTT
Menyambung ke Adafruit. IO dan IFTTT

Adafruit IO:

Ikuti arahan pada tutorial Adafruit ini untuk mendaftar ke Adafruit. IO jika anda tidak mempunyai akaun. Anda juga harus membaca tentang apa itu suapan dan papan pemuka.

Secara ringkas, papan pemuka adalah seperti antara muka pengguna grafik sedangkan suapan adalah data yang anda hantar sehingga anda dapat menyimpannya di internet. Anda perlu membuat 1 Papan Pemuka dan 4 Suapan. Saya menamakan nama saya sebelum saya tahu bagaimana mengeja kandang ayam dengan betul, jadi maafkan ejaan yang salah. Sekiranya anda tidak mahu menamakan semula nama suapan dalam kod arduino, gunakan penamaan yang sama seperti yang saya lakukan.

Buat empat suapan terlebih dahulu:

1) "Chicken Coup" Ini untuk suis Buka / Tertutup

2) "Chicken Coup Timer" Ini untuk pemasa terbuka

3) "Chicken Coup Timer 2" Ini untuk pemasa tutup

4) "Mesej Ralat Chicken Coup" Ini adalah untuk mesej ralat

Buat papan pemuka seterusnya yang disebut Chicken Coup dan tambahkan 4 blok menggunakan butang + biru. Sila lihat gambar di atas untuk jenis blok yang harus anda letakkan serta nama blok. Pastikan memberi nama status suis dengan tepat "Buka" dan "Tutup"

IFTTT:

Bahagian IFTTT dari projek ini menambah keupayaan untuk menekan butang pada telefon anda dan menghantar teks untuk membuka atau menutup pintu kandang ayam. Ia juga membolehkan aplikasi IFTTT menghantar pemberitahuan push kepada anda sekiranya ada yang diterbitkan ke feed Mesej Kesalahan Chicken Coup. Sekiranya anda tidak mahukan kemampuan ini, anda boleh melangkau bahagian ini.

Pertama, sediakan akaun IFTTT jika anda belum memilikinya. Sekiranya anda ingin menggunakan applet pra-buatan yang saya buat, cukup pergi ke akaun saya dan hidupkan applet yang anda mahukan. Jika tidak, anda perlu membuat sendiri, dan melanggan atau menerbitkan makanan adafruit yang anda buat di atas.

Langkah 6: Memuat naik Kod & Menyunting SSID dan Kata Laluan WiFi

Anda perlu melalui halaman tutorial Adafruit ini untuk dapat memuat naik kod ke pemancar dalaman.

Anda perlu melalui halaman tutorial Adafruit ini untuk dapat memuat naik kod ke penerima luar.

Anda perlu memasang perpustakaan RFM69, perpustakaan Adafruit_RGBLCDShield, perpustakaan jam NTC yang disebut simpleDSTadjust, dan perpustakaan ticker. Anda boleh mendapatkan tutorial tentang cara melakukannya di sini.

Buka Arduino IDE dan muat naik kod "Outdoor_Receiver.ino" ke Arduino 32u4 luar melalui kabel USB.

Kemudian, buka "Indoor_Transmitter.ino", buka tab config.h, dan masukkan nama WiFi anda (SSID) dan kata laluan di dalam tanda petik. Kemudian, dapatkan nama pengguna Adafruit. IO dan Kunci IO anda dengan mengikuti halaman tutorial ini dan masukkan ke dalam tab config.h.

Sekiranya anda menukar nama suapan Adafruit IO, anda perlu mengedit kod di tab utama Indoor_Transmitter. Edit perkara berikut:

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

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

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

AdafruitIO_Feed * error = io.feed ("Mesej Ralat Chicken Coup");

Itulah yang harus anda lakukan! Sekiranya anda ingin mengetahui lebih lanjut bagaimana kedua-dua lakaran itu berfungsi, saya mengulas kod tersebut. Beritahu saya jika anda mempunyai sebarang pertanyaan. Semoga berjaya!

Disyorkan: