Cuprins:

Geek Spinner: 14 pași (cu imagini)
Geek Spinner: 14 pași (cu imagini)

Video: Geek Spinner: 14 pași (cu imagini)

Video: Geek Spinner: 14 pași (cu imagini)
Video: iSilent - HEY (Official Music Video) 2024, Iulie
Anonim
Image
Image
Geek Spinner
Geek Spinner
Geek Spinner
Geek Spinner
Geek Spinner
Geek Spinner

Filatoarele Fidget sunt distractive și puteți găsi unul la orice ghișeu de check-out pentru doar câțiva dolari în zilele noastre, dar dacă ați putea să vă construiți propriul? Și avea LED-uri? Și ai putea să-l programezi pentru a spune sau a arăta orice vrei? Dacă sună ciudat, acesta este proiectul pentru tine.

Întotdeauna am fost interesat să folosesc LED-uri intermitente pentru a-i interesa pe copii să programeze. Cel mai simplu proiect cu un microcontroler Arduino este să clipească un LED aprins și oprit. Apoi, îi faceți să vadă cât de repede poate LED-ul să clipească înainte să pară că este aprins continuu (la intervale de aproximativ 12 milisecunde). Apoi agitați LED-ul înainte și înapoi și îl puteți vedea clipind din nou! Acest fenomen se numește „persistența viziunii” (POV) și este modul în care funcționează acest proiect. Poate duce la discuții atât despre modul în care funcționează ochiul, cât și despre cât de incredibil de rapide sunt computerele.

Acest proiect folosește un microcontroler programabil pe 8 biți, opt LED-uri și o celulă monedă. Se rotește folosind un rulment standard de skateboard și folosește un senzor de efect Hall și un magnet pentru a determina rotația. Este realizat folosind piese prin găuri prietenoase cu începătorii și poate fi programat folosind mediul de programare Arduino. Destul de vorbit, hai să facem…

Pasul 1: Adunați piesele, instrumentele și consumabilele

Image
Image
Adunați piesele, instrumentele și consumabilele
Adunați piesele, instrumentele și consumabilele

Este întotdeauna frustrant să parcurgi la jumătatea drumului o construcție și să descoperi că îți lipsește ceva. Acestea sunt părțile pe care le-am încercat și am găsit că funcționează bine. Înlocuiți pe propriul risc:

Lista materialelor =================

  • 1 PCB purpuriu, fabricat cu drag în SUA de OSH Park
  • 1 ea, Attiny 84, Atmel ATTINY84A-PU,
  • 1 ea, comutator tactil, TE 1825910-6,
  • 1 ea, Slide Switch SPDT Through Hole, C&K JS202011AQN,
  • 1 ea, Suport baterie, Linx BAT-HLD-001-THM,
  • 8 ea, 3mm LED roșu 160 Mcd, Wurth 151031SS04000,
  • 8 ea, 330 ohm 1 / 8W, Stackpole CF18JT330R,
  • 1 ea, capac de 0,1 uF, KEMET C320C104M5R5TA,
  • 1 ea, comutator magnetic, Melexis MLX92231LUA-AAA-020-SP,
  • 1 ea, 608 Skateboard Bearing,
  • 1 ea, magnet mic de pământ rar 2mm x 1mm,
  • 2 capace imprimate 3D (fișier STL atașat).
  • 1 ea, baterie CR2032, Panasonic BSP sau echivalent,

Instrumente și consumabile: pentru atelierele mele, folosesc SparkFun’s Beginner’s ToolKit, care are tot ce aveți nevoie, cu excepția pensetelor:

  • Ciocan de lipit.
  • SolderWire
  • Straturi tăiate la culoare (îmi place Hakko CHP170 de 5 USD!)
  • Panglică dezlipitoare
  • super-lipici

Programarea programului Attiny (pasul 4, nu este necesar dacă îl cumpărați ca set):

  • Arduino (vă rugăm să evitați clonele chinezești ieftine și să sprijiniți producătorii dvs. open source din SUA).

    • SparkFun Redboard
    • Adafruit Metro
    • Arduino UNO
  • Scut de programare AVR.
  • Adaptor Pogo (dacă se programează cu cip instalat).
  • Un USB A-B standard pentru Uno, USB Mini pentru Redboard sau USB Micro pentru Metro.

Un kit pentru acest proiect este disponibil pe Tindie.com (minus bateria). Achiziționarea kitului vă va economisi timpul și cheltuielile pentru a comanda de la mai mulți furnizori diferiți și va evita prima minimă pentru comanda PCB. De asemenea, programarea unui Attiny nu este banală și, dacă cumpărați kitul, acesta va fi deja pre-programat. De asemenea, mă veți ajuta să dezvolt și să împărtășesc alte proiecte în atelierele mele!

Pasul 2: Rezistența este esențială

Rezistența este esențială
Rezistența este esențială
Rezistența este esențială
Rezistența este esențială
Rezistența este esențială
Rezistența este esențială

Vom presupune că aveți o experiență de construire a kiturilor. Dacă aveți nevoie de ajutor pentru lipire, accesați www.sparkfun.com/tutorials/213 pentru a trece în revistă sau pentru a urmări cum Geek Girl o explică la https://www.youtube.com/embed/P5L4Gl6Q4Xo. De asemenea, am un kit adecvat pentru începători la

Îmi place să încep cu rezistorul pentru că a) sunt relativ rezistente la căldură în timp ce intrați în canelura de lipit și fierul se apropie de temperatură, b) nu au polaritate, deci orientarea nu este critică și c) sunt cea mai joasă componentă a plăcii, așa că stați bine atunci când lipiți. Există opt rezistențe de limitare a curentului de 330 ohmi, câte unul pentru fiecare LED. Puteți face unul câte unul sau toate opt odată.

  • Îndoiți cablurile la lățimea plăcuțelor și introduceți rezistorul.
  • Întoarceți placa și lipiți cablurile.
  • Tăiați cablurile cu tăieturi la culoare.
  • Loviți-le din nou cu fierul de călcat dacă doriți să vă impresioneze prietenii geek.

Pasul 3: Cod?

Cod?
Cod?
Cod?
Cod?
Cod?
Cod?
Cod?
Cod?

Dacă mi-ați cumpărat kitul, cipul este pre-programat și poate trece la pasul următor.

Da, acest proiect are nevoie de cod. Și, dacă ai fi atent, la Pasul 1 ți-am spus că programarea unui Attiny nu era banală. Folosesc Arduino, mediul de programare, programatorul meu AVR și un pogo pin jig.

Cipul poate fi programat înainte de lipire în loc (foto 2) sau după ce a fost lipit în loc folosind antetul ISP din partea de jos a PCB-ului (foto 3). În ambele cazuri, programarea este după cum urmează:

  • Descărcați mediul de programare Arduino.
  • Instalați suport pentru Attiny 85 de la:

    • https://highlowtech.org/?p=1695 (Arduino Tiny)
    • https://github.com/SpenceKonde/ATTinyCore (Attiny Core)
  • Încărcați „schița Arduino ca ISP”: [Fișier] -> [Exemple] -> [Arduino ca ISP].
  • Atașați ecranul de programare AVR și introduceți cablul panglică în poziția Attiny84
  • Dacă utilizați adaptorul Pogo, poziționați-l pe antetul ISP de pe placă. Tampoanele pozitive și negative sunt marcate astfel încât să puteți orienta corect antetul.
  • Dacă utilizați cipul, introduceți-l cu pinul 1 spre conectorul USB.
  • Selectați cipul corect:

    • Arduino Tiny: "Attiny 84 @ 8 Mhz"
    • Attiny Core: „Attiny 24/44/84”

      • Chip "Attiny 84"
      • 8 Mhz (intern)
      • Maparea pinului „în sens invers acelor de ceasornic”
  • Selectați programatorul, [Instrumente] -> [Programator] -> [Arduino ca ISP]
  • Setați siguranțele de programare, [Tools] -> [Burn Bootloader]
  • Încărcați schița atașată, [Fișier] -> [Încărcați utilizând programatorul]

Cea mai mare sursă de erori pe care o primesc implică faptul că nu sunt aliniați corect pinii.

Pasul 4: Chip It

Chip It
Chip It
Chip It
Chip It
Chip It
Chip It
Chip It
Chip It

Acum că cipul dvs. are cod pe el, îl puteți instala. Orientarea unui cip DIP („pachet dual inline”) este de obicei indicată fie printr-o gaură adiacentă pinului 1, fie printr-un divot pe capătul chipului care conține pinul 1, așa cum este cazul aici.

  • Îndoiți cablurile la 90 de grade apăsându-le pe o suprafață plană (fotografiile 1 și 2).
  • Aliniați cipul cu simbolul de pe PCB și introduceți cipul (foto 3).
  • Lipiți un știft pe părțile opuse și verificați dacă ambele cipuri sunt plate pe PCB și dacă orientarea este corectă. Devine foarte greu de remediat după aceasta. Ai încredere în mine.
  • După ce sunteți sigur că este corect, lipiți pinii rămași și apoi tăiați-i la culoare.

Pasul 5: Comutator și condensator

Comutator și condensator
Comutator și condensator
Comutator și condensator
Comutator și condensator

Butonul se află lângă IC și condensatorul de cealaltă parte.

  • Apăsați butonul în poziție (asigurați-vă că este în orientarea corectă).
  • Lipiți-l în loc.
  • Decupați cablurile de pe spate.

Condensatorul nu are o orientare, dar dacă puneți partea de scriere, prietenii voștri vor ști ce valoare ați folosit.

Pasul 6: Comutator și suport baterie

Comutator și suport baterie
Comutator și suport baterie
Comutator și suport baterie
Comutator și suport baterie
Comutator și suport baterie
Comutator și suport baterie
Comutator și suport baterie
Comutator și suport baterie

Comutatorul merge cu nivelul îndreptat spre exterior. Ca și celelalte articole, lipiți doi pini, verificați dacă este așezat plat și apoi lipiți restul.

Suportul bateriei are marcaj pentru a arăta orientarea, dar chiar nu contează. Cu toate acestea, va necesita mult mai multă căldură decât cablurile obișnuite și va trebui să vă asigurați că este așezat plat pentru a menține bateria în poziție (imaginea 4).

Pasul 7: LED-uri

LED-uri
LED-uri
LED-uri
LED-uri
LED-uri
LED-uri
LED-uri
LED-uri

Nu există un proiect decent care să nu includă cel puțin un LED. Asta are OPT!

Conducerea lungă este pozitivă (anod). Există un semn „+” pe serigrafie, iar tamponul este pătrat. Dacă faceți toate cele opt odată, țineți-le sus pentru a vă asigura că aveți toate orientările corecte.

  • Lipiți un cablu pe fiecare LED.
  • Verificați orientarea și dacă sunt așezate plat (imaginea 3).

    Dacă nu sunt, apăsați carcasa cu thum și reîncălziți plumbul până când se fixează în poziție (imaginea 4)

  • Lipiți restul.
  • Decupați cablurile.

Pasul 8: Verificați-l

Image
Image
Spin Time
Spin Time

În acest moment, putem verifica în continuare LED-urile și putem comuta:

  • Introduceți o baterie cu partea pozitivă spre exterior.
  • Porniți rotitorul și apoi apăsați butonul până când toate (sperăm) LED-urile sunt aprinse (consultați videoclipul).
  • Învârtiți rotitorul și vedeți modelul. Dacă un LED nu se aprinde, acesta poate fi instalat înapoi sau poate fi deteriorat de căldură. Nu-l lipiți și puneți unul nou.

Depanare:

  • Dacă nu se aprind LED-uri:

    • Asigurați-vă că bateria este bună și în orientarea corectă.
    • Ți-ai programat cipul? Este în orientarea corectă? Se face cald?
    • LED-urile sunt orientate corect? Folosiți celula monedă peste îmbinările de lipit cu led pentru a le testa?
  • Dacă comutatorul nu face ca LED-urile să clipească:

    • Verificați îmbinările de lipit de pe LED.
    • Verificați îmbinările de lipit de pe Attiny.
  • Dacă toate celelalte nu reușesc, faceți și postați fotografii de înaltă rezoluție din față și din spate și cereți ajutor în comentarii.

Pasul 9: Spin Time

Spin Time
Spin Time
Spin Time
Spin Time
Spin Time
Spin Time

Rulmentul este ținut în poziție prin lipirea carcasei pe tamponul mare. Acest lucru necesită răbdare și multă căldură:

  • Folosiți ceva de genul monedelor pe o suprafață dură pentru a poziționa rulmentul.
  • Încălziți atât plăcuța, cât și carcasa rulmentului până când vedeți lipirea lipită pe carcasă (durează puțin).
  • Repetați de cealaltă parte.
  • Verificați dacă rulmentul este aliniat corect rotind centrifuga.
  • Întoarceți placa și lipiți două puncte pe cealaltă parte.

Pasul 10: Aceasta este o revoluție?

Image
Image
Este aceasta o revoluție?
Este aceasta o revoluție?
Este aceasta o revoluție?
Este aceasta o revoluție?

Pentru a afișa mesaje în loc de doar modele, trebuie să cunoaștem poziția spinnerului în raport cu cercul. Vom folosi un senzor de efect Hall și un magnet. Acest lucru este similar cu modul în care motoarele cu ardere știu când să declanșeze scânteia pentru a obține cea mai mare putere. Orientarea și alinierea atât a senzorului, cât și a magnetului sunt esențiale pentru ca acest lucru să funcționeze.

  • Scrisul de pe fața dispozitivului este orientat spre rulmentul care se potrivește cu ecranul de mătase (foto 1).
  • Aliniați înălțimea chiar deasupra rulmentului (unde va fi magnetul din capac).
  • Lipiți o plumbă.
  • Verificați înălțimea și alimentul.
  • Lipiți cablurile rămase.
  • Decupați cablurile.

Dacă utilizați un senzor Omni-pole, va trebui să vă dați seama de orientarea magnetului. Cel mai bun mod de a face acest lucru este să setați un alt mod decât modelul de la pasul anterior și apoi să găsiți latura magnetului care începe să clipească LED-urile (a se vedea video). Lipiți magnetul cu latura care a lucrat orientată spre exterior. Verifică-ți de două ori munca.

Pasul 11: Actul de echilibrare

Act de echilibrare
Act de echilibrare
Act de echilibrare
Act de echilibrare

Dacă țineți rotitorul în poziție orizontală cu bateria introdusă, îl veți vedea pivotând în partea bateriei în jos. În ciuda efortului meu cel mai bun în echilibrarea componentelor, acesta este încă dezechilibrat. Puteți adăuga o anumită greutate pe partea non-baterie folosind o piuliță și un bolț sau puteți adăuga o lipire pe tampon.

Pasul 12: Ești operațional

Image
Image
Dar stai, mai sunt.
Dar stai, mai sunt.

Cu magnetul și senzorul în poziție, sunteți gata să verificați minunatul aspect al Geek Spinner. Modul filatorului este afișat de LED-ul care este aprins la pornire sau după apăsarea unui buton (D0 - D7). Modul se schimbă prin apăsarea butonului (vezi video).

moduri int = 8; // numărul de moduri disponibile

// 0 -> textul "Hello World!" // 1 -> RPM // 2 -> timp în secunde // 3 -> număr de centrifugi // 4 -> număr de centrifugi (total) // 5 -> model "tampon de lilly" // 6 -> forma 1 (inimă) // 7 -> forma 2 (zâmbet)

Pasul 13: Dar așteptați, există mai multe.

Dar stai, mai sunt.
Dar stai, mai sunt.
Dar stai, mai sunt.
Dar stai, mai sunt.
Dar stai, mai sunt.
Dar stai, mai sunt.

Modelele „inimă” și „zâmbitoare” au fost create utilizând un grafic polar pentru a arăta cum ar arăta cele opt segmente la fiecare 5 grade de rotație.

De mana:

  • Descărcați și imprimați imaginea cu rezoluție completă (imaginea 1).
  • Completați blocurile pentru a vă crea imaginea (imaginea 2).
  • De-a lungul radialului, începând cu 0, calculați octetul folosind negru = 1, alb = 0;

    Prima radială a inimii este 1, 0, 0, 0, 0, 0, 0, 0, deci octetul = 0b100000000;

  • Continuați până când ați terminat (indiciu, dacă imaginea dvs. este simetrică, trebuie doar să faceți jumătate).
  • Inserați octeții în secțiunea „textAndShapes.h” din schiță sub „shape_1 ” sau „shape_2 ”.

Folosind Python:

  • Instalați Python.
  • Instalați biblioteca de imagini Python.
  • Descărcați scriptul „readGraph.py” atașat.
  • Descărcați imaginea cu rezoluție completă (imaginea 1).
  • Deschideți imaginea în editorul dvs. preferat (GIMP sau MS Paint).
  • Utilizați comanda „Umpleți” cu culoarea neagră selectată pentru a umple segmentele pe care doriți să le aprindeți (imaginea 2).
  • Salvați imaginea în același director cu scriptul „readGraph.py” și schimbați numele fișierului din script pentru a se potrivi cu acesta:

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

Rulați scriptul și lipiți rezultatul în secțiunea „textAndShapes.h” din schiță sub „shape_1 ” sau „shape_2 ”

Oricum, nu ezitați să împărtășiți creația dvs. (imagine și cod) în comentarii!

Pasul 14: Credite și gânduri finale

Credite și gânduri finale
Credite și gânduri finale

Cu siguranță nu am venit cu toate acestea de unul singur. Nu de la distanță.

  • Prima mea experiență practică cu POV a fost cu un proiect de la Nick Sayer numit POV Twirlie: https://www.tindie.com/products/nsayer/pov-twirlie/. (De asemenea, folosesc adaptorul pogo).
  • Gândul „LED + Fidget spinner = POV” mi-a apărut în creier după ce am văzut Techydiy Instructable
  • De fiecare dată când aveți o idee minunată, cineva a făcut-o deja: https://www.instructables.com/id/POV-Arduino-Fidget-Spinner/. Lipirea pe suprafață este un lucru pe care îl pot face, dar nu într-adevăr prietenos cu începătorii. Codul lui a fost, de asemenea, puțin peste capul meu, dar am folosit ideile sale despre afișarea RPM și numărări.
  • Am reușit să înțeleg și să folosesc fragmente din codul POV Clock Reger-men pentru a afișa textul:

Niciun proiect nu este complet sau perfect. Iată câteva gânduri pe care le am în continuare:

  • Balanță: Fișele tehnice au rareori informații despre greutatea componentelor, deci este greu să faci chiar și o presupunere educată despre balanță fără a o construi doar. Bateria este evident cea mai grea componentă. Am adăugat găuri pe fiecare capăt, astfel încât să pot adăuga greutate după cum este necesar pentru a o echilibra.
  • În sensul acelor de ceasornic? Dacă ați observat, textul se afișează corect numai dacă vă rotiți în sensul acelor de ceasornic. Rotirea cealaltă direcție creează o imagine în oglindă. Adăugarea unui al doilea senzor Hall sau magnet vă va permite să obțineți direcția de rotație (proiectul lui Sean a făcut acest lucru).
  • Culoare? Utilizarea LED-urilor RGB programabile vă va permite să faceți culori. De obicei, acestea sunt montate pe suprafață.

Recomandat: