Talaan ng mga Nilalaman:

NeoPixel Clock: 10 Hakbang (na may Mga Larawan)
NeoPixel Clock: 10 Hakbang (na may Mga Larawan)

Video: NeoPixel Clock: 10 Hakbang (na may Mga Larawan)

Video: NeoPixel Clock: 10 Hakbang (na may Mga Larawan)
Video: How to Make Analog Clock using WS2811 LED 2024, Nobyembre
Anonim
Image
Image
Kinakailangan ang Mga Elektronikong Bahagi
Kinakailangan ang Mga Elektronikong Bahagi

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

ITO AY ISANG ENTRY SA MICRO CONTROLLER CONTEST, MAGBOTONG PARA SA AKIN

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

Nagtayo ako ng isang NeoPixel infinity mirror ilang taon na ang nakalilipas habang ako ay nasa Thailand at makikita DITO.

Ginawa ko ito sa mahirap na paraan hindi gumagamit ng isang Arduino ngunit isang stand alone micro processor, isang PIC18F2550. Kasama dito ang paghuhukay sa mga rehistro at oras ng Micro upang isulat ang code, na ang ilan ay naglalaman ng pagpupulong.

Ito ang lahat ng mahusay na kaalaman na mayroon at hinawakan ako sa mabuting kalagayan dahil ginagampanan nito ang pakikipagtulungan sa mga bata ng Arduino. Karamihan sa trabaho ay nagawa sa pamamagitan ng paggamit ng mga third party na aklatan samantalang bago ako nagsulat ng aking sariling code ng library.

Ang orasan na ito ay dinisenyo upang magpalabas ng ilaw mula sa paligid sa pader na nakakabit nito sa paggamit ng WS2812B na isa-isang address na RGB LED na may puwang sa 144 bawat metro. Binigyan ako nito ng isang diameter ng orasan na 200mm, isang bagay na maaari kong gawin sa aking 3D printer.

Ito ay may nakamamanghang epekto, lalo na sa gabi o sa isang madilim na silid, ang ilaw ay sumisikat ng halos 500mm na nagbibigay ng isang kabuuang pagsabog-ngilaw ng higit sa isang metro diameter. Kamangha-mangha ang mga pattern.

Ang orasan ay nagpapakita ng oras (asul), minuto (berde), at segundo (pula). Ipinakita rin ang petsa sa isang 8 digit na 7 segment na display at ang araw ng linggo sa isang form form.

Ang orasan ay kinokontrol ng smartphone sa paglipas ng WiFi gamit ang Blynk app at isang lokal na Blynk server na tumatakbo sa isang RPi 3.

Ang paggamit ng isang lokal na server para sa Blynk ay opsyonal at ang pagse-set up nito ay hindi bahagi ng itinuturo na ito. Ang web host na Blynk ay maaaring magamit pagkatapos lumikha ng isang account sa www.blynk.cc at i-download ang app.

Mayroong maraming impormasyon tungkol sa paggamit ng Blynk sa kanilang website, kaya't hindi ito bahagi ng itinuturo na ito.

Sa isang susunod na hakbang sa pagtuturo na ito mayroong isang QR code upang i-scan, magkakaroon ka ng aking app sa iyong telepono.

Ang app ay may mga kontrol para sa pagpapakita ng orasan o mga pattern (na may LCD feedback sa app), ang kakayahang itakda ang iyong time zone nasaan ka man sa mundo at makuha ang oras sa pamamagitan ng isang NTP server. Maaari rin itong itakda sa pagtulog.

Mayroong isang Real Time Clock module na may backup ng baterya na nagbibigay ng mga pagpapaandar ng oras / petsa sa Arduino.

Ang firmware sa NodeMCU-E12 sa orasan ay maaaring ma-update sa hangin (OTA).

Hinahayaan na ngayong magsimula ……

Hakbang 1: Kinakailangan ang Mga Tool

Ang isang mahusay na panghinang at panghinang

mga striper ng kawad

maliit na pamutol ng wire

maliit na maliliit na plang nosed

maliit na lagari para sa pagputol ng vero board

matalim na libangan ng libangan

gunting

pandikit ng papel

Hakbang 2: Kinakailangan ang Mga Bahaging Elektronik

Kinakailangan ang Mga Elektronikong Bahagi
Kinakailangan ang Mga Elektronikong Bahagi
Kinakailangan ang Mga Elektronikong Bahagi
Kinakailangan ang Mga Elektronikong Bahagi

1 x module ng NodeMCE-12E mula DITO

1 x RTC module ng orasan DITO

1 x 8 digit na 7 segment na Max7219 module dito

1 x DC power jack dito

2 x level shifters (kinakailangan bilang Arduino ay 3.3v at ang RTC & 7 segment display ay 5v) dito

68 LEDs ng isang WS2812B 114 / mtr LED strip dito.

Ang DC 5v 10A power supply dito.

10kOhm 1 / 4W lumalaban.

Tulad ng kinakailangang hook-up wire.

Tinatayang 77mm x 56mm Vero board upang tipunin ang lahat ng mga module at mag-wire up.

Gumamit talaga ako ng shifter sa antas ng Adafruit para sa mga linya ng RTC module I2c na dapat itong ligtas na I2c !!

Gayunpaman sa palagay ko ang karamihan sa 3.3v hanggang 5v bi-directional na antas ng mga shifters ng lohika ay dapat na gumana.

Ang pagputol ng LED strip ay nasayang ang isang LED dahil ang mga pad para sa paghihinang sa parehong mga dulo ng 60 LED strip ay kinakailangan at ang mga pad ay kinakailangan sa 7 LED strip.

Hakbang 3: Mga Naka-print na Bahagi

Mga Naka-print na Bahagi
Mga Naka-print na Bahagi
Mga Naka-print na Bahagi
Mga Naka-print na Bahagi
Mga Naka-print na Bahagi
Mga Naka-print na Bahagi

Mayroong tatlong mga naka-print na bahagi ng 3D; ang pangunahing katawan ng orasan, ang takip sa harap at ang takip ng baterya sa likuran.

Maaaring alisin ang takip ng baterya.

Mayroon ding naka-print na 'Mask' sa ilalim ng harap na takip na may mga araw ng linggo dito. Nai-print ko ito sa ordinaryong papel. Nag-supply ako ng isang.dwg at isang.dxf file na ito.

Mayroong 2 mga takip sa harap na magagamit, ang isa ay walang pangalan dito, kung sakali hindi mo mai-edit ang bahagi.

Ang aking 3D printer (0.4mm nozzle) ay may mga sumusunod na setting sa Slic3r:

unang layer taas = 0.2mm

taas ng mga layer = 0.2mm

bed temp = 60 C

nozzle temp = 210 C

patayong perimeter = 2

pahalang na mga shell = 3

infill = mga bituin na rectilinear sa 45 deg

walang labi

walang materyal na suporta

Mahigpit na inirerekomenda na mayroon kang paraan ng pag-level ng kama

Mga naka-print na 3D file at pagguhit ng mask dito:

Hakbang 4: Kumpletuhin ang File ng Assembly

Nasa ibaba ang isang file na IGS ng kumpletong pagpupulong para sa sinumang nagnanais na baguhin ang orasan.

Hakbang 5: Pag-install ng Mga Aklatan

I-INSTALL ang mga BOARDS ng ESP

Kakailanganin mo ang Arduino IDE. Ang pag-install nito ay hindi bahagi ng pagtuturo na ito ngunit maaaring ma-download mula DITO.

Kapag na-install na ang Arduino IDE, kung hindi pa nagagawa, kakailanganin mong kopyahin / i-paste ang teksto sa ibaba sa kahon ng teksto sa ilalim ng File> Mga Kagustuhan - Mga Karagdagang URL ng Mga Boards Manager:

arduino.esp8266.com/stable/package_esp8266com_index.json

I-restart ang IDE.

Pagkatapos mong magawa ito pumunta sa Tools> Board> Boards Manager. Hayaan itong matapos ang pag-update at dapat mong makita ang bersyon ng komunidad ng ESP8266 sa listahan ng mga naka-install na board.

INSTALL LIBRARIES

Ang pag-install ng lahat ng Mga Aklatan sa iyong folder ng Mga Dokumento / Arduino / Mga Aklatan tulad ng dati bukod sa mga na-install ng board manager.

Pagkatapos mag-install ng mga aklatan, i-restart ang Arduino IDE, pumunta sa Sketch> Isama ang Library> Pamahalaan ang Mga Aklatan, hayaan itong matapos na mag-update, dapat mong makita ang iyong mga bagong aklatan sa listahan.

RTClib - magagamit ditoAdafruit_NeoPixel - magagamit dito

HCMAX7219 mula dito

Blynk - magagamit dito. sundin nang mabuti ang mga tagubilin sa pag-install.

Ang lahat ng iba pang mga 'kasama' sa NeoPixelClock file ay alinman sa naka-install ng Board Manager o nakabalot sa pag-install ng Arduino IDE.

Hakbang 6: Pag-install ng Firmware

Sa yugtong ito isang magandang ideya na i-wire ang lahat sa isang board ng tinapay para sa mga layunin sa pagsubok.

Maingat na suriin ang lahat ng mga kable bago kumonekta sa 5v power supply at / o sa USB cable.

Mag-navigate sa iyong Mga Dokumentong folder ng Sketch> Arduino.

Lumikha ng isang folder na "NeopixelClock".

ilagay ang nasa ibaba.ino file sa folder.

Buksan ang Arduino IDE.

Itakda ang IDE upang ipakita ang mga numero ng linya, pumunta sa File> Mga Kagustuhan at lagyan ng tsek ang kahon na "Mga Numero ng Linya ng Display", i-click ang OK.

Ikonekta ang iyong board ng NodeMCU sa isang USB port.

Pumunta sa Tools> Board at piliin ang NodeMCU 1.0 (ESP-12E Module)

Pumunta sa Mga Tool> Port at piliin ang port na konektado sa iyong board.

I-INSTALL OTA FIRMWARE

Upang magamit ang pag-update ng OTA kailangan mo munang magsunog ng isang espesyal na piraso ng firmware papunta sa NodeMCU.

pumunta File> Mga Halimbawa> ArduinoOTA> BasicOTA.

ang isang programa ay mai-load sa IDE, punan ang bahagi para sa ssid sa iyong mga router na SSID. Maaari mong makita ang pangalang ito kung i-hover mo ang iyong mouse sa icon ng WiFi sa system tray.

Punan ang password ng iyong password sa network (karaniwang nakasulat sa ilalim ng wireless router.

Mag-upload ngayon sa iyong board ng NodeMCU sa pamamagitan ng USB.

Kapag nakumpleto, pindutin ang pindutan ng pag-reset sa board ng NodeMCU.

I-INSTALL ANG NEOPIXELCLOCK FIRMWARE

Pumunta sa File> Sketchbook> NeoPixelClock at buksan ang NeoPixelClock file.

Punan ang iyong 'auth', 'ssid' at 'pass' dapat nasa linya 114.

Tandaan; kung paano makuha ang token ng awtoridad ay ipinaliwanag sa susunod na hakbang

Maaari mo ring itakda ang iyong lokal na Oras ng Oras sa linya 121, maaari itong maging anumang 1/4 na oras sa pagitan ng -12 at +14 ayon sa mga time zone sa buong mundo. Maaari din itong itakda sa app kung nais mo. Kasalukuyang nakatakda ito para sa Queensland, Australia.

Sa linya numero 332 dapat mong itakda ang IP address para sa iyong lokal na server kung ginagamit mo ito.

Isang tala sa lokal na port ng server. Dahil sa isang kamakailang pag-update sa Blynk software ang port ngayon ay 8080 hindi 8442.

Kung gumagamit ka ng bagong nai-update na software baguhin ito.

O kung gumagamit ng web server ng Blynk, linya ng puna 332 at linya ng hindi pagkakasundo 333.

Iyon lang ang pag-edit na kailangang gawin.

I-upload ito ngayon sa iyong board ng NodeMCU sa pamamagitan ng USB.

Kapag matagumpay itong na-upload, idiskonekta ang USB cable mula sa board.

Makikita mo sa ilalim ng Mga Tool> Port ng isang bagong port (parang isang IP address), piliin ito bilang iyong port upang makipag-usap sa NodeMCU para sa mga pag-update sa hinaharap na maaari mong gawin.

Kung naging maayos ang lahat dapat magsimula ang orasan, kung hindi pindutin ang pindutang 'reset' sa module ng NodeMCU.

Tandaan: Napansin ko na kung minsan hindi ito nagsisimula sa unang pagkakataon, nahanap ko ang pag-unplug ng supply ng kuryente at muling pagkonekta ng mga gawa ng madalas. Nagtatrabaho ako sa isang solusyon para sa kabiguang ito na mag-boot nang maayos.

Hakbang 7: Smartphone App

Smartphone App
Smartphone App
Smartphone App
Smartphone App

Upang simulang gamitin ito:

1. I-download ang Blynk App: https://j.mp/blynk_Android o https://j.mp/blynk_iOS kung hindi pa naka-install.

2. buksan ang app o mag-sign in, kung bago kakailanganin mong gumawa ng isang account.

TANDAAN, hindi ito pareho sa online account.

3. Pindutin ang QR icon sa app sa itaas at ituro ang camera sa QR code sa itaas, o buksan ang link sa ibaba -

tinyurl.com/yaqv2czw

4. isang code ng awtoridad ay dapat ipadala sa iyong hinirang na email, na dapat mong ilagay sa Arduino code kung saan nakasaad sa isang susunod na hakbang. Kung pinindot mo ang nut icon magagawa mong mag-email muli kung kinakailangan.

Tulad ng nabanggit bago ka dapat lumikha ng isang account sa online sa www. Blynk.cc. bago gawin ito

Patawarin ako para sa pagiging malabo, hindi ko ito masubukan dahil mayroon na akong app at hindi ko ginagamit ang web server.

Hakbang 8: Pagbuo ng Vero Board Assembly

Pagbuo ng Vero Board Assembly
Pagbuo ng Vero Board Assembly
Pagbuo ng Vero Board Assembly
Pagbuo ng Vero Board Assembly
Pagbuo ng Vero Board Assembly
Pagbuo ng Vero Board Assembly

Nagpasiya akong ilagay ang lahat ng mga board at module sa isang piraso ng vero board.

Pinapanatili nitong maayos at malinis ang lahat.

Makikita ang eskematiko sa.pdf file sa ibaba.

Ang mga header sa board ay tinanggal pagkatapos ng pagsubok, na-wire ko ang lahat ng mga peripheral nang direkta sa vero board dahil walang sapat na silid para sa mga header at nauugnay na konektor.

Paumanhin hindi ako kumuha ng anumang mga larawan ng ilalim ng board, ngunit hindi dapat maging mahirap malaman ito. Maaari mo ring pagbutihin ang aking layout. Panatilihin ang Vero board sa parehong laki kung hindi man ay hindi ito magkakasya sa 3D na naka-print na base.

Sa mga shifters sa antas ng lohika ang LV (+ 3.3v) ay papunta sa 3.3v sa alinman sa mga 3v na pin sa Arduino module, ang HV (+ 5v) ay papunta sa VIN pin sa Arduino board.

Lahat ng Mga Lupa ay nagmula sa anumang / lahat ng mga pin ng Arduino GND at dapat na maiugnay ang lahat upang maiwasan ang mga loop.

Wire up gamit ang isang bagay tulad ng 26 gauge insulated solong core wire, ang pagkakabukod ng PTFE ay magiging mabuti dahil hindi ito natutunaw.

Maingat na suriin ang lahat ng iyong mga kable 2 o 3 beses.

Lagyan ito ng isang multi-meter na nakatakda sa pagpapatuloy na suriin, suriin ang lahat ng mga Gnd ay nakakonekta pabalik sa VIN GND.

Suriin ang lahat ng mga koneksyon na + 5v sa module ng RTC, ang dalawang antas ng mga shifter module na mga pin ng HV at ang VIN + 5v pin sa module na NodeMCU.

Magandang ideya na suriin din ang lahat ng iba pang mga kable.

Hakbang 9: Assembly ng Clock

Clock Assembly
Clock Assembly
Clock Assembly
Clock Assembly
Clock Assembly
Clock Assembly

Kapag na-print mo na ang mga bahagi malinis ang anumang kumikislap at mga bugal at paga na may isang matalim na kutsilyo sa libangan.

Dahil mayroon lamang akong asul at itim na filament ay pininturahan ko ang loob ng mga LED cavity na may pinturang modelo ng pilak.

Sa palagay ko ay dapat itong makatulong na mas mahusay na maipakita ang ilaw at makakatulong din na maiwasan ang pagdurugo ng ilaw sa mga pader sa mga katabing lukab.

Kailangang i-wire ang pagpupulong ng vero board:

sa LED strip + 5v, Gnd at DIN mula sa pagpupulong ng vero board.

sa 7 segment na pagpapakita mula sa pagpupulong ng vero board.

sa DC jack mula sa pagpupulong ng vero board.

Ang isang wire sa hiwalay na 7 way LED strip (DIN) mula sa dulo (numero 60) ng pangunahing 60 way LED strip (DOUT).

In-solder ko lang ang data out (DOUT) mula sa dulo (LED number 60) ng 60 way LED strip, ang + 5v at Gnd para sa 7 way LED strip na nai-wire ko mula sa vero board Assembly.

upang maiwasan ang mga maiikling shorts, naglagay ako ng isang maliit na piraso ng manipis na kard sa pagitan ng simula at pagtatapos ng 60 way LED strip dahil napakalapit nila.

Sukatin at gupitin ang lahat ng mga wire sa naaangkop na haba, nagdagdag ako ng 5 o 6mm upang magbigay ng isang maliit na kalye.

Hindi ko tinanggal ang sticky tape backing paper mula sa LED strips, ito ay pinahirapan na ilagay sa base at napakahirap alisin kung kinakailangan.

Natagpuan ko ang mga piraso na umaangkop sa maganda at masikip, itulak hanggang sa ilalim ng lukab.

Ilagay ang pagpupulong ng Vero board sa lukab, may mga stand-off upang mapigil ito sa ilalim ng 2mm.

Ilagay ang pagpapakita ng 8 way 7 na segment sa lukab mayroong mga stand-off na post para sa pag-mount nito.

Ang DC jack ay umaangkop sa cavity snug, solder ang mga wire dito sa loob ng mga tag. Alisin ang tag sa gilid kung nais mo.

Ang lahat ng mga wire ay dapat na maayos na inilagay sa mga ibinigay na lukab.

Panghuli ipasa ang power jack mula sa power supply sa pamamagitan ng butas at madali ito sa jack ng DC, itulak ang cable sa uka na ibinigay sa ilalim.

Maingat na suriin ang lahat ng iyong mga kable 2 o 3 beses. Tingnan ang diagram ng mga kable sa ibaba.

Hakbang 10: Pagkakabit sa Front Cover upang Tapusin

Ang base block ay may maraming maliliit na pegs na nakausli sa panlabas na singsing, dapat itong ihanay sa mga butas sa harap na takip.

Ang maskara ng papel ay dapat na naka-print sa itim, gupitin at nakadikit sa takip sa harap na may isang bagay tulad ng isang pandikit na stick.

Ang mga butas ay susuntok sa papel kapag ito ay, na may takip sa harap, na pinindot sa base.

Nakahanda na kaming lahat upang i-plug, i-plug in ito, ang relo ay dapat na awtomatikong magsimula, kung hindi, tulad ng nalaman ko nang maraming beses, tanggalin ang kuryente at muling i-plug in.

Kung wala kang baterya sa module ng RTC kakailanganin mong itakda ang oras at petsa.

Gawin ito sa app, itakda ang time zone gamit ang pataas / down na kontrol pagkatapos ay pindutin ang pindutang 'SET NTP TIME'.

Makikita mo sa terminal ng app kung magtagumpay ito o hindi, kung hindi subukang muli.

Kapag Tapos nang ipakita ang pindutan ng Orasan ay maaaring mapindot at ang orasan ay dapat tumakbo at ipakita ang oras, petsa at araw sa isang linggo.

Ang mga pattern ay maaaring patakbuhin sa pamamagitan ng pagpindot sa pindutan ng Mga pattern, maaari itong magambala sa anumang oras sa pamamagitan ng pagpindot sa pindutan ng Orasan o pindutan muli ng Mga pattern.

Ang ningning ng mga LED na orasan at ang pagpapakita ng 7 segment ay maaaring iakma para sa liwanag sa mga nauugnay na slider.

Ang lahat ng mga LED ay maaaring naka-on sa pamamagitan ng pagpindot sa pindutan ng Oras na Napatay.

Isabit ito sa dingding at ang ilaw ay magpapasikat sa labas sa pader, partikular na maganda sa isang madilim na silid.

Anumang mga katanungan ay magiging kasiyahan ko lamang na subukan at sagutin.

MAG-ENJOY at huwag kalimutang iboto para sa akin.

***** ***** ***** ITO AY ISANG ENTRY SA MICRO CONTROLLER CONTEST, PLEASE VOTE PARA SA AKIN ***** ***** ***** ***** *****

Inirerekumendang: