Daftar Isi:

IoT Outdoor Pet Door: 6 Langkah (dengan Gambar)
IoT Outdoor Pet Door: 6 Langkah (dengan Gambar)

Video: IoT Outdoor Pet Door: 6 Langkah (dengan Gambar)

Video: IoT Outdoor Pet Door: 6 Langkah (dengan Gambar)
Video: Anies Baswedan Diminta Turun dari Pelaminan Padahal Keluarga Erina Gudono Ingin Berfoto 2024, Juli
Anonim
Pintu Hewan Peliharaan Luar Ruang IoT
Pintu Hewan Peliharaan Luar Ruang IoT
Pintu Hewan Peliharaan Luar Ruang IoT
Pintu Hewan Peliharaan Luar Ruang IoT
Pintu Hewan Peliharaan Luar Ruang IoT
Pintu Hewan Peliharaan Luar Ruang IoT
Pintu Hewan Peliharaan Luar Ruang IoT
Pintu Hewan Peliharaan Luar Ruang IoT

Saya terinspirasi oleh instruksi ini untuk membuat pintu kandang ayam otomatis. Saya tidak hanya ingin pintu kandang ayam di timer, tetapi saya juga ingin menghubungkan pintu ke internet sehingga saya bisa mengontrolnya dengan telepon saya atau komputer saya. Pintu ini dibuat untuk kandang ayam saya, namun pintu ini dapat dengan mudah diterapkan pada jenis kandang lain untuk berbagai hewan peliharaan. Anda juga dapat menggunakan berbagai jenis motor 12V selain motor antena mobil lama yang saya gunakan.

Setelah mengatur dan menghubungkan Adafruit IO dan IFTTT ke ESP8266 saya, pintu kandang ayam saya dapat dikontrol secara online. Pintu dapat dibuka atau ditutup:

1) Pada waktu yang tepat saya masuk ke adafruit.io

2) Dengan menekan tombol di ponsel saya

3) Dengan mengirim pesan teks ke nomor tertentu

4) Dengan mengklik tombol di adafruit.io

5) Dengan menekan tombol fisik

Di atas fitur-fitur itu, pintu kandang ayam dapat mengirim pemberitahuan push ke ponsel saya melalui aplikasi IFTTT tentang masalah apa pun dengan pintu seperti pintu yang gagal dibuka atau ditutup.

Karena kandang ayam saya berada di luar sekitar 500 kaki dari router WiFi saya, saya menggunakan pemancar dan penerima RFM69HCW 433MHz yang dipasangkan dengan ESP8266 untuk menyelesaikan proyek ini. Ada kotak pemancar dalam ruangan hitam dengan perangkat keras yang terhubung ke internet dan kotak penerima luar ruangan abu-abu yang mengontrol motor.

Instruksi ini akan membawa Anda melalui proses pembuatan perangkat keras yang diperlukan untuk mengontrol motor 12V yang membuka atau menutup pintu kandang ayam saya.

Saya menggunakan bagian-bagian 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

Konektor SMA Adafruit untuk PCB setebal 1,6 mm - $2,50

Konektor Antena SMA Adafruit uFL - $0,75

Tombol tekan RGB Adafruit - $10,95

Catu daya 12V - $7

Catu daya USB 5V - $7

Kabel USB Mikro - $5

Papan Relay 4 Saluran (dapat menggunakan 2 saluran) - $7

DC-DC Buck Converter (hanya digunakan satu tetapi datang sebagai paket 5) - $20

Reed Switch (sensor sakelar pintu magnetik) - $9

2x 433MHz Antena Omnidirectional - $6

Adaptor Kabel uFL ke SMA (hanya digunakan satu tetapi datang sebagai paket 2) - $5

Kotak proyek ABS luar ruangan tahan air - $11

Kotak proyek ABS hitam - $10

LCD Karakter Biru 20x4 - $10

Motor Antena Mobil 12V - ~$25 di ebay

Kawat dan resistor

Langkah 1: Penerima Luar Ruangan

Penerima Luar Ruangan
Penerima Luar Ruangan
Penerima Luar Ruangan
Penerima Luar Ruangan

Penerima luar ruangan terdiri dari Adafruit 32u4 dengan RFM69HCW 433MHz yang terhubung ke beberapa relai yang menghidupkan atau mematikan daya untuk motor 12V. Modul-modul ini serta konverter DC-DC 12V ke 5V berada di dalam kotak proyek abu-abu tahan air. Terakhir, terdapat sensor sakelar pintu yang terhubung ke salah satu pin mikrokontroler Arduino 32u4 yang mendeteksi apakah pintu dibuka atau ditutup dengan benar saat seharusnya.

Setiap 15 detik, pemancar dalam ruangan akan mengirim "Buka" atau "Tutup". Berdasarkan perintah yang diterima, Arduino 32u4 akan mengaktifkan atau menonaktifkan relay. Untuk motor yang saya pilih, yang merupakan motor antena mobil tua, saya harus menghidupkan atau mematikan dua relay karena cara motor disambungkan. Pada dasarnya ada relai untuk menghidupkan daya dan kemudian ada relai lain yang mengontrol apakah motor diperpanjang atau ditarik.

Setelah transmisi buka atau tutup diterima, penerima luar ruangan merespons dengan "sensorOpen" atau "sensorClosed" untuk menunjukkan status sensor sakelar pintu. Idealnya, perintah "buka" akan mengembalikan respons "sensorBuka", namun, jika pintu macet atau motor macet, ini tidak akan cocok. Ketika tidak cocok, pemancar dalam ruangan akan menampilkan informasi itu dan pemberitahuan push akan dikirim ke telepon Anda.

Langkah 2: Menghubungkan Perangkat Keras Penerima Luar Ruangan

Menghubungkan Perangkat Keras Penerima Luar Ruangan
Menghubungkan Perangkat Keras Penerima Luar Ruangan
Menghubungkan Perangkat Keras Penerima Luar Ruangan
Menghubungkan Perangkat Keras Penerima Luar Ruangan
Menghubungkan Perangkat Keras Penerima Luar Ruangan
Menghubungkan Perangkat Keras Penerima Luar Ruangan

Perangkat keras untuk penerima luar ruangan tidak terlalu sulit untuk dipasang. Saya menyertakan skema fritzing di bawah ini agar pin yang saya gunakan dapat dengan mudah dilihat.

Seperti yang saya nyatakan di atas, motor yang saya gunakan membutuhkan dua relay. Saya menyertakan gambar pinout. Saat Anda menghubungkan 12V ke kabel merah, motor akan menarik kembali jika diperpanjang. Jika Anda menghubungkan 12V ke kabel merah dan kabel hijau secara bersamaan, motor akan memanjang.

Saklar buluh yang saya tautkan di atas harus disambungkan sebagai saklar yang biasanya tertutup. Perbedaan antara biasanya terbuka dan biasanya tertutup dijelaskan pada gambar yang saya lampirkan di atas. Menggunakan perangkat lunak, ada resistor pullup internal yang terpasang pada pin input pada 32u4, jadi yang perlu Anda lakukan hanyalah menghubungkan sakelar pintu ke pin input dan juga ke ground.

Anda harus memasang antena ke Adafruit 32u4. Silakan lihat tutorial Adafruit yang dijelaskan dengan sangat baik tentang langkah ini. Saya memilih untuk menggunakan antena eksternal daripada sepotong kawat untuk mendapatkan jangkauan yang lebih baik.

Langkah 3: Pemancar Dalam Ruangan

Pemancar Dalam Ruangan
Pemancar Dalam Ruangan
Pemancar Dalam Ruangan
Pemancar Dalam Ruangan
Pemancar Dalam Ruangan
Pemancar Dalam Ruangan

Pemancar dalam ruangan terdiri dari Adafruit Radio FeatherWing 433MHz RFM69HCW yang ditumpuk di atas Adafruit Feather HUZZAH dengan ESP8266 WiFi. Modul-modul ini terhubung ke tampilan karakter 20x4 dan tombol perak RGB di dalam kotak proyek hitam.

Layar memiliki jam tersinkronisasi NTC, kekuatan RSSI dalam dB (mengukur kekuatan sinyal radio), waktu saat pintu kandang ayam akan terbuka, waktu saat pintu kandang ayam akan ditutup, dan status pintu saat ini. Tombolnya berwarna merah saat pintu tertutup dan berwarna hijau saat pintu terbuka.

Jika penerima luar ruangan kehilangan daya atau jika sinyal 433MHz tidak dapat dikirim karena alasan apa pun, tampilan dan tombol RGB akan masuk ke mode kesalahan pertama dari dua kemungkinan. Dalam mode kesalahan pertama, tampilan akan mengatakan "ERROR! Coba mulai ulang receiver luar ruangan." dan tombol tidak akan memiliki warna. Jika sensor sakelar pintu mendeteksi pintu tidak menutup atau membuka dengan benar, tampilan dan tombol RGB akan masuk ke mode kesalahan kedua dari dua mode kesalahan. Dalam mode kesalahan kedua, tampilan akan mengatakan "ERROR! Door or switch sensor issue." dan tombol tidak akan memiliki warna. Saat masalah teratasi dengan sendirinya, tampilan dan tombol RGB akan kembali normal. Anda dapat menerima pemberitahuan push ke ponsel Anda jika salah satu dari mode kesalahan ini terjadi (saya akan membahas pengaturan itu di langkah selanjutnya).

Langkah 4: Menghubungkan Perangkat Keras Pemancar Dalam Ruangan

Menghubungkan Perangkat Keras Pemancar Dalam Ruangan
Menghubungkan Perangkat Keras Pemancar Dalam Ruangan
Menghubungkan Perangkat Keras Pemancar Dalam Ruangan
Menghubungkan Perangkat Keras Pemancar Dalam Ruangan

Setelah menumpuk Adafruit Radio FeatherWing 433MHz RFM69HCW di atas Adafruit Feather HUZZAH dengan WiFi ESP8266, hanya tersisa 2 pin yang tidak diambil, yaitu pin I2C SDA dan SCL. Inilah mengapa saya menggunakan sirkuit terpadu (IC) MCP23017. Ini adalah IC yang sangat keren yang menghubungkan hingga 16 pin input/output tambahan ke mikrokontroler apa pun melalui I2C. Plus, ada perpustakaan pra-tertulis yang disebut Adafruit-RGB-LCD-Shield yang menggunakan IC ini dengan tampilan karakter yang secara teknis ditulis untuk produk Adafruit ini, namun berfungsi sempurna untuk proyek ini.

Ide untuk menggunakan MCP23017 dengan tampilan karakter berasal dari instruksi yang ditulis dengan sangat baik ini. Silakan periksa!

Saya mengambil instruksi itu dan alih-alih menghubungkan beberapa tombol dan tampilan RGB ke IC, saya hanya menghubungkan satu tombol yang memiliki LED RGB di dalamnya dan tampilan monokrom ke IC. Ini memungkinkan saya untuk menentukan PIN 1 dari IC (biasanya digunakan untuk lampu latar biru layar RGB) sebagai lampu latar untuk layar monokrom saya, PIN 28 (biasanya digunakan untuk lampu latar hijau layar RGB) sebagai LED merah di dalam tombol, dan PIN 27 (biasanya digunakan untuk lampu latar merah tampilan RGB) sebagai LED hijau di dalam tombol. PIN 24 terhubung ke satu sisi tombol dan sisi lainnya terhubung ke ground. Anda dapat melihat pinout tombol pada gambar terlampir di atas (saya membiarkan katoda biru terputus).

Selain menggunakan instruksi yang saya tautkan untuk membantu memasang tampilan, saya telah menyertakan skema fritzing yang akan membantu Anda menghubungkan semuanya.

Anda harus menyingkat tiga pin di bagian atas FeatherWing 433MHz RFM69HCW seperti yang dijelaskan oleh tutorial Adafruit ini. Anda juga harus memasang antena ke FeatherWing 433MHz RFM69HCW. Silakan lihat tutorial Adafruit yang dijelaskan dengan sangat baik tentang langkah ini. Saya memilih untuk menggunakan antena eksternal dengan konektor SMA yang dipasang di samping daripada sepotong kawat untuk mendapatkan jangkauan yang lebih baik.

Langkah 5: Menghubungkan ke Adafruit. IO dan IFTTT

Menghubungkan ke Adafruit. IO dan IFTTT
Menghubungkan ke Adafruit. IO dan IFTTT
Menghubungkan ke Adafruit. IO dan IFTTT
Menghubungkan ke Adafruit. IO dan IFTTT

Adafruit IO:

Silakan ikuti instruksi pada tutorial Adafruit ini untuk mendaftar Adafruit. IO jika Anda tidak memiliki akun. Anda juga harus membaca tentang apa itu umpan dan dasbor.

Dalam istilah sederhana, dasbor adalah semacam antarmuka pengguna grafis, sedangkan umpan adalah tempat Anda mengirim data sehingga Anda dapat menyimpannya di internet. Anda harus membuat 1 Dasbor dan 4 Umpan. Saya menamai milik saya sebelum saya tahu cara mengeja kandang ayam dengan benar, jadi mohon maafkan ejaan yang salah. Jika Anda tidak ingin mengganti nama feed dalam kode arduino, gunakan saja penamaan yang sama seperti yang saya lakukan.

Buat empat feed terlebih dahulu:

1) "Kudeta Ayam" Ini untuk sakelar Buka/Tutup

2) "Pewaktu Kudeta Ayam" Ini untuk pengatur waktu terbuka

3) "Chicken Coup Timer 2" Ini untuk close timer

4) "Pesan Kesalahan Kudeta Ayam" Ini untuk pesan kesalahan

Buat dasbor selanjutnya bernama Chicken Coup dan tambahkan 4 blok menggunakan tombol + biru. Silakan lihat gambar di atas untuk jenis balok yang harus Anda tempatkan serta nama baloknya. Pastikan untuk memberi nama status sakelar dengan tepat "Buka" dan "Tertutup"

IFTTT:

Bagian IFTTT dari proyek ini menambahkan kemampuan untuk menekan tombol di ponsel Anda dan mengirim teks untuk membuka atau menutup pintu kandang ayam. Ini juga memungkinkan aplikasi IFTTT untuk mengirimi Anda pemberitahuan push jika ada yang dipublikasikan ke umpan Pesan Kesalahan Chicken Coup. Jika Anda tidak menginginkan kemampuan ini, Anda dapat melewati bagian ini.

Pertama, buat akun IFTTT jika Anda belum memilikinya. Jika Anda ingin menggunakan applet siap pakai yang saya buat, cukup navigasikan ke akun saya dan aktifkan applet yang Anda inginkan. Jika tidak, Anda harus membuat sendiri, dan berlangganan atau mempublikasikan feed adafruit yang Anda buat di atas.

Langkah 6: Mengunggah Kode & Mengedit SSID dan Kata Sandi WiFi

Anda harus melalui halaman tutorial Adafruit ini untuk dapat mengunggah kode ke pemancar dalam ruangan.

Anda harus melalui halaman tutorial Adafruit ini untuk dapat mengunggah kode ke receiver luar ruangan.

Anda perlu menginstal pustaka RFM69, pustaka Adafruit_RGBLCDShield, pustaka jam NTC yang disebut simpleDSTadjust, dan pustaka ticker. Anda dapat menemukan tutorial tentang cara melakukannya di sini.

Buka Arduino IDE dan unggah kode "Outdoor_Receiver.ino" ke Arduino 32u4 luar ruangan melalui kabel USB.

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

Jika Anda mengubah nama feed Adafruit IO, Anda perlu mengedit kode di tab utama Indoor_Transmitter. Sunting berikut ini:

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("Pesan Kesalahan Kudeta Ayam");

Itu saja yang harus Anda lakukan! Jika Anda ingin lebih memahami cara kerja kedua sketsa, saya mengomentari kodenya. Tolong beri tahu saya jika Anda memiliki pertanyaan. Semoga beruntung!

Direkomendasikan: