Turinys:

HALO: patogi „Arduino“lempa, 1.0 W/„Neo“Pikseliai: 9 žingsniai (su nuotraukomis)
HALO: patogi „Arduino“lempa, 1.0 W/„Neo“Pikseliai: 9 žingsniai (su nuotraukomis)

Video: HALO: patogi „Arduino“lempa, 1.0 W/„Neo“Pikseliai: 9 žingsniai (su nuotraukomis)

Video: HALO: patogi „Arduino“lempa, 1.0 W/„Neo“Pikseliai: 9 žingsniai (su nuotraukomis)
Video: Тайна Великой Китайской Стены 2024, Birželis
Anonim
Image
Image
HALO: patogi „Arduino“lempa, 1.0 W/„NeoPixels“
HALO: patogi „Arduino“lempa, 1.0 W/„NeoPixels“
„HALO“: patogi „Arduino“lempa, 1.0 W/„NeoPixels“
„HALO“: patogi „Arduino“lempa, 1.0 W/„NeoPixels“

Šioje pamokoje aš jums parodysiu, kaip sukurti HALO arba „Handy Arduino Lamp Rev1.0“.

„HALO“yra paprasta lempa, maitinama „Arduino Nano“. Jo bendras pėdsakas yra maždaug 2 "x 3", o svertinis medinis pagrindas užtikrina ypatingą stabilumą. Lankstus kaklas ir 12 itin ryškių „NeoPixels“elementų leidžia lengvai apšviesti bet kokią bet kokio paviršiaus detalę. „HALO“turi du mygtukus, leidžiančius perjungti įvairius šviesos režimus, iš kurių yra 15 iš anksto užprogramuotų. Kadangi „Arduino Nano“naudojamas kaip procesorius, galite jį perprogramuoti naudodami papildomas funkcijas. Vienas potenciometras naudojamas ryškumui ir (arba) greičiui, kuriuo rodomas režimas, reguliuoti. Dėl paprastos metalinės konstrukcijos HALO yra labai patvari lempa, tinkanti naudoti bet kurioje dirbtuvėje. Naudojimo paprastumą papildo įmontuotas „Nano“maitinimo reguliatorius, todėl HALO gali būti maitinamas per USB arba standartinį 5 mm statinės lizdą gale.

Tikiuosi, kad artimiausioje ateityje pamatysime daug žmonių, naudojančių šias lempas, nes su šia konstrukcija atsiveria labai daug galimybių. Prašome palikti balsavimą mikrokontrolerių konkurse, jei jums tai patinka ar tam tikra prasme tai naudinga, aš tikrai būčiau dėkingas.

Prieš pradėdami dirbti su šia „Instructable“programa, norėčiau trumpai padėkoti visiems mano sekėjams ir visiems, kurie kada nors pakomentavo, įtraukė į favoritus ar balsavo už bet kurį mano projektą. Jūsų dėka, mano „Cardboard“nurodymas tapo didžiuliu pasisekimu, ir dabar, kai rašau, pasiekiu beveik 100 sekėjų, mano nuomone, tai yra didelis etapas. Aš labai vertinu visą paramą, kurią gaunu iš jūsų, kai aš pastatau savo „Ible“, ir kai kalbėsiu apie tai, be tavęs nebūčiau ten, kur esu šiandien. Tai pasakius, ačiū visiems!

PASTABA: šioje instrukcijoje yra paryškintos frazės. Tai yra svarbios kiekvieno žingsnio dalys ir jų nereikėtų ignoruoti. Tai ne aš šaukiu ar tyčia esu grubus, aš tiesiog bandau naują rašymo techniką, kad geriau pabrėžčiau, ką reikia padaryti. Jei jums tai nepatinka ir jums labiau patinka tai, kaip aš anksčiau buvau linkęs rašyti savo žingsnius, praneškite man komentaruose, ir aš grįšiu prie senojo stiliaus.

1 žingsnis: Surinkite medžiagas

Medžiagų rinkimas
Medžiagų rinkimas
Medžiagų rinkimas
Medžiagų rinkimas
Medžiagų rinkimas
Medžiagų rinkimas
Medžiagų rinkimas
Medžiagų rinkimas

Kiek kartų turiu tai pasakyti? Visada turėkite tai, ko jums reikia, ir garantuojate, kad galėsite ką nors pastatyti iki pat pabaigos.

Pastaba: kai kurios iš jų yra filialų nuorodos (pažymėtos „al“), jei negausite jokių papildomų mokesčių, gausiu nedidelį atatranką. Ačiū, jei perkate per nuorodas

Dalys:

1x „Arduino Nano Nano“- al

1x 10k rotacinis potenciometras 5 pakuotės 10k potenciometrai - al

1x 5 mm statinės lizdas (mano perdirbtas iš kepto „Arduino Uno“) „Barel Jack“patelė (5 pakuotės) - al

2x 2 kontaktų momentiniai mygtukai 10 pakuočių SPST mygtukinis jungiklis-al

12 kartų „NeoPixels“iš 60 šviesos diodų/metrų pluošto (veiks bet koks atitikmuo, pvz., WS2812B) „Adafruit NeoPixels“

0,5 mm aliuminio lakštas

Lankstus kaklas iš seno lankstaus žiebtuvėlio

Viršutinis dangtelio žiedas iš „Stick and Click“LED spintelės lemputės LED spintelės šviesa - al

Mažas 1/4 colio faneros lapas

Sunkus, plokščias metalo svoris (apytiksliai) 1,5 "iki 2,5" x 0,25"

Suvyta elektros šerdis

Įrankiai:

Karšto klijų pistoletas ir klijai

Lituoklis ir lydmetalis

Akumuliatorinis gręžtuvas ir įvairūs smulkūs sukimo antgaliai

„X-acto“peilis (arba naudingas peilis)

Vielos nuėmikliai

Replės

Vielos pjaustytuvai/atraižos

Didelės apkrovos žirklės

Jei neturite plokščio metalo svorio, jums taip pat reikia:

1 ritininis pigaus lydmetalio (ne tas, kurį naudosite litavimui) Pigus lydmetalis be švino

Alkoholio žvakė (arba Bunsen degiklis)

Mažas grūdinto plieno indas, kurio nesugadinsite (arba mažas tiglis, jei turite)

Minėto indo/tiglio trikojis (aš padariau savo iš 12 gabaritų plieninės vielos)

Molio augalų patiekalas (vienas iš tų daiktų, kuris eina po vazonu)

Kažkokia aliuminio folija

PASTABA: Jei turite suvirinimo komplektą arba 3D spausdintuvą, jums gali prireikti ne visų čia išvardytų įrankių.

2 žingsnis: priaugkite svorio

Padaryti svorį
Padaryti svorį
Padaryti svorį
Padaryti svorį
Padaryti svorį
Padaryti svorį

Tai gana sunkus žingsnis, todėl jūs turite būti labai atsargūs. Jei turite sunkiojo metalo svorį arba plokščią neodimio magnetą, kurio dydis yra apie 2,75 x 1,75 x 0,25 colio, rekomenduočiau jį naudoti (o magnetas netgi leistų pastatyti lempą į šoną ant metalinių paviršių!).

Atsakomybės apribojimas: Aš nesu atsakingas už jūsų sužalojimus, todėl prašome vadovautis sveiku protu

Taip pat darykite tai lauke virš betoninio paviršiaus, kuris jums neprieštaraus, jei jis šiek tiek apdegs (tai tik atsargumo priemonė). Aš neturiu nuotraukų šiam procesui, nes fotoaparatas būtų buvęs papildomas blaškymasis, kurio man nereikėjo ar nenorėjau.

Pirmiausia iš aliuminio folijos arba šlapio molio padarykite nedidelę formą, kurios vidiniai matmenys yra maždaug 2 3/4 colio 1 3/4 colio ir 1/4 colio. Tai gali būti kiaušinio formos, tokios kaip mano, arba stačiakampis. Naudokite kelis sluoksnius folijos arba storus molio sluoksnius.

Įdėkite formą į keraminį augalinį indą ir užpildykite formą ir padėklą šaltu vandeniu.

Paimkite neapšviestą alkoholio žvakę/bunseno degiklį ir padėkite plieninį indą/tiglį ant trikojo, kad liepsna įkaitintų indo centrą (užsidegus). Prieš uždegdami degiklį įsitikinkite, kad po ranka turite bent vieną replę arba metalo apdirbimo žnyples.

Atliekant kelis kitus veiksmus, gera idėja dėvėti odines pirštines, ilgas rankoves, ilgas kelnes, batus su uždarytais pirštais ir akių apsaugą

Suvyniokite ir nuplėškite krūvą pigaus lydmetalio iš ritės ir padėkite jį į plieninį indą, tada uždegkite degiklį. Palaukite, kol ritė visiškai ištirps, tada pradėkite likusį lydmetalį tiekti į indą vidutiniu tempu. Jei lydmetalis turi kanifoliją, jis gali savaime sudegti karštyje ir sukelti šviesiai geltoną liepsną bei juodus dūmus. Nesijaudinkite, tai atsitiko man kelis kartus ir yra visiškai normalu.

Toliau tiekite lydmetalį į indą, kol paskutinis iš jo ištirps.

Leiskite liepsnoms nuo degančios kanifolijos visiškai išnykti, o replėmis/žnyplėmis patraukite indą ir švelniai sukite ištirpusį metalą viduje, atsargiai laikydami jį liepsnoje.

Įsitikinę, kad visas lydmetalis yra visiškai suskystintas ir gerai įkaitęs, greitai ir atsargiai nukelkite jį nuo liepsnos ir supilkite į formą. Pasigirs garsus šnypštimo garsas ir garai, kai dalis vandens išgaruos, o likusi dalis bus priversta išimti iš formos ir pakeisti lydytu lydmetaliu.

Leiskite lydmetaliui atvėsti, išjunkite degiklį/pūskite žvakę ir padėkite plieninį indą saugiai atvėsti. Jei norite pagreitinti aušinimą ir dar labiau sukietėti, galbūt norėsite užpilti šaltu vandeniu aušinimo lydmetalį. (Dėl šalto vandens išorė atvėsta greičiau nei iš vidaus, sukuriant vidinę įtampą, dėl kurios metalas tampa kietesnis ir standesnis, panašiai kaip princo Ruperto lašas.) Taip pat galite tekėti vandeniu ant metalinio indo, tačiau jis taps trapus., ypač jei tai daroma kelis kartus.

Po to, kai lydmetalis visiškai atvės (apie 20 minučių, kad būtų saugu), išimkite jį iš folijos formos.

Mano galai iš vienos pusės buvo storesni nei iš kitos, todėl aš plaktuku išlyginau ir išlyginau kraštus (gauta tokia forma, kaip matote paveikslėliuose). Tada lengvai nušlifavau po tekančiu vandeniu, kad nupoliruočiau, ir atidėjau vėlesniam laikui.

3 žingsnis: statykite elektronikos korpusą, 1 žingsnis

Elektronikos korpuso statyba, 1 žingsnis
Elektronikos korpuso statyba, 1 žingsnis
Elektronikos korpuso statyba, 1 žingsnis
Elektronikos korpuso statyba, 1 žingsnis
Elektronikos korpuso statyba, 1 žingsnis
Elektronikos korpuso statyba, 1 žingsnis
Elektronikos korpuso statyba, 1 žingsnis
Elektronikos korpuso statyba, 1 žingsnis

Tai yra korpuso dalys, kuriose bus „Nano“, sumontuota sąsaja ir iš esmės laikoma kartu „HALO“lempa. Aš padariau savo su savo 0,5 mm aliuminiu ir karštais klijais, bet jei turite 3D spausdintuvą (kurį kurį laiką bandžiau įsigyti savo parduotuvėje), aš sukūriau. STL versiją „Tinkercad“, kurią čia pridėjau jums parsisiųsti. Kadangi pati neturiu spausdintuvo, negalėjau išbandyti modelio atspaudo, kad pamatyčiau, ar viskas spausdinama tinkamai, bet manau, kad turėtų būti gerai, jei į pjaustyklę pridėsite tinkamas atramines struktūras. Čia taip pat galite nukopijuoti ir redaguoti šaltinio failą, jei jums reikia ar norite šiek tiek kitokio dizaino ar estetikos.

Matmenys iš tikrųjų buvo gauti iš metalo svorio, kurį sau išliejau iš lydmetalio, o ne iš elektronikos dydžio, bet vis tiek pasirodė gana gerai, o matmenys yra gana optimalūs.

Paveiksluose pavaizduota šiek tiek kitokia veikimo tvarka nei čia parašysiu, nes aš sukūriau patobulintą metodą, pagrįstą mano pradinio metodo rezultatais.

Jei renkatės iš lakštinio metalo, kaip aš, štai ką turite padaryti:

1 žingsnis: veido plokštės

Iškirpkite dvi identiškas pusės apskritimo formas, maždaug 1,5 colio aukščio ir 3 colių pločio. (Aš laisva ranka rankomis, todėl jie atrodo šiek tiek panašūs į „Juke“dėžutės priekį).

Vienoje iš dviejų plokščių išgręžkite tris skyles mygtukams ir potenciometrui. Mano kiekvienas buvo 1/4 colio skersmens. Jie gali būti bet kokio išdėstymo, tačiau man labiau patinka, kad mano potenciometras būtų šiek tiek pakeltas centre, o abiejų pusių mygtukai sudarytų lygiašonį trikampį. Kai gręžiu, prieš eidamas į reikiamo dydžio antgalį aš visada padariau mažą bandomąją skylę, ji padeda sucentruoti skyles ir padaro jas kiek švaresnes.

2 žingsnis: arkinis dangtelis

Sulenkite aliuminio gabalėlį, kad jis tilptų aplink vienos iš plokštelių kreivę, ir pažymėkite tinkamą krašto ilgį.

Iškirpkite tokio ilgio ir maždaug 2 colių pločio juostelę ir suformuokite ją į lanką, atitinkantį veido plokščių kreivės formą iš abiejų pusių.

Suraskite centrinį tašką kreivės viršuje ir išgręžkite skylę, kad tilptų žiebtuvėlio lankstus kaklas. Aš nukreipiau skylę į galą, nes mano lempos kaklas dažniausiai bus pakreiptas į priekį, todėl norėjau šiek tiek atsverti. Mano lankstus kaklas buvo šiek tiek daugiau nei 1/4 colio skersmens, todėl naudojau 1/4 colio antgalį (didžiausią man priklausantį sukimo antgalį, kuris yra mažesnis nei 3/4 colio) ir tiesiog atsargiai pasukęs gręžkite, kad „išgręžtumėte“skylę, kol kaklas sutaps.

Dabar, kai turime korpuso dalis, kitas žingsnis yra pridėti elektronikos ir ją sudėti!

4 žingsnis: Elektronikos korpuso statymas, 2 žingsnis

Elektronikos korpuso statymas, 2 žingsnis
Elektronikos korpuso statymas, 2 žingsnis
Elektronikos korpuso statymas, 2 žingsnis
Elektronikos korpuso statymas, 2 žingsnis
Elektronikos korpuso statymas, 2 žingsnis
Elektronikos korpuso statymas, 2 žingsnis
Elektronikos korpuso statyba, 2 žingsnis
Elektronikos korpuso statyba, 2 žingsnis

Dabar mes pridedame mygtukus ir potenciometrą ir sudedame viską.

1 žingsnis: mygtukai ir varžtai

Atsukite šešiakampes veržles nuo mygtukų ir potenciometro. Po veržle turėtų būti sugriebimo žiedo įtaisas, palikite jį vietoje.

Kiekvieną komponentą prakiškite per atitinkamą skylę, tada vėl prisukite veržles, kad kiekviena būtų pritvirtinta. Priveržkite veržles iki tos vietos, kur esate tikri, kad kiekvienas komponentas yra visiškai saugus.

2 žingsnis. Lankstus kaklas

Išlenktą kaklą iškiškite per išlenktos dalies viršuje esančią skylę. Karštai klijuokite arba suvirinkite (jei turite įrangą), kad kaklas būtų tvirtai pritvirtintas.

Jei naudojate karštus klijus, tokius kaip aš, patartina juos klijuoti daugybe klijų abiejose pusėse, paskirstytose dideliame plote, kad vėliau klijai neliptų.

3 žingsnis: korpuso surinkimas (netaikomas 3D spausdintam apvalkalui)

Naudodami suvirinimo strypą arba karštus klijus, pritvirtinkite priekines ir galines plokštes į atitinkamas arkinio dangčio vietas. Prireikė poros bandymų, kad klijai priliptų, ir, kaip ir anksčiau, triukas yra naudoti daug klijų abiejose jungties pusėse, kaip ir kaklelyje. Kuo didesnis klijų padengtas plotas, tuo geriau jis prilips.

Dabar, kai turime apvalkalą, galime pereiti ir pridėti visus grandinės bitus.

5 žingsnis: elektronikos pridėjimas

Pridedama elektronika
Pridedama elektronika
Pridedama elektronika
Pridedama elektronika
Pridedama elektronika
Pridedama elektronika

Ir čia yra linksma dalis: litavimas! Pastarosiomis savaitėmis aš nuoširdžiai šiek tiek pavargau nuo litavimo, nes pastaruoju metu tai darau tiek, kad bandyčiau užbaigti kitą projektą, kurį turėčiau netrukus įgyvendinti (stebėkite radikalizuotą naują mano roboto ekrano versiją) platformos), todėl aš sugadinau vieną lygintuvą ir gavau kitą … Bet kokiu atveju, čia nėra daug lituoti, todėl tai turėtų būti gana paprasta.

Pastaba: jei jūsų „Nano“jau turi kaiščių antraštes, aš rekomenduočiau juos išlydyti šiam projektui, jie tik trukdys.

Aukščiau esančiose nuotraukose yra schema, jei norite, galite sekti.

1 žingsnis: sąsaja

Iš kiekvieno jungiklio lituokite laidą iš vieno kaiščio į potenciometro šoninį kaištį. Lituokite laidą iš to paties šoninio kaiščio į „Nano“įžeminimo kaištį.

Lituokite laidą nuo potenciometro centrinio kaiščio iki „Nano“A0.

Lituokite laidą iš nesujungto jungiklio kaiščio į A1 „Nano“.

Lituokite laidą iš nesujungto kaiščio kitame jungiklyje prie A2 „Nano“.

Pastaba: nesvarbu, kuris jungiklis yra, kurį galite labai lengvai pakeisti kodu, be to, kad vienas jungiklis tiesiog veikia priešingai.

Nupjaukite vielos ilgį 4 coliais ilgiau nei lankstus kaklas ir nuimkite abi puses. Naudodami „Sharpie“, vieną pusę pažymėkite viena linija.

Lituokite laidą prie paskutinio neprijungto šoninio potenciometro kaiščio, pasukite nesujungtą šio laido galą kartu su nepažymėtu vielos galu nuo paskutinio etapo.

Lituoti tai sujungė iki 5 V „Nano“.

2 veiksmas: ekranai ir maitinimo laidai

Nupjaukite 2 ilgio vielą 4 coliais ilgesnę nei lankstus kaklas ir nuimkite abu galus.

Naudodami „Sharpie“pažymėkite kiekvieno laido galus, vieną vielą su 2 linijomis ir vieną su 3.

Lituokite laidą 2 linijomis prie 9 skaitmeninio „Nano“kaiščio.

Ant 5 mm statinės lizdo lituokite laidą nuo centrinio kaiščio (teigiamas) iki „Nano“„Vin“.

Lituokite kitą laidą prie statinės lizdo šoninio kaiščio (įžemintas/neigiamas).

Pasukite ilgą laidą 3 linijomis kartu su viela iš statinės lizdo šoninio kaiščio.

Lituokite šiuos laidus prie atviro „Nano“GND kaiščio.

Jei reikia, izoliuokite jungtis elektros juosta arba karštais klijais.

3 žingsnis: skylių pjovimas (tik metalinėje versijoje, jei 3D atspausdinsite viršelį, viskas turėtų būti gerai)

Naudodami grąžtą ir „X-acto“arba „Utility“peilį, dangtelio šone atsargiai padarykite skylę „Nano“USB prievadui.

Dangtelio gale padarykite kitą maždaug tokio dydžio statinės lizdo paviršiaus skylę, geriausia arčiau šono, esančio priešais USB prievado angą.

4 žingsnis: komponentų montavimas

Perkelkite tris ilgus laidus per lanksčią kaklą ir iš kitos pusės.

Naudodami daug karštų klijų, pritvirtinkite statinės lizdą taip, kad kaiščiai būtų nukreipti į dangtelio viršų.

Vėl naudodami daug karštų klijų, pritvirtinkite „Nano“vietoje, atstatymo mygtukas nukreiptas žemyn, o USB prievadas - lizde. Aš padariau „karštų klijų tiltą“tarp statinės lizdo ir „Nano“, todėl kiekvienas tvirtai laikosi kito.

Dabar galime pereiti prie svertinės bazės kūrimo!

6 žingsnis: Svertinė bazė

Svertinė bazė
Svertinė bazė
Svertinė bazė
Svertinė bazė
Svertinė bazė
Svertinė bazė

Aš esu įsitikinęs savo litavimo įgūdžiais ir tai gerai suplanavau, todėl prieš išbandydamas kodą tęsiau ir pridėjau bazę. Jei mažiau pasitikite savo įgūdžiais, siūlyčiau praleisti šį žingsnį ir grįžti prie jo, kai žinosite, kad viskas veikia.

Jei sukūrėte 3D spausdintą versiją, galite praleisti pirmąjį žingsnį ir pereiti prie antrojo.

1 žingsnis: medis

Iš 1/4 colio faneros lapo nupjaukite pagrindą maždaug 3 colių x 2 colių.

Šlifuokite kraštus, kad jie būtų išlyginti, ir pašalinkite įbrėžimus.

2 žingsnis: svoris

Pirmiausia įsitikinkite, kad pasirinktas svoris, nesvarbu, ar magnetas, metalinis, ar pasirinktinis lydmetalis, tilptų į mūsų pagaminto metalinio dangtelio kraštus. Manoji buvo šiek tiek didelė viena kryptimi, todėl šiek tiek nusiskutau iš šono X-acto peiliu. Jei jūs ne tai, kur galite tai padaryti, jums gali tekti sugalvoti kitokį pagrindo dizainą.

Karštai klijuokite savo svorį faneros gabalo centre arba 3D spausdinto dizaino atveju šiam tikslui sukurtoje centrinėje „padėklo“srityje.

3 žingsnis: bazė

Uždėkite metalinį dangtelį ant svorio ir pritvirtinkite jį prie medinio pagrindo. (3D spausdinto dizaino atveju įdėkite jį į iš anksto paruoštus griovelius.)

Įsitikinkite, kad svoris netrukdo jokiai elektronikai

Norėdami pritvirtinti pagrindą, naudokite karštus klijus. Naudokite pakankamai, kad užtikrintumėte tvirtą ryšį.

Dabar, kai valdymo skydas yra visiškai pagamintas, pereikime prie žibintų.

7 žingsnis: „NeoPixel Halo Ring“

„NeoPixel“halo žiedas
„NeoPixel“halo žiedas
„NeoPixel“halo žiedas
„NeoPixel“halo žiedas
„NeoPixel“halo žiedas
„NeoPixel“halo žiedas
„NeoPixel“halo žiedas
„NeoPixel“halo žiedas

Šios lempos pavadinimo įkvėpimas, ši dalis yra „NeoPixel“halo žiedas, kurį naudosime kaip savo apšvietimo šaltinį. Jei pageidaujate, šį elementą galima pakeisti arba pakeisti bet kokiu „NeoPixel“arba individualiai adresuojamu LED žiedu.

1 žingsnis: litavimas

Iškirpkite 12 „NeoPixels“šviesos diodų juostelę.

Lituokite GND kaištį prie vielos iš lanksčios kaklelio, turinčios 3 linijas.

Lituokite Din kaištį prie vielos, turinčios 2 linijas.

Lituokite 5V kaištį prie laido, turinčio 1 liniją.

2 žingsnis: išbandykite šviesas

Atsisiųskite ir įdiekite „Adafruit_NeoPixel“biblioteką ir atidarykite „strandtest“kodą.

Pakeiskite nuolatinį PIN kodą į 9.

Pakeiskite eilutę, kurioje apibrėžta juostelė, kad ji būtų sukonfigūruota 12 šviesos diodų.

Įkelkite kodą į „Nano“ir įsitikinkite, kad visi šviesos diodai veikia tinkamai.

Pakeiskite visus sugedusius šviesos diodus veikiančiais, kol visa juostelė veiks.

3 žingsnis: skambinkite

Nuimkite viršutinį žiedą nuo „Stick and Click“lemputės ir nupjaukite visus vidinio ratlankio varžtus.

Iškirpkite mažą įpjovą ant laido krašto iš juostos.

Nulupkite lipnios juostos dangtelį „NeoPixels“užpakalinėje dalyje (jei yra) ir įklijuokite juos į žiedo vidų, bet kurį juostelės galą maždaug ties mūsų padaryta įpjova.

Norėdami tvirtai pritvirtinti juostelės kraštus, naudokite karštus klijus

Kai klijai visiškai atvės, dar kartą patikrinkite pikselius. Taip siekiama įsitikinti, kad nė vienas nėra švelnus dėl karščio ir garbanojimo (keletas mano buvo).

4 žingsnis: pritvirtinkite

Iškirpkite du mažus stačiakampius iš 1/4 colio medienos, maždaug žiedo aukščio ir 1 2/3 karto pločio.

Klijuokite juos lygiagrečiai vienas kitam abiejose laido pusėse nuo žiedo, užpildydami tarpą ir visiškai uždengdami laidus klijais.

Atsargiai įstumkite perteklinį vielos ilgį atgal į lanksčią kaklą, o tada klijuokite medžio gabalus ant kaklo galo, naudodami daug klijų ir atsargiai užpildydami visas spragas (neužpildydami kaklo klijais).

6 žingsnis: Baigimas

Jei norite, galite dažyti žiedą ir pritvirtinti bet kokią spalvą, man labiau patiko sidabrinė apdaila, todėl aš naudoju tik „Sharpie“, kad uždengčiau ant žiedo (erzinančiai) atspausdintą logotipą. Tas pats pasakytina apie likusią lempos dalį.

Dabar galime pereiti prie galutinio kodo!

8 žingsnis: kodai ir bandymai

Kodai ir bandymai
Kodai ir bandymai
Kodai ir bandymai
Kodai ir bandymai

Taigi dabar mums tereikia užprogramuoti lempą ir ją išbandyti. Pridedama dabartinė kodo versija (rev1.0), aš gana plačiai išbandžiau šį kodą ir jis veikia labai gerai. Aš dirbu prie 2.0 versijos, kur mygtukai yra sukonfigūruoti kaip išoriniai pertraukikliai, kad būtų lengviau perjungti režimus, tačiau ši versija yra klaidinga ir dar nepasiruošusi išleisti. Esant dabartinei versijai, turite laikyti mygtuką, kol jis paleis „Debounce“ciklą ir atpažins būsenos pasikeitimą, o tai gali erzinti ilgesnėse „Dynamic“kilpose. Žemiau yra kodas su kai kuriais paaiškinimais, parašytais (atsisiunčiamoje versijoje yra tie patys paaiškinimai).

#įtraukti #ifdef _AVR_ #įtraukti #endif

#define PIN 9

#define POT A0 #define BUTTON1 A1 #define BUTTON2 A2

// 1 parametras = pikselių skaičius juostelėje

// 2 parametras = „Arduino“kaiščio numeris (dauguma jų galioja) v1 '(ne v2) FLORA pikseliai, WS2811 tvarkyklės) // NEO_GRB Pikseliai yra prijungti prie GRB bitų srauto (dauguma „NeoPixel“produktų) // NEO_RGB pikseliai yra prijungti prie RGB bitų srauto (v1 FLORA taškai, ne v2) // NEO_RGBW pikseliai yra prijungti RGBW bitų srautas („NeoPixel RGBW“produktai) Adafruit_NeoPixel halo = Adafruit_NeoPixel (12, PIN, NEO_GRB + NEO_KHZ800);

// O dabar mūsų draugų „Adafruit“saugos pranešimas:

// SVARBU: Norėdami sumažinti „NeoPixel“perdegimo riziką, pridėkite 1000 uF kondensatorių

// pikselių maitinimo laidai, pridėkite 300–500 omų rezistorių prie pirmojo taško duomenų įvesties // ir sumažinkite atstumą tarp „Arduino“ir pirmojo pikselio. Venkite prijungti // prie tiesioginės grandinės … jei reikia, pirmiausia prijunkite GND.

// Kintamieji

int mygtukasStatus1; int mygtukasStatus2; // dabartinis skaitymas iš įvesties kaiščio int lastButtonState1 = LOW; // ankstesnis skaitymas iš įvesties kaiščio int lastButtonState2 = LOW; int režimas; // mūsų žibintų režimas, gali būti vienas iš 16 nustatymų (nuo 0 iki 15) int brightVal = 0; // šviesumas/ greitis, nustatytas potenciometru

// šie kintamieji yra ilgi, nes laikas, matuojamas milisekundėmis, // greitai taps didesniu skaičiumi, nei galima išsaugoti int. ilgas lastDebounceTime = 0; // paskutinį kartą išvesties kaištis buvo perjungtas ilgai debounceDelay = 50; // debounce time; padidinti, jei išvestis mirksi

void debounce () {

// perskaityti jungiklio būseną į vietinį kintamąjį: int reading1 = digitalRead (BUTTON1); int reading2 = digitalRead (BUTTON2); // Jei kuris nors iš mygtukų pasikeitė dėl triukšmo ar paspaudimo: if (reading1! = LastButtonState1 || reading2! = LastButtonState2) {// iš naujo nustatykite išjungimo laikmatį lastDebounceTime = millis (); } if ((millis () - lastDebounceTime)> debounceDelay) {// jei mygtuko būsena tikrai pasikeitė dėl paspaudimo/atleidimo: if (reading1! = buttonState1) {buttonState1 = reading1; // nustatykite jį kaip rodmenį, jei jis pasikeitė, jei (buttonState1 == LOW) {// jie nustatyti kaip aktyvus žemų jungiklių režimas ++; jei (režimas == 16) {režimas = 0; }}} if (reading2! = buttonState2) {buttonState2 = reading2; if (buttonState2 == LOW) {režimas = režimas - 1; jei (režimas == -1) {režimas = 15; }}}} // išsaugoti rodmenis kitam kartui per ciklą lastButtonState1 = reading1; lastButtonState2 = skaitymas2; }

void getBright () {// mūsų kodas, skirtas potenciometrui nuskaityti, pateikia reikšmę nuo 0 iki 255. Naudojamas kai kurių režimų ryškumui ir kitų greičiui nustatyti.

int potVal = analogRead (POT); brightVal = žemėlapis (potVal, 0, 1023, 0, 255); }

// Čia yra mūsų spalvų režimai. Kai kurie iš jų yra kilę iš bandomojo pavyzdžio, kiti yra originalūs.

// Užpildykite taškus vieną po kito spalva (spalvota šluostė, gauta iš styginio testo)

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

// vaivorykštės funkcijos (taip pat gautos iš strandtest)

void rainbow (uint8_t wait) {

uint16_t i, j;

už (j = 0; j <256; j ++) {už (i = 0; i

// Šiek tiek skiriasi, todėl vaivorykštė pasiskirsto tolygiai

void rainbowCycle (uint8_t palaukti) {uint16_t i, j;

(j = 0; j <256*5; j ++) {// 5 visų rato spalvų ciklai (i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, ratas (((i * 256 / halo.numPikseliai ()) + j) ir 255)); } halo.show (); atidėti (laukti); }}

// Įveskite reikšmę nuo 0 iki 255, kad gautumėte spalvos vertę.

// Spalvos yra perėjimas r - g - b - atgal į r. uint32_t Ratas (baitas WheelPos) {WheelPos = 255 - WheelPos; if (WheelPos <85) {return halo. Color (255 - WheelPos * 3, 0, WheelPos * 3); } if (WheelPos <170) {WheelPos -= 85; grįžti halo. Color (0, WheelPos * 3, 255 - WheelPos * 3); } „WheelPos“-= 170; grįžti aureolė. Spalva („WheelPos“* 3, 255 - „WheelPos“* 3, 0); }

void setup () {

// Tai skirta „Trinket 5V 16MHz“, galite pašalinti šias tris eilutes, jei nenaudojate „Trinket #if“(_AVR_ATtiny85_), jei (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // Paminklo specialaus kodo pabaiga pinMode (POT, INPUT); pinMode (BUTTON1, INPUT_PULLUP); pinMode (BUTTON2, INPUT_PULLUP); pinMode (PIN, OUTPUT); Serial.begin (9600); // derinimo medžiaga halo.begin (); halo.show (); // Inicijuoti visus taškus į „išjungta“}

void loop () {

debounce ();

// Serijinis.println (režimas); // daugiau derinimo //Serial.println(lastButtonState1); //Serial.println(lastButtonState2);

jei (režimas == 0) {

getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (brightVal, brightVal, brightVal)); // nustatyti visus pikselius į baltą} halo.show (); }; jei (režimas == 1) {getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (brightVal, 0, 0)); // nustatyti visus pikselius į raudoną} halo.show (); }; jei (režimas == 2) {getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (0, brightVal, 0)); // nustatyti visus pikselius į žalią} halo.show (); }; jei (režimas == 3) {getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (0, 0, brightVal)); // nustatyti visus pikselius į mėlyną} halo.show (); }; jei (režimas == 4) {getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (0, brightVal, brightVal)); // nustatyti visus pikselius į žydrą} halo.show (); }; jei (režimas == 5) {getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (brightVal, 0, brightVal)); // nustatyti visus pikselius į violetinę/rausvai raudoną} halo.show (); }; jei (režimas == 6) {getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (brightVal, brightVal, 0)); // nustatyti visus pikselius į oranžinę/geltoną} halo.show (); }; if (mode == 7) {// dabar dinaminiai režimai getBright (); colorWipe (halo. Color (brightVal, 0, 0), 50); // Raudona}; jei (režimas == 8) {getBright (); colorWipe (halo. Color (0, brightVal, 0), 50); // Žalias }; jei (režimas == 9) {getBright (); colorWipe (halo. Color (0, 0, brightVal), 50); // Mėlyna}; if (režimas == 10) {getBright (); colorWipe (halo. Color (brightVal, brightVal, brightVal), 50); // balta}; jei (režimas == 11) {getBright (); colorWipe (halo. Color (brightVal, brightVal, 0), 50); // oranžinė/geltona}; jei (režimas == 12) {getBright (); colorWipe (halo. Color (0, brightVal, brightVal), 50); // žalsvai mėlyna}; jei (režimas == 13) {getBright (); colorWipe (halo. Color (brightVal, 0, brightVal), 50); // violetinė/rausvai raudona}; if (režimas == 14) {// paskutiniai du yra greičio valdymas, nes ryškumas yra dinamiškas getBright (); vaivorykštė (brightVal); }; jei (režimas == 15) {getBright (); vaivorykštinis ciklas (brightVal); }; vėlavimas (10); // leiskite procesoriui šiek tiek pailsėti}

9 žingsnis: Didysis finalas

Didysis finalas
Didysis finalas

Ir dabar mes turime fantastišką, labai ryškią lemputę!

Čia galite jį keisti toliau arba palikti taip, kaip yra. Galite pakeisti kodą arba net visiškai parašyti naują. Galite padidinti bazę ir pridėti baterijų. Galite pridėti ventiliatorių. Galite pridėti daugiau „NeoPixels“. Viską, ką galėtumėte padaryti, sąrašas yra beveik begalinis. Sakau „beveik“, nes esu įsitikinęs, kad vis dar neturime technikos, kaip tai paversti mini portalo generatoriumi (deja), tačiau, be tokių dalykų, vienintelė riba yra jūsų vaizduotė (ir tam tikru mastu, kaip neseniai radau, jūsų dirbtuvių įrankiai). Bet jei neturite įrankių, neleiskite, kad tai jus sustabdytų, jei tikrai norite ką nors padaryti, visada yra kelias.

Tai yra šio projekto esmė - įrodyti sau (ir mažesniu mastu - pasauliui), kad galiu padaryti naudingų dalykų, kurių kiti žmonės taip pat norėtų, net jei viskas, ką turiu, yra tikra šiukšlių krūva senų ir atmestų komponentai ir „Arduino“reikmenų dėžė.

Aš čia išeisiu, nes manau, kad tai pasirodė gana gerai. Jei turite pasiūlymų tobulinti arba turite klausimų apie mano metodus, palikite komentarą žemiau. Jei tai padarėte, nufotografuokite, mes visi norime tai pamatyti!

Nepamirškite balsuoti, jei jums tai patinka!

Kaip visada, tai yra „Dangerously Explosive“projektai, jo visą gyvenimą trunkanti misija „Drąsiai statyti tai, ką nori statyti, ir dar daugiau!“.

Likusius mano projektus galite rasti čia.

Ačiū, kad skaitote, ir sėkmingo kūrimo!

Rekomenduojamas: