Mundarija:

Arduino Fireflies: 11 qadam (rasmlar bilan)
Arduino Fireflies: 11 qadam (rasmlar bilan)

Video: Arduino Fireflies: 11 qadam (rasmlar bilan)

Video: Arduino Fireflies: 11 qadam (rasmlar bilan)
Video: 3 drone one remote test 😳 2024, Noyabr
Anonim
Image
Image
Sizga nima kerak
Sizga nima kerak

Pensilvaniya shtatida yozda men orziqib kutadigan narsalardan biri bu mening hovlimdagi o'tlar. Men yaqinda o'zimga Adruino dasturlashni o'rgatdim, bu oddiy loyihani amalga oshirish uchun. Bu boshlash uchun ajoyib dastur va har qanday dasturchi, tajribasiz, bir necha daqiqada qurish, o'zgartirish va o'yin -kulgiga ega. Qani boshladik.

1 -qadam: Sizga nima kerak

Sizga nima kerak bo'ladi
Sizga nima kerak bo'ladi

Xatoliklar yonib -o'chib ketmasligi uchun sizga quyidagi komponentlar kerak bo'ladi:

  • Arduino. Men Nano-dan boshladim, lekin Arduino-ga mos keladigan har qanday mikro-kontroller.
  • Sariq LEDlar, 5 mm. Siz ulardan 6 tagacha foydalanishingiz mumkin.
  • Rezistorlar. Oqimni cheklash uchun har bir LEDga bitta rezistor kerak bo'ladi. Men 470 ohmdan foydalanardim, lekin 150 ohmdan yuqori bo'lgan har qanday narsa mikrokontroleringizni himoya qilish uchun yaxshi bo'lishi kerak.
  • Non paneli.
  • Jumper sim.

Hovlidagi loyihani bajarish uchun sizga kerak bo'ladi:

  • Ob -havoga chidamli loyiha qutisi.
  • Ulagichli 9 voltli batareya. (Iltimos, ushbu bo'limning pastki qismidagi eslatmalarni ko'ring.)
  • O'tish. (Men bu suv o'tkazmaydigan kalitlarni tanladim. Agar siz uni tashqarida ishlatmasangiz, har qanday kalit bajaradi.)
  • LEDlarni bog 'atrofiga joylashtirish uchun bir necha yard sim. Men LED uchun taxminan 10 fut Cat5 chekilgan simidan foydalanardim.
  • Kichkina non taxtasi yoki bir nechta taxta.
  • LED simlari o'tadigan ob -havoga chidamli simi. (Agar siz buni tashqarida ishlatmasangiz, buni o'tkazib yuborishingiz mumkin.)
  • Issiqlik o'lchagich quvurlari sizning LED yoriqlarini himoya qiladi.
  • Yashil kancali chiziqlar (masalan, velkro) LED o't o'chiruvchilarni bog'ingizdagi o'simliklar va ustunlarga yopishtirish uchun.
  • Kichkina non paneliga komponentlarni ulash uchun erkak sarlavhalari.

Asboblar:

  • Loyiha qutisi uchun matkaplar. (Bu imkoniyatdan foydalanib, o'zingizga yaxshi qadam qo'ying. Siz qilganingizdan xursand bo'lasiz).
  • Issiq yopishtiruvchi qurol.
  • Lehimlash temir.
  • Agar kerak bo'lsa, loyiha qutisiga joy ajratish uchun aylanadigan asbob (ya'ni Dremel).

Bu erda bir nechta eslatmalar:

1. Batareyani tanlash tez va oson ishga tushirish edi. 9 voltli batareyani doimiy ishlatish biroz isrofgarchilikka olib keladi. Uzoqroq umr ko'rish uchun 4x AA batareyali ushlagichni ishlatganingiz ma'qul (lekin sizga mos keladigan katta loyiha qutisi kerak bo'ladi).

2. Agar siz simlar uchun Cat 5 Ethernet kabelini demontaj qilishni tanlasangiz, ular mis yadro ekanligiga ishonch hosil qiling va ishlayotganingizda ularni tartibli ushlab turish uchun ularni PVX atrofiga yaxshilab o'rab qo'ying. Shunga qaramay, men har bir LED uchun taxminan 10 fut sim ishlatardim. Agar siz chiroqlarni uzoqqa tarqatmoqchi bo'lsangiz, uzun simlardan foydalaning!

3. Nihoyat, men bergan barcha havolalar shunchaki takliflar. Iltimos, biror narsani qurishdan yoki sotib olishdan oldin ushbu ko'rsatmalarni o'qib chiqing, chunki siz o'zingiz qanday davom ettirishni yaxshiroq tushunasiz.

2 -qadam: O'chirish sxemasini yarating

O'chirish davri
O'chirish davri
O'chirish davri
O'chirish davri
O'chirish davri
O'chirish davri

Ushbu loyiha sizning Arduino -dagi impuls kengligi modulyatsiyasi pinlaridan foydalanadi. Mikro-kontrollerda 6 ta pin bor va siz xohlagancha ishlatishingiz mumkin. O'chirish juda to'g'ri. D3, D5, D6, D9, D10 va D11 puls kengligi modulyatsiyasi (PWM) pinlaridan svetodiodlaringizning ijobiy uchigacha bo'lgan barcha quvvatni ulang. Salbiy uchlarini rezistorlarga, so'ngra umumiy erga ulang. (Rezistorlar LEDning oldidan yoki orqasidan o'tishi mumkin. Agar siz yuqori oqimlarda qisqa tutashuvdan saqlanishni xohlamasangiz, bu farq qilmaydi.) Men simlarni ulashda yordam beradigan bir nechta sxemalarni qo'shdim. (Fritzing dizayn dasturi yordamida tuzilgan diagrammalar.)

3 -qadam: Kod

Image
Image

Agar siz tajribali dasturchi bo'lsangiz, siz ushbu kodni soddalashtirasiz. O'zgaruvchilar, pinmodlar, funktsiyalar va hatto tasodifiy generatorlardan foydalanish bilan tanishtirgani uchun o'rganishni boshlash juda yaxshi kod. Kod shu qadar ixcham emaski, ishonchim komilki, xuddi shu effektni massivlar va boshqalar bilan olish mumkin.

Kod sharhlari har bir bo'limning mantig'ini belgilaydi. Butun kod shu erda joylashtirilgan va siz quyida eskizni yuklab olishingiz mumkin.

/*

Bu skript tasodifiy tartibda PWM yordamida 6 ta LEDni (albatta sariq) yonadi. Har bir LED o'z funktsiyasi bilan boshqariladi. */ int led1 = 3; // LED PWM pin 3 ga ulangan va hokazo. Men 6 ta PWM pinini ishlatardim. int led2 = 5; int led3 = 6; int led4 = 9; int led5 = 10; int led6 = 11; uzoq randnum; // randnum miltillash va uzoq davom etadigan vaqt oralig'ini boshqaradi; // randbug qaysi xato yonishini boshqaradi. void setup () {pinMode (led1, OUTPUT); // Barcha PWM pinlarini chiqish sifatida o'rnatish. pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT); pinMode (led5, OUTPUT); pinMode (led6, OUTPUT); } void loop () {randbug = random (3, 12); // randbug tasodifiy bajarish uchun funktsiyani tanlaydi, // shu tariqa tasodifan yonish uchun xato tanlaydi. agar (randbug == 3) {bug1 (); } if (randbug == 5) {bug2 (); } if (randbug == 6) {bug3 (); } if (randbug == 9) {bug4 (); } if (randbug == 10) {bug5 (); } if (randbug == 11) {bug6 (); }} / * * Bu funktsiyalarning har biri xuddi shunday ishlaydi. "Yorug'lik uchun" o'sishi, keyin kamayishi * LED yorqinligini nazorat qilish uchun pinning chiqishi. * 'randnum' - bu tasodifiy vaqt oralig'i 10 dan 3000 msgacha * va xatolarni o'chirish vaqt oralig'ini tanlaydi. * "10 kechikish" - bu faqat pasayish effekti uchun. */ void bug1 () {randnum = tasodifiy (10, 3000); uchun (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led1, fadeValue); kechikish (10); } kechikish (randnum); } void bug2 () {randnum = tasodifiy (10, 3000); uchun (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led2, fadeValue); kechikish (10); } kechikish (randnum); } void bug3 () {randnum = tasodifiy (10, 3000); uchun (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led3, fadeValue); kechikish (10); } kechikish (randnum); } bo'sh bug4 () {randnum = tasodifiy (10, 3000); uchun (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led4, fadeValue); kechikish (10); } kechikish (randnum); } void bug5 () {randnum = tasodifiy (10, 3000); uchun (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led5, fadeValue); kechikish (10); } kechikish (randnum); } bo'sh bug6 () {randnum = tasodifiy (10, 3000); uchun (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led6, fadeValue); kechikish (10); } kechikish (randnum); }

4 -qadam: qutini yarating

Xato tugmalarini yaratish!
Xato tugmalarini yaratish!

Agar siz Arduino -ni kod bilan yoritib, o't o'chiruvchilaringizni xohlaganingizcha ishlasangiz, ularni bog'ga qo'yishni xohlashingiz mumkin; bu Arduino va LEDlarni quruq saqlash uchun loyiha qutisi va issiqlik qisqarishini bildiradi. Keling qilaylik!

5 -qadam: Xato tugmalarini yaratish

Xato tugmalarini yaratish!
Xato tugmalarini yaratish!
Xato tugmalarini yaratish!
Xato tugmalarini yaratish!
Xato tugmalarini yaratish!
Xato tugmalarini yaratish!
  • LED simlarini taxminan 5 mm ga kesib oling.
  • Siz foydalanayotgan simlarning uchlarini, shuningdek, taxminan 5 mm.
  • Har bir sim uchi bo'ylab 1 mm issiqlik qisqaruvchi quvur o'tkazing.
  • LEDni simga lehimlang. (Bu vaqtda siz juftligingizdagi qaysi sim sizning ijobiy, qaysi biri salbiy bo'lishini tanlashingiz kerak. Men qattiq simni ijobiy, oq simni manfiy qilib tanladim. Keyinchalik bosh og'rig'iga yo'l qo'ymaslik uchun bu strategiyani loyihada davom ettiring!)
  • Issiqlikni yalang'och sim va LED simlari bo'ylab oxirigacha siljiting. Ularni simlarga qisqartirish uchun tezda olov yoqing.
  • Yana bir issiqlik qisqichini svetodiod va simlar ustiga suring va LED linzalari uchini chiqarib, joyida eritib yuboring.
  • Bir necha bo'lak issiqlik simini butun uzunligi bo'ylab siljiting va simni tartibli ushlab turish uchun uni har bir metrdan eriting.

6 -qadam: Loyiha qutisini tayyorlang

Loyiha qutisini tayyorlang
Loyiha qutisini tayyorlang
Loyiha qutisini tayyorlang
Loyiha qutisini tayyorlang
  • Loyiha qutisidagi keraksiz plastmassani tozalash uchun silliqlash barabanli aylanadigan asbobdan foydalaning. (Ehtiyot bo'ling, qutini bir joyga yig'ishingiz kerak bo'lgan vintlardek mahkamlang.)
  • O'zingizning kalitingiz qayerda bo'lishini va LED simlari chiqishini hal qiling. Men tomonlarni taklif qilaman, lekin sizning ehtiyojlaringizga mos keladigan narsani ishlating.
  • Tegishli o'lchamdagi burg'ilash moslamasidan foydalanib, simi panjarasi va kalitini teshik qiling.

E'tibor bering: yuqoridagi rasmda siz "qo'g'irchoq kabel" yasaganimni ko'rasiz. Bu men birlashtiradigan issiqlik qisqargan LEDlar uchun ishlatilgan 6 juft simlar to'plami. Men uni simi shnuri haqiqiy simi to'plamiga yaxshi mos kelishiga ishonch hosil qilish uchun, shuningdek, kalit, simi shnuri va qopqog'i yoqilganidan keyin qutining suv o'tkazmasligini tekshirish uchun ishlatardim. (6 dyuymli suvga 24 soat cho'kib ketganidan keyin uning ichida namlik juda kam edi. Men bu qutini "ob-havoga chidamli" deb atashdan xursand bo'lardim).

7 -qadam: Quvvatni keltiring

Quvvatni keltiring!
Quvvatni keltiring!
Quvvatni keltiring!
Quvvatni keltiring!
  • Loyiha qutisiga uchta komponentni qo'pol ravishda joylashtirib, Arduino -ga qancha batareya va simni ulash kerakligini aniqlang. Kalit va 9V batareya ulagichining simlarini kesib oling. Uchlarini torting va qalamlang. Keyingi qadam uchun issiqlik qisqaradigan joyni siljiting.
  • Chiziqdan ikkita erkak bosh pimni kesib oling (lekin ularni bir -biriga yopishtirib turing).
  • 9V batareya ulagichining qizil simini kalitning bir uchiga lehimlang. Kommutatorning boshqa uchini erkak bosh pimiga lehimlang. Qora batareyani lehimlab, boshqa erkak bosh pimiga ulang.
  • Yuqoridagi diagrammada ko'rsatilgandek, VIN (musbat) va GND (manfiy) da Nanoni quvvatlantirish uchun sarlavhali pinlar non paneliga kiradi. VIN -pin 7 dan 12 voltgacha ishlaydi. Agar siz Arduino -ni 9V batareyadan boshqa usulda quvvatlantirishni rejalashtirmoqchi bo'lsangiz, boshqa quvvat manbaidan foydalaning.

8 -qadam: Agar kerak bo'lsa, nanoni o'zgartiring

Agar kerak bo'lsa, nanoni o'zgartiring
Agar kerak bo'lsa, nanoni o'zgartiring

Mening loyiha qutim juda sayoz bo'lgani uchun, ICSP sarlavhasi pinlarini mos ravishda olib tashlashim kerak edi. Bu pinlar sizning Arduino bilan ikkinchi darajali interfeysdir. Ularni olib tashlash Nano -ga zarar etkazmaydi, chunki siz har doim skriptlarni USB port orqali yuklashingiz mumkin.

E'tibor bering: agar sizning nano naychasiga lehim qo'yish kerak bo'lsa, Arduino -ni yig'ishda bu pinlarni o'tkazib yubormang.

9 -qadam: Ichkariga sim o'tkazing

Image
Image
Ichkariga sim
Ichkariga sim
Ichkariga sim
Ichkariga sim
  • Kabel shnuri portini siz ochgan teshikdagi loyiha qutisiga ulang. Agar siz kabel o'tkazgichini qanday ishlatishni bilmay qolsangiz, men YouTube -da topilgan bu videoda yig'ilgani ko'rsatilgan. (0:57 gacha tez oldinga siljish.) Sizda rezina yuvish mashinasi bo'lishi mumkin. Bu loyiha qutisi va simi korpusining tashqi gaykasi orasiga kiradi.
  • LED simlarining bo'sh uchlarini yig'ing. Ularni bir xil uzunlikdagi qirqish uchun vaqt ajrating, uchlarini olib tashlang va qalaylang. Uchlarini simi qopqog'ining qopqog'idan o'tkazing va uchini bir -biriga bog'lab qo'yish uchun issiqlik qisqichidan foydalaning va qutining ichki qismidagi non taxtasiga yetadigan uzunlik qoldiring.
  • Kabel shnuri porti orqali simi shamshirini loyiha qutisiga o'tkazing va simlarni mahkamlash uchun rostlagich qopqog'ini burab qo'ying, yaxshisi siz ularni birlashtirib ishlatgan issiqlik qisqichi atrofida.
  • Topraklama simlarini musbat simlardan ajrating (qaysi birini ilgari tanlaganingizni eslang). Barcha topraklama simlarini bitta umumiy erga birlashtiring. Qisqa simni bu shamlardan ulang va uni 1 ta erkak bosh bilan tugating. Yalang'och lehim bo'g'inlarini himoya qilish uchun issiqlik o'tkazgichidan foydalaning.
  • Har bir musbat simning uchida erkaklar boshlarini lehimlang. Shunga qaramay, issiqlik o'tkazgichidan foydalaning.
  • Arduino -dagi PWM pinlariga ulanish uchun musbat boshli erkak sarlavhalarini taxtaga joylashtiring.
  • Umumiy asosni non paneliga joylashtiring, shunda u oqim cheklovli rezistordan o'tib, keyin Arduino -dagi GND ga o'tadi.
  • Batareyani joylashtiring va kalitni ilgari burg'ulagan qutidagi teshikka joylashtiring. Loyiha qutisi va vintli qopqoq orasiga rezina yuvish vositasini joylashtiring. Quvvat simlarini non paneliga ulang.
  • Qopqoqni qutiga mahkamlang yoki mahkamlang. Ishingiz tugadi!

Eslatma: Sxemalarda va rivojlanish bosqichlarida men har bir LED uchun bitta cheklovli rezistordan foydalanganman. Odatda har bir LED o'ziga xos rezistorga ega bo'lishi kerak, odatda bir vaqtning o'zida bir nechta LED yonadi. Kod bir vaqtning o'zida bir nechta LEDni yoqishga ruxsat bermaydi, shuning uchun Arduino -ni himoya qilish uchun faqat bitta rezistorni ishlatish yaxshi. Bu, shuningdek, kichik non taxtasida joyni tejaydi yoki har bir LEDni rezistor bilan lehimlash vaqtini tejaydi. Bu shunday dedi … OGOHLANTIRISH !!! Agar siz bir vaqtning o'zida bir nechta LED yoritilishi uchun kodni o'zgartirishni rejalashtirmoqchi bo'lsangiz, har bir LED uchun alohida rezistorlar kerak bo'ladi.

10 -qadam: Undan foydalaning

Buni ishlat
Buni ishlat

LEDlarni o'simliklarga, to'siqlarga, pushti flamingolarga yoki hovlingizdagi boshqa narsalarga yopishtirish uchun Velcro tasmalaridan yoki issiq yopishtirgichlardan foydalaning. Ularni ichkarida ishlating, ularni sharob tokchalariga, pardalar ortiga tiqib qo'ying yoki hatto simlarni shiftga osib qo'ying, zulmatda 3D suzuvchi effekt uchun! Bu partiyalar, to'ylar, kino va fotosuratlar uchun ajoyib teginish bo'lardi.

11 -qadam: davom eting …

Yuqorida aytib o'tilganidek, bu loyihaning dastlabki versiyasi, lekin u juda katta salohiyatga ega! Shift registrini ulash orqali ko'proq LEDlarni ishga tushiring (JColvin91 ko'rsatmasiga qarang. "O'rnatish va unutish" funksiyasi uchun yorug'lik sensori, quyosh zaryadlovchi qurilmasi va taymerni qo'shing! Xatolarga o'zingizning yoqishingizni qo'shish uchun kodni kiriting. O'zingiz yaratgan narsalarni baham ko'ring va zavqlaning !!

YANGILASH: Ushbu ko'rsatma nashr qilinganidan beri oxirgi ikki hafta mobaynida ko'plab ishtirokchilar ushbu loyihaning kodi, apparati va bajarilishini yaxshilashni taklif qilishdi. Men sizga maslahat beraman, agar siz buni qurishni rejalashtirmoqchi bo'lsangiz, sharhlar va javoblarni o'qib, men rejalashtirmagan tarzda bu chaqmoqlarni qanday qilish kerakligi haqidagi fikrlarni o'qib chiqasiz. Ochiq manbalar ruhida, men ushbu loyihani men o'ylagandan ko'ra ko'proq rivojlantirishga yordam beradigan barcha g'oyalarni ma'qullayman … va buni amalga oshirganlarning barchasiga minnatdorchilik bildiraman.

Boring. Qiling !!!

Tavsiya: