Daftar Isi:

Kunang-kunang Arduino: 11 Langkah (dengan Gambar)
Kunang-kunang Arduino: 11 Langkah (dengan Gambar)

Video: Kunang-kunang Arduino: 11 Langkah (dengan Gambar)

Video: Kunang-kunang Arduino: 11 Langkah (dengan Gambar)
Video: Kunang Kunang | Metamorfosis Sempurna | Serangga TV Channel 2024, Juli
Anonim
Image
Image
Apa yang Anda Butuhkan
Apa yang Anda Butuhkan

Salah satu hal yang saya nantikan dengan musim panas di Pennsylvania adalah kunang-kunang di halaman belakang rumah saya. Baru-baru ini saya belajar sendiri pemrograman Adruino untuk tujuan membuat proyek sederhana ini. Ini adalah program yang bagus untuk memulai dan cukup mudah untuk setiap programmer, pemula hingga ahli, untuk membangun, memodifikasi, dan bersenang-senang hanya dalam beberapa menit. Mari kita mulai.

Langkah 1: Apa yang Anda Butuhkan

Apa yang Anda Butuhkan
Apa yang Anda Butuhkan

Agar bug Anda berkedip, Anda memerlukan komponen ini:

  • Arduino. Saya mulai dengan Nano, namun semua pengontrol mikro Arduino yang kompatibel akan melakukannya.
  • LED kuning, 5mm. Anda dapat menggunakan hingga 6 dari mereka.
  • Resistor. Anda akan membutuhkan satu resistor per LED untuk membatasi arus. Saya menggunakan 470-ohm tetapi apa pun di atas 150 ohm seharusnya baik-baik saja untuk melindungi pengontrol mikro Anda.
  • Papan tempat memotong roti.
  • Kawat jumper.

Untuk menyelesaikan proyek halaman belakang Anda, Anda memerlukan:

  • Kotak proyek tahan cuaca.
  • Baterai 9 volt dengan konektor. (Silakan lihat catatan di bagian bawah bagian ini.)
  • Mengalihkan. (Saya memilih sakelar tahan air ini. Jika Anda tidak menggunakan ini di luar, sakelar apa pun dapat digunakan.)
  • Beberapa meter kawat untuk menempatkan LED di sekitar taman. Saya menggunakan sekitar 10 kaki kabel Ethernet Cat5 per LED.
  • Papan tempat memotong roti kecil atau papan perf.
  • Kelenjar kabel tahan cuaca yang digunakan untuk menjalankan kabel LED. (Anda dapat menghilangkan ini jika Anda tidak menggunakan ini di luar juga.)
  • Heat shrink tubing untuk melindungi puntung bug LED Anda.
  • Strip hook-and-loop hijau (yaitu velcro) untuk menempelkan kunang-kunang LED ke tanaman dan tiang di kebun Anda.
  • Header laki-laki untuk memasukkan komponen ke papan tempat memotong roti kecil Anda.

Peralatan:

  • Mata bor untuk kotak proyek. (Gunakan kesempatan ini untuk mendapatkan langkah yang bagus. Anda akan senang melakukannya).
  • Pistol lem panas.
  • Besi solder.
  • Alat putar (yaitu Dremel) untuk mengukir ruang di kotak proyek jika Anda membutuhkannya.

Beberapa Catatan Di Sini:

1. Pilihan baterai adalah untuk memulai dengan cepat dan mudah. Menggunakan baterai 9 volt secara permanen memang sedikit boros. Anda lebih baik menggunakan dudukan baterai AA 4x untuk masa pakai yang lebih lama (namun Anda memerlukan kotak proyek yang lebih besar untuk memasangnya).

2. Jika Anda memilih untuk mendekonstruksi kabel Ethernet Cat 5 untuk kabelnya, pastikan kabel tersebut adalah inti tembaga dan bungkus dengan rapi di sekitar PVC agar tetap teratur saat Anda bekerja. Sekali lagi, saya menggunakan sekitar 10 kaki kawat per LED. Jika Anda ingin menyebarkan lampu jauh dan lebar, tentu saja gunakan kabel yang lebih panjang!

3. Terakhir, semua tautan yang saya berikan hanyalah saran. Harap baca seluruh Instruksi ini sebelum membangun atau membeli apa pun karena Anda akan mendapatkan pemahaman yang lebih baik tentang bagaimana Anda ingin melanjutkan secara pribadi.

Langkah 2: Bangun Sirkuit

Bangun Sirkuit
Bangun Sirkuit
Bangun Sirkuit
Bangun Sirkuit
Bangun Sirkuit
Bangun Sirkuit

Proyek ini menggunakan pin modulasi lebar pulsa pada Arduino Anda. Mikrokontroler memiliki 6 pin ini dan Anda dapat menggunakan sebanyak yang Anda inginkan. Sirkuitnya cukup lurus ke depan. Hubungkan semua daya dari pin modulasi lebar pulsa (PWM) D3, D5, D6, D9, D10, dan D11 ke ujung positif LED Anda. Kawat ujung negatif ke resistor dan kemudian ke landasan bersama. (Resistor dapat dipasang di depan atau di belakang LED. Tidak ada bedanya kecuali jika Anda ingin melindungi dari korsleting pada arus yang lebih tinggi.) Saya menyertakan beberapa skema untuk membantu pemasangan kabel. (Diagram yang dibuat menggunakan perangkat lunak desain Fritzing.)

Langkah 3: Kode

Image
Image

Jika Anda seorang programmer berpengalaman, Anda akan menemukan kode ini sederhana. Ini adalah kode yang bagus untuk mulai belajar karena memperkenalkan Anda pada penggunaan variabel, mode pin, fungsi, dan bahkan generator acak. Kode tidak sekompak mungkin karena saya yakin efek yang sama dapat dicapai dengan array dll.

Komentar kode menguraikan logika setiap bagian. Seluruh kode disematkan di sini dan Anda dapat mengunduh sketsa di bawah ini.

/*

Script ini berkedip 6 LED (kuning, tentu saja) dalam urutan acak pada interval acak menggunakan PWM. Setiap LED dikendalikan oleh fungsinya sendiri. */ int led1 = 3; // LED terhubung ke pin 3 PWM, dll. Saya menggunakan semua 6 pin PWM. int led2 = 5; int led3 = 6; int led4 = 9; int led5 = 10; int led6 = 11; randnum panjang; // randnum mengontrol interval waktu antara flash dan randbug panjang; //randbug mengontrol bug mana yang menyala. void setup() { pinMode(led1, OUTPUT); //Menetapkan semua pin PWM sebagai output. pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); pinMode(led4, OUTPUT); pinMode(led5, OUTPUT); pinMode(led6, OUTPUT); } void loop(){ randbug = acak(3, 12); //randbug secara acak memilih fungsi untuk dieksekusi, //sehingga secara acak memilih bug untuk dinyalakan. if (randbug == 3) { bug1(); } if (randbug == 5) { bug2(); } if (randbug == 6) { bug3(); } if (randbug == 9) { bug4(); } if (randbug == 10) { bug5(); } if (randbug == 11) { bug6(); } } /* * Setiap fungsi ini bekerja dengan cara yang sama. 'untuk loop' meningkat kemudian mengurangi * output dari pin itu untuk mengontrol kecerahan LED. * 'randnum' adalah interval waktu acak antara 10 dan 3000 ms * dan memilih interval waktu antara bug berkedip. * 'delay 10' hanya untuk efek fade. */ void bug1(){ randnum = random(10, 3000); for(int fadeValue = 0; fadeValue = 0; fadeValue -=5) { analogWrite(led1, fadeValue); penundaan (10); } penundaan (angka); } void bug2() { randnum = random(10, 3000); for(int fadeValue = 0; fadeValue = 0; fadeValue -=5) { analogWrite(led2, fadeValue); penundaan (10); } penundaan (angka); } void bug3() { randnum = random(10, 3000); for(int fadeValue = 0; fadeValue = 0; fadeValue -=5) { analogWrite(led3, fadeValue); penundaan (10); } penundaan (angka); } void bug4(){ randnum = random(10, 3000); for(int fadeValue = 0; fadeValue = 0; fadeValue -=5) { analogWrite(led4, fadeValue); penundaan (10); } penundaan (angka); } void bug5() { randnum = random(10, 3000); for(int fadeValue = 0; fadeValue = 0; fadeValue -=5) { analogWrite(led5, fadeValue); penundaan (10); } penundaan (angka); } void bug6() { randnum = random(10, 3000); for(int fadeValue = 0; fadeValue = 0; fadeValue -=5) { analogWrite(led6, fadeValue); penundaan (10); } penundaan (angka); }

Langkah 4: Bangun Kotak

Membangun Bug Butts!
Membangun Bug Butts!

Setelah Anda mem-flash Arduino Anda dengan kode dan membuat kunang-kunang bekerja sesuai keinginan Anda, Anda mungkin ingin meletakkannya di taman; itu berarti kotak proyek dan panas menyusut untuk menjaga Arduino dan LED tetap kering. Ayo buat!

Langkah 5: Membangun Bug Butts

Membangun Bug Butts!
Membangun Bug Butts!
Membangun Bug Butts!
Membangun Bug Butts!
Membangun Bug Butts!
Membangun Bug Butts!
  • Pangkas kabel LED menjadi sekitar 5mm.
  • Kupas dan rekatkan ujung kabel yang Anda gunakan, juga sekitar 5mm.
  • Geser tabung heat shrink 1mm di atas setiap ujung kawat.
  • Solder LED ke kabel. (Pada titik ini, Anda harus memilih kabel mana dalam pasangan Anda yang akan menjadi positif dan negatif. Saya memilih kabel solid sebagai positif dan kabel putih sebagai negatif. Pertahankan strategi itu di seluruh proyek untuk menghindari sakit kepala nanti!)
  • Geser heat shrink ke atas di atas kabel telanjang dan kabel LED. Nyalakan api cepat di atasnya untuk mengecilkannya ke kabel.
  • Geser bagian lain dari heat shrink di atas LED dan kabel dengan lensa LED mencuat di ujungnya dan lelehkan di tempatnya.
  • Geser beberapa potong heat shrink ke kawat sepanjang panjangnya dan lelehkan di setiap beberapa kaki untuk menjaga kawat tetap rapi.

Langkah 6: Siapkan Kotak Proyek

Siapkan Kotak Proyek
Siapkan Kotak Proyek
Siapkan Kotak Proyek
Siapkan Kotak Proyek
  • Gunakan alat putar dengan bit drum pengamplasan untuk membersihkan plastik yang tidak dibutuhkan di kotak proyek Anda. (Berhati-hatilah untuk tidak memotong dudukan sekrup yang mungkin Anda perlukan untuk memasang kembali kotak Anda.)
  • Putuskan di mana Anda ingin sakelar Anda dan kabel LED keluar. Saya menyarankan sisi tetapi gunakan apa yang sesuai dengan kebutuhan Anda.
  • Gunakan mata bor ukuran yang sesuai untuk membuat lubang untuk kelenjar kabel dan sakelar Anda.

Catatan: Pada foto di atas, Anda akan melihat saya membuat "kabel dummy". Ini adalah bundel 6 pasang kabel yang saya gunakan untuk LED dengan heat shrink untuk menyatukannya. Saya menggunakannya untuk memastikan kelenjar kabel akan pas dengan kelompok kabel yang sebenarnya dan juga untuk menguji ketahanan air kotak setelah sakelar, kelenjar kabel, dan tutupnya menyala. (Setelah terendam selama 24 jam dalam air berukuran 6 inci, kelembapan di dalamnya sangat sedikit. Saya akan dengan senang hati menyebut kotak ini "tahan cuaca.")

Langkah 7: Bawa Kekuatan

Bawa Kekuatan!
Bawa Kekuatan!
Bawa Kekuatan!
Bawa Kekuatan!
  • Tentukan berapa banyak baterai dan kabel sakelar yang Anda perlukan untuk mencapai Arduino Anda dengan menempatkan ketiga komponen secara kasar di dalam kotak proyek. Potong kabel sakelar dan konektor baterai 9V. Kupas dan rekatkan ujungnya. Geser sedikit heat shrink di tempatnya untuk langkah berikutnya.
  • Potong dua pin header jantan dari strip Anda (tetapi pertahankan agar tetap menempel).
  • Solder ujung merah konektor baterai 9V ke salah satu ujung sakelar. Solder ujung sakelar yang lain ke pin header laki-laki. Solder kabel baterai hitam ke pin header laki-laki lainnya.
  • Seperti yang ditunjukkan pada diagram di atas, pin header akan masuk ke papan tempat memotong roti untuk memberi daya pada Nano di VIN (positif) dan GND (negatif). Pin VIN dapat menangani 7 hingga 12 volt. Jika Anda berencana untuk menyalakan Arduino Anda dengan cara selain baterai 9V, gunakan pin suplai yang berbeda.

Langkah 8: Ubah Nano Jika Diperlukan

Ubah Nano Jika Diperlukan
Ubah Nano Jika Diperlukan

Karena kotak proyek saya cukup dangkal, saya perlu melepas pin header ICSP agar pas. Pin ini adalah antarmuka sekunder dengan Arduino Anda. Menghapusnya tidak akan merusak Nano Anda karena Anda selalu dapat memuat skrip melalui port USB.

Catatan: Jika Nano Anda membutuhkan pin header untuk disolder, cukup hilangkan pin ini saat merakit Arduino Anda.

Langkah 9: Kawat Bagian Dalam

Image
Image
Kawat Bagian Dalam
Kawat Bagian Dalam
Kawat Bagian Dalam
Kawat Bagian Dalam
  • Pasang port kelenjar kabel ke kotak proyek di lubang yang Anda bor untuk itu. Jika Anda bingung tentang cara menggunakan cable gland, video yang saya temukan di YouTube ini menunjukkan satu sedang dirakit. (maju cepat ke 0:57.) Anda mungkin memiliki mesin cuci karet. Ini terjadi di antara kotak proyek dan mur luar kelenjar kabel.
  • Kumpulkan ujung kabel LED yang longgar. Luangkan waktu ini untuk memotongnya dengan panjang yang sama, kupas dan rekatkan ujungnya. Masukkan ujungnya melalui tutup kelenjar kabel dan gunakan sepotong heat shrink untuk menyatukan ujungnya, sisakan panjang yang cukup untuk mencapai papan tempat memotong roti di bagian dalam kotak.
  • Masukkan kumpulan kawat melalui port kelenjar kabel ke dalam kotak proyek dan putar tutup kelenjar untuk mengunci kabel di tempatnya, sebaiknya di sekitar heat shrink yang Anda gunakan untuk menyatukannya..
  • Pisahkan kabel ground dari kabel positif (ingat yang mana yang Anda pilih sebelumnya). Solder bersama semua kabel ground menjadi satu ground bersama. Pasang kabel pendek dari tandan itu dan selesaikan dengan 1 tajuk jantan. Gunakan heat shrink untuk melindungi sambungan solder telanjang Anda.
  • Solder header laki-laki di ujung setiap kabel positif. Sekali lagi, gunakan heat shrink.
  • Masukkan header male ujung positif ke breadboard untuk terhubung ke pin PWM di Arduino.
  • Masukkan landasan bersama ke papan tempat memotong roti sehingga melewati resistor pembatas arus dan kemudian ke GND di Arduino.
  • Tempatkan baterai dan pasang sakelar melalui lubang di kotak yang Anda bor sebelumnya. Pasang washer karet di antara kotak proyek dan tutup sekrup. Colokkan kabel daya ke papan tempat memotong roti.
  • Pasang atau kencangkan tutupnya ke kotak. Kamu sudah selesai!

Catatan: Perhatikan dalam skema dan dalam tahap pengembangan saya menggunakan satu resistor pembatas arus per LED. Biasanya setiap LED harus mendapatkan resistornya sendiri seperti biasanya, lebih dari satu LED menyala sekaligus. Kode tidak memungkinkan lebih dari satu LED menyala pada satu waktu oleh karena itu hanya menggunakan satu resistor baik-baik saja untuk melindungi Arduino. Ini juga menghemat ruang pada papan tempat memotong roti kecil atau waktu menyolder setiap LED dengan resistor in-line. Yang mengatakan … PERINGATAN!!! Jika Anda berencana untuk mengubah kode sehingga lebih dari satu LED menyala pada satu waktu, Anda memerlukan resistor terpisah untuk setiap LED.

Langkah 10: Gunakan Ini

Gunakan
Gunakan

Gunakan tali Velcro atau olesan lem panas untuk menempelkan LED ke tanaman, pagar, flamingo merah muda, atau apa pun di halaman Anda. Gunakan di dalam dengan memasukkannya ke dalam rak anggur, di balik tirai atau bahkan menggantung kabel dari langit-langit untuk efek mengambang 3D dalam gelap! Ini akan menjadi sentuhan yang bagus untuk pesta, pernikahan, film dan fotografi.

Langkah 11: Melangkah Lebih Jauh…

Seperti yang dinyatakan sebelumnya, ini adalah versi awal dari proyek ini, tetapi penuh dengan begitu banyak potensi! Jalankan lebih banyak LED dengan menghubungkan register geser (Lihat instruksi ini oleh JColvin91 untuk mempelajari caranya.) Tambahkan sensor cahaya, pengisi daya surya, dan timer untuk fitur "setel dan lupakan"! Main-main dengan kode untuk menambahkan suar Anda sendiri ke bug. Bagikan apa yang Anda buat dan nikmati!!

UPDATE: Dalam dua minggu terakhir sejak Instructable ini diterbitkan, banyak kontributor telah menyarankan perbaikan brilian pada kode, perangkat keras, dan pelaksanaan proyek ini. Saya sangat menyarankan jika Anda berencana untuk membangun ini, Anda membaca komentar dan balasan untuk ide-ide tentang bagaimana membuat bug petir ini dengan cara yang tidak saya rencanakan. Dalam semangat pembuatan open source, saya menyambut semua ide yang membantu mengembangkan proyek ini menjadi lebih dari yang saya kira mungkin… dan saya berterima kasih kepada semua yang mewujudkannya.

Pergi. Membuat!!!

Direkomendasikan: