Përmbajtje:

Ora me fjalë Rainbow me një efekt të plotë ylberi dhe më shumë: 13 hapa (me fotografi)
Ora me fjalë Rainbow me një efekt të plotë ylberi dhe më shumë: 13 hapa (me fotografi)

Video: Ora me fjalë Rainbow me një efekt të plotë ylberi dhe më shumë: 13 hapa (me fotografi)

Video: Ora me fjalë Rainbow me një efekt të plotë ylberi dhe më shumë: 13 hapa (me fotografi)
Video: Omegle but Polyglot MELTS Hearts of Strangers in Their Native Language! 2024, Nëntor
Anonim
Ora Fjala Rainbow Me një Efekt të Plotë Ylber dhe më shumë
Ora Fjala Rainbow Me një Efekt të Plotë Ylber dhe më shumë

Golat

1) E thjeshtë

2) Jo e shtrenjtë

3) Sa më efikas të energjisë

Ora Fjala Rainbow me një efekt të plotë ylberi.

Një buzëqeshje në orën e fjalëve.

Telekomandë e thjeshtë IR

Përditësoni 03-nov-18 LDR për Kontrollin e Ndriçimit të Neopixels

Përditësimi 01-janar-19 Reduktimi i konsumit të energjisë WS2812B.

Përditëso 15-jan-19 Smiley.

Përditësimi 23-jan-19 Kodi 1.6

Përditësoni lidhjet e Bibliotekave 10-mar-19

Përditësoni 14-apr-19 versionin 1.7 Zgjedhja e buzëqeshjes on/off ngjyra e ylberit/rregulloni enz.

Përditësimi i fundit 01-qershor-19 version 2.0 Telekomandë IR dhe ridizajnim i kodit

Hapi 1: Rasti për orën

Rasti për orën
Rasti për orën
Rasti për orën
Rasti për orën
Rasti për orën
Rasti për orën

Me disa mjete të thjeshta dhe pak aftësi, nuk është e vështirë të bësh një orë letre Unë kam përdorur materialet e disponueshme për mua.

Për rastin kam përdorur një shufër pishe të përafërt në të cilën kam sharruar disa korniza. Këto do të bënin katër anët e kasës, të cilat ishin ngjitur së bashku dhe përforcuar me një copë të vogël druri në qoshe. Pastaj druri ka nevojë për lëmim dhe lyerje.

Shkronjat janë prerë nga fletë metalike nga një printer në shkrim pasqyre. Petë është në pjesën e pasme të pllakës së qelqit dhe është e mbuluar me një letër model me dy shtresa për shpërndarje më të mirë të dritës. Xhami fiksohet me ngjitës silikoni.

Hapi 2: Neopixel

Neopixelë
Neopixelë
Neopixelë
Neopixelë
Neopixelë
Neopixelë
Neopixelë
Neopixelë

LEDs Neopixels janë rregulluar në një pllakë druri. Në këtë ju së pari shponi vrima 3 mm. Në pjesën e përparme ato janë zmadhuar në madhësinë e shkronjës në 3/4 thellësi. Pas kësaj 3 mm në pjesën e pasme rritet në 10 mm, kjo është madhësia e një Neopixel. Për disa karaktere ndër të tjera W, vrima duhet të rregullohet pak.

Kam përdorur kompensatë e cila shpejt u copëtua, MDF mund të jetë më mirë.

Me LED -të individuale nuk jeni të lidhur në një distancë fikse, gjë që ndodh me shiritat LED. LED -të duhet të lidhen me njëri -tjetrin. Ju mund ta bëni këtë me të gjitha pjesët e shkurtra të telit. Por dy lidhjet min (-) janë njësoj si dy lidhjet plus (+) të lidhura brenda, pra e njëjta lidhje.

Ju mund të kurseni shumë punë duke bashkuar një copë teli në LED të majtë dhe pastaj në LED të djathtë. Pastaj lidhni ato të ndërmjetme.

Lidhja e të dhënave duhet natyrisht me pjesë të shkurtra sepse dalja e të dhënave shkon te data-in.

Hapi 3: Rregullimi i Tekstit të Parë

Rregullimi i tekstit të përparmë
Rregullimi i tekstit të përparmë
Rregullimi i tekstit të përparmë
Rregullimi i tekstit të përparmë
Rregullimi i tekstit të përparmë
Rregullimi i tekstit të përparmë

Tabela e përparme tani është në holandisht, por thjesht për t'u konvertuar në çdo gjuhë.

Lidet NeoPixels kalojnë njëra pas tjetrës këtu nga 0-167. Numërimi shkon nga rreshti i parë në të majtë lart në të djathtë dhe pastaj në rreshtin e dytë nga e majta në të tjerët, etj. Rregullimi mund të bëhet sipas nevojave tuaja. Numri i NeoPixels përcaktohet nga sasia e karaktereve. Më pak ose më shumë Neopixel mund të rregullohen në rreshtin e mëposhtëm

#përcaktoni NUMPIXELS 168 // Sa NeoPixel janë bashkangjitur në Arduino?

168 është më shumë se një numër tjetër. Numërimi fillon me 0. Mund të bëni çdo tekst. Nëse ndryshoni tekstin atëherë do të duhet të rregulloni edhe fjalët përkatëse. Numërimi mbetet i njëjtë.

Si shembull, DRIE i procesverbalit, përcaktohet në kod

void zetmDrie () {

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

}

Nëse doni të bëni fjalën Arduino atëherë shkon kështu:

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; // Fjala-arduino

}

Kështu që ju mund të bëni fjalë midis.

Për fjalët e orës është e dobishme nëse ato formojnë një fjalë të ngjitur, por nuk është absolutisht e nevojshme. Shkronjat e papërdorura nuk kanë nevojë për Neonpixels. I kam të gjitha të mbushura për përdorimin e mundësive të ardhshme përveç shfaqjes së kohës.

Nëse ndryshoni pikënisjen ose ndryshoni sekuencën e vazhdimësisë, numërimi duhet të ndryshojë në përputhje me rrethanat.

Hapi 4: Efekti i plotë i ylberit

Efekti i plotë i Ylberit
Efekti i plotë i Ylberit

Ora tani është aq e programuar saqë atje numërohen sa herë në sekondë sa neopixsele janë ndezur.

Spektri i përgjithshëm është rreth numrit të ndarë dhe më pas pak të zhvendosur. Si rezultat, secili Neopixel ka një ngjyrë të ndryshme e cila ndryshon vazhdimisht. Neopixel nr 1 dhe nr 167 ndjekin njëri -tjetrin në disa ngjyra.

Nëse preferoni ngjyra më pak të ndryshme në të njëjtën kohë, kjo është e lehtë për tu rregulluar. Ngjyra zhvendoset akoma në të gjithë spektrin, por me një pjesë më të vogël të tij. Neopixel nr 1 dhe nr 167 nuk ndjekin më njëri -tjetrin në disa ngjyra.

Shkëlqimi mund të vendoset në rreshtin vijues, pixels.setBrightness (150);

Një numër më i vogël është më pak dhe një numër më i madh më shumë shkëlqim.

Hapi 5: Komponentët e ndryshëm

Komponentët e ndryshëm
Komponentët e ndryshëm
Komponentët e ndryshëm
Komponentët e ndryshëm
Komponentët e ndryshëm
Komponentët e ndryshëm

Komponentët e mëposhtëm kam përdorur

Arduino Pro Mini ATMEGA328 5V/16MHz

Moduli i orës DS3231

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

Klishe letre petë

Marrësi DCF77

Hapi 6: Kodi për Orën

Këtu është kodi. Shtoi një kontroll shkëlqimi dhe fikje kur askush nuk është i pranishëm dhe gjatë natës.

Shtuar RCWL-0516 Sensori i Lëvizjes me Mikrovalë Radar (kërkoni për RADAR)

Pas 10 minutash pa lëvizje, NeoPixels dalin jashtë.

Rreth versionit 2.0

Përdorimi i kujtesës ishte shumë, me paralajmërimet e kujtesës në përpilues mbaruan. Kjo është arsyeja pse unë kam ndryshuar plotësisht kodin, por operacioni ka mbetur i njëjtë dhe është shtuar një marrës IR.

Ekziston një pjesë e kodit për t'i siguruar EEPROM -it të dhëna. Drejtojeni këtë një herë duke hequr përkohësisht / * dhe * /. Kërkoni => ekzekutoni këtë një herë për t'i siguruar EEPROM të dhëna

Në fillim të lakut të zbrazët është kodi për të lexuar kodin nga telekomanda juaj. Ju mund ta përdorni këtë duke hequr përkohësisht / * dhe * /, mos harroni t'i ktheni më pas. Ju gjithashtu mund të përcaktoni butonat tuaj. Kodi i lexuar duhet të futet në => Përcaktoni butonat tuaj këtu

Telekomanda e Samsung punon më mirë se ajo e thjeshtë (shumë e lirë).

Hapi 7: Përshkrimi i harduerit

Përshkrimi i harduerit
Përshkrimi i harduerit
Përshkrimi i harduerit
Përshkrimi i harduerit
Përshkrimi i harduerit
Përshkrimi i harduerit

Ekzistojnë versione të ndryshme të Arduino Pro Mini. Ju lutemi vini re, lidhjet mund të ndryshojnë.

U shtua një sensor lëvizjeje me mikrovalë RCWL-0516.

Për sa kohë që ka lëvizje në afërsi të orës, NeoPixel mbetet i ndezur

dhe posa të mos ketë më lëvizje, NeoPixel fiket pas disa minutash.

Në versionin 2.0, marrësi DCF77 furnizohet me energji nëpërmjet pin 13. Ky pin përcaktohet si dalje dhe vendoset lartë kur adresohet rutina DCF77. Marrësi DCF77 përdor 0.28 mA dhe nevojitet vetëm për disa minuta në ditë.

Fikja e kursimeve

5 Volt * 0.28 mA / 1000 * 24 orë * 365 ditë * 1 / 0.85 furnizim me energji me efikasitet = 14.4 vat në vit.

Kjo nuk duket shumë, por çdo gjë ndihmon.

Hapi 8: LDR për Kontrollin e Ndriçimit të Neopixels

LDR për Kontrollin e Ndriçimit të Neopixels
LDR për Kontrollin e Ndriçimit të Neopixels
LDR për Kontrollin e Ndriçimit të Neopixels
LDR për Kontrollin e Ndriçimit të Neopixels

Shtuar një LDR për kontrollin e shkëlqimit të neopixelëve.

Unë e kam ngjitur LDR në hapësirën e neopixel 103. Ky nuk përdoret në ekranin e kohës dhe prandaj nuk ndikon në rregullimin. Letra e ndez dritën e incidentit, por kjo nuk është problem.

Ndarësi i tensionit të rezistencës LDR dhe 20 kohm shkon në A0 të Arduino Pro Mini. Tensioni është një tregues i intensitetit të dritës dhe për këtë arsye një tregues i sasisë së dritës që neopixelët duhet të japin.

Formula që përdor unë më jep kontroll të mirë të dritës, mund të rregullohet në varësi të rrethanave. Në varësi të sasisë së dritës, tensioni mund të ndryshojë midis 0 dhe 5 volt i cili konvertohet në 0 në 1024 numërime të cilat janë në "LDRValue".

Nëse vlera e re e matur është më e madhe se vlera e fundit e llogaritur, intensiteti rritet me 1, nëse është më i ulët se zbritur me 1 dhe nëse është i barabartë asgjë nuk bëhet. Në mënyrë që vlera të vazhdojë ngadalë, në mënyrë që të mos ketë efekt pulsimi, vetëm 1 rritet ose zvogëlohet dhe për shkak se llogaritja është në lak, ajo rillogaritet vetëm pasi të keni kaluar lakun 25 herë.

Intensiteti është teorikisht një minimum prej 20 dhe një maksimum prej 1024/7 + 45 = 191. Vlera maksimale që mata ishte 902, e cila arrin një intensitet prej 173. Kjo përshtatet mirë me 150 që kam vendosur si vlerë të paracaktuar Me (shih pixels.setBrightness (150))

Në versionin 2.0 mund të vendosni kontrollin përmes telekomandës. Parametrat e mëposhtëm janë shtuar: Brightness_min si minimum dhe Brightness_max si cilësim maksimal dhe Brightness_Offset si parametër cilësimi. Brightness_min dhe _max janë vlerat që mund të varen nga situata juaj. Brightness_Offset është një vlerë që mund të vendoset me telekomandë dhe me të cilën mund të vendoset pak a shumë shkëlqimi.

Ekziston gjithashtu një brez i vdekur prej 3 midis LDRValue të matur dhe vlerave të llogaritura BerLDRValue.

Përdorni deklaratat e printimit në zbrazëtinë BrightnessControl për të kontrolluar cilësimin e shkëlqimit.

Hapi 9: Reduktimi i konsumit të energjisë WS2812B

Reduktimi i konsumit të energjisë WS2812B
Reduktimi i konsumit të energjisë WS2812B

Drejtuesit në neopixelët e adresueshëm WS2812B po tërheqin rrymë edhe kur neopixelët janë të fikur, të vendosur në ngjyrën 0 (pa elementë neopixelësh të ndezur).

Kur të gjitha 169 neopixelët janë jashtë, unë mat 69 mA me neopixelët. Duke supozuar se ora është e fikur 12 orë në ditë, mbyllja totale më pas kursen: 5 (Furnizimi me energji Volt) * 69/1000 (Miliampere / 1000 = Amper) * 12 (Numri i orëve në ditë) * 365 (Numri i ditëve në një viti) = 1511 orë Watt. Pra, në bazë vjetore 1.5 Kwh. Pajtohem, nuk është shumë në vetvete, por shumë të vogla bëjnë një të madhe.

Qarku është i thjeshtë. Plus i furnizimit me energji elektrike ndizet nga një MosFet i kanalit P. Sensori i radarit përcakton nëse neopixelët janë të ndezur ose të fikur. Unë kam vënë dy parfele MosFet për të mbajtur rezistencën ON sa më të ulët të jetë e mundur për shkak të humbjes së MosFets. Në përdorim normal unë mat 4, 5 mili volt mbi MosFets. Porta kontrollohet nga dalja 4 nga Arduino përmes një rezistence 470 Kohm. Nëse dalja shkon në të ulët (0) në mënyrë dixhitale, neopixelët janë të ndezur dhe në një të lartë (1) ato janë të fikur.

Hapi 10: Smiley në Ora e Fjalës

Smiley në Ora e Fjalës
Smiley në Ora e Fjalës
Smiley në Ora e Fjalës
Smiley në Ora e Fjalës

Një buzëqeshje në orën e fjalëve.

Herë pas here shfaqet një Smiley në orë. Megjithatë, kjo ju bën të lumtur.

Smiley nxitet nga sensori i radarit. Numri i herëve që lëvizja (e rregullueshme) është një masë e paraqitjes së Smiley. Shenjat % tregojnë se lëvizja është zbuluar. Me çdo lëvizje të dhjetë (të rregullueshme), Smiley vjen me një Fytyrë Winky dhe pasi tre herë një Face Winky vjen herën e katërt një Face Smiley që nxjerr gjuhën jashtë.

Smiley është një ndryshim i vogël në kod.

Hapi 11: Cilat biblioteka përdoren

Cilat biblioteka përdoren.

Unë i përdor ato në Windows 7 me Arduino IDE 1.6 dhe ato gjithashtu janë testuar në Windows 10 me Adruino IDE 1.8.8

RTClib-master

Arduino-DS3231-master

Adafruit_NeoPixel-master

Arduino-DCF77-master

Biblioteka IRremote e Ken Shirriff

Meqenëse ka gjithmonë konfuzion në lidhje me bibliotekën e përdorur, shtoj atë që përdor.

Biblioteka IRremote përdor shumë memorie. Në IRremote.h tregohet se mund të çaktivizoni çdo protokoll të papërdorur

// Çdo protokoll që përfshini kushton memorie dhe, gjatë deshifrimit, kushton kohë // Çaktivizoni (vendosni në 0) të gjithë protokollet që nuk ju duhen/dëshironi!

Unë kam gjithçka të çaktivizuar përveç protokollit NEC dhe Samsung. Kjo siguron një kursim të kujtesës prej 10%. Për momentin nuk ka më problem me sasinë e kujtesës, kështu që për momentin çaktivizimi nuk është i nevojshëm.

Hapi 12: Telekomandë e thjeshtë IR

Telekomandë e thjeshtë IR
Telekomandë e thjeshtë IR
Telekomandë e thjeshtë IR
Telekomandë e thjeshtë IR
Telekomandë e thjeshtë IR
Telekomandë e thjeshtë IR

Kuvendi

Siç mund ta shihni në foto, vrima për LED 132 doli të jetë pak shumë e madhe. Unë e shfrytëzova mirë këtë dhe shtova marrësin IR në të. Lidhni pinin e të dhënave të marrësit IR VS1838 me pinin 7 të Arduino. Për më tepër lidhni furnizimin me energji plus dhe minus. Marrësi IR përdor 0.21 mA dhe gjithashtu mund të lidhet me furnizimin me energji plus pas ndërprerësit FET. Kjo rezulton në një kursim, nëse ora është në 50% të kohës, prej 5 Volt * 0.21 mA / 1000 * 12 orë * 365 ditë * 1 / 0.85 furnizim me energji me efikasitet = 5.4 vat në vit. Kjo nuk duket shumë, por çdo gjë ndihmon.

Operacioni është si më poshtë

Shtypni çdo çelës në telekomandën IR dhe më pas tastin OK. Herën e parë që shtypni, do të përfundoni në përpunimin IR dhe herën e dytë do të zbuloni nëse ishte një kërkesë e justifikuar. Herën e dytë OK duhet të ndjekë shpejt shtypjen e parë të tastit sepse përndryshe kthehet përsëri. Unë e bëra këtë ndërtim në mënyrë që kodin e parë mezi e deshifrova saktë dhe për këtë arsye nuk përfundova në trajtimin IR.

Sapo të përdorni IR, atëherë një numër LEDs vazhdojnë për informacion, për shpjegim lexoni më tej dhe shikoni imazhin e parë.

Përshkrimi është për telekomandën e thjeshtë, por mund të përdorni çdo telekomandë dhe të përcaktoni çelësat tuaj. Kam përdorur gjithashtu një telekomandë Samsung.

Katër çelësat e parë korrespondojnë me katër rreshtat e parë të LED -ve. Katër LED kthehen majtas ose djathtas në varësi të cilësimit. Kur shtypen çelësat 1 deri në 4, gjendja përmbyset dhe ruhet në kujtesë.

1 ngjyrë fikse ose efekt ylberi

Blici i dytë 2 i fikur ose ndezja e dytë e ndezur

3 smiley off smiley on

4 DCF77 joaktiv ose DCF77 aktiv

Numri i çelësit shfaqet në çelësat e mëposhtëm

5 banak me buzëqeshje

6 gjerësia e spektrit të ylberit

7 rregulloni cilësimin e kuq

8 rregulloni cilësimin e gjelbër

9 rregulloni cilësimin blu

Rreshtat 6, 7 dhe 8 të LED -ve tani korrespondojnë me vlerën e caktuar, rreshti 6 tregon njësitë, rreshti 7 dhjetëra dhe rreshti 8 njëqind. Çdo rresht fillon me vlerën zero. Pra e para e udhëhequr në rresht është 0 e dyta është 1 etj.

0 vendosje kohe

/\ vendosja e shkëlqimit

Kur shtypet butoni 0, dritat "dhjetë" ndizen për të treguar që dëshironi të caktoni kohën dhe kur shtypni 0 për herë të dytë, koha e caktuar shfaqet në ekran.

Koha tani mund të caktohet dhe shfaqet në ekran.

Vendosni kohën e duhur dhe pastaj nëse minuta është e njëjtë në një orë referimi, shtypni butonin OK.

Koha është rregulluar.

Nëse nuk përdorni butonin e minutave ose orëve, asnjë ndryshim i kohës nuk do të bëhet. Nëse i shtypni, koha do të vendoset menjëherë.

Vlera për çelësat 5 deri në 9 mund të ndryshohet me çelësat

e drejta eshte plus 1

e majta është minus 1

përpara është plus 10

e kundërta është minus 10.

dhe për caktimin e kohës

e djathta është plus 1 minutë

ka mbetur minus 1 minutë

përpara është plus 1 orë

e kundërta është minus 1 orë

Ndonjëherë ndodh që shtypja e tastit nuk njihet ose kryhet dy herë. Pra, kushtojini vëmendje nëse cilësimi shkon mirë, përndryshe provoni ose korrigjoni përsëri. Telekomanda Samsung të cilën unë gjithashtu e testova funksionoi shumë herë më mirë sesa telekomanda e thjeshtë (shumë e lirë).

Kur vendosni ngjyrën ju shihni ndryshimin direkt në të gjithë ekranin. Për një faqe me një përmbledhje të ngjyrave shihni https://www.helderester.nl/kleurentabel.html. Sigurisht që mund të vendosni çdo vlerë.

Nëse gjerësia e spektrit të ylberit ka një vlerë 0, spektri është shumë i ngushtë dhe ekrani ka një ngjyrë që ndryshon vazhdimisht.

Disavantazhi i përcaktimit të kohës në këtë mënyrë është se ju nuk mund të llogaritni një tranzicion verë / dimër sepse ne kemi datën e pasaktë. Nuk ka rëndësi për vetë orën sepse ne nuk e përdorim tani.

Hapi 13: Çfarë vijon?

Çfarë tjetër?
Çfarë tjetër?

Ajo që pason, tingull, nëse kujtesa e lirë është ende e mjaftueshme.

Unë tashmë kam kutitë e altoparlantëve. Ato janë nga një laptop i vjetër.

Recommended: