Mundarija:

Geek Spinner: 14 qadam (rasmlar bilan)
Geek Spinner: 14 qadam (rasmlar bilan)

Video: Geek Spinner: 14 qadam (rasmlar bilan)

Video: Geek Spinner: 14 qadam (rasmlar bilan)
Video: buka buka raqisi yoqqan bõlsa bitta layk 2024, Noyabr
Anonim
Image
Image
Geek Spinner
Geek Spinner
Geek Spinner
Geek Spinner
Geek Spinner
Geek Spinner

Achchiq yigiruvchilar juda qiziqarli va shu kunlarda siz har qanday kassadan bir necha dollarga topishingiz mumkin, lekin agar siz o'zingizni qura olsangiz nima bo'ladi? Va u erda LEDlar bormi? Siz xohlagan narsani aytish yoki ko'rsatish uchun dasturlashtira olasizmi? Agar bu g'alati tuyulsa, bu sizga loyiha.

Men har doim bolalarni dasturlashga qiziqtirish uchun miltillovchi LEDlardan foydalanishga qiziqganman. Arduino mikrokontrollerining eng oddiy loyihasi - bu LEDni yoqish va o'chirish. Keyin siz ularni LED yonib ketguncha tez yonib turishini ko'rishingiz mumkin (taxminan 12 millisekundlik interval). Keyin siz LEDni oldinga va orqaga silkitasiz va siz uning yana miltillashini ko'rasiz! Ushbu hodisa "ko'rishning qat'iyligi" (POV) deb nomlanadi va bu loyiha qanday ishlaydi. Bu ko'zning qanday ishlashi va kompyuterlarning qanchalik tez ishlashi haqida munozaralarga olib kelishi mumkin.

Ushbu loyihada dasturlashtiriladigan 8-bitli mikrokontroller, sakkizta LED va tanga xujayrasi ishlatiladi. U standart skeytbord rulmani yordamida aylanadi va aylanishni aniqlash uchun Hall effekti sensori va magnitdan foydalanadi. U yangi boshlanuvchilar uchun qulay bo'lgan teshik qismlari yordamida yaratilgan va Arduino dasturlash muhiti yordamida dasturlashtirilishi mumkin. Yetarli gaplashaylik, keling, gaplashamiz…

1 -qadam: ehtiyot qismlar, asboblar va materiallarni yig'ing

Image
Image
Ehtiyot qismlar, asboblar va materiallarni yig'ing
Ehtiyot qismlar, asboblar va materiallarni yig'ing

Yarim yo'lni bosib o'tish va sizni nimadir etishmayotganini topish har doim asab soladi. Bu men sinab ko'rgan va yaxshi ishlagan qismlar. O'zingizning xavfingiz bilan almashtiring:

Materiallar hisobi =================

  • 1 ta, binafsha rangli PCB, AQShda OSH Park tomonidan mehr bilan ishlab chiqarilgan
  • 1 ta, Attini 84, Atmel ATTINY84A-PU,
  • 1 ta, tegish tugmasi, TE 1825910-6,
  • 1 ta, SPDT orqali teshik orqali o'tish, C&K JS202011AQN,
  • 1 ta batareya ushlagichi, Linx BAT-HLD-001-THM,
  • 8 ta ea, 3 mm qizil LED 160 Mcd, Wurth 151031SS04000,
  • 8 ea, 330 ohm 1/8 Vt, Stackpole CF18JT330R,
  • 1 ta, 0,1 uF qopqoq, KEMET C320C104M5R5TA,
  • 1 ta, magnit kalit, Melexis MLX92231LUA-AAA-020-SP,
  • 1 ta, 608 skeytbordli podshipnik,
  • 1 ta, kichik nodir er magnitlari 2 mm x 1 mm,
  • 2 ta, 3D bosilgan qopqoqlar (STL fayli biriktirilgan).
  • 1 ta, CR2032 batareyasi, Panasonic BSP yoki unga tenglashtirilgan,

Asboblar va materiallar: Mening ustaxonalarim uchun men cımbızdan boshqa hamma narsaga ega bo'lgan SparkFun boshlanuvchilar asboblar to'plamidan foydalanaman:

  • Lehimlash temir.
  • SolderWire
  • Yupqa kesgichlar (men 5 dollarlik Hakko CHP170ni yaxshi ko'raman!)
  • Sochni olib tashlash
  • Super elim

Attinni dasturlash (4 -qadam, agar siz uni to'plam sifatida sotib olsangiz shart emas):

  • Arduino (iltimos, Xitoyning arzon klonlaridan saqlaning va AQShning ochiq manba kodli mahsulotlarini qo'llab -quvvatlang).

    • SparkFun Redboard
    • Adafruit metrosi
    • Arduino UNO
  • AVR dasturlash qalqoni.
  • Pogo adapteri (agar chip o'rnatilgan dasturlash bo'lsa).
  • Uno uchun standart USB A-B, Redboard uchun USB Mini yoki Metro uchun USB Micro.

Ushbu loyiha uchun to'plam Tindie.com saytida mavjud (minus batareya). To'plamni sotib olish sizga turli xil sotuvchilardan buyurtma berish vaqtini va xarajatlarini tejaydi va PCB buyurtmasining minimal mukofotidan qochadi. Bundan tashqari, Attiny-ni dasturlash oddiy emas va agar siz to'plamni sotib olsangiz, u allaqachon oldindan dasturlashtirilgan bo'ladi. Siz menga seminarlarda boshqa loyihalarni ishlab chiqish va almashishimga yordam berasiz!

2 -qadam: Qarshilik muhim

Qarshilik muhim
Qarshilik muhim
Qarshilik muhim
Qarshilik muhim
Qarshilik muhim
Qarshilik muhim

Sizningcha, to'plam ishlab chiqarish tajribasi bor. Agar sizga lehim yordami kerak bo'lsa, www.sparkfun.com/tutorials/213 saytiga tashrif buyuring yoki Geek Girl buni https://www.youtube.com/embed/P5L4Gl6Q4Xo orqali tushuntirib bering. Menda yangi boshlanuvchilar uchun mos to'plam bor

Men rezistordan boshlashni yaxshi ko'raman, chunki a) ular payvand chuqurchaga kirganda va temir haroratga yaqinlashganda, ular nisbatan issiqlikka chidamli, b) ularning qutblari yo'q, shuning uchun yo'nalish juda muhim emas va v) ular taxtaning eng past komponenti, shuning uchun lehim paytida mahkam o'tiring. LEDlarning har biri uchun bittadan 330 ohmli oqim cheklovli rezistorlar mavjud. Siz bir vaqtning o'zida yoki sakkiztasini bir vaqtning o'zida qilishingiz mumkin.

  • Qo'rg'oshinlarni prokladkalarning kengligiga egib, rezistorni joylashtiring.
  • Taxtani ag'daring va simlarni lehimlang.
  • Qo'rg'oshinlarni tekis kesish bilan kesib oling.
  • Agar siz ularni do'stlaringizni hayratda qoldirishni xohlasangiz, ularni yana temir bilan urib qo'ying.

3 -qadam: kod?

Kod?
Kod?
Kod?
Kod?
Kod?
Kod?
Kod?
Kod?

Agar siz mening to'plamimni sotib olgan bo'lsangiz, chip oldindan dasturlashtirilgan va keyingi bosqichga o'tishi mumkin.

Ha, bu loyihaga ba'zi kodlar kerak. Va agar siz e'tibor bergan bo'lsangiz, 1 -bosqichda men sizga Attini dasturlashi ahamiyatsiz emasligini aytgandim. Men Arduino -dan foydalanaman, bu dasturlash muhiti, AVR -dasturchim va pogo pin -jig.

Chipni lehimlashdan oldin dasturlash mumkin (2 -rasm) yoki PCB tagidagi ISP sarlavhasi yordamida lehimlangandan so'ng (3 -rasm). Ikkala holatda ham dasturlash quyidagicha:

  • Arduino dasturlash muhitini yuklab oling.
  • Attiny 85 uchun qo'llab -quvvatlashni quyidagilardan o'rnating:

    • https://highlowtech.org/?p=1695 (Arduino Tiny)
    • https://github.com/SpenceKonde/ATTinyCore (Attiny Core)
  • "Arduino provayder eskizini" yuklang: [Fayl] -> [Misollar] -> [Arduino ISP sifatida].
  • AVR dasturlash qalqoni biriktirilgan va lenta kabelini Attiny84 holatiga joylashtiring
  • Agar Pogo adapteridan foydalansangiz, uni bortdagi ISP sarlavhasiga joylashtiring. Ijobiy va salbiy tagliklar belgilangan, shuning uchun siz sarlavhani to'g'ri yo'naltira olasiz.
  • Agar chipdan foydalansangiz, uni bitta pin bilan USB ulagichiga joylashtiring.
  • To'g'ri chipni tanlang:

    • Arduino Tiny: "Attiny 84 @ 8 MGts"
    • Attiny yadrosi: "Attiny 24/44/84"

      • "Attiny 84" chipi
      • 8 MGts (ichki)
      • "Soat yo'nalishi bo'yicha" teskari xaritasi
  • Dasturchi -ni tanlang, [Asboblar] -> [Dasturchi] -> [ISP sifatida Arduino]
  • Dasturiy ta'minot sigortalarini o'rnating, [Asboblar] -> [Burn Bootloader]
  • Qo'shilgan eskizni yuklang, [Fayl] -> [Dasturchi yordamida yuklash]

Men oladigan xatolarning eng katta manbai - bu pinlarni to'g'ri hizalamaslik.

4 -qadam: Chip qiling

Chip qiling
Chip qiling
Chip qiling
Chip qiling
Chip qiling
Chip qiling
Chip qiling
Chip qiling

Endi sizning chipingizda kod bor, uni o'rnatishingiz mumkin. DIP ("ikkilamchi qatorli paket") chipining yo'nalishi, odatda, bu erda bo'lgani kabi, pinning yonidagi teshik yoki chipning uchida joylashgan.

  • Qo'rg'oshinlarni tekis yuzaga bosib 90 gradusgacha buking (1 va 2 -rasmlar).
  • Chipni tenglikni belgisi bilan tekislang va chipni joylashtiring (3 -rasm).
  • Bir pinni qarama -qarshi tomonga lehimlang va ikkala chip tenglikni tenglamasiga to'g'ri joylashtirilganligini va yo'nalish to'g'ri ekanligini tekshiring. Shundan keyin tuzatish juda qiyin bo'ladi. Bu borada menga ishoning.
  • To'g'ri o'rnatilganligiga ishonch hosil qilganingizdan so'ng, qolgan pimlarni lehimlang va keyin yuving.

5 -qadam: Kalit va kondansatör

Kalit va kondansatör
Kalit va kondansatör
Kalit va kondansatör
Kalit va kondansatör

Bosish tugmasi IC yonida, boshqa tomonda esa kondansatör bor.

  • Tugmani joyiga bosing (uning to'g'ri yo'nalishda ekanligiga ishonch hosil qiling).
  • Uni joyiga lehimlang.
  • Iplarni orqa tomondan kesib oling.

Kondensatorning yo'nalishi yo'q, lekin agar siz yozuv tomonini chetga surib qo'ysangiz, sizning do'st do'stlaringiz siz qanday qiymat ishlatganingizni bilib oladi.

6 -qadam: Kalit va batareya ushlagichi

Kalit va batareya ushlagichi
Kalit va batareya ushlagichi
Kalit va batareya ushlagichi
Kalit va batareya ushlagichi
Kalit va batareya ushlagichi
Kalit va batareya ushlagichi
Kalit va batareya ushlagichi
Kalit va batareya ushlagichi

O'tish darajasi tashqi tomonga yo'naltiriladi. Boshqa narsalar singari, ikkita pinni lehimlang, uning tekis o'tirganligini tekshiring, so'ngra qolganini lehimlang.

Batareya ushlagichida yo'nalishni ko'rsatish uchun markirovka bor, lekin bu muhim emas. Shu bilan birga, u oddiy simlarga qaraganda bir oz ko'proq issiqlikni talab qiladi va siz batareyani joyida ushlab turish uchun uning o'tirganligiga ishonch hosil qilishni xohlaysiz (4 -rasm).

7 -qadam: LEDlar

LEDlar
LEDlar
LEDlar
LEDlar
LEDlar
LEDlar
LEDlar
LEDlar

Hech bo'lmaganda bitta LEDni o'z ichiga olmaydigan yaxshi loyiha yo'q. Bu sakkiztaga ega!

Uzoq qo'rg'oshin ijobiy (anod). Ipak ekranida "+" belgisi bor va pad to'rtburchaklar shaklida. Agar siz bir vaqtning o'zida sakkiztasini qilsangiz, barcha yo'nalishlarning to'g'riligiga ishonch hosil qilish uchun ularni ushlab turing.

  • Har bir LEDda bitta simni lehimlang.
  • Yo'nalishni va ularning tekis joylashishini tekshiring (3 -rasm).

    Agar bunday bo'lmasa, sumkangiz bilan sumkani bosing va o'rni joyiga tushguncha qayta qizdiring (4-rasm)

  • Qolgan qismini lehimlang.
  • Qatlamlarni qisib qo'ying.

8 -qadam: tekshiring

Image
Image
Spin vaqti
Spin vaqti

Shu nuqtada, biz hali ham LEDlarni tekshirib, o'chirib qo'yishimiz mumkin:

  • Batareyani musbat tomoni tashqariga joylashtiring.
  • Spinnerni yoqing va keyin barcha (umid qilamanki) LEDlar yonmaguncha tugmani bosing (videoga qarang).
  • Spinnerni aylantiring va naqshni ko'ring. Agar LED yonmasa, u orqaga o'rnatilishi yoki issiqdan shikastlangan bo'lishi mumkin. Uni lehimlang va yangisini joylashtiring.

Muammolarni bartaraf qilish; nosozliklarni TUZATISH:

  • Agar LEDlar yonmasa:

    • Batareyangiz yaxshi va to'g'ri yo'nalishda ekanligiga ishonch hosil qiling.
    • Siz chipni dasturladingizmi? Bu to'g'ri yo'nalishdami? Issiq bo'ladimi?
    • LEDlar to'g'ri yo'naltirilganmi? Tekshirish uchun lehimli bo'g'inlar orasidagi tanga katakchasidan foydalanilsinmi?
  • Agar tugmachada LEDlar yonib turmasa:

    • LEDdagi lehim birikmalarini tekshiring.
    • Attinidagi lehim bo'g'inlarini tekshiring.
  • Agar hamma narsa muvaffaqiyatsiz bo'lsa, old va orqa tomonning yuqori aniqlikdagi fotosuratlarini oling va joylashtiring va izohlarda yordam so'rang.

9 -qadam: aylanish vaqti

Spin vaqti
Spin vaqti
Spin vaqti
Spin vaqti
Spin vaqti
Spin vaqti

Rulman korpusni katta yostiqqa lehimlash orqali ushlab turiladi. Bu sabr -toqat va ko'p issiqlikni talab qiladi:

  • Rulmanni joylashtirish uchun qattiq yuzaga tangalar kabi narsalarni qo'llang.
  • Qoplamaga lehim oqishini ko'rmaguningizcha, yostiqni ham, rulman qobig'ini ham qizdiring (biroz vaqt ketadi).
  • Boshqa tomondan takrorlang.
  • Spinnerni aylantirish orqali rulman to'g'ri tekislanganligini tekshiring.
  • Taxtani ag'daring va boshqa tomondan ikkita nuqtani lehimlang.

10 -qadam: Bu inqilobmi?

Image
Image
Bu inqilobmi?
Bu inqilobmi?
Bu inqilobmi?
Bu inqilobmi?

Xabarlarni oddiy naqshlar o'rniga ko'rsatish uchun biz aylananing aylanaga nisbatan pozitsiyasini bilishimiz kerak. Biz Hall effekti sensori va magnitdan foydalanamiz. Bu yonish dvigatellari maksimal quvvat olish uchun uchqunni qachon yoqish kerakligini bilishiga o'xshaydi. Sensorning ham, magnitning ham yo'nalishi va hizalanishi uning ishlashi uchun juda muhimdir.

  • Qurilmaning yuzidagi yozuv ipak ekranga mos keladigan rulmanga qaragan (1 -rasm).
  • Balandlikni rulman ustidagi tekislang (qopqoqdagi magnit qaerda bo'ladi).
  • Bir qo'rg'oshinni lehimlang.
  • Ovqatlanish balandligi va balandligini tekshiring.
  • Qolgan iplarni lehimlang.
  • Qatlamlarni qisib qo'ying.

Agar siz Omni qutbli sensordan foydalansangiz, magnitning yo'nalishini aniqlab olishingiz kerak bo'ladi. Buning eng yaxshi usuli - avvalgi bosqichdagi naqshdan boshqa rejimni o'rnatish va keyin LEDlarning miltillashini boshlaydigan magnitning yonini topish (videoga qarang). Magnitni tashqi tomonga qaragan tomoni bilan yopishtiring. Ishingizni ikki marta tekshiring.

11 -qadam: Balans to'g'risidagi qonun

Balans to'g'risidagi qonun
Balans to'g'risidagi qonun
Balans to'g'risidagi qonun
Balans to'g'risidagi qonun

Agar siz aylantirgichni gorizontal holatda batareyani ushlab tursangiz, u batareyaning yon tomoniga burilganini ko'rasiz. Tarkibni muvozanatlash uchun qancha harakat qilsam ham, u hali ham muvozanatdan tashqarida. Yong'oq va murvat yordamida batareyaning yon tomoniga ozgina og'irlik qo'shishingiz yoki yostiqqa lehim qo'shishingiz mumkin.

12 -qadam: Siz operatsionsiz

Image
Image
Lekin kuting, yana ko'p narsalar bor..
Lekin kuting, yana ko'p narsalar bor..

Sizning magnit va sensoringiz joyida, siz Geek Spinner -ning ajoyibligini tekshirishga tayyormiz. Spinner rejimi yoqilganda yoki tugmani bosgandan keyin (D0 - D7) yonib turgan LED bilan ko'rsatiladi. Tugmani bosish bilan rejim o'zgartiriladi (videoga qarang).

int rejimlari = 8; // mavjud rejimlar soni

// 0 -> "Salom dunyo!" Yozuvi // 1 -> RPM // 2 -> soniyalarda vaqt // 3 -> aylanish soni // 4 -> aylanish soni (jami) // 5 -> "lilly pad" naqsh // 6 -> 1 -shakl (yurak) // 7 -> 2 -shakl (tabassum)

13 -qadam: Lekin kuting, yana ko'p narsalar bor..

Lekin kuting, yana ko'p narsalar bor..
Lekin kuting, yana ko'p narsalar bor..
Lekin kuting, yana ko'p narsalar bor..
Lekin kuting, yana ko'p narsalar bor..
Lekin kuting, yana ko'p narsalar bor..
Lekin kuting, yana ko'p narsalar bor..

"Yurak" va "tabassum" naqshlari qutbli grafik yordamida sakkiz segmentning har 5 graduslik aylanishida qanday ko'rinishini ko'rsatish uchun yaratilgan.

Qo'l bilan:

  • To'liq o'lchamli tasvirni yuklab oling va chop eting (1-rasm).
  • O'z rasmingizni yaratish uchun bloklarni to'ldiring (2 -rasm).
  • Radial bo'ylab, 0 dan boshlab, baytni qora = 1, oq = 0 yordamida hisoblang;

    Yurakning birinchi radiusi 1, 0, 0, 0, 0, 0, 0, 0, shuning uchun bayt = 0b100000000;

  • Ish tugaguncha davom eting (maslahat, agar sizning rasmingiz nosimmetrik bo'lsa, faqat yarmini bajarish kerak).
  • "Forma_1 " yoki "shakl_2 " ostidagi eskizning "textAndShapes.h" bo'limiga baytlaringizni joylashtiring.

Python -dan foydalanish:

  • Python -ni o'rnating.
  • Python Image kutubxonasini o'rnating.
  • Qo'shilgan "readGraph.py" skriptini yuklab oling.
  • To'liq aniqlikdagi rasmni yuklab oling (1-rasm).
  • Rasmni sevimli muharririda oching (GIMP yoki MS Paint).
  • Qora rang tanlangan "To'ldirish" buyrug'idan foydalanib, kerakli segmentlarni to'ldiring (2 -rasm).
  • Rasmni "readGraph.py" skripti bilan bir xil katalogda saqlang va unga mos kelishi uchun skriptdagi fayl nomini o'zgartiring:

im = Image.open ('heart.png')

Skriptni ishga tushiring va chiqishni "format_1 " yoki "shape_2 " ostidagi eskizning "textAndShapes.h" bo'limiga joylashtiring

Qanday bo'lmasin, o'z ijodingizni (rasm va kod) sharhlarda baham ko'ring!

14 -qadam: Kreditlar va yakuniy fikrlar

Kreditlar va yakuniy fikrlar
Kreditlar va yakuniy fikrlar

Albatta, men bularning barchasini o'zim o'ylab topganim yo'q. Uzoq zarba bilan emas.

  • POV bilan birinchi amaliy tajribam Nik Sayerning POV Twirlie loyihasi bilan bo'ldi: https://www.tindie.com/products/nsayer/pov-twirlie/. (Men ham pogo adapteridan foydalanaman).
  • Techydiyning ko'rsatmalari https://www.instructables.com/id/LED-FIDGET-SPINNER/ ni ko'rganimdan keyin miyamga "LED + Fidget spinner = POV" degan fikr keldi.
  • Qachonki sizda ajoyib g'oya bo'lsa, kimdir buni amalga oshirgan: https://www.instructables.com/id/POV-Arduino-Fidget-Spinner/. Yuzaki lehim - bu men qila oladigan narsa, lekin aslida yangi boshlanuvchilar uchun qulay emas. Uning kodi ham boshimdan biroz yuqoriroq edi, lekin men uning RPM va hisoblarni ko'rsatish haqidagi fikrlaridan foydalandim.
  • Men matnni ko'rsatish uchun Reger-men POV Clock kodining parchalarini tushuna oldim va ishlatardim:

Hech bir loyiha to'liq yoki mukammal emas. Mana, men ilgari suradigan ba'zi fikrlar:

  • Balans: Ma'lumotlar varaqlarida kamdan -kam hollarda tarkibiy qismlarning og'irligi haqida ma'lumot bo'ladi, shuning uchun balansni tuzmasdan turib, hatto ma'lumotli taxmin qilish ham qiyin. Batareya, shubhasiz, eng og'ir qismdir. Men har bir uchiga teshik qo'shdim, shuning uchun uni muvozanatlash uchun kerak bo'lganda og'irlik qo'sha olaman.
  • Soat yo'nalishi bo'yicha? Agar siz payqagan bo'lsangiz, matn faqat soat yo'nalishi bo'yicha aylanayotganingizda to'g'ri ko'rsatiladi. Boshqa tomonga burilish ko'zgu tasvirini yaratadi. Ikkinchi Hall sensori yoki magnitni qo'shish sizga aylanish yo'nalishini olish imkonini beradi (Shon loyihasi shunday qildi).
  • Rang? Dasturlashtiriladigan RGB LED -laridan foydalanish rang berish imkonini beradi. Odatda ular sirtga o'rnatiladi.

Tavsiya: