Mundarija:

Arduino Gemma va NeoPixels bilan oson abadiy oyna: 8 qadam (rasmlar bilan)
Arduino Gemma va NeoPixels bilan oson abadiy oyna: 8 qadam (rasmlar bilan)

Video: Arduino Gemma va NeoPixels bilan oson abadiy oyna: 8 qadam (rasmlar bilan)

Video: Arduino Gemma va NeoPixels bilan oson abadiy oyna: 8 qadam (rasmlar bilan)
Video: Adafruit Neopixel Ring + Arduino Gemma Tutorial 2024, Noyabr
Anonim
Arduino Gemma va NeoPixels bilan oson abadiy oyna
Arduino Gemma va NeoPixels bilan oson abadiy oyna

Mana! Sehrli va aldamchi oddiy cheksiz oynaga chuqur qarang! LEDlarning bitta chizig'i cheksiz ko'zgu effektini yaratish uchun oynali sendvichda ichkariga porlaydi. Ushbu loyiha mening Arduino Class kirishimdagi ko'nikmalar va texnikani qo'llaydi va kichikroq Arduino Gemma taxtasi yordamida barchasini yakuniy shaklga qo'yadi.

Ushbu loyihaning vebinarini tomosha qiling! 2017 yil 28 -iyunda men olib borgan veb -seminarni ko'rib chiqing, bu qurilishni yakunlaganimni ko'rish uchun!

Men ishlayotgan narsadan xabardor bo'lish uchun meni YouTube, Instagram, Twitter, Pinterest -da kuzatib boring va mening axborot byulletenimga obuna bo'ling.

1 -qadam: materiallar

Ta'minotlar
Ta'minotlar

Ushbu darsni davom ettirish uchun sizga kerak bo'ladi:

  • O'tkir xizmat pichog'i
  • Metall o'lchagich yoki T-kvadrat
  • Matoni yoki kartonni kesish
  • Shablon yoki aylana chizilgan kompas uchun printer
  • Plastik pichoq (ixtiyoriy, lekin chiroyli)
  • Issiq eriydigan yopishtiruvchi qurol yoki E6000/Tez ushlab turadigan yopishtiruvchi
  • Clothespin (ixtiyoriy, yopishtiruvchi qisqich sifatida ishlatiladi)
  • 4 dyuymli dumaloq oyna
  • Ko'zgu oynasi plastik
  • Qora ko'pikli taxta, qalinligi 3/16"
  • Arduino Uno va lehimsiz non taxtasi o'rnatish plastinkasida
  • USB A-B kabeli
  • Kichik tugmachalar (siz ilgari lehim qilgansiz)
  • Non paneli simlari
  • RGBW NeoPixel tasmasi (yoki boshqa WS2812b RGBW LED tasmasi) (19 piksel, siz ilgari lehimlagan chiziqdan foydalanadi)
  • Lehimlash temir va lehim
  • Tel -chiziqlar
  • Diagonal kesgichlarni yuving
  • Uchinchi qo'l asbob
  • Multimetr (ixtiyoriy)
  • Kichkina igna qisqichlari
  • Cımbızlar
  • Arduino Gemma kartasi
  • Mikro USB kabeli
  • USB uyasi, agar sizning kompyuteringizda faqat USB 3 porti bo'lsa (masalan, yangi Mac)
  • USB uzatma kabeli (ixtiyoriy)
  • USB quvvat adapteri
  • Lipoly batareya va zaryadlovchi (ixtiyoriy)

Ushbu loyiha sizga ko'pikli taxtadan elektron korpusini qurishda yordam beradi, buning uchun himoyalangan ishchi yuzasi (kesuvchi mat yoki bir nechta qatlamli karton), metall o'lchagich va o'tkir pichoq kerak bo'ladi. Parchalarni yig'ish uchun siz issiq yopishtiruvchi tabancadan foydalanishingiz mumkin yoki E6000 kabi mahkamlagichni tanlashingiz mumkin. Dumaloq oynali oyna cheksiz oynaning markazida joylashgan va ko'zgu oynasining plastik qismi cheksiz tunnel effektining maxfiy tarkibiy qismidir. Agar sizda plastmassa pichoq bo'lmasa, siz oynani kesish uchun mustahkam qaychi ishlatishingiz mumkin, lekin sizga kerak bo'lgandan ko'ra kengroq chekka qoldiring, chunki oynali plyonka qaychi atrofida biroz chayqaladi. qirralarni kesib tashlang. O'tkir asboblardan foydalanganda ehtiyot bo'ling, kuygan joyni tez davolash uchun har qanday issiq elim loyihasi yonida bir piyola muzli suv saqlang va har qanday yopishtiruvchi uchun to'g'ri shamollatishdan foydalaning.

Rasm
Rasm

Arduino Gemma - Cheksizlik oynasi loyihasi Arduino Uno -ni Arduino Gemma -ga almashtirish orqali Arduino sxemasini miniatyura qiladi. Gemma - bu ATTiny85 mikrokontroller atrofida qurilgan, taxtasi Uno Atmega328 -ga qaraganda kamroq xotira va kam funksiyali, lekin uning narxi ham kichikroq. Katta prokladkalarni lehimlash juda oson (va o'tkazgichli ip bilan tikish mumkin, lekin bu boshqa sinf uchun mavzu). Gemma kompyuterga ulanish uchun mikro USB kabelidan foydalanadi va batareyani ulash uchun JST portiga ega. Siz Gemma -ni Arduino dasturidan qanday dasturlashni va uni yakuniy loyihaga kiritishni o'rganasiz. Siz buning o'rniga Adafruit Gemma -dan foydalanishingiz mumkin, lekin Arduino dasturini sozlash uchun qo'shimcha qadamni bajarishingiz kerak bo'ladi.

Rasm
Rasm

RGBW NeoPixel tasmasi - Bu raqamli manzilga ega chiziqli qizil, yashil, ko'k va oq rangdagi LEDlarni boshqaruvchi WS2812b chiplarini o'z ichiga oladi. NeoPixel - bu Adafruit brendining nomi, lekin siz bu tasmani sevimli etkazib beruvchining saytidan "WS2812b RGBW tasmasi" ni qidirib topishingiz mumkin. Bu sinfda berilgan namuna kodi RGB (oq rangsiz), analog LED tasmasi yoki boshqa raqamli boshqaruv chiplari bilan ishlamaydi (APA104 aka DotStar kabi)

2 -qadam: ramka qismlarini kesib oling

Kesilgan ramka qismlari
Kesilgan ramka qismlari

Qog'oz ishlab chiqarishga tayyor bo'ling! Bu qadam o'tkir asboblarni o'z ichiga oladi va tafsilotlarga e'tiborni talab qiladi, shuning uchun siz yaxshi dam olganingizga ishonch hosil qiling, lekin kofeinsiz ham emas. Yorug'lik yoritgichi va katta, toza ishchi yuzasi, kesish mat yoki karton bilan himoyalangan.

Agar siz ko'pikli taxtani kesish va yopishtirishda yangi bo'lsangiz, mashg'ulotlar va xatolar uchun qo'shimcha ma'lumot oling- 16x20 dyuymli uchta paketli paketlar etarli bo'lishi kerak (va agar sizda qolgan bo'lsa, u bilan boshqa loyihalar ham qilishingiz mumkin). Shikastlanishni oldini olish uchun o'tkir pichoqni, metall o'lchagichni, sekin harakatni va juda ehtiyotkorlikni qo'llang. Pichoqning notekis siljishi yoki tiqilib qolishi tufayli bir nechta bo'laklarni qayta yasash odatiy holdir.

Siz kesadigan shakllarni yaratishning ikki yo'li bor: shablonni chop eting yoki aylana chizilgan kompas yordamida shakllarni chizing. Ikkalasida ham aniq afzallik yo'q, lekin sizning mahoratingiz va vositalaringiz sizni boshqacha qilib qo'yishi mumkin. Shabloni PDF formatida qog'ozli qog'ozlar uchun mavjud bo'lib, siz ularni yopishtiruvchi tayoq bilan yopishtirib, ko'pikli qog'ozga yopishtirishingiz mumkin. Katta formatdagi printerda chop etish yoki o'zgartirishlar kiritish uchun shablon faylining to'liq versiyasi ham mavjud.

Rasm
Rasm
Rasm
Rasm

Shakllarni qo'l bilan chizish juda oddiy, lekin men va'da beraman! Avval kompasni uning radiusiga (4 dyuymli oyna = 2 dyuym) qo'yib, ko'pikli chizig'ingizga har bir chetidan kamida 5 dyuymli aylana chizib, ko'zgu hajmiga mos keladigan aylana chizib oling. Albatta, siz oynaning atrofini kuzatishingiz mumkin edi, lekin keyin markazni topib belgilashingiz kerak bo'ladi! Kompas markazda ikkinchi konsentrik aylanani yasash uchun qulay bo'lgan chiziqni qo'yadi.

Rasm
Rasm
Rasm
Rasm

Endi kompasni 4 dyuymgacha kengaytiring va birinchisining atrofida katta doirani chizib oling. Bu sizning oynangizning to'liq pastki/orqa qismidir.

Rasm
Rasm
Rasm
Rasm

Yuqori/old qismi biroz kattaroq bo'lishi kerak, shuning uchun kompasni 4/3/16 dyuymgacha kengaytiring va uni pastki qismdan xavfsiz masofaga torting.

Rasm
Rasm
Rasm
Rasm

Ko'rish oynasi oynadan biroz kichikroq bo'lishi kerak, lekin uning qanchalik muhim emas. Kompasni ko'zgu radiusidan 1/8 dyuymga kichikroq qilib qo'ying, so'ngra old/yuqori perimetri kattaroq bo'lgan markaziy nuqtadan foydalanib, aylanani torting.

Rasm
Rasm

Bu bo'lakni bir necha daqiqadan so'ng kesib tashlanadigan kichik doiraga belgilang.

Rasm
Rasm
Rasm
Rasm

Ko'pikli chiziqning uzun tomoni bo'ylab bir chiziqni 1/2 "kengligida, ikkinchisini 1" kengligida belgilang va kesib oling.

Rasm
Rasm

Tor chiziq oynani quchoqlab, NeoPixel tasmasini qo'llab -quvvatlaydi, kengroq esa aylana ramkaning tashqi devorini hosil qiladi.

Rasm
Rasm
Rasm
Rasm

Davralarni kesishga! Bu erda nozik va sabr -toqatli yordam beradi. Men doiralarni kesish uchun kichikroq pichoqni ishlatishni yaxshi ko'raman, chunki men o'zimni ko'proq nazorat qila olgandek his qilyapman. Men bu erda ishlatadigan pichoq muntazam X-akto pichoqlarini oladi va men uni scrapbooking yo'lakchasida topdim.

Birinchidan, pichog'ingizni pastki qismning butun atrofi bo'ylab engil torting, faqat qog'ozning yuqori qatlamini teshib qo'ying. Bu o'tish paytida siz pichoqni burishingiz mumkin, lekin u eng qulay va aniq shaklni beradi.

Oldingi o'tish paytida qilgan chizig'ingizni kuzatib, aylana bo'ylab yana bir marta kesib oling. Bu safar pichoq burchagingizga e'tibor bering, u 90 daraja bo'lishi kerak (tekis yuqoriga va pastga). Kesish paytida mahkam bosing va barmoqlaringizni pichoq yo'lidan uzoqroq tuting. Kengashni oling va oxirigacha kesib o'tganingizni tekshiring. Perimetr bo'ylab qolgan joylarni kesib tashlash uchun pichoq bilan yana bir marta o'tkazing.

Rasm
Rasm
Rasm
Rasm

Keyin yuqori qismini kesib oling, so'ngra uning ichki doirasini kesib oling. Bu bo'lak boshqalarga qaraganda ko'proq ko'rinadi, shuning uchun tekis bo'lmagan qirralarni to'g'rilash uchun unga ozgina qo'shimcha tozalash bering.

Rasm
Rasm
Rasm
Rasm

Ichki halqa uchun har 1/4 dyuymli yupqa chiziq bo'ylab kesma qiling, lekin oxirigacha kesib o'tmang! Ovoz berishdan ko'ra osonroq- faqat ikkita engil pasni bajaring, shunda siz Bu kesmalar ichki qismning silliq yuzasini ta'minlab, uning egilishiga imkon beradi.

Rasm
Rasm
Rasm
Rasm

Tashqi ramka qismi eng yaxshi yuzini tashqariga qo'yishi kerak, shuning uchun biz bir oz boshqacha naqshda kesma qilamiz. Qirg'indan 3/16 dyuymli chiziq bilan birinchi navbatda bo'g'inni tayyorlang. Ip bo'ylab 3/8 dyuym va 1/8 dyuymli qalin va ingichka bo'laklarni navbatma-navbat kesib o'ting.

Rasm
Rasm

Qirrasi o'raladigan materialni olib tashlash uchun, chiziqni kesuvchi yuzaning chetiga qo'ying va pichog'ingizni gorizontal ravishda siljiting, shunda ko'pik to'kiladi va qog'ozning pastki qatlami saqlanib qoladi.

Rasm
Rasm

Endi ingichka bo'laklarni pinset yoki qisqich yordamida siqib chiqaring. Ular qoniqarli ovoz bilan chiqaradilar. Qo'shimcha bo'sh joy bilan, chiziq endi o'z -o'zidan egilib, loyihaning toza tashqi qobig'ini hosil qilishi mumkin!

Rasm
Rasm
Rasm
Rasm

Ko'zgudan kattaroq, lekin tashqi ramkadan kichikroq bo'ladigan oynali plastmassaning bir qismini kesib oling. Uni aylana shaklida kesishga urinmang. Agar sizda plastik pichoq bo'lsa, eng yaxshisi. Gugni hukmdori bo'ylab bir necha marta torting, so'ngra plastmassani hisob bo'ylab torting. Shu bilan birga, xizmat pichog'i bu ingichka materialni ham osonlikcha kesib tashlaydi, garchi u ko'zgu materialining kesilgan qirrasi bo'ylab bir oz yorilib ketsa ham, u baribir ramka ichida yashiringan bo'ladi.

3 -qadam: ramkani yig'ing

Ramkani yig'ish
Ramkani yig'ish
Ramkani yig'ish
Ramkani yig'ish

Ish joyini axlat bilan himoya qiling. O'zingizni yoqib yuboradigan bo'lsak, yopishqoq tabancangizni qizdiring va bir piyola muzli suv tayyorlang. Agar xohlasangiz, ushbu loyiha uchun har xil yopishtiruvchi (ler) dan foydalanishingiz mumkin.

Rasm
Rasm
Rasm
Rasm

Pastki doiraning o'rtasiga qo'g'irchoq elim surting va unga oynangizni yopishtiring. Ko'zguni ko'pikka qarshi muloyimlik bilan aylantiring va uni belgilangan doiraga tekislang. Keyin ingichka tasmasini oynaning perimetriga yopishtiring va uning ortiqcha qismini yirtib tashlang, simlar o'tishi uchun kichik bo'shliq qoldiring.

Rasm
Rasm
Rasm
Rasm

Old "donut" bo'lagini ish yuzasiga pastga qarating va yopishtirilgan chetiga yopishtiring. Yopishtirayotganda, bu qismlarni ish joyiga bir necha marta bosib turing, shunda old qirrasi chiroyli va toza bo'lib chiqadi. Tashqi jant umuman o'tmaydi va bu yaxshi- agar xohlasangiz, keyinchalik bu bo'shliqni yopishni tanlashingiz mumkin.

Rasm
Rasm
Rasm
Rasm

NeoPixel simini oynaning chetidagi kichik bo'shliqdan o'tkazing va uni ichki qismga yopishtiring. Ixtiyoriy ravishda elim sovib ketganda tasmani mahkamlash uchun kiyim qisqichidan foydalaning. Oynaga issiq elim yopishmaslikka harakat qiling, lekin agar buni qilsangiz, hammasi yaxshi! Spirtli ichimliklar ozgina ishqalansa, ko'z kabi ko'zga ko'rinmas sirtni ushlab turadi.

Rasm
Rasm
Rasm
Rasm

Ish joyini chang va ko'pikli bo'laklardan tozalash uchun tozalang. Ko'zguni to'liq tozalash uchun tuklarsiz matodan foydalaning, so'ngra oynani oling va himoya qopqog'ini bir tomondan tozalang. Ichki devorning to'rt burchagiga ozgina elim surting (yopishqoq bo'laklarga yo'l qo'ymaslik uchun yopishtiruvchi qurolning harakatini ko'zgu bo'ylab siljiting) va o'tuvchi oynani joyiga yopishtiring. Endi sizning aks ettiruvchi yuzalaringiz muhrlangan va changdan himoyalangan.

Rasm
Rasm

NeoPixel tasmasini Arduino kartangizga ulab, bu mavzu bo'yicha mening Arduino Class darsimda tasvirlangan NeoPixel kodini ishlatib, ikki marta aks ettirishni o'rganing.

4 -qadam: O'chirish diagrammasi va psevdokod

O'chirish diagrammasi va psevdokod
O'chirish diagrammasi va psevdokod

Qurilish davomida ko'rsatilgan diagramaga havola qilishingiz mumkin bo'lsa -da, men sizni o'zingizning chizishingizni tavsiya qilaman. O'zingizning non paneli va yakuniy prototiplarini qurishda sizga bir qarashda ma'lumot beriladi va sizning sxemalaringiz sxemasi kelajakda o'z loyihalaringizni loyihalashtirishni osonlashtiradi. O'chirish diagrammasining maqsadi - bu kontaktlarning zanglashiga olib keladigan barcha elektr ulanishlarini ko'rsatish.

Ulanishlar quyidagicha:

NeoPixel 5V -> Arduino 5V

NeoPixel GND -> Arduino GND

NeoPixel Din (ma'lumotlar) -> Arduino raqamli kirish -chiqish pin (sozlanishi)

lahzali tugmachaning bir tomoni -> Arduino raqamli kirish -chiqish pimi (sozlanishi mumkin)

lahzali tugmachaning boshqa tomoni -> Arduino GND

Ushbu sxema NeoPixel tasmasini turli xil LED ko'rsatuvlarini ishga tushirish uchun tugma bilan birlashtiradi va siz kirish/chiqish darsida ko'rganingizdek ichki tortish qarshiligini ishlatadi. Bu ma'lumotlarning barchasidan foydalanib, biz "pseudocode:" deb nomlangan Arduino dasturimizning odam o'qiy oladigan maketini yozishimiz mumkin.

O'zgaruvchilar: NeoPixel pin raqami, tugma pin raqami, qancha LED bor, LEDlar qanchalik yorqin bo'lishi kerak

Bir martalik vazifalar: tugma pinini ichki tortish qarshiligi bilan kiritish, NeoPixel tasmasini ishga tushirish, LED ko'rsatuvlarini tasvirlash

Vazifalarni hal qilish: tugma bosilganligini tekshiring va agar bo'lsa, boshqa LED animatsiyasiga o'ting

Bu oddiy ko'rinishi mumkin, lekin loyihangiz uchun psevdokod yozishga vaqt ajratish sizga Arduino -ning oxirgi eskizini tezroq va chalkashliksiz yozishga yordam beradi. Bu vazifalar ro'yxatiga o'xshaydi va siz kodda suzayotganingizda va nima qilmoqchi ekanligingizni eslay olmaganingizda qo'llanma bo'ladi!

5 -qadam: Breadboard prototipi

Breadboard prototipi
Breadboard prototipi

Arduino va non taxtangizni oling va USB simining uzilganligiga ishonch hosil qiling. Sizning NeoPixelsingiz hali ham avvalgidan ulanganmi? Ajoyib! Agar yo'q bo'lsa, ularni ulang: 5V kuchlanishli temir yo'lga, Din Arduino pin 6 ga, GND er osti temir yo'liga.

Keyin markaziy bo'linma chizig'ini bosib, non paneliga bir lahzali tugma qo'shing. Bir oyog'ini erga, uning qo'shni oyog'ini Arduino piniga ulang. Ushbu loyihaning kodini to'g'ridan -to'g'ri yoki yuqoridagi Autodesk Circuits modulidan yuklab oling, "Kod muharriri" tugmachasini, so'ng "Kodni yuklab olish" ni bosing va faylni oching. Arduino yoki kodni yangi bo'sh Arduino eskiziga nusxalash va joylashtirish.

Rasm
Rasm

USB kabelini ulang va kodni Arduino kartasiga yuklang. Tugmani bosing; u NeoPixels bo'ylab o'ynash uchun yangi animatsiyani ishga tushirishi kerak. 5V temir yo'l cheklangan yorqinlikdagi bir nechta piksellar uchun etarli, lekin kelajakda ko'proq LEDli loyihalar uchun sizga Arduino Class intro dasturining mahorat darsida aytib o'tilganidek, alohida quvvat manbai kerak bo'ladi.

6 -qadam: kod

Keling, kodni batafsil ko'rib chiqaylik:

#deutine BUTTON_PIN 2 // Tugmachaga ulangan raqamli IO pin. Bu bo'ladi

// tortish qarshiligi bilan boshqariladi, shuning uchun kalit // pinni bir zumda tortib olishi kerak. Yuqori -> past // o'tish paytida tugmani bosish mantig'i bajariladi. #dexin PIXEL_PIN 6 // NeoPixelga ulangan raqamli IO pin. #PIXEL_COUNT 19 ni belgilang #Yorqinligi 100 ni aniqlang // 0-255 // Parametr 1 = chiziqdagi piksellar soni // Parametr 2 = PIN raqami (ko'pchilik to'g'ri) // Parametr 3 = Pikselli turdagi bayroqlar, kerak bo'lganda qo'shing: / / NEO_RGB piksellari RGB bit oqimi uchun ulangan // NEO_GRB piksellari GRB bit oqimi uchun ulangan, agar ranglar sinovdan o'tkazilsa to'g'ri bo'ladi bit oqimi (masalan, yuqori zichlikdagi LED tasmasi), neopixel tayog'i uchun to'g'ri Adafruit_NeoPixel strip = Adafruit_NeoPixel (PIXEL_COUNT, PIXEL_PIN, NEO_GRBW + NEO_KHZ800); bool oldState = HIGH; int showType = 0;

NeoPixel misol kodiga o'xshab, bu birinchi bo'limda NeoPixel tasmasi va tugmachasi, pikselni boshqarish pimi va boshqalar uchun o'zgaruvchilar o'rnatiladi.

bo'sh o'rnatish () {

pinMod (BUTTON_PIN, INPUT_PULLUP); strip.setBrightness (Yorqinligi); strip.begin (); strip.show (); // Barcha piksellarni "o'chirish" holatiga o'tkazing} O'rnatish funktsiyasi 2-pinni ichki tortish qarshiligi yoqilgan kirishga o'rnatadi, piksellarning umumiy yorqinligini o'rnatadi va pikselli ma'lumot ulanishini ishga tushiradi.

void loop () {

// Joriy tugma holatini oling. bool newState = digitalRead (BUTTON_PIN); // Holat yuqoridan pastgacha o'zgarganligini tekshiring (tugmani bosish). if (newState == LOW && oldState == HIGH) {// O'chirish tugmachasining qisqa kechikishi. kechikish (20); // O'chirishdan keyin tugma hali ham pastligini tekshiring. newState = digitalRead (BUTTON_PIN); if (newState == LOW) {showType ++; if (showType> 6) showType = 0; startShow (showType); }} // Oxirgi tugma holatini eski holatiga o'rnating. oldState = newState; }

Loop funktsiyasi avval tugmachaning joriy holatini tekshiradi va uni boolean o'zgaruvchiga saqlaydi (ikkita holatdan biri bo'lishi mumkin: HIGH yoki LOW). Keyin bu holat "YUQORI" dan "LOW" holatiga o'tadimi -yo'qligini tekshiradi va ikki marta tekshiradi. Agar shunday bo'lsa, showType bittaga ko'payadi va startShow funktsiyasi chaqiriladi, bunda joriy showType unga argument sifatida beriladi (showType 0-6 gacha cheklangan). OldState o'zgaruvchisi oxirgi tugma holatini aks ettirish uchun yangilanadi.

void startShow (int i) {

switch (i) {0 holat: colorWipe (strip. Color (0, 0, 0), 50); // Qora/yopiq tanaffus; 1 -holat: colorWipe (tasma. Rang (255, 0, 0), 50); // Qizil tanaffus; 2 -holat: colorWipe (tasma. Rang (0, 255, 0), 50); // Yashil tanaffus; 3 -holat: colorWipe (strip. Color (0, 0, 255), 50); // Moviy tanaffus; 4 -holat: pulseWhite (5); tanaffus; 5 -holat: rainbowFade2White (3, 3, 1); tanaffus; 6 -holat: fullWhite (); tanaffus; }}

StartShow funktsiyasi switch/case iborasini o'z ichiga oladi, bu if/else iboralarini to'plashning oddiy usuli. Kommutator holati i o'zgaruvchini har bir holatning qiymatlari bilan taqqoslaydi, so'ngra ushbu bayonotdagi kodni ishga tushiradi. Kalit so'z

tanaffus;

switch/case bayonotidan chiqadi. Bu tugmachani har bir tugmani bosganingizda turli animatsion funktsiyalarni chaqirish uchun ishlatiladi.

Rasm
Rasm

Endi sizda funktsional non taxtasi prototipi mavjud, Arduino Uno -ga qaraganda kichikroq, to'liq bo'lmagan va arzonroq bo'lgan Arduino Gemma -dan foydalanib, buni tugallangan loyihaga aylantirish vaqti keldi. Siz buning o'rniga Adafruit Gemma -dan foydalanishingiz mumkin, lekin Arduino dasturini sozlash uchun qo'shimcha qadamni bajarishingiz kerak bo'ladi.

Birinchidan, NeoPixel pin o'zgaruvchisini kodingizda 6 dan 1 gacha o'zgartiring:

#dexin PIXEL_PIN 1 // NeoPixelga ulangan raqamli IO pin.

USB kabel yordamida kompyuteringizga Arduino Gemma -ni ulang va Arduino Tools menyusida "Arduino Gemma" ni tanlang.

Rasm
Rasm

Bortdagi ATTiny85 mikrokontrollerining cheklangan funktsiyalari ketma -ket portni Uno kabi qo'llab -quvvatlamaydi, shuning uchun Port menyusidan hech narsani tanlash shart emas. Ammo, dasturchi menyusi ostidan "Arduino Gemma" ni tanlaganingizga ishonch hosil qiling.

Rasm
Rasm

Kengashga dasturni o'rnatmoqchi ekanligingizni bilish uchun biroz yordam kerak, shuning uchun taxtadagi reset tugmachasini bosing va qizil LED yonayotgan paytda eskizingizni Gemma -ga yuklash uchun Yuklash tugmasini bosing. Qayta tiklash tugmachasini bosganingizda qizil LED urilmasa, USB kabeli faqat quvvat manbai bo'lishi mumkin va uni quvvat va ma'lumot ulanishlari bo'lgan USB kabelga almashtirish kerak. Yorug'lik diodining pulsatsiyalanmasligining yana bir sababi, agar siz Gemma bootloader -ni tanib olishda muammo bo'lgan USB 3 portidan (barcha yangi Mac) foydalanayotgan bo'lsangiz. Kompyuteringizdagi USB 2 portidan yoki kompyuter va Gemma orasidagi USB uyadan foydalaning.

7 -qadam: Lehim davri

Rasm
Rasm
Rasm
Rasm

Gemma -ni ishlatish uchun biz simlarni to'g'ridan -to'g'ri bortdagi prokladkalarga lehimlaymiz. Non paneli ulagichini uzing va NeoPixel simlarining uchlarini torting, burang va qalaylang. Xuddi shu tarzda, tugmachaning diagonal simlariga lehim simlari (lehim darsidagi tugmani ishlatishingiz mumkin). Ikkita tuproqli simni bir -biriga bog'lab, lehimlang.

Rasm
Rasm
Rasm
Rasm

Gemma-ning katta teshiklari bu sxemani qo'shimcha qismlarsiz yig'ishni osonlashtiradi- qalaylangan simlarni teshiklardan o'tkazing va ortiqcha qismini lehim yostig'iga o'rang. Ulanishlar quyidagicha:

  • NeoPixel 5V -> Gemma Vout
  • NeoPixel Din -> Gemma 1 ~ (raqamli pin 1)
  • NeoPixel GND -> tugmachaning bir tomoni -> Gemma GND
  • tugmachaning boshqa tomoni -> Gemma 2 (raqamli pin 2)

Uchinchi qo'l asbobga elektron kartani o'rnating va lehim bilan payvandlashdan oldin, payvand choki bilan ulanishlarni qizdiring. Barcha ulanishlar soviganidan so'ng, ortiqcha simni yuvgich bilan kesib oling.

Rasm
Rasm
Rasm
Rasm

USB portini aylananing chetiga qaratib, Gemma -ni issiq yopishtiring.

Rasm
Rasm
Rasm
Rasm
Rasm
Rasm
Rasm
Rasm
Rasm
Rasm

Old/yuqori qopqog'ini qo'llang va qismlarini bir -biriga toza joylashtirish uchun chetini boshqaring. O'rnatish uchun pastki aylanangizni biroz qirqishingiz kerak bo'lishi mumkin, va uning o'rtasini joylashtirish uchun chetini torting. Tugmani xohlagan joyingizga yopishtiring.

8 -qadam: Undan foydalaning

USB kabelini ulang, tugmani bosing va zavqlaning! Kodni o'zgartirish orqali siz ranglar va animatsiyalarni o'zgartirishingiz mumkin. Agar siz devorga o'rnatmoqchi bo'lsangiz, USB quvvat adapteridan foydalaning. Agar xohlasangiz, qolgan bo'shliqni yopish uchun siz yana ko'pikli qirg'oq yasashingiz mumkin. Ba'zi tavsiya etilgan foydalanish usullari: uni devorga osib qo'ying, stolingizda saqlang, do'stingizga bering!

Rasm
Rasm

Siz USB kabelni ulash o'rniga, ichki batareyali ushbu loyihani osonlik bilan ishga tushirishingiz mumkin. Gemma-ni yopishtirish yo'nalishi batareya portiga kirishni aniqlaydi, shuning uchun siz uni boshqa burchakda qayta yopishtirishingiz mumkin. 19 ta RGBW piksellar sonining maksimal 80ma maksimal oqimi (Gemma uchun ~ 10ma) 1530ma ga teng, demak, texnik jihatdan bizga kamida shuncha mAch quvvatga ega batareya kerak. Biroq, oynaning kodi to'rt pikselli LEDlarning to'liq nashrida birgalikda ishlatilishiga yaqin kelmaydi, shuning uchun amalda maksimal oqim chizig'i ancha past bo'ladi. Batareyaning sog'lom kelishuvi - bu 1200 mA / soatlik qayta zaryadlanuvchi lipoli batareyadir.

Rasm
Rasm

Arduino loyihasini kuzatganingiz uchun tashakkur! Qo'shimcha ma'lumot olish uchun mening Arduino sinfiga kiring. Sizning versiyalaringizni sharhlarda ko'rishni va sizning fikr va mulohazalaringizni kutib o'tirmayman.

Tavsiya: