Isi kandungan:

Pengumpan Ikan Automatik Ultimate DIY: Tahap 2: 10 Langkah (dengan Gambar)
Pengumpan Ikan Automatik Ultimate DIY: Tahap 2: 10 Langkah (dengan Gambar)

Video: Pengumpan Ikan Automatik Ultimate DIY: Tahap 2: 10 Langkah (dengan Gambar)

Video: Pengumpan Ikan Automatik Ultimate DIY: Tahap 2: 10 Langkah (dengan Gambar)
Video: 6 Selebriti yang Tampil Terlalu Wah saat Kondangan, Disebut Saingi Pengantiin 2024, Julai
Anonim
Pengumpan Ikan Automatik Ultimate DIY: Tahap 2
Pengumpan Ikan Automatik Ultimate DIY: Tahap 2

Pengumpan Tier 2 adalah langkah besar dari Tahap 1. Versi ini menggunakan modul wifi ESP8266 untuk menyegerakkan jam arduino untuk mengawal jadual makan dan pencahayaan tangki.

Langkah 1: Apa yang Anda Perlu:

Semua yang ada di Tahap 1 kecuali pemasa cahaya

  • ESP8266-01
  • Pengaturcara FTDI (untuk memprogram ESP8266)
  • Besi pematerian
  • Jalur LED 5V RGBW (SK6812 IP 65, putih siang hari, saya menggunakan ini)
  • Jalur cahaya mesti kalis air, kerana air akan menguap dari tangki dan mengembun pada penutup tangki dan menyala sendiri.
  • Bekalan kuasa 5V (saya menggunakan yang ini, arduino TIDAK BOLEH menghidupkan semua lampu dengan sendiri.)
  • Jangan ragu untuk menggunakan mana-mana bekalan kuasa 5V yang anda mahukan, pastikan ia memberi kuasa yang mencukupi untuk membekalkan semua lampu.
  • Pengatur voltan 3.3V
  • ESP8266 berjalan pada 3.3V, ini sebabnya semua yang lain adalah 5V, lebih mudah untuk melangkah ke 5 hingga 3.3 daripada turun ke 12 hingga 3.3
  • Perintang (1kOhm x2, 2kOhm x2 (atau 1kOhm x4), 10kOhm x1)
  • Lem super
  • Gam Panas
  • Bahagian bercetak 3D x8 (fail STL disediakan)
  • Pelucut wayar (saya cadangkan perkara berguna ini)
  • Papan roti (untuk perkara protoyping)
  • Protoboard / Papan projek (untuk pemasangan akhir)
  • Kabel kuasa komputer 3 serong standard.
  • (pilihan) Motor getaran telefon bimbit (untuk menggerakkan hopper) (Saya menggunakan salah satunya)
  • Pasang pustaka arduino ini:
  • ESP8266WiFi.h
  • WiFiUdp.h
  • TimeLib.h
  • Senja2Dawn.h
  • Adafruit_NeoPixel.h
  • Sabar.

Langkah 2: Bagaimana Ia Berfungsi

ESP8266 mendapat masa Unix dari pelayan NIST dan meneruskannya ke arduino. Arduino kemudian menggunakan waktu itu untuk menentukan matahari terbit dan terbenam tempatan dan menyegerakkan jam dalamannya untuk menentukan berapa minit yang berlalu sejak tengah malam. Dengan menggunakan masa yang berlalu ini sejak tengah malam, arduino menetapkan warna lampu dan tahu kapan harus mengaktifkan pengumpan, yang merupakan mekanisme yang sama dengan frekuensi Tier 1. Tetapan lalai dalam kod arduino yang saya tulis mempunyai lampu yang ditetapkan pada kitaran siang / malam yang dapat dikendalikan hingga yang kedua untuk memudar dan diselaraskan dengan matahari terbit dan terbenam lokasi anda. Arduino juga mengatur semula dirinya sekali sehari untuk menyegerakkan semula dirinya dengan pelayan NIST dan memastikan tidak ada limpahan pemasa

Langkah 3: Memprogram ESP8266

Mengaturcara ESP8266
Mengaturcara ESP8266

Baiklah, jadi ESP8266 adalah bajingan untuk diprogramkan.

Ia tidak mesra papan roti dan jika anda mempunyai wayar pelompat wanita, saya cadangkan menggunakannya. Sekiranya ESP8266 anda disertakan tanpa firmware yang dipasang seperti yang saya buat, anda mesti mem-flash firmware tersebut. Gunakan pengaturcara FTDI untuk melakukan ini, terdapat banyak arahan mengenai cara melakukannya di tempat lain, tetapi saya menyediakan gambarajah pendawaian untuk kemudahan. PASTIKAN bahawa pengaturcara FTDI menyediakan 3.3V! 5V akan menggoreng ESP8266 anda. Dalam rajah saya, warna oren yang bersambung antara GPI01 dan GND hanya boleh dibuat semasa mem-flash firmware ESP8266. GPI01 tidak boleh dihubungkan semasa memuat naik kod arduino sebenar ke modul.

Seterusnya, anda perlu memuat naik kod sebenar ESP8266. Gunakan pengaturcara FTDI kali ini bersama dengan arduino IDE. Anda juga perlu memuat turun dan memasang semua perpustakaan yang digunakan. Tetapan yang digunakan untuk memuat naik kod dengan arduino 1.8 ada di bahagian komen pada awalnya. PASTI untuk mengemas kini kod dengan rangkaian dan kata laluan wifi anda.

Langkah 4: Sambungkan ESP8266 ke Arduino

Sambungkan ESP8266 ke Arduino
Sambungkan ESP8266 ke Arduino
Sambungkan ESP8266 ke Arduino
Sambungkan ESP8266 ke Arduino

Setelah kod dimuat, anda boleh memutuskan sambungan programmer FTDI dan menyambungkan ESP8266 seperti yang ditunjukkan dalam rajah. Perintang digunakan sebagai pembahagi voltan untuk memastikan arduino tidak mengepam 5V ke dalam pin komunikasi dan tetapan semula ESP8266. Lakukan langkah ini di papan roti untuk debug, kami akan meletakkannya di papan proto nanti.

Setelah ESP8266 semuanya terpasang, anda akan melihat lampu kilat biru apabila disambungkan ke kuasa, setelah beberapa saat kemudian, ia akan mendapatkan waktu Unix dari internet dan menghantarnya ke arduino, maka ia mempunyai gelung kekosongan kosong () bahawa ia duduk sehingga diset semula, sama seperti pengumpan Tahap 1.

Untuk memastikan ESP8266 berfungsi, anda perlu memuat naik kod dari langkah seterusnya ke arduino dan membuka monitor bersiri.

Langkah 5: Memuat naik Kod Arduino dan Penyelesaian Masalah

Memuat naik Kod Arduino dan Penyelesaian Masalah
Memuat naik Kod Arduino dan Penyelesaian Masalah

Sekarang muat naik kod ke arduino nano, buka monitor bersiri, anda akan melihat sesuatu seperti contoh di atas. Arduino diset semula apabila anda membuka monitor bersiri, jadi ESP8266 akan diset semula pada masa yang sama. monitor bersiri akan mula mengira detik dari tengah malam pada 1 Januari 1970, sehingga ESP8266 menghantarnya waktu Unix semasa. Apabila itu berlaku, anda mesti melihat ini:

Proses ini boleh mengambil masa 3-15 saat, jadi bersabarlah. Saya jarang melihatnya mengambil masa lebih dari 10 saat tetapi memberikannya 15 sebelum anda mula menyelesaikan masalah.

Sekiranya ESP8266 anda tidak menghantar masa ke arduino, cubalah langkah berikut:

· Pastikan bahawa semuanya disambung dengan tepat seperti yang sepatutnya

· Periksa semula bahawa anda memasukkan SSID dan kata laluan wifi yang betul ke dalam ESP8266, jika tidak, anda harus menghubungkannya kembali ke pengaturcara FTDI untuk memuat naik maklumat yang betul, kemudian kembalikan ke arduino. (SSID atau kata laluan yang sangat panjang boleh menyebabkan beberapa masalah, tetapi rangkaian wifi saya mempunyai lebih daripada 20 aksara di kedua-dua bidang tersebut sehingga kebanyakan rangkaian rumah harus baik)

· Periksa halaman pentadbir penghala anda (jika boleh) untuk peranti yang disambungkan yang hanya muncul ketika ESP8266 dihidupkan. Untuk memastikannya tetap aktif semasa anda menyemak ini (arduino melumpuhkannya) sambungkan semula wayar yang menuju ke pin tetapan semula ESP8266 terus ke 3.3V, menjadikannya TINGGI akan mengekalkan ESP8266. Pastikan membatalkan ini setelah anda memeriksa.

Langkah 6: Menyesuaikan Kod Arduino

Setelah ESP8266 anda disambungkan dan menghantar masa ke arduino, arduino yang diprogramkan akan menghitung waktu dan memaparkan beberapa maklumat debugging lain, seperti matahari terbit dan terbenam. Kami dapat menyesuaikan beberapa nilai ini dalam kod arduino, selebihnya ada sehingga saya dapat menyahpepijat seluruh sistem.

Untuk lebih memahami bagaimana arduino mengira matahari terbit dan terbenam, baca dokumentasi di Perpustakaan Dusk2Dawn. Anda perlu memasukkan garis lintang dan garis bujur anda (jika anda menukar nama lokasi anda, pastikan ia berubah di mana-mana sahaja dalam kod!) Dusk2Dawn menggunakan koordinat gps anda (yang dapat anda temukan di peta google) dan waktu tempatan, untuk tentukan bila matahari terbit dan terbenam dalam beberapa minit dari tengah malam. Pemboleh ubah minfromMid adalah minit semasa sejak tengah malam, dan dibandingkan dengan matahari terbit, matahari terbenam, waktu makan, dan waktu senja untuk memberitahu arduino kapan harus melakukan apa. Pastikan juga mengemas kini zon waktu anda, lalai adalah EST.

Setelah lokasi anda ditetapkan, tetapkan waktu senja untuk memberitahu arduino berapa lama anda mahu senja. Ini mengawal berapa lama tempoh antara siang dan malam berlangsung, dan diberikan dalam beberapa minit. Lalai adalah 90 minit, jadi lampu RGBW akan pudar dari waktu siang hingga malam hari atau sebaliknya dalam jumlah waktu tersebut.

Seterusnya, tetapkan masa makan yang anda mahukan. Waktu makan sebenarnya ditetapkan dalam kaedah getTime () untuk memastikan makanan disegerakkan dengan siang / malam. Sekiranya anda mahu ikan anda diberi makan pada waktu yang sama setiap hari, beri komen mengenai tetapan relatif dan gunakan tetapan awal di awal kod. Ingat bahawa waktu ini adalah dalam beberapa minit dari tengah malam. Menggunakan waktu makan awal yang sukar dikodekan dapat mengganggu pencahayaan jika waktu makan mendarat pada waktu pudar antara senja dan siang hari (saat matahari terbit dan terbenam). Lalai untuk kod adalah masing-masing 15 minit sebelum dan sesudah matahari terbenam dan terbit. Masa makan tambahan boleh ditambah jika anda mahu.

Seterusnya, tetapkan masa yang anda mahukan untuk menetapkan semula arduino. Ini memastikan bahawa tidak ada masa yang berlebihan dan menyegerakkan semula jam. Saya mengesyorkan agar ini berlaku pada tengah hari, semasa anda tiada, kerana proses penetapan semula menyebabkan lampu menjadi terang sepenuhnya. Pada siang hari ini tidak akan menjadi masalah bagi ikan, tetapi pada waktu malam atau pagi / petang, kilatan cahaya dapat mengganggu ikan anda atau merosakkan rupa tangki selama beberapa saat semasa anda menikmatinya.

Akhirnya, periksa jumlah LED di jalur yang anda ada, Jalur saya mempunyai 60, tetapi anda harus mengemas kini nilai ini dalam kod persediaan untuk seberapa banyak LED yang anda gunakan.

Langkah 7: Pencahayaan

Pencahayaan
Pencahayaan

Sambungkan jalur LED anda jika anda belum melakukannya.

Kuasa (merah) hingga 5V, tanah (putih) ke tanah, isyarat (hijau) ke pin 6 (atau apa sahaja yang anda tetapkan). Setelah arduino diset semula, lampu akan berada pada kecerahan penuh sehingga ESP8266 menghantar masa ke arduino dan ia menentukan di mana ia berada dalam kitaran pencahayaan. Sebaiknya atur ini pada waktu petang atau malam, kerana perubahan cahaya akan lebih drastik. Sekiranya lampu tidak berubah dalam 30 saat, tetapkan semula arduino. Kod tetapan semula saya semestinya berfungsi, tetapi saya bukan pengaturcara mengikut perdagangan, jadi mungkin masih terdapat beberapa pepijat di sana sini. Anda boleh menguji tetapan semula berfungsi dengan menetapkan waktu set semula menjadi satu minit setelah anda memuat naik semula kod dan menunggu (tetapan semula secara rawak, jadi mungkin memerlukan 1-2 minit untuk benar-benar menetapkan semula) Anda boleh melakukan trik yang sama kemudian untuk memastikan bahawa servo berfungsi dengan mengubah masa makan. Pastikan anda mengubah masa ini sebelum anda membiarkannya berjalan.

Jadual pencahayaan lalai cukup mudah:

Pada waktu malam, semua lampu mati kecuali warna biru, yang berada pada kedudukan terendah (2/255). Seiring waktu menjelang matahari terbit, warna biru meningkat menjadi intensiti penuhnya (255), yang sampai pada awal senja. Semasa senja, jalan merah dan hijau naik dari jarak hingga 255. Pada waktu matahari terbit, merah, biru, dan hijau semuanya pada suhu 255, tetapi siang hari berwarna putih, sehingga selama 2 minit berikutnya, merah, biru, dan hijau memudar dan putih pudar masuk. Sepanjang hari selebihnya warna putih berada pada intensiti penuh, hingga 2 minit sebelum matahari terbenam, ketika ia memudar dan diganti dengan warna merah, biru, dan hijau lagi. Pada waktu matahari terbenam, pencahayaan kembali memasuki senja, kecuali kali ini merah dan hijau mulai pada intensiti penuh dan pudar, meninggalkan warna biru pada intensiti penuh ketika waktu malam tiba. Dari sini, warna biru perlahan-lahan memudar kembali ke nilai terendahnya, yang sampai pada tengah malam.

Kod lain ada di akhir lakaran arduino untuk mod pencahayaan lain, jadi jangan ragu untuk bermain-main dengan matematik untuk mendapatkan pencahayaan untuk memudar secara berbeza atau untuk menukar warna pada tempoh yang berlainan pada hari itu. Ingat bahawa matematik dilakukan dalam format apungan, tetapi nilai warna harus ints, jadi penukaran diperlukan antara keduanya dengan matematik pencahayaan baru yang anda laksanakan.

Langkah 8: Mencetak Bahagian

Sekiranya anda belum mencetak bahagian untuk Tahap ini, lakukanlah. Perumahan ini berukuran hampir sama dengan unit penapis bersaiz sederhana, dan saya mengambil masa semalaman untuk mencetak. Bersihkan bahagiannya, masukkan pembahagi sekat, dengan alur menghadap ke atas dan tepi bulat menghadap ke luar. Servo dipasang dengan cara yang sama seperti di Tier 1, dan jika anda mengganti sistem Tier 1, hopper, penutup, dan roda makan sama, jadi anda tidak perlu mencetaknya semula jika berfungsi.

Folder.zip mengandungi dua set fail STL, satu untuk motor servo SM22 asli yang saya gunakan dan satu lagi untuk servo SG90 yang jauh lebih biasa. Kedua-duanya mengandungi fail Fusion 360 jika anda mahu / perlu mengubahsuai mana-mana bahagiannya. SM22 STL pasti sesuai, kerana ia adalah yang pernah saya gunakan. Saya belum mencetak atau menguji bahagian SG90.

Untuk bahan, saya cadangkan menggunakan plastik yang selamat untuk makanan. Saya menggunakan Raptor PLA dari makergeeks, yang terdapat dalam banyak warna dan sangat kuat setelah anda menyekatnya selama 10 minit. Itu boleh dilakukan dengan merebus bahagiannya, yang saya sarankan anda lakukan hanya dengan roda jika tidak cukup pas kerana penyepuhlindapan akan mengecilkan bahagian sekitar.3%.

Saya mencetak perumahan di sisinya (dengan bahagian atas menghadap ke sisi dan bahagian terbuka menghadap ke atas) Ini menggunakan bahan sokongan yang jauh lebih sedikit daripada orientasi lain. Hopper boleh dicetak terbalik untuk mengelakkan semua bahan sokongan di atasnya. Tudung hopper juga harus dicetak terbalik, namun penutup besar harus dicetak ke kanan.

Terdapat juga bahagian 'endstop' untuk memberi sokongan ke bahagian bawah perumahan. Setelah meninggalkan pengumpan di tempat selama beberapa minggu, saya melihat bahawa ia mulai melengkung dan membengkokkan dari berat bekalan kuasa, dan itu mempengaruhi kemampuan hopper untuk memasukkan makanan ke roda. Cukup perekat 1-2 hujung ke bahagian bawah perumahan untuk memastikan semuanya tetap rata.

Langkah 9: Perhimpunan

perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan

Gunakan protoboard untuk menghubungkan semuanya. Saya menggunakan wayar jumper jadi saya tidak perlu menyolder terlalu banyak, tetapi di sinilah anda akan paling banyak menyolder. Selagi sambungannya sama, sistem akan berfungsi seperti yang berlaku di papan roti. Saya menyatukan pin header untuk mencipta "rel" kuasa untuk ground, 5V, 3.3V, dan juga port isyarat servo dan 3.3V tanpa kuasa ke ESP8266 (RX, CH_PD, dan RST). Saya mengarahkan semua pin ke arah bahagian bawah protoboard, dengan komponen di bahagian atas.

Setelah protoboard lengkap, masukkan ke rongga atas perumahan dan sambungkan motor servo. Kabel pencahayaan keluar takik di penutup kandang, dan bekalan kuasa masuk di rongga bawah. Rongga bawah bulat dan mempunyai sedikit cerun untuk mengalirkan air yang entah bagaimana berjaya masuk ke dalam kandang jauh dari elektronik. Sambungkan terminal positif dan negatif bekalan kuasa ke sistem dan tambahkan penutup sisi.

Sekiranya anda belum melakukan ini untuk bekalan kuasa anda, potong hujung kabel kuasa yang tidak terpasang ke dinding dan lepaskan wayar dengan cukup sehingga anda dapat memasukkannya ke terminal bekalan kuasa yang betul. Sekiranya anda mempunyai hujung kelim yang boleh anda letakkan di hujungnya, saya cadangkan menggunakannya, jika tidak, tembaga yang telanjang akan baik-baik saja, pastikan tidak ada kekurangan! INGAT bahawa ini akan disambungkan ke kuasa dinding rumah anda, SELAMAT dan TIDAK PERNAH BEKERJA DENGAN SISTEM YANG DITEMPATKAN DI.

Seterusnya, jalur cahaya perlu ditambah ke tangki. Tanggalkan penutup tangki anda dan keringkan sepenuhnya. Pastikan permukaan penutup bersih dan kering sebelum menambahkan lampu. Jalur yang saya dapat mempunyai sokongan pelekat, ini tidak akan berfungsi untuk menahan jalur cahaya tetapi ia akan berfungsi untuk meletakkannya di sepanjang tepi penutup (atau di mana sahaja anda meletakkannya) Tudung tangki saya adalah ukuran yang tepat untuk jalur saya, jadi saya tidak perlu memanjangkan wayar. Pastikan semua wayar yang terdedah ditutup dengan bahan kalis air sebelum anda meletakkan penutup pada tangki semula. Saya menggunakan gam panas untuk menutup hujungnya, tetapi itu mungkin tidak berfungsi dalam jangka masa panjang. Setelah lampu disusun mengikut keinginan anda, pasangkannya semula ke tempatnya. Saya terpaksa menggunakan gam tambahan di sudut sejak jalur LED di atas sana. Biarkan lem kering selama beberapa minit sebelum anda meletakkan penutup pada tangki semula, untuk memastikan tidak ada yang menetes masuk. Setelah penutup dihidupkan hanya sambungkan wayar ke arduino.

Pemasangan feeder sama dengan feeder Tier 1. Servo sesuai dengan rongga dengan roda pengumpan terpaku padanya. Poket roda pengumpan harus menghala ke hopper ketika servo berada di kedudukan 0 (dan putar ke arah tangki di posisi 180). Sekiranya anda menggunakan motor getaran pilihan, pateri beberapa wayar plumbum ke dalamnya dan masukkan ke dalam hopper, terdapat rongga di rongga servo untuknya. Hantarkan wayar plumbum motor melalui jalan yang sama dengan wayar servo dan sambungkan ke ground dan pin motor di arduino. Panaskan pelekat ke pangkal.

Setelah semuanya disambungkan, anda boleh memasang bekalan kuasa ke dinding. Arduino harus melalui urutan permulaannya dan lampu akan berubah apabila mendapat waktunya. Sekiranya tidak, tetapkan semula papan sehingga ia mendapat masa. Saya memasang penutup penutup dengan panas tetapi membiarkan penutup sisi tidak terpasang sehingga saya dapat mengakses arduino untuk menetapkan semula atau memprogramkannya semula.

Tahniah! Penyuap ikan Tahap 2 anda selesai! Kagumi pencahayaan yang cantik dan kemampuannya memberi makan ikan semasa anda tiada! Pastikan anda memantau sistem selama beberapa hari ke depan untuk memastikan semuanya berfungsi dengan baik dan sebenarnya ikan anda diberi makan.

Langkah 10: Perkara yang Perlu Diperhatikan pada mulanya:

Perkara yang Perlu Diperhatikan pada Pertama
Perkara yang Perlu Diperhatikan pada Pertama
Perkara yang Perlu Diperhatikan pada Pertama
Perkara yang Perlu Diperhatikan pada Pertama
Perkara yang Perlu Diperhatikan pada Pertama
Perkara yang Perlu Diperhatikan pada Pertama

Semasa mula-mula memasang tambang, saya secara tidak sengaja menyambungkan servo ke pin isyarat yang salah, jadi ikan tidak diberi makan selama beberapa hari sehingga saya menyedari kesalahannya (saya telah memberi mereka makan secara manual pada waktu malam sebagai tindak balas kepada kesalahan berikutnya). Cuba tetapkan waktu makan sehingga anda kemungkinan besar akan memastikan bahawa ikan anda diberi makan.

Kesalahan lain yang perlu diperhatikan ialah menetapkan semula. Sekiranya, misalnya, anda tiba di rumah setelah matahari terbenam dan tangki anda masih diterangi siang hari, kemungkinan fungsi tetapan semula gagal dan arduino tidak pernah mendapat masa dari ESP8266. Ini juga bermaksud bahawa ikan anda tidak diberi makan sejak waktu reset, jadi anda mungkin harus memberi makan sendiri sambil menekan butang reset di arduino. Saya 99% pasti saya menghapuskan ini, tetapi pengekodan bukanlah profesion saya, jadi pastikan anda memerhatikannya.

Pastikan juga memeriksa makanan di hopper setiap minggu atau dua minggu, isi semula mengikut keperluan dan pastikan tidak ada yang buruk.

Sekiranya anda pergi bercuti, pastikan anda melakukan pertukaran air dan penyelenggaraan tangki asas lain sebelum anda pergi. Pengumpan hanya memastikan makanan dan pencahayaan tidak akan menjadi penghujung ikan anda jika anda terlalu lama. Anda semestinya tidak perlu lagi menggunakan pengumpan percutian!

Disyorkan: