Përmbajtje:
- Hapi 1: Rasti për orën
- Hapi 2: Neopixel
- Hapi 3: Rregullimi i Tekstit të Parë
- Hapi 4: Efekti i plotë i ylberit
- Hapi 5: Komponentët e ndryshëm
- Hapi 6: Kodi për Orën
- Hapi 7: Përshkrimi i harduerit
- Hapi 8: LDR për Kontrollin e Ndriçimit të Neopixels
- Hapi 9: Reduktimi i konsumit të energjisë WS2812B
- Hapi 10: Smiley në Ora e Fjalës
- Hapi 11: Cilat biblioteka përdoren
- Hapi 12: Telekomandë e thjeshtë IR
- Hapi 13: Çfarë vijon?
Video: Ora me fjalë Rainbow me një efekt të plotë ylberi dhe më shumë: 13 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:19
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
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
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ë
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
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 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
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
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
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
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
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?
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:
Zgjidhni një titull dhe fjalë kyçe për udhëzuesin tuaj: 6 hapa (me fotografi)
Zgjidhni një titull dhe fjalë kyçe për udhëzuesin tuaj: Zgjedhja e titullit dhe fjalëve kyçe të duhura mund të jetë ndryshimi midis një udhëzimi të udhëzueshëm në faqen e parë të rezultateve të kërkimit të Google ose përplasjes dhe djegies në tokën e frikshme pa shikime të interneteve. Ndërsa fjalët kyçe dhe titulli nuk janë të vetmet
2 Nxënës Fjalë Fjalë Me Kodin Morse: 5 Hapa
2 Letër Word Learner With Morse Code: Unë jam përpjekur të mësoj fjalët Scrabble (tm) me 2 shkronja për një kohë pa sukses. Unë gjithashtu jam përpjekur të mësoj përsëri kodin Morse me pak sukses. Vendosa të provoja disa mësime subliminaliste duke ndërtuar një kuti e cila vazhdimisht tregonte
$ 2 Arduino. ATMEGA328 Si më vete. E lehtë, e lirë dhe shumë e vogël. një udhëzues i plotë .: 6 hapa (me fotografi)
$ 2 Arduino. ATMEGA328 Si i Vetëm. E lehtë, e lirë dhe shumë e vogël. një Udhëzues i Plotë .: Në këtë udhëzues do të mësoni se si të përdorni çipin e mikrokontrolluesit Arduino ATMEGA328 si një mikrokontrollues i pavarur. Ata kushtojnë vetëm 2 dollarë, mund të bëjnë të njëjtën gjë me Arduino -n tuaj dhe t'i bëjnë projektet tuaja jashtëzakonisht të vogla. Ne do të mbulojmë paraqitjen e kunjave,
Top Mystik Kristal (Fjalë për fjalë ju tregon pasurinë tuaj!): 3 hapa (me fotografi)
Topi Kristal Mystik (Fjalë për fjalë ju tregon pasurinë tuaj!): Mësoni si të bëni një top kristali fallxhor që zbulon të ardhmen tuaj kur prekeni! Projekti përbëhet nga tre pjesë themelore dhe mund të ndërtohet në rreth katër orë. Materialet: 1. Sensori me prekje me kapacitet: 1 - Arduino Uno Mikrokontrolluesi 1
Tripod-Kreu në Monopod-Adapter Kreu me 43 cent. Fjalë për fjalë .: 6 hapa
Tripod-Kreu në Monopod-Adapter Kreu me 43 cent. Fjalë për fjalë .: Version i shkurtër i tregimit tim: Bleva një aparat fotografik, ai erdhi me një pako aksesorësh, duke përfshirë një trekëmbësh Samsonite 1100. Unë kam një monopod. Dua të shkoj të bëj fotografi me një kokë rrotulluese në monopod shumë shpejt, dhe nuk kisha 40 dollarë për të shpenzuar për të marrë një l