Talaan ng mga Nilalaman:

Rainbow Word Clock Na May Isang Buong Epekto ng Rainbow at Higit Pa: 13 Mga Hakbang (na may Mga Larawan)
Rainbow Word Clock Na May Isang Buong Epekto ng Rainbow at Higit Pa: 13 Mga Hakbang (na may Mga Larawan)

Video: Rainbow Word Clock Na May Isang Buong Epekto ng Rainbow at Higit Pa: 13 Mga Hakbang (na may Mga Larawan)

Video: Rainbow Word Clock Na May Isang Buong Epekto ng Rainbow at Higit Pa: 13 Mga Hakbang (na may Mga Larawan)
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, Hulyo
Anonim
Rainbow Word Clock Na May Isang Buong Epekto ng Rainbow at Higit Pa
Rainbow Word Clock Na May Isang Buong Epekto ng Rainbow at Higit Pa

Mga Layunin

1) Simple

2) Hindi mahal

3) Bilang mahusay na enerhiya hangga't maaari

Rainbow Word Clock na may isang buong epekto ng bahaghari.

Isang Ngiti sa Word Clock.

Simple IR remote control

I-update ang 03-nov-18 LDR para sa Brightness Control ng mga Neopixels

I-update ang 01-jan-19 Pagbabawas ng pagkonsumo ng kuryente sa WS2812B.

I-update ang 15-jan-19 Smiley.

I-update ang 23-jan-19 Code 1.6

I-update ang mga link ng 10-mar-19 Mga Aklatan

I-update ang 14-apr-19 bersyon 1.7 Pagpipilian ng nakangiti sa / off collor bahaghari / ayusin ang enz.

Huling pag-update ng 01-jun-19 bersyon 2.0 IR remote control at muling pagdisenyo ng code

Hakbang 1: Ang Kaso para sa Orasan

Ang Kaso para sa Orasan
Ang Kaso para sa Orasan
Ang Kaso para sa Orasan
Ang Kaso para sa Orasan
Ang Kaso para sa Orasan
Ang Kaso para sa Orasan

Sa ilang mga simpleng tool at kaunting kasanayan, hindi mahirap gumawa ng isang sulat na orasan Ginamit ko ang mga materyales na magagamit sa akin.

Para sa kaso Gumamit ako ng isang magaspang na pine bar kung saan nakita ko ang ilang mga frame. Gagawin nito ang apat na gilid ng kaso, na nakadikit at pinapalakas ng isang maliit na piraso ng kahoy sa mga sulok. Pagkatapos ang kahoy ay nangangailangan ng sanding at pagpipinta.

Ang mga titik ay pinuputol ng foil ng isang printer sa pagsulat ng salamin. Ang foil ay nasa likuran ng plate ng salamin at natatakpan ng isang dobleng layer na papel na pattern para sa mas mahusay na pamamahagi ng ilaw. Ang baso ay naayos ng silicone sealant.

Hakbang 2: Mga Neopixel

Mga Neopixel
Mga Neopixel
Mga Neopixel
Mga Neopixel
Mga Neopixel
Mga Neopixel
Mga Neopixel
Mga Neopixel

Ang mga Neopixels LEDs ay nakaayos sa isang kahoy na plato. Sa ganitong ka unang mag-drill ng 3 mm na mga butas. Sa harap sila ay pinalaki sa laki ng titik sa 3/4 lalim. Pagkatapos nito ang 3 mm sa likuran ay nadagdagan sa 10 mm, ito ang laki ng isang Neopixel. Para sa ilang mga character bukod sa iba pa ang W, ang butas ay dapat na ayusin nang bahagya.

Gumamit ako ng playwud na mabilis na kumalat, maaaring mas mahusay ang MDF.

Sa mga indibidwal na LED hindi ka nakagapos sa isang nakapirming distansya, na kung saan ay ang kaso sa LED strips. Ang mga LED ay dapat na konektado sa bawat isa. Magagawa mo ito sa lahat ng mga maikling piraso ng kawad. Ngunit ang dalawang mga min (-) na koneksyon ay katulad ng dalawang koneksyon na plus (+) na panloob na konektado, kaya't ang parehong koneksyon.

Maaari mong i-save ang iyong sarili ng maraming trabaho sa pamamagitan ng paghihinang ng isang piraso ng kawad sa kaliwang LED at pagkatapos ay sa kanang LED. Pagkatapos ay maghinang ang mga intermediate.

Ang koneksyon ng data ay dapat na syempre sa mga maikling piraso dahil ang data-out ay papunta sa data-in.

Hakbang 3: Pagsasaayos ng Front Text

Pag-aayos ng Tekstong Pangharap
Pag-aayos ng Tekstong Pangharap
Pag-aayos ng Tekstong Pangharap
Pag-aayos ng Tekstong Pangharap
Pag-aayos ng Tekstong Pangharap
Pag-aayos ng Tekstong Pangharap

Ang front plate ay nasa Dutch na ngayon, ngunit simpleng upang mai-convert sa anumang wika.

Ang mga NeoPixels leds ay inililipat sunod-sunod dito mula 0-167. Ang pagnunumero ay pupunta mula sa unang hilera sa kaliwang itaas sa kaliwa at pagkatapos sa pangalawang hilera pakanan-pakaliwa atbp at ang pag-aayos ay maaaring gawin ayon sa iyong sariling mga pangangailangan. Ang bilang ng mga NeoPixels ay natutukoy sa dami ng mga character. Mas kaunti o higit pang mga Neopixel ang maaaring ayusin sa sumusunod na linya

#define NUMPIXELS 168 // Ilan ang NeoPixels na nakakabit sa Arduino?

Ang 168 ay higit sa ibang numero. Nagsisimula ang pagnunumula sa 0. Maaari kang gumawa ng anumang teksto. Kung binago mo ang teksto magkakaroon ka rin upang ayusin ang mga kaukulang salita. Ang bilang ay nananatiling pareho.

Bilang isang halimbawa, ang DRIE ng mga minuto, ay natutukoy sa code

void zetmDrie () {

Led_Aan [56] = 1, Led_Aan [57] = 1, Led_Aan [58] = 1, Led_Aan [59] = 1; // min-drie

}

Kung nais mong gawin ang salitang Arduino pagkatapos ito ay ganito:

void zetArduino () {

Led_Aan [38] = 1, Led_Aan [50] = 1, Led_Aan [56] = 1, Led_Aan [93] = 1;

Led_Aan [120] = 1, Led_Aan [135] = 1, Led_Aan [147] = 1; // Word-arduino

}

Kaya maaari kang gumawa ng mga salita sa pagitan.

Para sa mga salitang orasan ay kapaki-pakinabang kung bumubuo sila ng isang magkadikit na salita ngunit hindi ito ganap na kinakailangan. Ang mga hindi nagamit na titik ay hindi nangangailangan ng Neonpixels. Napuno ko silang lahat para sa paggamit ng mga posibilidad sa hinaharap bukod sa ipinapakita ang oras.

Kung binago mo ang panimulang punto o binago ang pagkakasunud-sunod ng pagkakasunud-sunod ang bilang ay dapat na baguhin nang naaayon.

Hakbang 4: Buong Epekto ng Rainbow

Buong Epekto ng Rainbow
Buong Epekto ng Rainbow

Ang orasan ay naprogram na ngayon na may bilang ng beses bawat segundo ay binibilang kung gaano karaming mga neopixsel doon ang nakabukas.

Ang kabuuang spectrum ay tungkol sa bilang ng hinati at pagkatapos ay bahagyang lumipat. Bilang isang resulta, ang bawat Neopixel ng magkakaibang kulay na patuloy na nagbabago. Neopixel nr 1 at nr 167 sundin ang bawat isa sa ilang mga kasamang kulay.

Kung mas gusto mo ang hindi gaanong magkakaibang mga kulay nang sabay, madali itong ayusin. Ang kulay ay nagbabago pa rin sa buong spectrum ngunit may isang maliit na bahagi nito. Neopixel nr 1 at nr 167 hindi na sundin sa bawat isa ang ilang mga kasangkot na kulay.

Ang ilaw ay maaaring itakda sa sumusunod na linya, pix.setBightness (150);

Ang isang mas maliit na bilang ay mas kaunti at ang isang mas malaking bilang higit na ningning.

Hakbang 5: Ang Iba't ibang Mga Bahagi

Ang Iba't-ibang Mga Bahagi
Ang Iba't-ibang Mga Bahagi
Ang Iba't-ibang Mga Bahagi
Ang Iba't-ibang Mga Bahagi
Ang Iba't-ibang Mga Bahagi
Ang Iba't-ibang Mga Bahagi

Ang mga sumusunod na sangkap na ginamit ko

Arduino Pro Mini ATMEGA328 5V / 16MHz

Clock Module DS3231

168 piraso Neopixels led's WS2812 LED Chip & Heatsink 5V 5050 RGB WS2811 IC Built-in

Foil sulat ng stencil

Tatanggap ng DCF77

Hakbang 6: Code para sa Clock

Narito ang code. Nagdagdag ng isang kontrol sa ilaw at pag-off kapag walang tao at sa gabi.

Idinagdag RCWL-0516 Radar Micartz Motion Sensor (maghanap para sa RADAR)

Pagkatapos ng 10 minuto ng walang paggalaw, ang NeoPixels ay lumabas.

Tungkol sa bersyon 2.0

Ang paggamit ng memorya ay sobra, na nauubusan ng mga babala ng memorya sa tagatala. Iyon ang dahilan kung bakit ko ganap na binago ang code, ngunit ang operasyon ay nanatiling pareho at isang IR receiver ay naidagdag.

Mayroong isang piraso ng code upang maibigay ang EEPROM ng data. Patakbuhin ito nang isang beses sa pamamagitan ng pansamantalang pag-aalis ng / * at * /. Maghanap para sa => patakbuhin ito nang isang beses upang maibigay ang data sa EEPROM

Sa simula ng void loop ay code upang basahin ang code mula sa iyong sariling remote control. Maaari mong patakbuhin ito sa pamamagitan ng pansamantalang pag-alis ng / * at * /, huwag kalimutang ibalik ang mga ito pagkatapos. Maaari mo ring tukuyin ang iyong sariling mga pindutan. Ang code na nabasa ay dapat na ipasok sa => Tukuyin ang iyong sariling mga pindutan dito

Ang remote control ng Samsung ay gumagana nang mas mahusay kaysa sa (napaka-murang) simple.

Hakbang 7: Ang Paglalarawan ng Hardware

Ang Paglalarawan ng Hardware
Ang Paglalarawan ng Hardware
Ang Paglalarawan ng Hardware
Ang Paglalarawan ng Hardware
Ang Paglalarawan ng Hardware
Ang Paglalarawan ng Hardware

Mayroong iba't ibang mga bersyon ng Arduino Pro Mini. Mangyaring tandaan, maaaring magkakaiba ang mga koneksyon.

Nagdagdag ng isang RCWL-0516 Microwave Motion Sensor.

Hangga't may paggalaw sa paligid ng orasan, mananatili ang NeoPixel

at sa lalong madaling wala nang paggalaw ang NeoPixel ay umalis pagkatapos ng ilang minuto.

Sa bersyon 2.0 ang tagatanggap ng DCF77 ay ibinibigay na may kapangyarihan sa pamamagitan ng pin 13. Ang pin na ito ay tinukoy bilang output at itinakda nang mataas kapag ang gawain ng DCF77 ay hinarap. Ang tatanggap ng DCF77 ay gumagamit ng 0.28 mA at kinakailangan lamang ng ilang minuto bawat araw.

Ang pag-patay ay nakakatipid

5 Volts * 0.28 mA / 1000 * 24 na oras * 365 araw * 1 / 0.85 na mahuhusay na supply ng kuryente = 14.4 watts sa isang taon.

Ito ay tila hindi gaanong malaki, ngunit ang bawat tulong.

Hakbang 8: LDR para sa Control ng Liwanag ng mga Neopixels

LDR para sa Brightness Control ng mga Neopixels
LDR para sa Brightness Control ng mga Neopixels
LDR para sa Control ng Liwanag ng mga Neopixels
LDR para sa Control ng Liwanag ng mga Neopixels

Nagdagdag ng isang LDR para sa kontrol ng ilaw ng mga neopixel.

Naidikit ko ang LDR sa puwang ng neopixel 103. Ang isang ito ay hindi ginagamit sa pagpapakita ng oras at samakatuwid ay hindi naiimpluwensyahan ang regulasyon. Dampal ng papel ang ilaw ng insidente, ngunit wala iyon problema.

Ang divider ng boltahe ng LDR at 20 kohm resistor ay papunta sa A0 ng Arduino Pro Mini. Ang boltahe ay isang tagapagpahiwatig ng lakas ng ilaw at samakatuwid ay isang tagapagpahiwatig din ng dami ng ilaw na ibibigay ng mga neopixel.

Ang formula na ginagamit ko ay nagbibigay sa akin ng mahusay na kontrol sa ilaw, maaari itong maiakma depende sa mga pangyayari. Depende sa dami ng ilaw, ang boltahe ay maaaring mag-iba sa pagitan ng 0 at 5 volts na na-convert sa 0 hanggang 1024 na bilang na nasa "LDRValue".

Kung ang bagong sinusukat na halaga ay mas malaki kaysa sa huling nakalkulang halaga, ang tindi ay nadagdagan ng 1, kung ito ay mas mababa kaysa sa nabawasan ng 1 at kung ito ay pantay walang nagawa. Upang maisagawa ang halaga ng dahan-dahan, upang walang blinking na epekto, 1 lamang ang nadagdagan o nabawasan at dahil ang pagkalkula ay nasa loop ito ay muling kalkulahin pagkatapos na daanan ang loop ng 25 beses.

Ang tindi ay teoretikal na isang minimum na 20 at isang maximum na 1024/7 + 45 = 191. Ang maximum na halaga na sinusukat ko ay 902, na umaabot sa isang intensidad na 173. Tama ang sukat sa 150 na itinakda ko bilang default na halaga. (tingnan ang pixel.setBightness (150))

Sa bersyon 2.0 maaari mong itakda ang kontrol sa pamamagitan ng remote control. Ang mga sumusunod na parameter ay naidagdag: Brightness_min bilang minimum at Brightness_max bilang maximum setting at Brightness_Offset bilang setting parameter. Ang bright_min at _max ay ang mga halagang maaaring depende sa iyong sariling sitwasyon. Ang Brightness_Offset ay isang halaga na maaaring maitakda sa remote control at kung saan maaaring itakda ang higit pa o mas kaunting ningning.

Mayroon ding isang patay na banda ng 3 sa pagitan ng sinusukat na LDRValue at kinakalkula ang mga halagang BerLDRValue.

Gamitin ang mga pahayag sa pag-print sa walang bisa na BrightnessControl upang suriin ang setting ng ningning.

Hakbang 9: Pagbawas sa WS2812B Power Consump

Pagbawas sa WS2812B Pagkonsumo ng Lakas
Pagbawas sa WS2812B Pagkonsumo ng Lakas

Ang mga driver sa WS2812B na addressable neopixels ay kasalukuyang gumuhit kahit na naka-off ang mga neopixel, nakatakda sa kulay 0 (walang naiilaw na mga elemento ng neopixels).

Kapag ang lahat ng 169 neopixels ay nasa labas, sumusukat ako ng 69 mA sa mga neopixel. Ipagpalagay na ang orasan ay naka-off 12 oras sa isang araw, kabuuang pag-shutdown pagkatapos ay makatipid: 5 (Volt supply ng kuryente) * 69/1000 (Miliampere / 1000 = Ampere) * 12 (Bilang ng mga oras bawat araw) * 365 (Bilang ng mga araw sa a taon) = 1511 Watt oras. Kaya't sa taunang batayan na 1.5 Kwh. Sumasang-ayon ako, hindi ito marami sa sarili, ngunit maraming maliliit ang gumagawa ng malaki.

Ang circuit ay simple. Ang plus ng power supply ay pinalitan ng isang P-channel MosFet. Tinutukoy ng sensor ng radar kung ang mga neopixel ay naka-on o naka-off. Naglagay ako ng dalawang MosFet parrelel upang mapanatili ang paglaban ng ON nang mas mababa hangga't maaari dahil sa pagkawala ng MosFets. Sa normal na paggamit sinusukat ko ang 4, 5 mili volts sa mga MosFet. Ang gate ay kinokontrol ng output 4 mula sa Arduino sa pamamagitan ng 470 Kohm resistor. Kung ang output ay napupunta sa mababang (0) digital, ang mga neopixel ay nasa at sa isang mataas (1) naka-off ang mga ito.

Hakbang 10: Ngiti sa Word Clock

Ngingiti sa Word Clock
Ngingiti sa Word Clock
Ngingiti sa Word Clock
Ngingiti sa Word Clock

Isang Ngiti sa Word Clock.

May lilitaw paminsan-minsan na isang Smiley sa orasan. Gayunpaman, iyon ang nagpapasaya sa iyo.

Ang Smiley ay na-trigger ng radar sensor. Ang bilang ng beses na paggalaw (naaayos) ay isang sukat ng paglitaw ng Smiley. Ipinapahiwatig ng% mga palatandaan na ang paggalaw ay napansin. Sa bawat paggalaw ng ikasampu (naaayos), ang Smiley ay nagmumula sa isang Winky Face at pagkatapos ng tatlong beses ang isang Winky Face ay dumating sa ikaapat na beses ng isang Smiley Face na nakadikit na dila.

Ang Smiley ay isang maliit na pagbabago sa code.

Hakbang 11: Aling Mga Aklatan ang Ginagamit

Aling Mga Aklatan ang ginagamit.

Ginagamit ko ang mga ito sa Windows 7 kasama ang Arduino IDE 1.6 at nasubukan din sila sa Windows 10 kasama ang Adruino IDE 1.8.8

RTClib-master

Arduino-DS3231-master

Adafruit_NeoPixel-master

Arduino-DCF77-master

Ken Shirriff's IRremote Library

Palaging may pagkalito tungkol sa ginamit na silid-aklatan, idinagdag ko ang ginagamit ko.

Ang IRremote library ay gumagamit ng maraming memorya. Sa IRremote.h ipinahiwatig na maaari mong hindi paganahin ang anumang hindi nagamit na protocol

// Ang bawat protocol na isinasama mo ang mga memorya ng gastos at, sa panahon ng pagde-decode, oras ng gastos // Huwag paganahin (itakda sa 0) lahat ng mga protokol na hindi mo kailangan / gusto!

Na-disable ko ang lahat maliban sa NEC at Samsung protocol. Nagbibigay ito ng pag-save ng memorya ng 10%. Sa sandaling ito ay wala nang problema sa dami ng memorya, kaya't sa ngayon ay hindi kinakailangan ang hindi pag-disable.

Hakbang 12: Simple IR Remote Control

Simpleng IR Remote Control
Simpleng IR Remote Control
Simpleng IR Remote Control
Simpleng IR Remote Control
Simpleng IR Remote Control
Simpleng IR Remote Control

Ang pagtitipon

Tulad ng nakikita mo sa mga larawan, ang butas para sa LED 132 ay naging isang masyadong malaki. Mahusay kong ginamit ito at idinagdag ang IR receiver dito. Ikonekta ang data pin ng IR receiver VS1838 sa pin 7 ng Arduino. Bukod dito ikonekta ang plus at minus na supply ng kuryente. Ang IR receiver ay gumagamit ng 0.21 mA at maaari ring maiugnay sa plus power supply pagkatapos ng FET switch. Nagreresulta ito sa isang pag-save, kung ang orasan ay nasa 50% ng oras, ng 5 Volts * 0.21 mA / 1000 * 12 oras * 365 araw * 1 / 0.85 na supply ng kuryente na kahusayan = 5.4 watts bawat taon. Ito ay tila hindi gaanong malaki, ngunit ang bawat tulong.

Ang operasyon ay ang mga sumusunod

Pindutin ang anumang susi sa IR remote control at pagkatapos ay ang OK key. Sa kauna-unahang beses na pinindot mo, magtatapos ka sa pagpoproseso ng IR at sa pangalawang pagkakataon ay matutukoy mo kung ito ay isang makatarungang kahilingan. Sa pangalawang pagkakataon OK ay dapat sundin nang mabilis ang unang key press dahil kung hindi man ay babalik ito muli. Ginawa ko ang konstruksyon na ito nang sa gayon ay halos hindi ko nakuha ang unang code nang tama ang pag-decode at samakatuwid ay hindi napunta sa paghawak ng IR.

Sa sandaling sa paghawak ng IR pagkatapos ng isang bilang ng mga LEDs magpatuloy para sa impormasyon, para sa paliwanag basahin ang karagdagang at tingnan ang unang imahe.

Ang paglalarawan ay para sa simpleng remote control ngunit maaari mong gamitin ang anumang remote control at tukuyin ang iyong sariling mga key. Gumamit din ako ng isang remote control ng Samsung.

Ang unang apat na susi ay tumutugma sa nangungunang apat na mga hilera ng LED. Apat na LEDs ay kumaliwa o pakanan depende sa setting. Kapag ang mga pindutan na 1 hanggang 4 ay pinindot, ang estado ay baligtad at nakaimbak sa memorya.

1 naayos na kulay o bahaghari na epekto

2 segundo flash off o pangalawang flash on

3 smiley off smiley on

Naka-off ang 4 DCF77 o naka-on ang DCF77

Ang bilang ng mga susi ay ipinapakita sa mga sumusunod na key

5 smiley counter

6 na lapad ng spectrum ng bahaghari

7 ayusin ang pulang setting

8 ayusin ang berdeng setting

9 ayusin ang setting ng asul

Ang hilera 6, 7 at 8 ng mga LED ngayon ay tumutugma sa itinakdang halaga, ang hilera 6 ay nagpapahiwatig ng mga yunit, hilera 7 ang sampu at hilera 8 ang daan. Ang bawat hilera ay nagsisimula sa halagang zero. Kaya't ang unang pinangunahan sa hilera ay 0 ang pangalawa ay 1 atbp.

0 setting ng oras

/ / setting ng ningning

Kapag ang pindutan ng 0 ay pinindot, ang "sampung" LEDs ay ilaw upang ipahiwatig na nais mong itakda ang oras at kapag pinindot mo ang 0 sa pangalawang pagkakataon, lilitaw ang itinakdang oras sa display.

Ang oras ay maaari nang itakda at ipinapakita sa display.

Itakda ang tamang oras at pagkatapos kung ang minuto ay pareho sa isang sanggunian na orasan, pindutin ang OK na pindutan.

Ang oras ay nababagay.

Kung hindi mo paandarin ang pindutan ng minuto o oras, walang pagbabagong oras na magagawa. Kung pipindutin mo ang mga ito, maitatakda kaagad ang oras.

Ang halaga para sa mga key na 5 hanggang 9 ay maaaring mabago gamit ang mga pindutan

ang tama ay plus 1

ang kaliwa ay minus 1

pasulong ay plus 10

ang reverse ay minus 10.

at para sa pagtatakda ng oras

ang karapatan ay plus 1 minuto

ang kaliwa ay minus ng 1 minuto

pasulong ay plus 1 oras

ang reverse ay minus ng 1 oras

Minsan nangyayari na ang keypress ay hindi kinikilala o isinasagawa nang dalawang beses. Kaya't bigyang pansin kung ang setting ay maayos kung hindi man subukan o iwasto muli. Ang remote control ng Samsung na sinubukan ko ring gumana nang maraming beses na mas mahusay kaysa sa (napaka murang) simpleng remote control.

Kapag itinatakda ang kulay nakikita mo ang pagbabago nang direkta sa buong display. Para sa isang site na may pangkalahatang-ideya ng mga kulay tingnan ang https://www.helderester.nl/kleurentabel.html. Maaari mong syempre magtakda ng anumang halaga.

Kung ang lapad ng bahaghari na spectrum ay may halagang 0 ang spektrum ay napaka-makitid at ang display ay may isang kulay na patuloy na nagbabago.

Ang kawalan ng pagtatakda ng oras sa ganitong paraan ay hindi mo makakalkula ang paglipat ng tag-init / taglamig dahil mayroon kaming hindi tamang petsa. Hindi mahalaga para sa relo mismo dahil hindi namin ito ginagamit ngayon.

Hakbang 13: Ano ang mga Next?

Ano ang Next?
Ano ang Next?

Ano ang sumusunod, tunog, kung ang libreng memorya ay sapat pa.

Mayroon na akong mga kahon ng loudspeaker. Galing sila sa isang luma na laptop.

Inirerekumendang: