Satura rādītājs:

HALO: ērta Arduino lampa Rev1.0 W/Neo pikseļi: 9 soļi (ar attēliem)
HALO: ērta Arduino lampa Rev1.0 W/Neo pikseļi: 9 soļi (ar attēliem)

Video: HALO: ērta Arduino lampa Rev1.0 W/Neo pikseļi: 9 soļi (ar attēliem)

Video: HALO: ērta Arduino lampa Rev1.0 W/Neo pikseļi: 9 soļi (ar attēliem)
Video: 14 интересных товаров и гаджетов с Aliexpress, которые вам пригодятся 2024, Jūnijs
Anonim
Image
Image
HALO: ērta Arduino lampa Rev1.0 W/NeoPixels
HALO: ērta Arduino lampa Rev1.0 W/NeoPixels
HALO: ērta Arduino lampa Rev1.0 W/NeoPixels
HALO: ērta Arduino lampa Rev1.0 W/NeoPixels

Šajā pamācībā es jums parādīšu, kā izveidot HALO jeb Handy Arduino Lamp Rev1.0.

HALO ir vienkārša lampa, ko darbina Arduino Nano. Tā kopējais nospiedums ir aptuveni 2 x 3 collas, un svērtā koka pamatne nodrošina ārkārtēju stabilitāti. Elastīgais kakls un 12 īpaši spilgti NeoPixels ļauj viegli apgaismot katru detaļu uz jebkuras virsmas. HALO ir divas spiedpogas, lai pārvietotos dažādos gaismas režīmos, no kuriem ir 15 ieprogrammēti. Tā kā Arduino Nano tika izmantots kā procesors, jūs varat to pārprogrammēt ar papildu funkcijām. Vienu potenciometru izmanto, lai pielāgotu režīma parādīšanas spilgtumu un/vai ātrumu. Vienkārša metāla konstrukcija padara HALO par ļoti izturīgu lampu, kas piemērota lietošanai jebkurā darbnīcā. Lietošanas ērtumu papildina Nano iebūvētais strāvas regulators, tāpēc HALO var darbināt, izmantojot USB vai standarta 5 mm cilindra ligzdu aizmugurē.

Es ceru, ka tuvākajā nākotnē redzēsim daudzus cilvēkus, kuri izmantos šīs lampas, jo ar šo dizainu paveras tik daudz iespēju. Lūdzu, atstājiet balsojumu mikrokontrolleru konkursā, ja jums tas patīk vai šķiet noderīgi, es to ļoti novērtētu.

Pirms mēs iedziļināmies šajā pamācībā, es vēlos pateikt īsu paldies visiem maniem sekotājiem un ikvienam, kurš jebkad ir komentējis, pievienojis izlasei vai balsojis par kādu no maniem projektiem. Pateicoties jums, puiši, mans Cardboard pamācība kļuva par milzīgu panākumu, un tagad, rakstot šo, sasniedzu gandrīz 100 sekotājus, manuprāt, tas ir liels pavērsiens. Es patiešām novērtēju visu atbalstu, ko saņemu no jums, puiši, kad es uzliku savu Ible's, un, runājot par to, es bez jums nebūtu tur, kur esmu šodien. To sakot, paldies visiem!

PIEZĪME. Šajā instrukcijā frāzes ir treknrakstā. Šīs ir katra soļa svarīgās daļas, un tās nevajadzētu ignorēt. Tas nav tas, ka es kliedzu vai apzināti esmu rupjš, es vienkārši izmēģinu jaunu rakstīšanas tehniku, lai labāk uzsvērtu, kas jādara. Ja jums tas nepatīk un dodat priekšroku tam, kā es iepriekš mēdzu rakstīt savus soļus, informējiet mani komentāros, un es atgriezīšos pie sava vecā stila.

1. darbība: materiālu savākšana

Materiālu vākšana
Materiālu vākšana
Materiālu vākšana
Materiālu vākšana
Materiālu vākšana
Materiālu vākšana
Materiālu vākšana
Materiālu vākšana

Cik reizes man tas jāsaka? Vienmēr ir viss nepieciešamais, un jūs garantējat, ka varēsit kaut ko uzbūvēt līdz galam.

Piezīme. Dažas no tām ir saistītās saites (ar atzīmi “al”), ja iegādāsities caur tām, es saņemšu nelielu atsitienu bez papildu maksas. Paldies, ja pērkat, izmantojot saites

Daļas:

1x Arduino Nano Nano - al

1x 10k rotācijas potenciometrs 5 iepakojumi 10k potenciometri - al

1x 5 mm mucas domkrats (mans ir pārstrādāts no ceptas Arduino Uno) Mātītes muca (5 iepakojumi) - al

2x 2 kontaktu īslaicīgas spiedpogas 10 iepakojumi SPST spiedpogu slēdzis-al

12x NeoPixels no 60 LED/metru virknes (derēs jebkurš ekvivalents, piemēram, WS2812B) Adafruit NeoPixels

0,5 mm alumīnija loksne

Elastīgais kakls no vecā elastīgā šķiltavas

Augšējais vāka gredzens no "Stick and Click" LED skapja gaismas LED Kabineta gaisma - al

Neliela 1/4 collu saplākšņa loksne

Smags, plakans metāla svars (aptuveni) 1,5 "līdz 2,5" x 0,25"

Stiepļu serdes elektriskais vads

Rīki:

Karstās līmes pistole un līme

Lodāmurs un lodēt

Akumulatora urbis un dažādi savīti uzgaļi

X-acto nazis (vai komunālais nazis)

Stiepļu noņēmēji

Knaibles

Stiepļu griezēji/spraudeņi

Lieljaudas šķēres

Ja jums nav plakanā metāla svara, jums ir nepieciešams arī:

1 rullītis lēta lodēšanas (nevis tas, ko izmantosiet lodēšanai) Lēts lodmetāls bez svina

Alkohola svece (vai Bunsen deglis)

Maza izmēra rūdīta tērauda trauks, kuru jūs nevēlaties sabojāt (vai mazs tīģelis, ja tāds ir)

Statīvs minētajam traukam/tīģelim (es to izgatavoju no 12 gabarītu tērauda stieples)

Māla augu ēdiens (viena no lietām, kas iet zem katla)

Dažas alumīnija folijas

PIEZĪME. Ja jums ir metināšanas komplekts vai 3D printeris, iespējams, nebūs nepieciešami visi šeit uzskaitītie rīki.

2. solis: svara palielināšana

Svara veidošana
Svara veidošana
Svara veidošana
Svara veidošana
Svara veidošana
Svara veidošana

Tas ir diezgan grūts solis, un jums tas jādara ļoti piesardzīgi. Ja jums ir smagā metāla svars vai plakans neodīma magnēts, kas ir aptuveni 2,75 x 1,75 x 0,25 collas, es ieteiktu to izmantot (un magnēts pat ļautu jums novietot lampu sāniski uz metāla virsmām!).

Atruna: Es neesmu atbildīgs par jebkādiem jūsu ievainojumiem, tāpēc, lūdzu, izmantojiet veselo saprātu

Dariet to arī ārpus betona virsmas, kas jums nebūs nekas pretī, ja tā nedaudz apdegīs (tas ir tikai piesardzības pasākums). Man nav attēlu šim procesam, jo kamera būtu bijis papildu traucējošs faktors, kas man nebija vajadzīgs vai negribēja.

Vispirms no alumīnija folijas vai mitra māla izveidojiet nelielu veidni, aptuveni 2 3/4 collas līdz 1 3/4 collas 1/4 collas iekšējos izmēros. Tā var būt olveida forma, piemēram, mana, vai taisnstūris. Izmantojiet vairākus folijas slāņus vai biezus māla slāņus.

Ievietojiet veidni keramikas augu traukā un piepildiet veidni un paplāti ar aukstu ūdeni.

Paņemiet neizgaismotu spirta sveci/bulciņas degli un novietojiet tērauda trauku/tīģeli uz statīva, lai liesma sasildītu trauka centru (kad tas ir iedegts). Pirms degļa aizdedzināšanas pārliecinieties, ka pie rokas ir vismaz 1 knaibles vai metālapstrādes knaibles, ja ne 2.

Veicot nākamos soļus, ieteicams valkāt ādas cimdus, garas piedurknes, garas bikses, slēgtas kurpes un acu aizsargus

Uzvelciet un no spoles noraujiet lētu lodmetu ķekaru un ievietojiet to tērauda traukā, pēc tam iededziet degli. Pagaidiet, līdz spole pilnībā izkūst, un tad mērenā tempā sāciet barot trauku ar pārējo lodmetālu. Ja lodētavā ir kolofonijs, tas karstumā var spontāni sadedzināt, radot gaiši dzeltenu liesmu un melnus dūmus. Neuztraucieties, tas ir noticis ar mani vairākas reizes un ir pilnīgi normāli.

Turpiniet padevi lodēt traukā, līdz pēdējais ir izkusis.

Ļaujiet liesmai, kas rodas no kolofonija sadedzināšanas, pilnībā izgaist, un izmantojiet knaibles/knaibles, lai satvertu trauku, un uzmanīgi virpiniet izkausēto metālu iekšpusē, vienlaikus uzmanīgi turot to liesmā.

Kad esat pārliecināts, ka viss lodētava ir pilnībā sašķidrināta un labā karstā temperatūrā, ātri un uzmanīgi noņemiet to no liesmas un ielejiet veidnē. Atskanēs skaļa svilpojoša skaņa un tvaiks, jo daļa ūdens tiek iztvaicēta, bet pārējais tiek izspiests no veidnes, lai to aizstātu ar izkausētu lodmetālu.

Ļaujot lodētam atdzist, izslēdziet degli/izpūtiet sveci un novietojiet tērauda trauku vietā, kur droši atdzist. Lai paātrinātu dzesēšanu un vēl vairāk sacietētu, ieteicams dzesēšanas lodētavā ielej aukstu ūdeni. (Aukstais ūdens liek ārpusei atdzist ātrāk nekā iekšpuse, radot iekšēju spriedzi, kas padara metālu cietāku un stingrāku, līdzīgi kā prinča Ruperta pilienam.) Jūs varat arī palaist ūdeni virs metāla trauka, taču tas kļūs trausls, it īpaši, ja tas tiek darīts vairākas reizes.

Kad lodmetāls ir pilnībā atdzisis (lai tas būtu drošs, apmēram 20 minūtes), noņemiet to no folijas veidnes.

Manējais vienā pusē bija biezāks nekā otrs, tāpēc es izmantoju āmuru, lai to izlīdzinātu un izlīdzinātu malas (iegūstot formu, kādu redzat attēlos). Pēc tam viegli noslīpēju zem tekoša ūdens, lai to noslīpētu, un noliku malā uz vēlāku laiku.

3. darbība. Elektronikas korpusa izveide, 1. darbība

Elektronikas korpusa celtniecība, 1. darbība
Elektronikas korpusa celtniecība, 1. darbība
Elektronikas korpusa celtniecība, 1. darbība
Elektronikas korpusa celtniecība, 1. darbība
Elektronikas korpusa celtniecība, 1. darbība
Elektronikas korpusa celtniecība, 1. darbība
Elektronikas korpusa celtniecība, 1. darbība
Elektronikas korpusa celtniecība, 1. darbība

Šīs ir korpusa daļas, kurās tiks ievietots Nano, uzstādīts interfeiss, un būtībā tas satur HALO lampu kopā. Es to izveidoju ar savu 0,5 mm alumīniju un karsto līmi, bet, ja jums ir 3D printeris (ko es jau kādu laiku esmu mēģinājis iegādāties savā veikalā), es izveidoju. STL versiju Tinkercad, kuru es šeit pievienoju, lai jūs varētu lejupielādēt. Tā kā man pašam nav printera, es nevarēju pārbaudīt modeļa izdruku, lai noskaidrotu, vai viss izdrukājas pareizi, taču, manuprāt, tam vajadzētu būt labi, ja savā šķēlītē pievienojat pareizās atbalsta struktūras. Šeit varat arī kopēt un rediģēt avota failu, ja vēlaties vai vēlaties nedaudz atšķirīgu dizainu vai estētiku.

Izmēri faktiski tika iegūti no metāla svara, ko es izlēju sev no lodēšanas, nevis no elektronikas lieluma, bet tas tomēr izrādījās diezgan labi, un izmēri ir diezgan optimāli.

Attēli attēlo nedaudz atšķirīgu darbības secību, nekā es šeit rakstīšu, tas ir tāpēc, ka esmu izstrādājis uzlabotu metodi, pamatojoties uz savas sākotnējās metodes rezultātiem.

Ja jūs montējat no lokšņu metāla tāpat kā es, jums jādara šādi:

1. solis: sejas plāksnes

Izgrieziet divas identiskas pusapļa formas, apmēram 1,5 collas garas un 3 collas platas. (Es ar brīvroku izmantoju savējos, tāpēc tie izskatās mazliet kā džekkastes priekšpuse).

Vienā no divām plāksnēm izurbiet trīs caurumus pogām un potenciometram. Manējie bija 1/4 collas diametrā. Tie var būt jebkurā izkārtojumā, bet es gribētu, lai potenciometrs būtu nedaudz pacelts centrā, abās pusēs esošajām pogām veidojot vienādsānu trīsstūri. Urbjot, pirms došanās pie vajadzīgā izmēra uzgaļa es vienmēr izveidoju nelielu izmēģinājuma caurumu, tas palīdz centrēt caurumus un padara tos mazliet tīrākus.

2. solis: izliekts vāks

Noliecieties pie alumīnija gabala, lai tas ietilptu ap vienas no plāksnēm, un atzīmējiet pareizo malas garumu.

Izgrieziet šāda garuma un apmēram 2 collu platu sloksni un izveidojiet to lokā, kas atbilst sejas plākšņu izliekuma formai abās pusēs.

Atrodiet centra punktu līknes augšdaļā un izurbiet caurumu, lai tas atbilstu šķiltavas elastīgajam kaklam. Es nobīdīju caurumu uz aizmuguri manējā, jo manas lampas lietošanas laikā kakls pārsvarā būs noliekts uz priekšu, tāpēc es vēlējos tam pievienot nelielu līdzsvaru. Mans elastīgais kakls bija nedaudz vairāk par 1/4 collas diametrā, tāpēc es izmantoju 1/4 collu bitu (lielākais manis savērptais uzgalis, kas ir mazāks par 3/4 collas) un tikai uzmanīgi leņķiski un pagriezu urbt, lai “izurbtu” caurumu, līdz kakls iederas.

Tagad, kad mums ir korpusa daļas, nākamais solis ir pievienot elektroniku un salikt to kopā!

4. darbība. Elektronikas korpusa izveide, 2. darbība

Elektronikas korpusa celtniecība, 2. darbība
Elektronikas korpusa celtniecība, 2. darbība
Elektronikas korpusa celtniecība, 2. darbība
Elektronikas korpusa celtniecība, 2. darbība
Elektronikas korpusa celtniecība, 2. darbība
Elektronikas korpusa celtniecība, 2. darbība
Elektronikas korpusa celtniecība, 2. darbība
Elektronikas korpusa celtniecība, 2. darbība

Tagad mēs pievienojam pogas un potenciometru un saliekam visu kopā.

1. darbība: pogas un skrūves

Atskrūvējiet sešstūra uzgriežņus no pogām un potenciometra. Zem uzgriežņa jābūt satveršanas gredzena ierīcei, atstājiet to vietā.

Izgrieziet katru sastāvdaļu caur attiecīgo caurumu, pēc tam atkal ieskrūvējiet uzgriežņus, lai nostiprinātu katru vietā. Pievelciet uzgriežņus līdz vietai, kur esat pārliecināts, ka katra sastāvdaļa ir pilnīgi droša.

Solis 2. Elastīgs kakls

Izvelciet elastīgo kaklu caur atveri izliektā gabala augšpusē. Karsta līme vai metināšana (ja jums ir aprīkojums) kaklu droši novieto savā vietā.

Ja izmantojat tādu karstu līmi kā es, ieteicams to pielīmēt ar daudz līmes abās pusēs, kas izkliedētas lielā platībā, lai novērstu līmes atdalīšanos vēlāk.

3. darbība: apvalka montāža (neattiecas uz 3D drukātu apvalku)

Izmantojot metināšanas stieni vai karstu līmi, nostipriniet priekšējās un aizmugurējās virsmas plāksnes savās vietās uz arkveida pārsega. Man vajadzēja pāris mēģinājumus, lai mana līme pielīmētu, un, tāpat kā iepriekš, triks ir izmantot daudz līmes abās locītavas pusēs, tāpat kā kaklā. Jo lielāka platība ir pārklāta ar līmi, jo labāk tā pielīp.

Tagad, kad mums ir apvalks, mēs varam turpināt pievienot visus shēmas bitus.

5. darbība: elektronikas pievienošana

Elektronikas pievienošana
Elektronikas pievienošana
Elektronikas pievienošana
Elektronikas pievienošana
Elektronikas pievienošana
Elektronikas pievienošana

Un šeit ir jautrā daļa: lodēšana! Pēdējās nedēļās esmu godīgi kļuvis mazliet noguris no lodēšanas, jo pēdējā laikā esmu to darījis tik daudz, lai mēģinātu pabeigt citu projektu, kas man drīzumā būtu jāizvirza (sekojiet līdzi, lai radikalizētu savu robotizētā displeja jauno versiju platformas), kā rezultātā es sabojāju vienu gludekli un dabūju otru … Jebkurā gadījumā šeit nav daudz ko pielodēt, tāpēc tam vajadzētu būt diezgan vienkāršam.

Piezīme. Ja jūsu Nano jau ir piespraustas galvenes, es ieteiktu tos atkausēt šim projektam, tie tikai traucēs.

Iepriekš redzamajos attēlos ir diagramma, ja vēlaties, varat to ievērot.

1. darbība: saskarne

No katra slēdža pielodējiet vadu no vienas tapas līdz potenciometra sānu tapai. Lodējiet vadu no šīs pašas sānu tapas uz zemējuma tapu uz Nano.

Lodējiet vadu no potenciometra centra tapas līdz A0 uz Nano.

Lodējiet vadu no jebkura slēdža nesaistītās tapas uz Nano.

Lodējiet vadu no otra slēdža nesaistītās tapas līdz A2 uz Nano.

Piezīme. Nav svarīgi, kurš slēdzis ir, jūs varat tos ļoti viegli mainīt kodā, turklāt tas, ka viens slēdzis vienkārši darbojas pretēji otram.

Izgrieziet stieples garumu par 4 collas garāku par elastīgo kaklu un noņemiet abas puses. Izmantojot Sharpie, atzīmējiet vienu pusi ar vienu līniju.

Lodējiet vadu pie potenciometra pēdējās nesaistītās sānu tapas, pagrieziet šī stieples nesaistīto galu kopā ar stieples nemarķēto galu no pēdējā apakšposma.

Lodēt šo pievienoja līdz 5V uz Nano.

2. darbība. Displeja un strāvas vadi

Izgrieziet 2 stieples garumus par 4 collas garāku par elastīgo kaklu un noņemiet abus galus.

Izmantojot Sharpie, atzīmējiet katra stieples galus, vienu vadu ar 2 līnijām un vienu ar 3.

Lodējiet vadu ar 2 līnijām līdz Nano digitālajai tapai 9.

Uz 5 mm cilindra domkrata pielodējiet vadu no centrālās tapas (pozitīvs) līdz Vin uz Nano.

Lodējiet citu vadu pie mucas ligzdas sānu tapas (zemējuma/negatīva).

Pagrieziet garo vadu ar 3 līnijām kopā ar stiepli no mucas ligzdas sānu tapas.

Lodējiet šos vadus pie Nano atvērtās GND tapas.

Vajadzības gadījumā izolējiet savienojumus ar elektrisko lenti vai karstu līmi.

3. solis: caurumu griešana (tikai metāla versijā, ja 3D izdrukājat vāku, jums vajadzētu būt kārtībā)

Izmantojot urbi un X-acto vai komunālo nazi, uzmanīgi izveidojiet caurumu Nano USB porta pārsega sānos.

Vāka aizmugurē izveidojiet vēl vienu caurumu, kas ir aptuveni cilindra ligzdas virsmas izmērs, vēlams tuvāk tai pusei, kas atrodas pretī USB porta caurumam.

4. solis: komponentu montāža

Izvadiet trīs garos vadus caur elastīgo kaklu un izvelciet otru pusi.

Izmantojot daudz karstu līmi, piestipriniet mucas domkratu tā, lai tapas būtu vērstas uz vāka augšpusi.

Atkal, izmantojot daudz karstu līmi, uzstādiet Nano vietā ar atiestatīšanas pogu uz leju un USB portu slotā. Es izveidoju "karstās līmes tiltu" starp mucas domkratu un Nano, kas liek katram noturēt otru stingri vietā.

Tagad mēs varam turpināt veidot svērto bāzi!

6. solis: svērtā bāze

Svērtā bāze
Svērtā bāze
Svērtā bāze
Svērtā bāze
Svērtā bāze
Svērtā bāze

Es esmu pārliecināts par savām lodēšanas prasmēm, un tas bija labi izplānots, tāpēc es turpināju un pievienoju bāzi pirms koda pārbaudes. Ja esat mazāk pārliecināts par savām prasmēm, es ieteiktu izlaist šo soli un atgriezties pie tā beigās, kad zināt, ka viss darbojas.

Ja izveidojāt 3D drukāto versiju, varat izlaist pirmo soli un pāriet uz otro.

1. solis: koks

No 1/4 collu saplākšņa loksnes izgrieziet pamatni apmēram 3 collas 2 collas.

Slīpējiet malas, lai tās izlīdzinātu un noņemtu izciļņus.

2. solis: svars

Vispirms pārliecinieties par savu svaru, lai magnēts, metāls vai pielāgots lodmetāls, ietilptu mūsu izgatavotā metāla pārsega malās. Manējais bija nedaudz liels vienā virzienā, tāpēc es mazliet noskuvos no sāniem ar X-acto nazi. Ja jūsējais nav tas, kur to var izdarīt, jums, iespējams, nāksies izklaidēties ar citu bāzes dizainu.

Saplākšņa gabala centrā karsti pielīmējiet savu svaru vai 3D drukātā dizaina gadījumā centrālajā paplātes zonā, ko es šim nolūkam izveidoju.

3. solis: bāze

Uzlieciet metāla pārsegu virs svara un centrējiet to uz koka pamatnes. (3D drukātā dizaina gadījumā ievietojiet to iepriekš sagatavotajās rievās.)

Pārliecinieties, ka svars netraucē nevienai elektronikai

Izmantojiet karstu līmi, lai nostiprinātu pamatni vietā. Izmantojiet pietiekami, lai nodrošinātu stabilu savienojumu.

Tagad, kad mūsu vadības bloks ir pilnībā izgatavots, pāriesim pie gaismām.

7. solis: NeoPixel Halo Ring

NeoPixel Halo gredzens
NeoPixel Halo gredzens
NeoPixel Halo gredzens
NeoPixel Halo gredzens
NeoPixel Halo gredzens
NeoPixel Halo gredzens
NeoPixel Halo gredzens
NeoPixel Halo gredzens

Šīs lampas nosaukuma iedvesma, šī daļa ir NeoPixel halo gredzens, ko mēs izmantosim kā apgaismojuma avotu. Ja vēlaties, šo detaļu var mainīt vai aizstāt ar jebkuru NeoPixel vai individuāli adresējamu LED gredzenu.

1. solis: lodēšana

Izgrieziet NeoPixels 12 gaismas diodes sloksni.

Lodējiet GND tapu pie stieples no elastīgā kakla, kurā ir 3 līnijas.

Lodējiet Din tapu pie stieples, kurai ir 2 līnijas.

Lodējiet 5V tapu pie stieples, kurai ir 1 līnija.

2. darbība: pārbaudiet gaismas

Lejupielādējiet un instalējiet Adafruit_NeoPixel bibliotēku un atveriet "strandtest" kodu.

Mainiet pastāvīgo PIN uz 9.

Mainiet līniju, kurā sloksne ir definēta, lai tā būtu konfigurēta 12 gaismas diodēm.

Augšupielādējiet kodu Nano un pārliecinieties, ka visas jūsu gaismas diodes darbojas pareizi.

Nomainiet visas bojātās gaismas diodes ar strādājošām, līdz visa sloksne darbojas.

3. solis: zvaniet

Noņemiet augšējo gredzenu no "Stick and Click" gaismas un nogrieziet visus skrūves stiprinājumus uz iekšējās malas.

Izgrieziet nelielu iegriezumu uz malas vadiem no sloksnes.

Noņemiet lipīgās lentes vāciņu NeoPixels aizmugurē (ja tāds ir) un pielīmējiet to gredzena iekšpusē, ar abiem sloksnes galiem aptuveni mūsu izveidotajā iecirtumā.

Izmantojiet karstu līmi, lai stingri nostiprinātu sloksnes malas

Pēc tam, kad līme ir pilnībā atdzisusi, vēlreiz pārbaudiet pikseļus. Tas ir, lai pārliecinātos, ka neviens nav smalks par karstumu un kērlingu (daži no maniem bija).

4. solis: uzstādīšana

Izgrieziet divus mazus 1/4 collu koka taisnstūrus, apmēram gredzena augstumā un 1 2/3 reizes platākus.

Līmējiet tos paralēli viens otram abās vadu pusēs no gredzena, aizpildot spraugu un pilnībā pārklājot vadus starp līmi.

Uzmanīgi iebīdiet lieko stieples garumu elastīgajā kaklā un pēc tam pielīmējiet koka gabalus uz kakla gala, izmantojot daudz līmes un uzmanīgi aizpildot visus spraugas (neaizpildot kaklu ar līmi).

6. solis: apdare

Jūs varat krāsot gredzenu un uzstādīt jebkuru krāsu, ja vēlaties, es gribēju sudraba apdari, tāpēc es izmantoju tikai Sharpie, lai aizsegtu logotipu, kas (kaitinoši) tika uzdrukāts uz gredzena. Tas pats attiecas uz pārējo lampu.

Tagad mēs varam pāriet pie gala koda pabeigšanas!

8. darbība: kodi un testi

Kodi un testi
Kodi un testi
Kodi un testi
Kodi un testi

Tāpēc tagad viss, kas mums jādara, ir ieprogrammēt lampu un to pārbaudīt. Pievienota pašreizējā koda versija (rev1.0), esmu diezgan plaši pārbaudījis šo kodu, un tas darbojas ļoti labi. Es strādāju pie rev2.0, kur pogas ir konfigurētas kā ārēji pārtraukumi, lai režīmus varētu vieglāk pārslēgt, taču šī versija ir kļūdaina un vēl nav gatava izlaišanai. Izmantojot pašreizējo versiju, jums ir jānospiež poga, līdz tā palaiž cilpu Debounce un atpazīst stāvokļa izmaiņas, kas var būt kaitinošas garākās "dinamiskās" cilpas. Zemāk ir kods ar dažiem rakstītiem paskaidrojumiem (lejupielādējamajā versijā ir tādi paši paskaidrojumi).

#include #ifdef _AVR_ #include #endif

#definējiet PIN 9

#definēt POT A0 #definēt BUTTON1 A1 #define BUTTON2 A2

// Parametrs 1 = pikseļu skaits joslā

// Parametrs 2 = Arduino pin numurs (lielākā daļa ir derīgi) v1 '(ne v2) FLORA pikseļi, WS2811 draiveri) // NEO_GRB Pikseļi ir savienoti ar GRB bitu plūsmu (lielākā daļa NeoPixel produktu) // NEO_RGB pikseļi ir savienoti ar RGB bitu plūsmu (v1 FLORA pikseļi, nevis v2) // NEO_RGBW Pikseļi ir vadi RGBW bitu plūsma (NeoPixel RGBW produkti) Adafruit_NeoPixel halo = Adafruit_NeoPixel (12, PIN, NEO_GRB + NEO_KHZ800);

// Un tagad drošības ziņojums no mūsu draugiem Adafruit:

// SVARĪGI: Lai samazinātu NeoPixel izdegšanas risku, pievienojiet 1000 uF kondensatoru

// pikseļu barošanas vadi, pievienojiet 300–500 omu rezistoru pirmā pikseļa datu ievadē // un samaziniet attālumu starp Arduino un pirmo pikseli. Izvairieties no savienojuma // uz strāvas ķēdes… ja jums tas ir nepieciešams, vispirms pievienojiet GND.

// Mainīgie

int buttonState1; int buttonState2; // pašreizējais nolasījums no ievades tapas int lastButtonState1 = LOW; // iepriekšējais lasījums no ievades tapas int lastButtonState2 = LOW; int režīms; // mūsu gaismas režīms, var būt viens no 16 iestatījumiem (0 līdz 15) int brightVal = 0; // spilgtums/ ātrums, kā to nosaka potenciometrs

// tālāk norādītie mainīgie ir gari, jo laiks, mērīts milisekundēs, // ātri kļūs par lielāku skaitli, nekā to var saglabāt int. long lastDebounceTime = 0; // pēdējo reizi izejas tapa tika pārslēgta ilgi debounceDelay = 50; // debounce time; palielināt, ja izeja mirgo

void debounce () {

// nolasīt slēdža stāvokli vietējā mainīgajā: int reading1 = digitalRead (BUTTON1); int reading2 = digitalRead (BUTTON2); // Ja kāda no pogām ir mainījusies trokšņa vai nospiešanas dēļ: if (reading1! = LastButtonState1 || reading2! = LastButtonState2) {// atiestatiet debouncing taimeri lastDebounceTime = millis (); } if ((millis () - lastDebounceTime)> debounceDelay) {// ja pogas stāvoklis noteikti ir mainījies, nospiežot/atlaižot: if (reading1! = buttonState1) {buttonState1 = reading1; // iestatiet to kā nolasījumu, ja tas ir mainīts, ja (buttonState1 == LOW) {// tie ir iestatīti kā aktīvs zemo slēdžu režīms ++; ja (režīms == 16) {režīms = 0; }}} ja (lasīšana2! = pogasStāvoklis2) {pogasStāvoklis2 = lasījums2; if (buttonState2 == LOW) {mode = režīms - 1; ja (režīms == -1) {režīms = 15; }}}} // saglabāt lasījumu nākamajai reizei, izmantojot ciklu lastButtonState1 = lasījums1; lastButtonState2 = lasījums2; }

void getBright () {// mūsu kods, lai nolasītu potenciometru, parāda vērtību no 0 līdz 255. Izmanto, lai dažos režīmos iestatītu spilgtumu, bet citos - ātrumu.

int potVal = analogRead (POT); brightVal = karte (potVal, 0, 1023, 0, 255); }

// Šeit ir mūsu krāsu režīmi. Daži no tiem ir atvasināti no virknes testa piemēra, citi ir oriģināli.

// Aizpildiet punktus vienu pēc otra ar krāsu (krāsu notīrīšana, iegūta no virknes testa)

void colorWipe (uint32_t c, uint8_t wait) {for (uint16_t i = 0; i

// varavīksnes funkcijas (arī iegūtas no strandtest)

tukša varavīksne (pagaidiet) {{

uint16_t i, j;

par (j = 0; j <256; j ++) {par (i = 0; i

// Nedaudz atšķirīgs, tāpēc varavīksne ir vienmērīgi sadalīta visā

void rainbowCycle (uint8_t gaidīt) {uint16_t i, j;

(j = 0; j <256*5; j ++) {// 5 visu krāsu riteņi uz riteņa (i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, Wheel (((i * 256 / halo.numPixels ()) + j) & 255)); } halo.šovs (); aizkavēties (gaidīt); }}

// Ievadiet vērtību no 0 līdz 255, lai iegūtu krāsas vērtību.

// Krāsas ir pāreja r - g - b - atpakaļ uz r. uint32_t Ritenis (baits WheelPos) {WheelPos = 255 - WheelPos; if (WheelPos <85) {return halo. Color (255 - WheelPos * 3, 0, WheelPos * 3); } ja (WheelPos <170) {WheelPos -= 85; atgriešanās halo. Krāsa (0, WheelPos * 3, 255 - WheelPos * 3); } WheelPos -= 170; atgriešanās halo. Krāsa (WheelPos * 3, 255 - WheelPos * 3, 0); }

void setup () {

// Tas attiecas uz Trinket 5V 16MHz, jūs varat noņemt šīs trīs līnijas, ja neizmantojat piekariņu #if definēts (_AVR_ATtiny85_), ja (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // Pieklājības īpašā koda beigas pinMode (POT, INPUT); pinMode (BUTTON1, INPUT_PULLUP); pinMode (BUTTON2, INPUT_PULLUP); pinMode (PIN, OUTPUT); Sērijas sākums (9600); // atkļūdošanas sīkumi halo.begin (); halo.šovs (); // Inicializēt visus pikseļus uz “izslēgts”}

void loop () {

debounce ();

// Sērijas.println (režīms); // vairāk atkļūdošanas //Serial.println(lastButtonState1); //Serial.println(lastButtonState2);

ja (režīms == 0) {

getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (brightVal, brightVal, brightVal)); // iestatīt visus pikseļus uz baltu} halo.show (); }; ja (režīms == 1) {getBright (); par (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (brightVal, 0, 0)); // iestatīt visus pikseļus uz sarkanu} halo.show (); }; ja (režīms == 2) {getBright (); par (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (0, brightVal, 0)); // iestatīt visus pikseļus uz zaļu} halo.show (); }; ja (režīms == 3) {getBright (); par (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (0, 0, brightVal)); // iestatīt visus pikseļus uz zilu} halo.show (); }; ja (režīms == 4) {getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (0, brightVal, brightVal)); // iestatīt visus pikseļus uz ciānu} halo.show (); }; ja (režīms == 5) {getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (brightVal, 0, brightVal)); // iestatīt visus pikseļus uz purpursarkanu/purpursarkanu} halo.show (); }; ja (režīms == 6) {getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (brightVal, brightVal, 0)); // iestatīt visus pikseļus uz oranžu/dzeltenu} halo.show (); }; if (mode == 7) {// tagad dinamiskie režīmi getBright (); colorWipe (halo. Color (brightVal, 0, 0), 50); // Sarkans }; ja (režīms == 8) {getBright (); colorWipe (halo. Color (0, brightVal, 0), 50); // Zaļš}; ja (režīms == 9) {getBright (); colorWipe (halo. Color (0, 0, brightVal), 50); // zils}; ja (režīms == 10) {getBright (); colorWipe (halo. Color (brightVal, brightVal, brightVal), 50); // balts}; ja (režīms == 11) {getBright (); colorWipe (halo. Color (brightVal, brightVal, 0), 50); // oranžs/dzeltens}; ja (režīms == 12) {getBright (); colorWipe (halo. Color (0, brightVal, brightVal), 50); // Ciāna }; ja (režīms == 13) {getBright (); colorWipe (halo. Color (brightVal, 0, brightVal), 50); // violeta/purpursarkana}; if (mode == 14) {// pēdējie divi ir ātruma kontrole, jo spilgtums ir dinamisks getBright (); varavīksne (brightVal); }; ja (režīms == 15) {getBright (); varavīksnes cikls (brightVal); }; kavēšanās (10); // ļauj procesoram nedaudz atpūsties}

9. solis: Lielais fināls

Lielais fināls
Lielais fināls

Un tagad mums ir fantastiska, īpaši spilgta maza lampiņa!

Jūs varat to modificēt tālāk vai atstāt to tādu, kāds tas ir. Jūs varat mainīt kodu vai pat uzrakstīt jaunu. Jūs varat palielināt pamatni un pievienot baterijas. Jūs varētu pievienot ventilatoru. Jūs varat pievienot vairāk NeoPikseļu. Saraksts ar visu, ko jūs varētu darīt ar šo, ir gandrīz bezgalīgs. Es saku "gandrīz", jo esmu diezgan pārliecināts, ka mums joprojām nav tehnoloģiju, lai to pārvērstu par mini portāla ģeneratoru (diemžēl), bet, izņemot tādas lietas, vienīgais ierobežojums ir jūsu iztēle (un zināmā mērā kā es nesen atklāju, jūsu darbnīcas rīki). Bet, ja jums nav instrumentu, neļaujiet tam apstāties, ja jūs patiešām vēlaties kaut ko darīt, vienmēr ir veids.

Tā ir daļa no šī projekta jēgas, lai pierādītu sev (un mazākā mērā pasaulei), ka es varu radīt noderīgas lietas, kas arī citiem cilvēkiem patiktu, pat ja viss, kas man ir, ir īsta atkritumu kaudze vecu un atgrieztu sastāvdaļas un Arduino piederumu tvertne.

Es beigšu šeit, jo, manuprāt, šis izdevās diezgan labi. Ja jums ir ieteikumi uzlabojumiem vai jautājums par manām metodēm, lūdzu, atstājiet komentāru zemāk. Ja jūs to uztaisījāt, nofotografējiet, mēs visi vēlamies to redzēt!

Lūdzu, neaizmirstiet balsot, ja jums tas patīk!

Kā vienmēr, šie ir Bīstami sprādzienbīstami projekti, viņa mūža misija "Drosmīgi būvēt to, ko vēlies būvēt, un vēl!"

Pārējos manus projektus varat atrast šeit.

Paldies, ka lasījāt, un laimīgu izgatavošanu!

Ieteicams: