Turinys:

„NeoPixel“laikrodis: 10 žingsnių (su nuotraukomis)
„NeoPixel“laikrodis: 10 žingsnių (su nuotraukomis)

Video: „NeoPixel“laikrodis: 10 žingsnių (su nuotraukomis)

Video: „NeoPixel“laikrodis: 10 žingsnių (su nuotraukomis)
Video: Neopixel clock 2024, Liepa
Anonim
Image
Image
Būtinos elektroninės dalys
Būtinos elektroninės dalys

*********************************************************************************************************

Tai yra dalyvavimas MICRO valdiklio konkurse, BALSUOKITE UŽ mane

********************************************************************************************************

Prieš keletą metų, būdamas Tailande, pastačiau „NeoPixel“begalybės veidrodį ir jį galima pamatyti ČIA.

Aš tai padariau sunkiai, nenaudodamas „Arduino“, bet atskirą mikroprocesorių, PIC18F2550. Tam reikėjo įsigilinti į „Micro“registrus ir laiką, kad būtų parašytas kodas, kai kuriuose iš jų buvo surinkimas.

Tai visos puikios žinios, kurios mane palaikė, nes tai leidžia dirbti su „Arduino“vaikų žaidimais. Dauguma darbų buvo atlikti naudojant trečiųjų šalių bibliotekas, tuo tarpu prieš rašant savo bibliotekos kodą.

Šis laikrodis buvo sukurtas taip, kad skleistų šviesą iš periferijos į sieną, prie kurios jis pritvirtintas, naudojant WS2812B individualiai adresuojamus RGB šviesos diodus, išdėstytus 144 metrais. Tai davė man 200 mm laikrodžio skersmenį, ką galėjau padaryti pats savo 3D spausdintuvu.

Jis turi stulbinantį efektą, ypač naktį ar patamsėjusioje patalpoje, šviesa sklinda apie 500 mm, o tai sukuria daugiau nei metro skersmens akinius. Modeliai nuostabūs.

Laikrodis rodo valandas (mėlyna), minutes (žalia) ir sekundes (raudona). Taip pat rodoma data 8 skaitmenų 7 segmentų ekrane ir savaitės diena sąrašo formoje.

Laikrodis valdomas išmaniuoju telefonu per „WiFi“, naudojant „Blynk“programą ir vietinį „Blynk“serverį, veikiantį RPi 3.

Vietinio serverio naudojimas „Blynk“yra neprivalomas, o jo nustatymas nėra šios instrukcijos dalis. Žiniatinklyje priglobtas „Blynk“gali būti naudojamas sukūrus paskyrą www.blynk.cc ir atsisiuntus programą.

Jų svetainėje yra daug informacijos apie „Blynk“naudojimą, todėl tai nėra šios instrukcijos dalis.

Vėlesniame šios instrukcijos etape yra nuskaitytas QR kodas, tada turėsite mano programą savo telefone.

Programoje yra valdikliai, rodantys laikrodį ar modelius (su LCD atsiliepimais apie programą), galimybė nustatyti savo laiko juostą bet kurioje pasaulio vietoje ir gauti laiką per NTP serverį. Jis taip pat gali būti nustatytas miegoti.

Yra „Real Time Clock“modulis su atsargine baterija, suteikiančia „Arduino“laiko/datos funkcijas.

Laikrodžio „NodeMCU-E12“programinę-aparatinę įrangą galima atnaujinti belaidžiu būdu (OTA).

Dabar pradėkime ……

1 veiksmas: reikalingi įrankiai

Geras lituoklis ir lydmetalis

vielos nuėmikliai

maži vielos pjaustytuvai

mažos replės ilgomis nosimis

mažas pjūklas vero plokštei pjaustyti

aštrus pomėgių peilis

žirklės

popieriaus klijai

2 veiksmas: reikalingos elektroninės dalys

Reikalingos elektroninės dalys
Reikalingos elektroninės dalys
Reikalingos elektroninės dalys
Reikalingos elektroninės dalys

1 x „NodeMCE-12E“modulis iš ČIA

1 x RTC laikrodžio modulis ČIA

1 x 8 skaitmenų 7 segmentų „Max7219“modulis čia

Čia yra 1 x nuolatinės srovės maitinimo lizdas

2 x lygio perjungikliai (reikalingi, nes „Arduino“yra 3,3 V, o RTC ir 7 segmentų ekranas - 5 V) čia

Čia yra 68 WS2812B 114/mtr LED juostos šviesos diodai.

Čia yra DC 5v 10A maitinimo šaltinis.

10 kOhm 1/4 W rezistorius.

Prireikus prijungimo viela.

Maždaug 77 mm x 56 mm „Vero“plokštė, skirta surinkti visus modulius ir prijungti.

Aš iš tikrųjų naudojau „Adafruit“lygio perjungiklį RTC modulio I2c linijoms, nes jis turėjo būti saugus I2c !!

Tačiau manau, kad dauguma 3.3v-5v dviejų krypčių logikos lygio perjungiklių turėtų veikti.

Pjaudami šviesos diodų juostą, iššvaistėte šviesos diodą, nes buvo reikalingi kilimėliai, skirti lituoti abu 60 LED juostos galus, o pagalvėlės - ant 7 LED juostos.

3 žingsnis: spausdintos dalys

Spausdintos dalys
Spausdintos dalys
Spausdintos dalys
Spausdintos dalys
Spausdintos dalys
Spausdintos dalys

Yra trys 3D spausdintos dalys; pagrindinį laikrodžio korpusą, priekinį dangtelį ir galinėje pusėje esantį akumuliatoriaus dangtelį.

Akumuliatoriaus dangtelio galima praleisti.

Po priekiniu viršeliu taip pat yra atspausdinta „Kaukė“su savaitės dienomis. Aš tai atspausdinau ant paprasto popieriaus. Aš pateikiau.dwg ir.dxf failus.

Yra 2 priekiniai viršeliai, vienas neturi pavadinimo, tik tuo atveju, jei negalėsite redaguoti dalies.

Mano 3D spausdintuvas (0,4 mm antgalis) su Slic3r turėjo šiuos nustatymus:

pirmojo sluoksnio aukštis = 0,2 mm

sluoksnio aukštis = 0,2 mm

lovos temperatūra = 60 C.

purkštukų temperatūra = 210 C

vertikalus perimetras = 2

horizontalūs apvalkalai = 3

užpildymas = žvaigždės tiesios 45 laipsnių kampu

jokio krašto

nėra pagalbinės medžiagos

Primygtinai rekomenduojama naudoti lyginimo metodą

3D spausdinti failai ir kaukių piešimas čia:

4 žingsnis: užpildykite surinkimo failą

Žemiau yra viso surinkimo IGS failas visiems, norintiems pakeisti laikrodį.

5 veiksmas: bibliotekų diegimas

ĮRENGTI ESP LENTAS

Jums reikės „Arduino IDE“. Įdiegimas nėra šios instrukcijos dalis, tačiau ją galima atsisiųsti iš ČIA.

Įdiegę „Arduino IDE“, jei dar to nepadarėte, turėsite nukopijuoti/įklijuoti žemiau esantį tekstą į teksto laukelį, esantį skyriuje Failas> Nuostatos - Papildomų lentų tvarkyklės URL:

arduino.esp8266.com/stable/package_esp8266com_index.json

Iš naujo paleiskite IDE.

Kai tai padarysite, eikite į Įrankiai> Lenta> Lentų tvarkytuvė. Leiskite jam baigti atnaujinimą ir įdiegtų plokščių sąraše turėtumėte pamatyti ESP8266 bendruomenės versiją.

ĮRENGTI BIBLIOTEKAS

Visų bibliotekų diegimas aplanke „Dokumentai“/„Arduino“/„Bibliotekos“, kaip įprasta, išskyrus tas, kurias įdiegė lentos valdytojas.

Įdiegę bibliotekas, iš naujo paleiskite „Arduino IDE“, eikite į „Eskizas“> „Įtraukti biblioteką“> „Tvarkyti bibliotekas“, leiskite jam užbaigti atnaujinimą, sąraše turėtumėte pamatyti naujas bibliotekas.

RTClib - galima rasti čiaAdafruit_NeoPixel - galima rasti čia

HCMAX7219 iš čia

Blynk - galima rasti čia. atidžiai sekite montavimo instrukcijas.

Visi kiti „įtraukimai“„NeoPixelClock“faile yra įdiegti valdybos valdytojo arba supakuoti kartu su „Arduino IDE“diegimu.

6 žingsnis: Įdiekite programinę -aparatinę įrangą

Šiame etape gera idėja viską sujungti ant duonos lentos bandymų tikslais.

Prieš prijungdami 5 V maitinimo šaltinį ir (arba) USB kabelį, atidžiai patikrinkite visus laidus.

Eikite į savo eskizų aplanką Dokumentai> „Arduino“.

Sukurkite aplanką „NeopixelClock“.

įdėkite žemiau esantį.ino failą į aplanką.

Atidarykite „Arduino IDE“.

Nustatykite IDE, kad būtų rodomi eilučių numeriai, eikite į Failas> Nuostatos ir pažymėkite langelį „Rodyti eilučių numerius“, spustelėkite Gerai.

Prijunkite „NodeMCU“plokštę prie USB prievado.

Eikite į Įrankiai> Lenta ir pasirinkite „NodeMCU 1.0“(ESP-12E modulis)

Eikite į Įrankiai> Prievadas ir pasirinkite prievadą, prie kurio prijungta plokštė.

ĮRENGTI „OTA FIRMWARE“

Norėdami naudoti OTA atnaujinimą, pirmiausia turite įrašyti specialią programinės įrangos dalį į „NodeMCU“.

eikite į Failas> Pavyzdžiai> ArduinoOTA> BasicOTA.

programa bus įkelta į IDE, užpildykite ssid dalį su savo maršrutizatoriaus SSID. Šį pavadinimą galite pamatyti, jei užveskite pelės žymeklį virš „WiFi“piktogramos sistemos dėkle.

Užpildykite slaptažodį savo tinklo slaptažodžiu (paprastai parašytas belaidžio kelvedžio apačioje.

Dabar įkelkite į „NodeMCU“plokštę per USB.

Baigę paspauskite „NodeMCU“plokštės atstatymo mygtuką.

ĮRENGTI NEOPIXELCLOCK FIRMWARE

Eikite į Failas> Sketchbook> NeoPixelClock ir atidarykite NeoPixelClock failą.

Užpildykite „auth“, „ssid“ir „pass“114 eilutėje.

Pastaba; kaip gauti įgaliojimą, paaiškinta kitame žingsnyje

Taip pat galite nustatyti savo vietinę laiko juostą 121 eilutėje, tai gali būti bet kuri 1/4 valandos tarp -12 ir +14 pagal laiko juostas visame pasaulyje. Tai taip pat galima nustatyti programoje, jei norite. Šiuo metu jis skirtas Kvinslandui, Australijai.

332 eilutėje turite nustatyti vietinio serverio IP adresą, jei jį naudojate.

Pastaba apie vietinio serverio prievadą. Dėl neseniai atnaujinto „Blynk“programinės įrangos prievadas dabar yra 8080, o ne 8442.

Jei naudojate naują atnaujintą programinę įrangą, pakeiskite tai.

Arba jei naudojate „Blynk“žiniatinklio serverį, komentuokite 332 eilutę ir 333 eilutę.

Tai yra visas redagavimas, kurį reikia atlikti.

Dabar įkelkite tai į „NodeMCU“plokštę per USB.

Kai tai sėkmingai įkeliama, atjunkite USB kabelį nuo plokštės.

Pamatysite skiltyje Įrankiai> Prijunkite naują prievadą (atrodo kaip IP adresas), pasirinkite jį kaip savo prievadą, kad galėtumėte bendrauti su „NodeMCU“, kad galėtumėte ateityje atnaujinti.

Jei viskas gerai, laikrodis turėtų prasidėti, jei ne, paspauskite „NodeMCU“modulio mygtuką „Atstatyti“.

Pastaba: pastebėjau, kad kartais jis neprasideda pirmą kartą, dažniausiai atradau maitinimo laido atjungimą ir prijungimą. Aš dirbu, kaip išspręsti šią klaidą tinkamai paleisti.

7 žingsnis: „Smartphone“programa

Išmaniojo telefono programa
Išmaniojo telefono programa
Išmaniojo telefono programa
Išmaniojo telefono programa

Norėdami pradėti jį naudoti:

1. Atsisiųskite „Blynk“programą: https://j.mp/blynk_Android arba https://j.mp/blynk_iOS, jei dar neįdiegta.

2. atidarykite programą arba prisijunkite, jei nauja turėsite sukurti paskyrą.

PASTABA, tai nėra tas pats, kas internetinė sąskaita.

3. Programėlėje viršuje palieskite QR piktogramą ir nukreipkite fotoaparatą į aukščiau esantį QR kodą arba atidarykite žemiau esančią nuorodą -

tinyurl.com/yaqv2czw

4. jūsų nurodytu el. Pašto adresu turėtų būti išsiųstas įgaliojimo kodas, kurį turėtumėte įvesti į „Arduino“kodą, jei tai buvo nurodyta vėliau. Jei paspausite veržlės piktogramą, prireikus galėsite vėl siųsti el.

Kaip minėta anksčiau, turėtumėte sukurti paskyrą internete adresu www. Blynk.cc. prieš tai darydamas.

Atleiskite už neapibrėžtumą, negaliu to išbandyti, nes jau turiu programą ir nenaudoju žiniatinklio serverio.

8 žingsnis: sukurkite „Vero Board“surinkimą

„Vero Board“asamblėjos kūrimas
„Vero Board“asamblėjos kūrimas
„Vero Board“asamblėjos kūrimas
„Vero Board“asamblėjos kūrimas
„Vero Board“asamblėjos kūrimas
„Vero Board“asamblėjos kūrimas

Aš nusprendžiau visas plokštes ir modulius sudėti į vero plokštės gabalą.

Taip viskas bus tvarkinga ir tvarkinga.

Schemą galima pamatyti žemiau esančiame.pdf faile.

Po bandymo plokštės antraštės buvo pašalintos, visus išorinius įrenginius prijungiau tiesiai prie „vero“plokštės, nes antraštėms ir susijusioms jungtims nebuvo pakankamai vietos.

Atsiprašau, kad nefotografavau apatinės lentos pusės, tačiau tai neturėtų būti sunku išsiaiškinti. Jūs netgi galite patobulinti mano išdėstymą. Laikykite tokio paties dydžio „Vero“plokštę, kitaip ji netilps 3D spausdintam pagrindui.

Naudojant loginius lygio perjungiklius, LV (+3.3v) pereina prie 3.3v bet kuriame iš „Arduino“modulio 3v kaiščių, HV (+5v) eina į „Arduino“plokštės VIN kaištį.

Visi pagrindai yra iš bet kokių/visų „Arduino GND“kaiščių ir turi būti sujungti, kad būtų išvengta kilpų.

Sujunkite, naudodami kažką panašaus į 26 gabarito izoliuotą vienos gyslos laidą, PTFE izoliacija būtų gera, nes ji netirpsta.

Atidžiai patikrinkite visus laidus 2 ar 3 kartus.

Eikite per jį su kelių metrų tęstinumo tikrinimu, patikrinkite, ar visi Gnd yra prijungti prie VIN GND.

Patikrinkite visas +5v jungtis RTC modulyje, dviejų lygių perjungimo modulių HV kaiščius ir VIN +5v kaiščius NodeMCU modulyje.

Gera mintis patikrinti ir visus kitus laidus.

9 žingsnis: laikrodžio surinkimas

Laikrodžio surinkimas
Laikrodžio surinkimas
Laikrodžio surinkimas
Laikrodžio surinkimas
Laikrodžio surinkimas
Laikrodžio surinkimas

Atspausdinę dalis, aštriu pomėgiu peiliu nuvalykite visus mirksinčius ir gabalėlius.

Kadangi turėjau tik mėlyną ir juodą siūlą, LED ertmių vidų nudažiau sidabro spalvos dažais.

Manau, tai turėtų padėti geriau atspindėti šviesą, taip pat padėti išvengti šviesos kraujavimo per sienas į gretimas ertmes.

„Vero“plokštės mazgas turi būti prijungtas:

prie šviesos diodų juostos +5v, Gnd ir DIN iš vero plokštės mazgo.

į 7 segmentų ekraną nuo „vero“plokštės mazgo.

prie nuolatinės srovės lizdo iš vero plokštės mazgo.

Laidas prie atskiros 7 krypčių LED juostos (DIN) nuo pagrindinės 60 krypčių LED juostos (DOUT) galo (numeris 60).

Duomenis lituodavau (DOUT) tik iš 60 krypčių LED juostos galo (šviesos diodo numeris 60), +5v ir Gnd 7 krypčių šviesos diodų juostelės, prijungtos prie „vero“plokštės mazgo.

kad išvengtumėte šortų, tarp 60 krypčių šviesos diodų juostos pradžios ir pabaigos įdėjau nedidelį ploną atviruką, nes jie buvo labai arti.

Išmatuokite ir nukirpkite visus laidus iki reikiamo ilgio, aš pridėjau 5 arba 6 mm, kad suteikčiau šiek tiek laisvės.

Neišėmiau lipnaus juostelės pagrindo popieriaus iš šviesos diodų juostų, tai būtų apsunkinęs įdėjimą į pagrindą ir, jei reikia, labai sunku pašalinti.

Radau, kad juostelės gražiai priglunda, tada stumkite iki pat ertmės apačios.

Įdėkite „Vero“plokštės mazgą į ertmę, yra atramų, kad jis būtų 2 mm atstumu nuo apačios.

Įdėkite aštuonių krypčių 7 segmentų ekraną į ertmę, yra montavimo stovai.

Nuolatinės srovės lizdas tvirtai priglunda prie ertmės, prijunkite laidus prie etikečių vidinės pusės. Jei norite, nuimkite šoninę etiketę.

Visi laidai turi būti tvarkingai įkišti į numatytas ertmes.

Galiausiai perjunkite maitinimo lizdą iš maitinimo šaltinio per skylę ir įkiškite jį į nuolatinės srovės lizdą, įstumkite kabelį į apačioje esantį griovelį.

Atidžiai patikrinkite visus laidus 2 ar 3 kartus. Žiūrėkite laidų schemą žemiau.

10 veiksmas: uždėkite priekinį dangtį

Pagrindo bloke yra keli nedideli kaiščiai, išsikišę į išorinį žiedą, jie turi sutapti su skylėmis priekiniame dangtelyje.

Popierinė kaukė turi būti atspausdinta juodai, iškirpta ir priklijuota prie priekinio dangtelio, panašaus į klijų lazdelę.

Skylės bus pradurtos per popierių, kai jis su priekiniu dangteliu bus prispaustas prie pagrindo.

Mes visi pasiruošę eiti, prijunkite jį, laikrodis turėtų įsijungti automatiškai, jei ne, kaip aš sužinojau kelis kartus, atjunkite maitinimą ir vėl įjunkite.

Jei RTC modulyje nėra baterijos, turėsite nustatyti laiką ir datą.

Padarykite tai naudodami programą, nustatykite laiko juostą aukštyn/žemyn, tada paspauskite mygtuką „SET NTP TIME“.

Programų terminale pamatysite, ar tai pavyks, ar ne, jei ne, pabandykite dar kartą.

Kai rodoma DONE, laikrodžio mygtuką galima paspausti, laikrodis turi veikti ir rodyti laiką, datą ir savaitės dieną.

Šablonus galima paleisti paspaudus mygtuką Patterns, tai bet kada galima nutraukti paspaudus mygtuką Clock arba Patterns dar kartą.

Laikrodžio šviesos diodų ir 7 segmentų ekrano ryškumą galima reguliuoti naudojant atitinkamus slankiklius.

Visus šviesos diodus galima išjungti paspaudus laikrodžio išjungimo mygtuką.

Pakabinkite ant sienos ir šviesa šviečia į išorę ant sienos, ypač gražu tamsioje patalpoje.

Į visus klausimus mielai bandysiu atsakyti.

Džiaukitės ir nepamirškite balsuoti už mane.

************************************************* ************************************************* ***** Tai įėjimas į MICRO valdiklio konkursą, prašau balsuoti už mane ****************************** ************************************************* ***********************

Rekomenduojamas: