Sisukord:

Neokell: 7 sammu (piltidega)
Neokell: 7 sammu (piltidega)

Video: Neokell: 7 sammu (piltidega)

Video: Neokell: 7 sammu (piltidega)
Video: Как проверить генератор. За 3 минуты, БЕЗ ПРИБОРОВ и умений. 2024, Juuni
Anonim
Image
Image

See on kella ehitamine, kasutades Adafruit'i fantastilisi neopikselrõngaid. Selle kella juures on lõbus see, et sellel on tegelikult kaks neopikseli rõngast, üks tundide ütlemiseks ja teine minutite, sekundite ja millisekundite jaoks. Kell hoiab täiuslikku aega, kasutades Sparkfuni DS3234 DeadOn reaalajas kella kiipi. Lihtne ehitada ja lõbus muuta. Loodan, et see inspireerib teisi neopikselrõngaste abil kellasid või muud kunsti ehitama.

Need, kes soovivad saada kõik minu failid lihtsasti hallatavas vormingus, laadige need selle projekti jaoks minu githubi hoidlast alla aadressilt

Samm: kella kujundamine

Kella kujundamine
Kella kujundamine
Kella kujundamine
Kella kujundamine
Kella kujundamine
Kella kujundamine
Kella kujundamine
Kella kujundamine

Teadsin algusest peale, et tahan kasutada vähemalt kahte neopikselirõngast. Pärast mõningast tööd otsustasin, et parim disain oleks see, kui üks rõngas oleks teise sees, mis säilitab kella algse vormi. Väiksem rõngas oleks tunnid ja ülejäänud aeg hoitakse suurema rõnga peal. Mõned kujunduslikud kaalutlused hõlmasid neopikslite maksumust, võimsusnõuet, laserlõigatud tükkide suurust ja seda, millist kunsti ma tahtsin sellele panna.

Kui see samm oli lõpule jõudnud, otsustasin, et pean enne kella korpuse laserlõikamise plaanide koostamist elektroonikast aru saama.

2. samm: elektroonika kujundamine

Elektroonika projekteerimine
Elektroonika projekteerimine
Elektroonika projekteerimine
Elektroonika projekteerimine
Elektroonika projekteerimine
Elektroonika projekteerimine
Elektroonika projekteerimine
Elektroonika projekteerimine

Elektroonika projekteerimisel tuli ette teada elemente, mida ma kellast soovisin:

  • Neopikseli rõngad (60 ja 24)
  • Arduino (ajud)
  • Kellareguleerimine (arduinos ei pea head aega)
  • Toitehaldus

Neopikslite suuruse ja võimsuse nõuded on hästi dokumenteeritud. Kuna need töötavad 5 V alalisvoolul, otsustasin minna 5 V Arduinoga ja teha enda jaoks asjad lihtsamaks. Kuna ruumi kaaluti, otsustasin tavalise Arduino Uno prototüübi teha, kuid viimase elektroonika jaoks valisin Arduino Mini.

Selle projekti esimene iteratsioon tuli otse Adafruit'i lehelt NeoPixel Basic Connections. Asja hõlbustamiseks lisasin veebisaidilt diagrammi. Sellest on oluline kaks asja:

  1. 1000uF kondensaator on vajalik, et vältida esialgse voolutugevuse pikslite kahjustamist.
  2. 60 loendusrõnga esimesel pikslil on vaja 470 oomi takistit (see takisti on sisse ehitatud 24 loendusrõnga sisse)

Adafruitil on ka NeoPixeli parimate tavade komplekt, mida peaksite enne disaini jätkamist lugema.

Veel üks probleem on kellaaja hoidmine. Arduino sisseehitatud kellast ei piisa, et pikka aega head aega hoida. Hullem probleem on see, et arduino aeg tuleb võib -olla iga kord lähtestada. Arvutid lahendavad selle probleemi, kasutades kellakiibil väikest akut, et hoida aega voolukatkestuste vahel. Varem kasutasin midagi sellist nagu ChronoDot Adafruitist. Kuid sel juhul tahtsin vabandust SparkFuni DS3234 (DeadOn RTC) kasutamiseks. Kuupäeva teavet saate ka DeadOn RTC -s säilitada, kui soovite selle kella sisse integreerida.

Lõpuks vajas toitehaldus mõningast kaalumist. Ma juba teadsin, et kõik peab olema 5 V, kuid vajalik vooluhulk tundus olevat mõistatus. Enamikus projektides on tavaline pingeregulaator L7805. See võtab pinget kuni 24V ja maksimaalset voolu kuni 1,5A. Ma teadsin, et mul lebab 12 V 1,5 A seinakreem, ja otsustasin, et see on projekti jaoks ideaalne (ja odav!) Pingeregulaator.

Ülejäänud tükid tulid minu osade kastist või Radio Shackist. Nende hulka kuulusid juhtmed, lülitid ja alalisvoolu pistikupesa.

3. samm: elektroonika ehitamine

Elektroonika ehitamine
Elektroonika ehitamine
Elektroonika ehitamine
Elektroonika ehitamine
Elektroonika ehitamine
Elektroonika ehitamine

Selle projekti ehitamiseks ostetud elektroonika täieliku loetelu leiate minu githubi hoidlast siit: elektroonikaosade loend. Sellel on lingid iga tüki tootelehele ja see sisaldab lisateavet, sealhulgas toote SKU. Prototüüpisin selle kiiresti leivaplaadil ja liikusin enne piltide tegemist laserlõikamise ja ehitamise peale. Kuid ma ehitasin selle nii, et seda oleks lihtne lahti võtta, nii et olen teie jaoks ülalolevatel fotodel olevad tükid ära jaotanud.

Vaadake pilte tähelepanelikult, kuna juhtmed olid tahtlikult painutatud nii, et neid oleks lihtne jälgida ja kogu elektroonika profiil oleks õhuke. Selle esialgse prototüübi tegemine enne laserlõike projekteerimist võimaldas mul kontrollida osade paksust, et saaksin välja selgitada kella korpuse lõplikud mõõtmed.

Te märkate, et tegin paar kohandatud leivaplaati. Olen püüdnud nende tahvlite tagamaid pildistada, et saaksite neid korrata. Saate paari taala eest osta erinevaid selliseid leivaplaate ja muuta need teie projektile sobivaks.

Juhtmed on otse edasi, kuid piltidelt tuleb meeles pidada järgmist:

  • Lülitid Režiim ja Seade vajavad tõmbetakistit. Ma kasutasin 2,21 Ohmi takistit, mis mul oli lamades, kuid kõik väikesed takistid töötavad (eelistatavalt mitte vähem kui 1 kOhm). See stabiliseerib ühendatud Arduino sisendpoldid nii, et kui need lähevad kõrgele, eristub see mürast.
  • DS3234 ruutlaine (SQW) maandati, kuna seda ei kasutata.
  • L7805 toide sisestatakse Arduino Mini RAW -tihvti. Pange Arduinosse tulev jõud alati RAW -sse.
  • 60 neopikselrõnga esimesel pikslil on 470Ohm takisti, et vähendada esimese piksli kahjustusi andmepiikidest. See ei tohiks olla probleem, kuna 24 -neopixelil on selleks juba sisseehitatud takisti, kuid parem karta kui kahetseda.
  • Režiimi ja seadistuse lülitid on SPST hetkelised nupunupud

Traadi värvid on:

  • Punane: +5VDC
  • Must: maapind
  • Roheline: andmed
  • Kollane, sinine, valge: spetsiaalsed juhtmed DS3234 jaoks

Kui kasutate neopiksleid esimest korda, peaksite meeles pidama, et neid võib pidada pikaks ahelaks. Seega võib tunduda kummaline rääkida rõnga "esimesest pikslist", kuid tegelikult on igal rõngaste kettil algus ja lõpp. Selles projektis on väikese rõnga 24 pikslit esikohal ja suurema rõnga 60 pikslit järgnevad. See tähendab tõesti, et mul on 84 neopikseli kett.

Arduino Mini juhtmestiku jaoks:

  • DS3234 ühendatakse tihvtidega 10 - 13
  • Lülitid Mode ja Set on tihvtidel 2 ja 3
  • Neopikseli andmed pärinevad tihvtist 6.

Samuti soovitan panna 6 päist Arduino Mini põhja, et saaksite seda FTDI -kaabli kaudu programmeerida.

Oluline märkus voolu kohta: see kell nõuab palju. Olen kindel, et suudan selle välja töötada, kuid minu praktiline kogemus näitab, et kõik, mis on võrdne või väiksem kui 500 mA, põhjustab lõpuks pruune väljundeid. See väljendub selles, et kell vilgutab hullumeelseid värve ja ei hoia aega. Minu viimane seina ürt on 12V ja 1,5A ja mul pole kunagi pruuni värvi olnud. 1,5A on aga piir, mida pingeregulaator (ja muud osad) võtab. Nii et ärge ületage seda kogust.

Samm: kella kodeerimine

Kella kodeerimine
Kella kodeerimine

Kella täieliku koodi leiate GitHubi NeoClock -koodist. Olen faili siia lisanud, kuid kõik muudatused toimuvad hoidlas.

Leian, et koodi kirjutamine võib olla hirmutav, kui proovite kõike korraga teha. Selle asemel proovin alustada töötavast näitest ja koostada funktsioone vastavalt vajadusele. Enne selle juurde asumist tahan märkida, et minu kood pärineb paljude näidete ühendamisest järgmistest hoidlatest ja Arduino CC foorumist. Andke krediiti alati, kui see on õige!

  • https://github.com/adafruit/Adafruit_NeoPixel
  • https://github.com/zeroeth/time_loop
  • https://github.com/sparkfun/DeadOn_RTC

Mõnda näidiskoodi nendest hoidlatest leiate minu koodinäidete kataloogist

Koodi koostamiseks kasutatud toimingute järjekord oli umbes selline:

  • Veenduge, et neopikslid töötavad koos kiudude testinäitega
  • Proovige käitada kellaaega koos ajasilmuse koodiga
  • Muutke kella nii, et see töötaks ainult ühe rõnga asemel kahel rõngal
  • Lisage DS3234, et DeadOn RTC näite kaudu aega hoida
  • Lisage režiim ja määrake lülitid
  • Lisage Debounce -kood Arduion Debounce Tutorial abil
  • Lisage kella LED -ide jaoks mõned värvilised teemad
  • Lisage 0, 15, 30 ja 45 minuti jaoks animatsioone
  • Lisage kellale kompassipunktid 0, 15, 30 ja 45 minuti märkide orienteerimiseks

Kui soovite näha, kuidas ma selle koodi üles ehitasin, saate GitHubi abil tegelikult iga koodikohustust vaadata. Kella ajalugu on kohustuste ajaloos.

Värviskeeme oli lõbus lisada, kuid lõpuks lisasin menüüsse ainult neli neist. Iga teema määrab tunni, minuti, sekundi ja millisekundi "kätele" kindla värvi. Siin on valikuid tõesti lõputult, kuid lisasin teemad (loetletud meetodite nimed):

  • setColorBlue
  • setColorRed
  • setColorCyan
  • setColorOrange

Siiski leiate koodist järgmised lisameetodid:

  • setColorPrimary
  • setColorRoyal
  • setColorTequila

Animatsioone lisati, sest mulle meeldis idee, et kella neljal viieteistkümnel minutil helisevad vanad kellad. Selle kella jaoks tegin järgmised animatsioonid:

  • 15 minutit: värvige rõngad punaseks
  • 30 minutit: värvige rõngad roheliseks
  • 45 minutit: värvige rõngad siniseks
  • Tunni algus: tehke vikerkaar üle kahe rõnga

Kasutatavus osutus kella probleemiks, sest keegi ei osanud kella orienteeruda. Lõppude lõpuks on see vaid kaks LED -rõngast. Nii et probleemi lahendamiseks lisasin kellale kompassipunktid. See parandas võimet aega palju öelda. Oleksin ma sellest teadnud enne laserlõigatud tükkide väljasaatmist, oleksin võinud selle asemel kunstile midagi lisada. Kuid selgub, et te ei näe pimedas kunsti nii hästi, nii et kompassipunktide olemasolu aitab tõesti. Üks kaalutlus on see, et kui otsustate piksli värvida, peaksite esmalt jäädvustama praeguse värvi ja looma uue segatud värvi. See annab sellele loomulikuma tunde.

Viimane näpunäide puudutab millisekundeid. Arduino millisekundid eralduvad sisemisest Arduino kristallist, mitte DS3234 -st. See on teie otsustada, kas soovite kuvada millisekundeid või mitte, aga ma tegin nii, et kell tundus alati midagi tegevat. See võib teile pahaks panna, et millisekundid ja sekundid ei lähe alati ritta, kuid praktikas pole keegi seda mulle kella vaadates kunagi maininud ja ma arvan, et see näeb kena välja.

Samm: laserlõigatud failide kujundamine

Laserlõigatud failide kujundamine
Laserlõigatud failide kujundamine
Laserlõigatud failide kujundamine
Laserlõigatud failide kujundamine
Laserlõigatud failide kujundamine
Laserlõigatud failide kujundamine
Laserlõigatud failide kujundamine
Laserlõigatud failide kujundamine

Laserlõigatud failide kavandamisel pidin arvestama kahe kaalutlusega. Esimene oli materjal, millest ma tahtsin seda ehitada, ja teine oli see, kuidas see ehitatakse. Teadsin, et soovin puitviimistlust akrüüliga, mis hajutab neopiksleid. Materjali selgitamiseks tellisin kõigepealt Ponokolt mõned proovid:

  • 1x spoon MDF - pähkel
  • 1x spoon MDF - kirss
  • 1x akrüül - helehall
  • 1x akrüül - opaal

Puiduvalikud lubasid mul näha, kuidas rasteriseerimine välja näeks ja kuidas põletus kella küljel välja näeks. Akrüül laseks mul katsetada neopikselite difusiooni ja võrrelda, kuidas see puidu vastu välja näeks. Lõpuks otsustasin Cherry puidu Opal akrüüliga.

Kella mõõtmed määrati peamiselt neopikselrõngaste suuruse järgi. Mida ma ei teadnud, oli see, kui paks see peaks olema, et see sobiks elektroonikaga. Olles ehitanud elektroonika ja teades, et puit on umbes 5,5 mm paks, otsustasin, et vajan kella sees umbes 15 mm ruumi. See tähendas kolme kihti puitu. Kuid kuna esi- ja tagakülg hõivasid juba suurema osa ruumist minu disainis, pidin need rõngad purustama ribideks, mille sain hiljem kokku liimida.

Kasutasin InkScape'i, et joonistada Ponoko pakutud mallile. Pärast kella korpuse välja joonistamist asusin puu käsitsi joonistama. Ma ei suutnud importida algupärast pilti, mis mind inspireeris, kuid polnud kohutav välja mõelda, kuidas midagi sarnast ise teha.

Materjalide maksumus oli vaid umbes 20 dollarit, kuid lõikamise maksumus oli umbes 100 dollarit rohkem. Sellele aitasid kaasa kaks asja:

  • Kurvid ja ringid maksavad rohkem, kuna masin liigub kahel teljel ja sellel konstruktsioonil on palju kõveraid
  • Rasteriseerimine nõuab palju tükke edasi -tagasi. Selle mahajätmine oleks säästnud kõige rohkem raha, kuid mulle meeldis.

Pärast kujunduse lõpetamist saatsin EPS -failid Ponokole ja minu tükid said valmis umbes nädal hiljem.

Pange tähele, et ma ei lisanud disaini režiimi ja komplekti lülitit ega alalisvoolu pistikut. Kui ma selle ära saatsin, polnud ma veel nende osade osas otsustanud. Et anda endale rohkem paindlikkust, jätsin need ära ja otsustasin, et puurin need hiljem käsitsi.

6. samm: kella koostamine

Kella ehitamine
Kella ehitamine
Kella ehitamine
Kella ehitamine
Kella ehitamine
Kella ehitamine
Kella ehitamine
Kella ehitamine

Kui kõik tükid saabusid, ehitasin kella. Esimene samm oli kella korpus, mis nõudis mul ribide väljalöömist ja taga- ja esiosa liimimist. Panin kaks kihti ribisid tagaküljele ja ühe kihi esiküljele ning sättisin need puiduliimiga. Esiküljel kasutasin akrüülrõngaste ja puidust ringide kokku panemiseks puiduliimi. Mul oli varuks tsentraalne tükk, mille lõikasin tühjaks, mis tuli ehituse ajal kasuks. Liimisin selle puutüki tagaküljele ja see andis mulle koha, kuhu hiljem neopikslid liimida.

Kui kere on ehitatud, otsustasin puurida välja lülitite ja pistikupesa jaoks augud. Väike geomeetria (nagu pildil näha) aitas mul kõik joondada. Kasutades puurimisel eraldi puutükki väljastpoolt (väga hoolikalt!), Tegin augud ja liimisin sisse lülitid ja tungraua.

Järgmisena läks sisse elektroonika. Esimesena liimisin maha neopikslid, millele järgnes kondensaator. Need ma ühendasin neopikseli toiteplokiga. Siis panin tagant juhtmed lülititele ja toitepistikule. Lisasin ka pingeregulaatori L7805.

Kiire märkus rõngaste orientatsiooni kohta. 60 -pikslise suure rõnga puhul peate kella suunama nii, et üks pikslitest oleks nullminutite tähistamiseks täpselt üleval. Milline piksel pole oluline, ja ma jõuan selleni minutiga. 24 -pikslise väikese rõnga jaoks peate kella suunama nii, et ülemine osa oleks tegelikult kahe piksli vahel. Selle põhjuseks on asjaolu, et kui soovite märkida 12 tundi, süttib lõpuks kahe piksli asemel üks. Kui nihe ja plastik levib, tundub, et teil on tõesti 12 laia pikslit.

Mis pikslit tähistab kood iga helina jaoks "ülemiseks", peate koodi veidi muutma. Minu koodis on kaks väärtust nimega "internal_top_led" ja "external_top_led". Minu kellades oli "sisemine_top_led" väikese rõnga algusest 11 pikslit ja "väline_top_led" 36 pikslit suure rõnga algusest. Kui juhtute rõngaid erinevalt, siis muudate need väärtused oma orientatsiooni väärtusteks. Natuke katsetamist ja leiate õige väärtuse üsna kiiresti.

Siinkohal katsetasin, et kõik toimib ootuspäraselt.

Kuid nagu kõigi projektide puhul, tekkis mul probleem, kuna mõistsin, et ma pole aru saanud, kuidas see kokku saab. Märkasin, et mul oli neopikselite ja ribide vahel umbes 3/8 tolli ruumi, nii et suundusin Home Depot'i ja sain 3/8 tollise tüübli ja hulga neodüümmagneteid. Ehitasin kolmes kohas väikesed puidust alused ja lihvisin need maha, et saaksin igale alusele (kasutades superliimi) panna kaks magnetit. Lõpuks sain 3 paari 2 stendiga. Seejärel liimisin need raami sisse ja hoidsin klambriga kõik paigas. Ma tegin seda ajal, kui statiivide liim oli märg, nii et kõik joonduks ja kuivaks siis õiges kohas. See töötas suurepäraselt ja mulle meeldib, et väljalase on kõik varjatud.

Lõpuks arvasin, et pean selle seinale riputama, nii et puurisin tagaküljel asuva väikese angaari, et saaksin selle seinale panna.

7. samm: lõplikud mõtted

Seda projekti oli väga lõbus ehitada ja mulle meeldis õppida neopiksleid ja DS3234. Eriti meeldis mulle lõpuks ehitada projekt, mis nägi algusest lõpuni kena välja. Kui ma seda uuesti teeksin, värskendaksin paari asja, kuid need on väikesed:

  • Valisin lihtsuse huvides kolme asemel kaks nuppu. Kuid kella seadmiseks oleks olnud tore omada nuppu, mis võimaldaks mul nii alla kui üles minna
  • Režiiminupp ja seadistusnupp on eristamatud. Segan need sageli segamini. Võib -olla paneksin need tulevikus vastupidistele külgedele.
  • Ma ei lõpetanud kunagi puidust esiosa. Mulle meeldis esialgu toores välimus ja hiljem muretsesin, et kui viimistluse sassi ajaksin, läheb selle parandamine palju maksma.
  • Puu rasterdamine oli hea välimus, kuid oleksin võinud puu jaoks tulevikus üksikasjalikumalt joonistada.
  • Kella hämardamine oleks ka tore funktsioon, kuna see on pimedas üsna hele. Hämardamine on aga värviga seotud ja selle nuputamine võtab liiga kaua aega, nii et ma lasin selle maha. Ilmselt investeeriksin sellesse funktsiooni tulevikus uuesti.

Täname, et lugesite selle juhendi läbi. Loodan, et teete oma kella- või neopikseliprojekti ja jagate seda minuga. Õnnelik ehitus!

Soovitan: