Kazalo:

Geek Spinner: 14 korakov (s slikami)
Geek Spinner: 14 korakov (s slikami)

Video: Geek Spinner: 14 korakov (s slikami)

Video: Geek Spinner: 14 korakov (s slikami)
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, Julij
Anonim
Image
Image
Geek Spinner
Geek Spinner
Geek Spinner
Geek Spinner
Geek Spinner
Geek Spinner

Fidget spinnerji so zabavni in danes jih lahko najdete na katerem koli odjavnem pultu za le nekaj dolarjev, kaj pa, če bi jih zgradili sami? In je imel LED? In lahko ga programirate tako, da pove ali pokaže vse, kar želite? Če se to sliši hudičevo kul, JE TO PROJEKT ZA VAS.

Vedno me je zanimala uporaba utripajočih LED, da bi otroke zanimalo programiranje. Najenostavnejši projekt z mikrokrmilnikom Arduino je utripanje in izklop LED. Nato jih prepričate, kako hitro lahko utripa LED, preden izgleda, kot da neprekinjeno sveti (približno 12 milisekundnih intervalov). Nato LED utripate naprej in nazaj in spet lahko utripate! Ta pojav se imenuje "vztrajnost vizije" (POV) in tako deluje ta projekt. Lahko vodi do razprav o tem, kako deluje oko, in o tem, kako neverjetno hitri so računalniki.

Ta projekt uporablja programabilni 8-bitni mikrokrmilnik, osem LED in kovance. Vrti se s standardnim ležajem za rolko, za določitev vrtenja pa uporablja Hall-ov senzor in magnet. Izdelan je z uporabo začetnikom prijaznih delov skozi luknje in ga je mogoče programirati s programskim okoljem Arduino. Dovolj govora, gremo naprej…

1. korak: Zberite dele, orodja in potrebščine

Image
Image
Zberite dele, orodja in potrebščine
Zberite dele, orodja in potrebščine

Vedno je frustrirajuće, da se na pol poti dokončate in ugotovite, da nekaj pogrešate. To so deli, ki sem jih preizkusil in ugotovil, da dobro delujejo. Nadomestite na lastno odgovornost:

Zbirka materialov =================

  • 1 ea, vijolična PCB, ki jo je v ZDA z ljubeznijo izdelal OSH Park
  • 1 ea, Attiny 84, Atmel ATTINY84A-PU,
  • 1 ea, taktilno stikalo, TE 1825910-6,
  • 1 ea, Drsno stikalo SPDT skozi luknjo, C&K JS202011AQN,
  • 1 ea, Nosilec baterije, Linx BAT-HLD-001-THM,
  • 8 ea, 3 mm rdeča LED 160 Mcd, Wurth 151031SS04000,
  • 8 ea, 330 ohm 1/8W, stackpole CF18JT330R,
  • 1 ea, 0,1 uF pokrovček, KEMET C320C104M5R5TA,
  • 1 ea, Magnetno stikalo, Melexis MLX92231LUA-AAA-020-SP,
  • 1 ea, 608 Ležaj za rolke,
  • 1 ea, majhen redkozemeljski magnet 2 mm x 1 mm,
  • 2 ea, 3D natisnjene kape (priložena datoteka STL).
  • 1 ea, baterija CR2032, Panasonic BSP ali enakovreden,

Orodja in potrebščine: Za svoje delavnice uporabljam SparkFunov komplet za začetnike, ki vsebuje vse, kar potrebujete, razen pincete:

  • Spajkalnik.
  • SolderWire
  • Ploščice, narezane v ravnini (obožujem Hakko CHP170 USD za 5 USD!)
  • Spajkanje pletenice
  • super lepilo

Programiranje Attinyja (korak 4, ni potreben, če to kupite kot komplet):

  • Arduino (izogibajte se poceni kitajskim klonom in podprite ameriško odprtokodno proizvodnjo).

    • SparkFun Redboard
    • Adafruit Metro
    • Arduino UNO
  • AVR programski ščit.
  • Pogo adapter (če programirate z nameščenim čipom).
  • Standardni USB A-B za Uno, USB Mini za Redboard ali USB Micro za Metro.

Komplet za ta projekt je na voljo na Tindie.com (brez baterije). Z nakupom kompleta boste prihranili čas in stroške naročanja pri več različnih prodajalcih ter se izognili najnižji naročnini na PCB. Tudi programiranje Attinyja ni nepomembno in če kupite komplet, bo že vnaprej programiran. Prav tako mi boste pomagali pri razvoju in deljenju drugih projektov na mojih delavnicah!

2. korak: Odpornost je bistvena

Odpornost je bistvena
Odpornost je bistvena
Odpornost je bistvena
Odpornost je bistvena
Odpornost je bistvena
Odpornost je bistvena

Predvidevali bomo, da imate izkušnje s sestavljanjem kompleta. Če potrebujete pomoč pri spajkanju, pojdite na www.sparkfun.com/tutorials/213, da si počistite ali pa si oglejte, kako Geek Girl to razlaga na https://www.youtube.com/embed/P5L4Gl6Q4Xo. Na spletnem mestu https://www.tindie.com/products/3447/ imam tudi komplet, primeren za začetnike.

Všeč mi je, da začnem z uporom, ker a) so relativno toplotno odporni, medtem ko vstopite v spajkalni utor in se železo segreje do temperature, b) nimajo polarnosti, zato orientacija ni kritična in c) so najnižji del plošče, zato pri spajkanju tesno sedite. Obstaja osem 330-ohmskih uporov za omejevanje toka, po enega za vsako od LED. Lahko naredite enega naenkrat ali vseh osem hkrati.

  • Upognite kable do širine blazinic in vstavite upor.
  • Obrnite ploščo in spajkajte kable.
  • Kable obrežite s poravnanimi rezi.
  • Ponovno jih udarite z železom, če želite, da navdušijo vaše prijatelje.

3. korak: Koda?

Koda?
Koda?
Koda?
Koda?
Koda?
Koda?
Koda?
Koda?

Če ste kupili moj komplet, je čip vnaprej programiran in lahko preskočite na naslednji korak.

Da, ta projekt potrebuje kodo. Če ste bili pozorni, sem vam v 1. koraku povedal, da programiranje Attiny ni nepomembno. Uporabljam Arduino, programsko okolje, moj AVR programer in pogo pin jig.

Čip lahko programirate pred spajkanjem (fotografija 2) ali po tem, ko ga spajkate z glavo ISP na dnu tiskanega vezja (fotografija 3). V obeh primerih je programiranje naslednje:

  • Prenesite programsko okolje Arduino.
  • Namestite podporo za Attiny 85:

    • https://highlowtech.org/?p=1695 (Arduino majhen)
    • https://github.com/SpenceKonde/ATTinyCore (Attiny Core)
  • Naložite skico "Arduino kot ponudnik internetnih storitev": [Datoteka] -> [Primeri] -> [Arduino kot ponudnik internetnih storitev].
  • Pritrdite programski ščit AVR in vstavite tračni kabel v položaj Attiny84
  • Če uporabljate Pogo adapter, ga postavite na glavo ISP na plošči. Pozitivne in negativne ploščice so označene, tako da lahko glavo pravilno usmerite.
  • Če uporabljate čip, ga s pin -om vstavite proti priključku USB.
  • Izberite pravi čip:

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

      • Čip "Attiny 84"
      • 8 Mhz (notranje)
      • Preslikava pin "V nasprotni smeri urinega kazalca"
  • Izberite programer, [Orodja] -> [Programer] -> [Arduino kot ponudnik internetnih storitev]
  • Nastavite varovalke za programiranje, [Orodja] -> [Zapiši zagonski nalagalnik]
  • Naložite priloženo skico, [Datoteka] -> [Naloži s programerjem]

Največji vir napak, ki jih dobim, je, da nožice niso pravilno poravnane.

Korak: Čipajte ga

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

Zdaj, ko je na vašem čipu koda, ga lahko namestite. Usmerjenost čipa DIP ("dual inline package") je običajno označena bodisi z luknjico, ki meji na pin ena, bodisi z ločnico na koncu čipa, ki vsebuje pin 1, kot je to v tem primeru.

  • Upognite vodi do 90 stopinj tako, da jih pritisnete na ravno površino (fotografiji 1 in 2).
  • Poravnajte čip s simbolom na tiskanem vezju in vstavite čip (fotografija 3).
  • Spajite en zatič na nasprotnih straneh in preverite, ali sta čip poravnana s tiskanim vezjem in ali je usmeritev pravilna. Po tem bo res težko popraviti. Verjemite mi v to.
  • Ko ste prepričani, da je pravilno vstavljen, spajkajte preostale zatiče in jih nato prerežite.

5. korak: Stikalo in kondenzator

Stikalo in kondenzator
Stikalo in kondenzator
Stikalo in kondenzator
Stikalo in kondenzator

Potisni gumb gre poleg IC, kondenzator pa na drugi strani.

  • Potisnite gumb na svoje mesto (preverite, ali je pravilno usmerjen).
  • Spajkajte ga na mestu.
  • Odstranite kable s hrbtne strani.

Kondenzator nima orientacije, toda če odložite stran za pisanje, bodo vaši prijatelji geek vedeli, kakšno vrednost ste uporabili.

6. korak: Stikalo in nosilec baterije

Stikalo in nosilec baterije
Stikalo in nosilec baterije
Stikalo in nosilec baterije
Stikalo in nosilec baterije
Stikalo in nosilec baterije
Stikalo in nosilec baterije
Stikalo in nosilec baterije
Stikalo in nosilec baterije

Stikalo gre z nivojem, usmerjenim navzven. Tako kot ostale predmete, spajkajte dva zatiča, preverite, ali je ravno nameščen, nato pa spajkajte preostanek.

Nosilec baterije ima oznako, ki prikazuje orientacijo, vendar to ni pomembno. Vendar bo potreboval precej več toplote kot običajni kabli, zato se prepričajte, da je nameščen ravno tako, da drži baterijo v položaju (slika 4).

7. korak: LED diode

LED
LED
LED
LED
LED
LED
LED
LED

Ni dostojnega projekta, ki ne bi vseboval vsaj ene LED. To ima OSMO!

Dolgi odvod je pozitiven (anoda). Na sitotisku je oznaka "+", blazinica pa je kvadratna. Če delate vseh osem naenkrat, jih držite, da se prepričate, ali so vse usmeritve pravilne.

  • Spajkajte en kabel na vsako LED.
  • Preverite orientacijo in pritrditev, ali sedejo ravno (slika 3).

    Če niso, pritisnite na ohišje s palcem in ponovno segrejte kabel, da se zaskoči (slika 4)

  • Ostanek spajkajte.
  • Pripnite kable.

8. korak: Preverite

Image
Image
Čas vrtenja
Čas vrtenja

Na tej točki lahko še preverimo LED in ugasnemo:

  • Vstavite baterijo s pozitivno stranjo navzven.
  • Vklopite spinner in nato pritisnite gumb, dokler ne svetijo (upajmo) svetleče diode (glejte video).
  • Zavrtite spinner in si oglejte vzorec. Če LED ne zasveti, je morda nameščen nazaj ali pa je bil toplotno poškodovan. Odpajkajte ga in vstavite novega.

Odpravljanje težav:

  • Če LED ne sveti:

    • Prepričajte se, da je vaša baterija dobra in pravilno usmerjena.
    • Si programiral svoj čip? Je v pravi usmeritvi? Ali postaja vroče?
    • Ali so LED diode pravilno usmerjene? Uporabite gumbno celico na vodilnih spajkalnih spojih, da jih preizkusite?
  • Če zaradi stikala LED ne utripa:

    • Preverite spajkalne spoje na LED.
    • Preverite spajkalne spoje na Attinyju.
  • Če vse drugo ne uspe, posnemite in objavite fotografije sprednje in zadnje strani v visoki ločljivosti ter v komentarjih prosite za pomoč.

9. korak: čas vrtenja

Čas vrtenja
Čas vrtenja
Čas vrtenja
Čas vrtenja
Čas vrtenja
Čas vrtenja

Ležaj je pritrjen s spajkanjem ohišja na veliko blazinico. To zahteva potrpljenje in veliko toplote:

  • Za namestitev ležaja uporabite nekaj podobnega kot kovanci na trdi površini.
  • Segrevajte tako blazinico kot ležajno lupino, dokler ne vidite spajkanja, ki teče na ohišje (traja malo).
  • Ponovite na drugi strani.
  • Z vrtenjem centrifuge preverite, ali je ležaj pravilno poravnan.
  • Obrnite ploščo in spajite dve točki na drugi strani.

10. korak: Je to revolucija?

Image
Image
Je to revolucija?
Je to revolucija?
Je to revolucija?
Je to revolucija?

Če želimo prikazati sporočila namesto samo vzorcev, moramo poznati položaj predilnika glede na krog. Uporabili bomo senzor Hallovega učinka in magnet. To je podobno, kako motorji z notranjim zgorevanjem vedo, kdaj naj sprožijo iskro, da bi dobili največ moči. Usmerjenost in poravnava senzorja in magneta sta ključnega pomena za to.

  • Napis na sprednji strani naprave je obrnjen proti ležaju, ki ustreza svilenemu platnu (fotografija 1).
  • Poravnajte višino tik nad ležajem (tam, kjer bo magnet v pokrovčku).
  • Spajkajte eno žico.
  • Preverite višino in višino.
  • Spajkajte preostale kable.
  • Pripnite kable.

Če uporabljate večpolni senzor, boste morali ugotoviti orientacijo magneta. Najboljši način za to je, da nastavite način, ki ni vzorec iz prejšnjega koraka, in nato poiščite stran magneta, ki začne utripati LED (glejte video). Magnet prilepite tako, da je stran obrnjena navzven. Dvakrat preverite svoje delo.

11. korak: Zakon o uravnoteženju

Zakon o uravnoteženju
Zakon o uravnoteženju
Zakon o uravnoteženju
Zakon o uravnoteženju

Če držite spinner vodoravno navzgor z vstavljeno baterijo, boste videli, da se obrne na stran baterije navzdol. Kljub mojim prizadevanjem za uravnoteženje komponent je še vedno izven ravnovesja. Ne-baterijski strani lahko z matico in vijakom dodate nekaj teže ali pa na blazinico dodate nekaj spajkanja.

12. korak: Operativni ste

Image
Image
Ampak počakaj, obstaja še več..
Ampak počakaj, obstaja še več..

Z nameščenim magnetom in senzorjem ste pripravljeni preveriti popolnost vašega Geek Spinnerja. Način vrtenja prikazuje LED, ki sveti ob vklopu ali po pritisku gumba (D0 - D7). Način se spremeni s pritiskom na gumb (glej video).

int načini = 8; // število razpoložljivih načinov

// 0 -> besedilo "Hello World!" // 1 -> RPM // 2 -> čas v sekundah // 3 -> število vrtljajev // 4 -> število vrtljajev (skupaj) // 5 -> vzorec "lilly pad" // 6 -> oblika 1 (srce) // 7 -> oblika 2 (nasmeh)

Korak: Toda počakajte, obstaja še več..

Ampak počakaj, obstaja še več..
Ampak počakaj, obstaja še več..
Ampak počakaj, obstaja še več..
Ampak počakaj, obstaja še več..
Ampak počakaj, obstaja še več..
Ampak počakaj, obstaja še več..

Vzorca "srce" in "smeh" sta bila ustvarjena z uporabo polarnega grafa, ki prikazuje, kako bo osem segmentov videti na vsakih 5 stopinj vrtenja.

Ročno:

  • Prenesite in natisnite sliko v polni ločljivosti (slika 1).
  • Izpolnite bloke, da naredite svojo sliko (slika 2).
  • Ob radialu, začenši z 0, izračunajte bajt s črno = 1, belo = 0;

    Prvi radial srca je 1, 0, 0, 0, 0, 0, 0, 0, zato je bajt = 0b100000000;

  • Nadaljujte, dokler ne končate (namig, če je vaša slika simetrična, morate narediti le polovico).
  • Prilepite svoje bajte v razdelek »textAndShapes.h« skice pod »shape_1 « ali »shape_2 «.

Uporaba Pythona:

  • Namestite Python.
  • Namestite knjižnico slik Python.
  • Prenesite priloženi skript "readGraph.py".
  • Prenesite sliko v polni ločljivosti (slika 1).
  • Odprite sliko v svojem najljubšem urejevalniku (GIMP ali MS Paint).
  • Z ukazom "Izpolni" z izbrano črno barvo zapolnite segmente, ki jih želite osvetliti (slika 2).
  • Shranite sliko v isti imenik kot skript "readGraph.py" in spremenite ime datoteke v skriptu, da se ujema z njim:

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

Zaženite skript in prilepite izhod v razdelek skice »textAndShapes.h« pod »shape_1 « ali »shape_2 «

Kakorkoli, v komentarjih delite svoje ustvarjanje (sliko in kodo)!

Korak 14: Zasluge in zaključne misli

Zasluge in zaključne misli
Zasluge in zaključne misli

Vsekakor si tega nisem izmislil sam. Ne za dolgo.

  • Moje prve izkušnje s POV so bile pri projektu Nicka Sayerja, imenovanem POV Twirlie: https://www.tindie.com/products/nsayer/pov-twirlie/. (Uporabljam tudi pogo adapter).
  • Misel "LED + Fidget spinner = POV" mi je skočila v možgane, ko sem zagledala Techydiyev Instructable
  • Kadar koli imate super idejo, jo je nekdo že naredil: https://www.instructables.com/id/POV-Arduino-Fidget-Spinner/. Spajkanje s površinsko montažo je nekaj, kar lahko storim, vendar za začetnike ni prijazno. Njegova koda mi je bila tudi malo nad glavo, vendar sem uporabil njegove ideje o prikazovanju RPM in štetja.
  • Razumel sem in uporabil delčke kode ure Reger-men POV za prikaz besedila:

Noben projekt ni nikoli popoln ali popoln. Tukaj je nekaj mojih misli za naprej:

  • Ravnotežje: Podatkovni listi redko vsebujejo podatke o teži sestavnih delov, zato je težko celo izobraženo uganiti o tehtnici, ne da bi jo le zgradili. Baterija je očitno najtežja komponenta. Na vsakem koncu sem dodal luknje, da sem lahko po potrebi dodal težo, da jo uravnotežim.
  • V smeri urinega kazalca? Če ste opazili, se besedilo prikaže pravilno le, če se obrnete v smeri urinega kazalca. Vrtenje v drugo smer ustvari zrcalno podobo. Če bi dodali drugi Hall senzor ali magnet, bi lahko izpeljali smer vrtenja (to je naredil Seanov projekt).
  • Barva? Uporaba programabilnih LED RGB vam bo omogočila barvanje. Običajno so nameščeni na površino.

Priporočena: