Isi kandungan:

Arduino Fireflies: 11 Langkah (dengan Gambar)
Arduino Fireflies: 11 Langkah (dengan Gambar)

Video: Arduino Fireflies: 11 Langkah (dengan Gambar)

Video: Arduino Fireflies: 11 Langkah (dengan Gambar)
Video: Tonton Sampai Habis !!! Belajar Arduino Di Jamin Bisa 2024, November
Anonim
Image
Image
Apa yang Anda Perlu
Apa yang Anda Perlu

Salah satu perkara yang saya nantikan dengan musim panas di Pennsylvania adalah kunang-kunang di halaman belakang rumah saya. Baru-baru ini saya mengajar diri saya pengaturcaraan Adruino untuk tujuan membuat projek mudah ini. Ini adalah program yang bagus untuk dimulakan dan cukup mudah untuk mana-mana pengaturcara, pemula hingga ahli, membina, mengubah suai dan bersenang-senang hanya dalam beberapa minit. Mari kita mulakan.

Langkah 1: Apa yang Anda Perlu

Apa yang Anda Perlu
Apa yang Anda Perlu

Untuk membuat bug anda berkedip, anda memerlukan komponen berikut:

  • Arduino. Saya bermula dengan Nano, bagaimanapun pengawal mikro yang serasi dengan Arduino akan dilakukan.
  • LED kuning, 5mm. Anda boleh menggunakan sehingga 6 daripadanya.
  • Perintang. Anda memerlukan satu perintang per LED untuk mengehadkan arus. Saya menggunakan 470 ohm tetapi apa-apa yang melebihi 150 ohm semestinya baik untuk melindungi pengawal mikro anda.
  • Papan roti.
  • Kawat pelompat.

Untuk menyelesaikan projek di halaman belakang rumah anda, anda memerlukan:

  • Kotak projek bukti cuaca.
  • Bateri 9 volt dengan penyambung. (Sila lihat nota di bahagian bawah bahagian ini.)
  • Tukar. (Saya memilih suis kalis air ini. Sekiranya anda tidak menggunakan suis kalis air ini, suis mana pun akan berlaku.)
  • Beberapa meter wayar untuk meletakkan LED di sekitar taman. Saya menggunakan kira-kira 10 kaki wayar Ethernet Cat5 setiap LED.
  • Papan roti kecil atau papan wangi.
  • Kelenjar kabel kalis cuaca di mana wayar LED berjalan. (Anda juga boleh menghilangkannya jika anda tidak menggunakan ini di luar.)
  • Panaskan pengecutan tiub untuk melindungi bug LED anda.
  • Jalur kait dan gelung hijau (mis. Velcro) untuk melekatkan kelip-kelip LED ke tanaman dan tiang di kebun anda.
  • Header lelaki untuk memasukkan komponen ke papan roti kecil anda.

Alat:

  • Gerudi bit untuk kotak projek. (Gunakan peluang ini untuk menjadikan diri anda langkah baik. Anda pasti gembira melakukannya).
  • Pistol gam panas.
  • Besi pematerian.
  • Alat putar (iaitu Dremel) untuk mengukir ruang dalam kotak projek jika anda memerlukannya.

Beberapa Catatan Di Sini:

1. Pilihan bateri adalah untuk permulaan yang cepat dan mudah. Menggunakan bateri 9 volt secara kekal sedikit membazir. Anda lebih baik menggunakan pemegang bateri AA 4x untuk jangka hayat yang lebih lama (namun anda memerlukan kotak projek yang lebih besar untuk memasangnya).

2. Sekiranya anda memilih untuk mendekonstruksi kabel Cat 5 Ethernet untuk wayar, pastikan ia adalah teras tembaga dan bungkus dengan kemas di sekitar beberapa PVC agar tetap teratur semasa anda bekerja. Sekali lagi, saya menggunakan kira-kira 10 kaki wayar per LED. Sekiranya anda ingin menyebarkan lampu jauh dan jauh, gunakan wayar lebih lama!

3. Akhir sekali, semua pautan yang saya berikan hanyalah cadangan. Sila baca keseluruhan Instructable ini sebelum membina atau membeli apa-apa kerana anda akan mendapat pemahaman yang lebih baik mengenai bagaimana anda ingin meneruskannya secara peribadi.

Langkah 2: Bina Litar

Bina Litar
Bina Litar
Bina Litar
Bina Litar
Bina Litar
Bina Litar

Projek ini menggunakan pin modulasi lebar nadi pada Arduino anda. Pengawal mikro mempunyai 6 pin ini dan anda boleh menggunakan seberapa banyak yang anda mahukan. Litarnya agak lurus ke hadapan. Kabelkan semua kuasa dari pin modulasi lebar nadi (PWM) D3, D5, D6, D9, D10, dan D11 ke hujung positif LED anda. Kawat hujung negatif ke perintang dan kemudian ke landasan bersama. (Perintang boleh masuk ke depan atau di belakang LED. Tidak ada bedanya kecuali jika anda ingin melindungi daripada litar pintas dalam arus yang lebih tinggi.) Saya memasukkan beberapa skema untuk membantu pendawaian. (Diagram yang dibuat menggunakan perisian reka bentuk Fritzing.)

Langkah 3: Kodnya

Image
Image

Sekiranya anda seorang pengaturcara berpengalaman, anda akan mendapati kod ini ringkas. Ini adalah kod yang bagus untuk mula belajar kerana memperkenalkan anda kepada penggunaan pemboleh ubah, pinmode, fungsi dan juga penjana rawak. Kodnya tidak sepadu seperti yang saya pasti kesan yang sama dapat dicapai dengan susunan dll.

Komen kod menunjukkan logik setiap bahagian. Seluruh kod tertanam di sini dan anda boleh memuat turun lakaran di bawah.

/*

Skrip ini berkelip 6 LED (kuning, tentu saja) dalam urutan rawak pada selang waktu rawak menggunakan PWM. Setiap LED dikendalikan oleh fungsinya sendiri. * / int led1 = 3; // LED disambungkan ke pin PWM 3 dan lain-lain. Saya menggunakan semua 6 pin PWM. int led2 = 5; int led3 = 6; int led4 = 9; int led5 = 10; int led6 = 11; randnum panjang; // randnum mengawal selang masa antara kilat dan randbug panjang; // randbug mengawal pepijat yang menyala. batal persediaan () {pinMode (led1, OUTPUT); // Menetapkan semua pin PWM sebagai output. pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT); pinMode (led5, OUTPUT); pinMode (led6, OUTPUT); } gelung void () {randbug = rawak (3, 12); // randbug memilih fungsi untuk dilaksanakan secara rawak, // dengan demikian memilih rawak secara rawak untuk menyala. jika (randbug == 3) {bug1 (); } jika (randbug == 5) {bug2 (); } jika (randbug == 6) {bug3 (); } jika (randbug == 9) {bug4 (); } jika (randbug == 10) {bug5 (); } jika (randbug == 11) {bug6 (); }} / * * Setiap fungsi ini berfungsi dengan cara yang sama. Peningkatan 'untuk gelung' kemudian turunkan * output pin itu untuk mengawal kecerahan LED. * 'randnum' adalah selang waktu rawak antara 10 dan 3000 ms * dan memilih selang waktu antara kilat bug. * 'delay 10' hanya untuk kesan pudar. * / bug bug1 () {randnum = rawak (10, 3000); untuk (int fadeValue = 0; fadeValue = 0; fadeValue - = 5) {analogWrite (led1, fadeValue); kelewatan (10); } kelewatan (randnum); } bug bug2 () {randnum = rawak (10, 3000); untuk (int fadeValue = 0; fadeValue = 0; fadeValue - = 5) {analogWrite (led2, fadeValue); kelewatan (10); } kelewatan (randnum); } bug bug3 () {randnum = rawak (10, 3000); untuk (int fadeValue = 0; fadeValue = 0; fadeValue - = 5) {analogWrite (led3, fadeValue); kelewatan (10); } kelewatan (randnum); } bug bug4 () {randnum = rawak (10, 3000); untuk (int fadeValue = 0; fadeValue = 0; fadeValue - = 5) {analogWrite (led4, fadeValue); kelewatan (10); } kelewatan (randnum); } bug batal5 () {randnum = rawak (10, 3000); untuk (int fadeValue = 0; fadeValue = 0; fadeValue - = 5) {analogWrite (led5, fadeValue); kelewatan (10); } kelewatan (randnum); } bug kosong6 () {randnum = rawak (10, 3000); untuk (int fadeValue = 0; fadeValue = 0; fadeValue - = 5) {analogWrite (led6, fadeValue); kelewatan (10); } kelewatan (randnum); }

Langkah 4: Bina Kotak

Membina Tumbuk Bug!
Membina Tumbuk Bug!

Setelah mengedit Arduino dengan kod dan kunang-kunang anda berfungsi dengan cara yang anda suka, anda mungkin mahu memasukkannya ke kebun; itu bermaksud kotak projek dan beberapa haba mengecil untuk memastikan Arduino dan LED kering. Jom buat!

Langkah 5: Membangun Tombol Bug

Membina Tumbuk Bug!
Membina Tumbuk Bug!
Membina Tumbuk Bug!
Membina Tumbuk Bug!
Membina Tumbuk Bug!
Membina Tumbuk Bug!
  • Potong kepingan LED hingga kira-kira 5mm.
  • Tanggalkan dan timah hujung wayar yang anda gunakan, juga kira-kira 5mm.
  • Luncurkan tiub pengecutan haba 1mm ke atas setiap hujung wayar.
  • Pateri LED ke wayar. (Pada ketika ini, anda harus memilih wayar mana yang akan menjadi positif dan mana yang negatif. Saya memilih wayar padat sebagai positif dan wayar putih sebagai negatif. Pertahankan strategi itu sepanjang projek ini untuk mengelakkan sakit kepala nanti!)
  • Luncurkan pengecutan haba sepanjang wayar kosong dan plumbum LED. Jalankan api cepat ke atas mereka untuk mengecilkannya ke wayar.
  • Luncurkan kepingan haba yang lain ke atas LED dan wayar dengan lensa LED melekatkan hujungnya dan cairkan pada tempatnya.
  • Luncurkan sedikit kepingan haba ke wayar sepanjang keseluruhannya dan cairkan pada setiap beberapa kaki untuk memastikan kawat tetap kemas.

Langkah 6: Sediakan Kotak Projek

Sediakan Kotak Projek
Sediakan Kotak Projek
Sediakan Kotak Projek
Sediakan Kotak Projek
  • Gunakan alat putar dengan bit pengamplasan untuk membersihkan plastik yang tidak diperlukan dalam kotak projek anda. (Berhati-hatilah untuk tidak memotong pelekap skru yang mungkin anda perlukan untuk menyatukan kembali kotak anda.)
  • Tentukan di mana anda mahu suis anda dan wayar LED keluar. Saya mencadangkan pihak-pihak tetapi gunakan yang sesuai dengan keperluan anda.
  • Gunakan bit gerudi ukuran yang sesuai untuk membuat lubang pada kelenjar kabel dan beralih.

Nota: Dalam foto di atas, anda akan melihat saya membuat "kabel palsu". Ini adalah sekumpulan 6 pasang wayar yang saya gunakan untuk LED dengan pengecutan panas untuk menyatukannya. Saya menggunakannya untuk memastikan kelenjar kabel sesuai dengan tandan kabel yang sebenarnya dan juga untuk menguji ketahanan air kotak setelah suis, kelenjar kabel dan penutup dihidupkan. (Setelah terendam selama 24 jam dalam air 6 inci, kelembapan di dalamnya sangat sedikit. Saya dengan senang hati memanggil kotak ini "tahan cuaca.")

Langkah 7: Bawa Kuasa

Bawa Kekuatan!
Bawa Kekuatan!
Bawa Kekuatan!
Bawa Kekuatan!
  • Tentukan berapa banyak bateri dan wayar suis yang anda perlukan untuk mencapai Arduino anda dengan meletakkan ketiga-tiga komponen di dalam kotak projek secara kasar. Potong wayar suis dan penyambung bateri 9V. Jalur dan timah hujungnya. Luncurkan sedikit pengecutan haba di tempat untuk langkah seterusnya.
  • Potong dua pin header lelaki dari helai anda (tetapi tetapkan bersama).
  • Pateri plumbum merah penyambung bateri 9V ke salah satu hujung suis. Selesaikan hujung suis lain ke pin header lelaki. Pateri plag bateri hitam ke pin header lelaki yang lain.
  • Seperti yang ditunjukkan dalam rajah di atas, pin header akan masuk ke papan roti untuk menghidupkan Nano pada VIN (positif) dan GND (negatif). Pin VIN boleh mengendalikan 7 hingga 12 volt. Sekiranya anda merancang untuk menghidupkan Arduino anda dengan cara lain daripada bateri 9V, gunakan pin bekalan yang berbeza.

Langkah 8: Ubah Nano Sekiranya Perlu

Ubah Nano Sekiranya Perlu
Ubah Nano Sekiranya Perlu

Oleh kerana kotak projek saya agak cetek, saya perlu mengeluarkan pin header ICSP agar sesuai. Pin ini adalah antara muka sekunder dengan Arduino anda. Mengeluarkannya tidak akan merosakkan Nano anda kerana anda selalu memuat skrip melalui port USB.

Catatan: Jika Nano anda memerlukan pin header untuk disolder, hilangkan pin ini semasa memasang Arduino anda.

Langkah 9: Kawat Bahagian Dalam

Image
Image
Kawat Bahagian Dalam
Kawat Bahagian Dalam
Kawat Bahagian Dalam
Kawat Bahagian Dalam
  • Pasang port kelenjar kabel ke kotak projek di lubang yang anda gerudi untuknya. Sekiranya anda keliru tentang cara menggunakan kelenjar kabel, video ini yang saya dapati di YouTube menunjukkan satu pemasangan. (cepat ke 0:57.) Anda mungkin mempunyai mesin basuh getah. Ini berlaku di antara kotak projek dan penutup luar kelenjar kabel.
  • Kumpulkan hujung wayar LED yang longgar. Luangkan masa ini untuk memotongnya dengan panjang yang sama, jalur dan timah hujungnya. Masukkan ujungnya melalui penutup kelenjar kabel dan gunakan kepingan panas untuk menyatukan ujungnya, meninggalkan cukup panjang untuk mencapai papan roti di bahagian dalam kotak.
  • Masukkan kumpulan wayar melalui port kelenjar kabel ke dalam kotak projek dan putar penutup kelenjar untuk mengunci wayar di tempatnya, lebih baik di sekitar penyusutan haba yang biasa anda gunakan untuk mengikatnya bersama..
  • Pisahkan kabel tanah dari wayar positif (ingat yang mana yang anda pilih sebelumnya). Pateri bersama-sama semua wayar tanah menjadi satu landasan bersama. Pasang wayar pendek dari kumpulan itu dan selesaikan dengan 1 tandukan lelaki. Gunakan pengecutan haba untuk melindungi sendi pateri anda.
  • Solder header lelaki di hujung setiap wayar positif. Sekali lagi, gunakan pengecutan panas.
  • Masukkan header lelaki akhir positif ke papan roti untuk menyambung ke pin PWM di Arduino.
  • Masukkan tanah bersama ke papan roti sehingga melewati perintang penghad semasa dan kemudian ke GND di Arduino.
  • Letakkan di dalam bateri dan pasangkan suis melalui lubang di kotak yang anda latih sebelumnya. Pasangkan mesin basuh getah antara kotak projek dan penutup skru. Pasangkan plag kuasa ke papan roti.
  • Pasang atau skru penutup ke kotak. Anda sudah selesai!

Catatan: Perhatikan dalam skema dan pada peringkat perkembangan saya menggunakan satu perintang had semasa setiap LED. Biasanya setiap LED harus mendapat perintangnya sendiri seperti biasanya, lebih daripada satu LED menyala sekaligus. Kod ini tidak membenarkan lebih daripada satu LED menyala pada masa yang sama dengan hanya menggunakan satu perintang yang baik untuk melindungi Arduino. Ini juga menjimatkan ruang pada papan roti kecil atau masa menyolder setiap LED dengan perintang sebaris. Yang mengatakan… AMARAN !!! Sekiranya anda merancang untuk mengubah kod sehingga lebih daripada satu LED menyala pada satu masa, anda memerlukan perintang yang berasingan untuk setiap LED.

Langkah 10: Gunakannya

Gunakannya
Gunakannya

Gunakan tali Velcro atau pelekat panas untuk melekatkan LED pada tanaman, pagar, flamingo merah jambu atau apa sahaja di halaman anda. Gunakan di dalamnya dengan memasukkannya ke rak anggur, di belakang tirai atau bahkan menggantung wayar dari siling untuk kesan mengambang 3D dalam gelap! Ini akan menjadi sentuhan hebat untuk pesta, perkahwinan, filem dan fotografi.

Langkah 11: Melangkah Lebih Lanjut …

Seperti yang dinyatakan sebelumnya, ini adalah versi awal projek ini, tetapi penuh dengan potensi yang besar! Jalankan lebih banyak LED dengan menyambungkan daftar shift (Lihat instruksi ini oleh JColvin91 untuk mengetahui caranya.) Tambahkan sensor cahaya, pengecas solar, dan pemasa untuk ciri "tetapkan dan lupakan saja"! Kacau dengan kod untuk menambahkan suar anda sendiri ke pepijat. Kongsi apa yang anda buat dan nikmati !!

KEMASKINI: Dalam dua minggu terakhir sejak Instructable ini diterbitkan, banyak penyumbang telah mencadangkan penambahbaikan pada kod, perkakasan dan pelaksanaan projek ini. Saya sangat menasihatkan jika anda merancang untuk membina ini, anda membaca komen dan balasan untuk idea mengenai cara membuat bug kilat ini dengan cara yang saya tidak merancang. Dengan semangat membuat sumber terbuka, saya mengalu-alukan semua idea yang membantu mengembangkan projek ini menjadi lebih daripada yang saya fikirkan mungkin … dan saya mengucapkan terima kasih kepada semua yang mewujudkannya.

Pergi. Buat !!!

Disyorkan: