Sisukord:

Vikerkaare sõnakell täieliku vikerkaarefektiga ja palju muud: 13 sammu (piltidega)
Vikerkaare sõnakell täieliku vikerkaarefektiga ja palju muud: 13 sammu (piltidega)

Video: Vikerkaare sõnakell täieliku vikerkaarefektiga ja palju muud: 13 sammu (piltidega)

Video: Vikerkaare sõnakell täieliku vikerkaarefektiga ja palju muud: 13 sammu (piltidega)
Video: Üle VIKERKAARE.. 2024, Juuli
Anonim
Vikerkaare sõnakell täieliku vikerkaarefektiga ja palju muud
Vikerkaare sõnakell täieliku vikerkaarefektiga ja palju muud

Eesmärgid

1) Lihtne

2) Pole kallis

3) Võimalikult energiasäästlik

Vikerkaare sõnakell täieliku vikerkaareefektiga.

Naeratus sõnakellal.

Lihtne IR kaugjuhtimispult

Värskendage 03-nov-18 LDR neopikslite heleduse reguleerimiseks

Värskendus 1. jaanuar-19 WS2812B energiatarbimise vähendamine.

Värskendus 15. jaanuar-19 Smiley.

Värskendus 23. jaanuar 19 Kood 1.6

Värskendage 10. märts-19 raamatukogude linke

Värskenda 14. apr-19 versiooni 1.7 Vali emotikon sisse/välja kollor vikerkaar/parandage ens.

Viimane värskendus 01-jun-19 versioon 2.0 IR kaugjuhtimispult ja koodi ümberkujundamine

Samm: kella korpus

Kella ümbris
Kella ümbris
Kella ümbris
Kella ümbris
Kella ümbris
Kella ümbris

Mõne lihtsa tööriista ja natuke oskuste abil pole kirjakella valmistamine keeruline. Ma kasutasin mulle kättesaadavaid materjale.

Korpuse jaoks kasutasin karedat männipuitu, milles saagisin paar raami. See teeks korpuse neli külge, mis liimiti kokku ja tugevdati nurkades väikese puutükiga. Siis vajab puit lihvimist ja värvimist.

Tähed lõikab fooliumist välja printer peegelkirjas. Foolium asub klaasplaadi tagaküljel ja on valguse paremaks jaotamiseks kaetud kahekihilise musterpaberiga. Klaas kinnitatakse silikoontihendiga.

2. samm: Neopikslid

Neopikslid
Neopikslid
Neopikslid
Neopikslid
Neopikslid
Neopikslid
Neopikslid
Neopikslid

Neopikselite valgusdioodid on paigutatud puitplaadile. Selleks puurige esmalt 3 mm augud. Esiküljel on need suurendatud kirja suuruseks 3/4 sügavusele. Pärast seda suurendatakse 3 mm tagaküljel 10 mm -ni, see on Neopixeli suurus. Mõne märgi, sealhulgas W -i puhul tuleks auku veidi reguleerida.

Kasutasin vineeri, mis kildusid kiiresti, MDF võib olla parem.

Üksikute valgusdioodidega ei ole te seotud kindla kaugusega, nagu LED -ribade puhul. LED -id peavad olema omavahel ühendatud. Seda saate teha kõigi lühikeste traaditükkidega. Kuid kaks min (-) ühendust on täpselt nagu kaks sisemiselt ühendatud pluss (+) ühendust, seega sama ühendus.

Palju tööd saate säästa, jootes traaditüki vasakule ja seejärel paremale valgusdioodile. Seejärel jootke vahepealsed.

Andmeühendus peab muidugi koosnema lühikestest osadest, kuna andmeväljund läheb andmesisendisse.

3. samm: esiteksti reguleerimine

Esiteksti reguleerimine
Esiteksti reguleerimine
Esiteksti reguleerimine
Esiteksti reguleerimine
Esiteksti reguleerimine
Esiteksti reguleerimine

Esiplaat on nüüd hollandi keeles, kuid lihtsalt mis tahes keeles teisendamiseks.

NeoPixelsi LEDid lülitatakse siin järjest 0–167. Numeratsioon läheb vasakult ülevalt esimeselt realt paremale ja seejärel teisele reale paremalt vasakule jne. Reguleerimist saab teha vastavalt oma vajadustele. NeoPikslite arv määratakse tähemärkide arvu järgi. Vähem või rohkem neopiksleid saab reguleerida järgmisel real

#define NUMPIXELS 168 // Mitu NeoPikslit on Arduino külge kinnitatud?

168 on teine number. Numeratsioon algab nullist. Saate teha mis tahes teksti. Kui muudate teksti, peate kohandama ka vastavaid sõnu. Numeratsioon jääb samaks.

Näitena määratakse koodis protokolli DRIE

void zetmDrie () {

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

}

Kui soovite teha sõna Arduino, siis see käib nii:

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; // Sõna-arduino

}

Nii et saate sõnad vahele panna.

Kella sõnade puhul on kasulik, kui need moodustavad külgneva sõna, kuid see pole tingimata vajalik. Kasutamata tähed ei vaja neonpiksleid. Mul on need kõik täidetud, et kasutada tulevasi võimalusi peale aja kuvamise.

Kui muudate lähtepunkti või järjestust, peaks nummerdamine vastavalt muutuma.

4. samm: täielik vikerkaare efekt

Täielik vikerkaare efekt
Täielik vikerkaare efekt

Kell on nüüd nii programmeeritud, et loetakse mitu korda sekundis, mitu neopikslit on sisse lülitatud.

Kogu spekter on umbes jagatud ja seejärel veidi nihutatud. Selle tulemusena on igal neopikselil erinev värv, mis muutub pidevalt. Neopixel nr 1 ja nr 167 järgivad teineteisele mõningaid värve.

Kui eelistate korraga vähem erinevaid värve, on seda lihtne reguleerida. Värv nihkub kogu spektri ulatuses, kuid väiksema osaga. Neopixel nr 1 ja nr 167 ei järgne enam üksteisele mõne värviga.

Heledust saab seadistada järgmisel real:

pikslid.setBrightness (150);

Väiksem number on väiksem ja suurem number rohkem heledust.

Samm: erinevad komponendid

Erinevad komponendid
Erinevad komponendid
Erinevad komponendid
Erinevad komponendid
Erinevad komponendid
Erinevad komponendid

Kasutasin järgmisi komponente

Arduino Pro Mini ATMEGA328 5V/16MHz

Kella moodul DS3231

168 tükki Neopixels led WS2812 LED kiip ja jahutusradiaator 5V 5050 RGB WS2811 IC Sisseehitatud

Fooliumist kirja šabloon

DCF77 vastuvõtja

6. samm: kella kood

Siin on kood. Lisatud heleduse juhtimine ja väljalülitamine, kui keegi pole kohal ja öösel.

Lisatud RCWL-0516 radari mikrolaine liikumisandur (otsige RADAR-i)

Pärast 10 -minutilist liikumist NeoPixels kustub.

Umbes versioon 2.0

Mälukasutus oli liiga suur, kuna mäluhoiatused said kompilaatoris otsa. Seetõttu olen koodi täielikult muutnud, kuid toiming on jäänud samaks ja lisatud on IR -vastuvõtja.

EEPROM -ile andmete esitamiseks on kooditükk. Käivitage see üks kord, eemaldades ajutiselt tähed / * ja * /. Otsige => käivitage see üks kord, et anda EEPROMile andmeid

Tühjusahela alguses on kood, millega saate oma kaugjuhtimispuldist koodi lugeda. Seda saate käivitada, eemaldades ajutiselt tähed / * ja * /, ärge unustage neid hiljem tagasi panna. Saate määrata ka oma nuppe. Loetud kood tuleb sisestada => Määrake siin oma nupud

Samsungi kaugjuhtimispult töötab paremini kui (väga odav) lihtne.

Samm: riistvara kirjeldus

Riistvara kirjeldus
Riistvara kirjeldus
Riistvara kirjeldus
Riistvara kirjeldus
Riistvara kirjeldus
Riistvara kirjeldus

Arduino Pro Mini versioonid on erinevad. Pange tähele, et ühendused võivad erineda.

Lisatud RCWL-0516 mikrolaine liikumisandur.

Niikaua kui kella läheduses on liikumist, jääb NeoPixel sisse

ja niipea, kui liikumist enam pole, lülitub NeoPixel mõne minuti pärast välja.

Versioonis 2.0 on DCF77 vastuvõtja toiteallikaks tihvti 13 kaudu. See tihvt on määratletud väljundina ja seadistatud kõrgeks, kui DCF77 rutiini käsitletakse. DCF77 vastuvõtja kasutab 0,28 mA ja seda on vaja vaid paar minutit päevas.

Väljalülitamine säästab

5 volti * 0,28 mA / 1000 * 24 tundi * 365 päeva * 1 / 0,85 kasuteguriga toiteallikas = 14,4 vatti aastas.

See ei tundu palju, kuid iga pisku aitab.

8. samm: LDR neopikslite heleduse reguleerimiseks

LDR neopikslite heleduse reguleerimiseks
LDR neopikslite heleduse reguleerimiseks
LDR neopikslite heleduse reguleerimiseks
LDR neopikslite heleduse reguleerimiseks

Lisatud LDR neopikslite heleduse reguleerimiseks.

Olen liiminud LDR neopikseli 103. ruumi. Seda ei kasutata ajakuval ja seepärast ei mõjuta see reguleerimist. Paber summutab langevat valgust, kuid see pole probleem.

LDR ja 20 kohm takisti pingejagur läheb Arduino Pro Mini A0 -le. Pinge on valguse intensiivsuse näitaja ja seega ka neopikslite valguse hulga näitaja.

Valem, mida ma kasutan, annab mulle hea valguse juhtimise, seda saab vastavalt asjaoludele reguleerida. Sõltuvalt valguse kogusest võib pinge varieeruda vahemikus 0 kuni 5 volti, mis muundatakse 0 kuni 1024 loenduriks, mis on "LDRValue".

Kui uus mõõdetud väärtus on suurem kui viimane arvutatud väärtus, suurendatakse intensiivsust 1 võrra, kui see on väiksem kui 1 võrra vähendatud ja kui see on võrdne, ei tehta midagi. Väärtuse aeglaseks muutmiseks, nii et vilkuv efekt puudub, suurendatakse või vähendatakse ainult 1 ja kuna arvutus on silmus, arvutatakse see ümber alles pärast silmus 25 korda läbimist.

Intensiivsus on teoreetiliselt vähemalt 20 ja maksimaalselt 1024/7 + 45 = 191. (vt pixels.setBrightness (150))

Versioonis 2.0 saate juhtpuldi seadistada kaugjuhtimispuldi kaudu. Lisatud on järgmised parameetrid: Brightness_min kui minimaalne ja Brightness_max kui maksimaalne säte ja Brightness_Offset seadeparameetrina. Brightness_min ja _max on väärtused, mis võivad sõltuda teie olukorrast. Brightness_Offset on väärtus, mida saab kaugjuhtimispuldiga määrata ja millega saab enam -vähem heledust määrata.

Mõõdetud LDRValue ja arvutatud BerLDRValue väärtuste vahel on ka surnud riba 3.

Kasutage heleduse sätte kontrollimiseks tühjus BrightnessControl prindiavaldusi.

9. samm: WS2812B energiatarbimise vähendamine

WS2812B energiatarbimise vähendamine
WS2812B energiatarbimise vähendamine

WS2812B adresseeritavate neopikslite draiverid tõmbavad voolu isegi siis, kui neopikslid on välja lülitatud, seatud värvile 0 (ükski neopikseli element ei põle).

Kui kõik 169 neopikslit on väljas, mõõdan neopikselite suhtes 69 mA. Eeldades, et kell on 12 tundi päevas välja lülitatud, säästab täielik väljalülitamine: 5 (volti toide) * 69/1000 (Miliampere / 1000 = amprit) * 12 (tundide arv päevas) * 365 (päevade arv aasta) = 1511 vatt -tundi. Seega aastas 1,5 Kwh. Olen nõus, see pole iseenesest palju, aga paljud väikesed teevad suure.

Vooluahel on lihtne. Toiteploki pluss lülitub P-kanaliga MosFet. Radariandur määrab, kas neopikslid on sisse või välja lülitatud. Olen pannud kaks MosFeti paralleelselt, et hoida MosFetsi kadumise tõttu ON -takistus võimalikult madal. Tavalises kasutuses mõõdan MosFetsi kohal 4, 5 mili volti. Väravat juhitakse Arduino väljundi 4 kaudu 470 Kohm takisti kaudu. Kui väljund läheb digitaalselt madalale (0), on neopikslid sisse lülitatud ja kõrgel (1) välja lülitatud.

10. samm: naeratus Wordi kellal

Naeratus Sõnakellal
Naeratus Sõnakellal
Naeratus Sõnakellal
Naeratus Sõnakellal

Naeratus sõnakellal.

Aeg -ajalt ilmub kellale naeratus. See teeb aga õnnelikuks.

Smiley käivitab radariandur. Liikumise (reguleeritav) kordade arv näitab Smiley välimust. Märgid % näitavad, et liikumine on tuvastatud. Iga kümnenda (reguleeritava) liigutusega tuleb Smiley välja Winky Face ja kolme korra pärast Winky Face neljandat korda, kui Smiley Face keele välja pistab.

Smiley on väike muudatus koodis.

Samm: milliseid raamatukogusid kasutatakse

Milliseid raamatukogusid kasutatakse.

Ma kasutan neid Windows 7 -s koos Arduino IDE 1.6 -ga ja neid on testitud ka Windows 10 -s koos Adruino IDE 1.8.8 -ga

RTClib-master

Arduino-DS3231-master

Adafruit_NeoPixel-master

Arduino-DCF77-master

Ken Shirriffi IRremote raamatukogu

Kuna kasutatav raamatukogu on alati segaduses, lisan selle, mida kasutan.

IRremote raamatukogu kasutab palju mälu. IRremote.h -s on näidatud, et saate keelata kasutamata protokolli

// Iga kaasatud protokoll maksab mälu ja dekodeerimise ajal kulub aega // Keela (seatud väärtusele 0) kõik protokollid, mida te ei vaja/ei soovi!

Mul on kõik välja lülitatud, välja arvatud NEC ja Samsungi protokoll. See säästab mälu 10%. Hetkel pole mälu mahuga enam probleeme, seega ei ole praegu väljalülitamine vajalik.

12. samm: lihtne IR -kaugjuhtimispult

Lihtne IR kaugjuhtimispult
Lihtne IR kaugjuhtimispult
Lihtne IR kaugjuhtimispult
Lihtne IR kaugjuhtimispult
Lihtne IR kaugjuhtimispult
Lihtne IR kaugjuhtimispult

Kokkupanek

Nagu fotodelt näha, on LED 132 auk osutunud pisut liiga suureks. Kasutasin seda hästi ja lisasin sellele IR -vastuvõtja. Ühendage infrapuna vastuvõtja VS1838 andmestik Arduino tihvtiga 7. Lisaks ühendage pluss ja miinus toiteallikas. Infrapuna vastuvõtja kasutab 0,21 mA ja selle saab pärast FET -lülitit ühendada ka pluss toiteallikaga. Selle tulemusel säästetakse 50% ajast 50 V ajast * 0,21 mA / 1000 * 12 tundi * 365 päeva * 1 / 0,85 kasuteguriga toiteallikat = 5,4 vatti aastas. See ei tundu palju, kuid iga pisku aitab.

Toimimine on järgmine

Vajutage IR -kaugjuhtimispuldi mis tahes klahvi ja seejärel nuppu OK. Esmakordsel vajutamisel jõuate IR -töötlusse ja teisel korral tuvastate, kas see oli põhjendatud taotlus. Teine kord OK peab esimese klahvivajutuse järel kiiresti järgnema, sest vastasel korral läheb see uuesti tagasi. Tegin selle konstruktsiooni nii, et vaevalt sain esimese koodi õigesti dekodeeritud ja seetõttu ei sattunud see IR -käitlusse.

Infrapunakäsitlusse lülitub info saamiseks mitu LED -i, selgituste saamiseks lugege edasi ja vaadake esimest pilti.

Kirjeldus on lihtsa kaugjuhtimispuldi kohta, kuid saate kasutada mis tahes kaugjuhtimispulti ja määrata oma võtmed. Kasutasin ka Samsungi kaugjuhtimispulti.

Esimesed neli klahvi vastavad LED -ide ülemisele neljale reale. Neli LED -i pöörlevad sõltuvalt seadistusest vasakule või paremale. Klahvide 1 kuni 4 vajutamisel muutub olek vastupidiseks ja salvestatakse mällu.

1 fikseeritud värvi või vikerkaare efekt

2 sekundi välk välja lülitatud või teine välk sisse lülitatud

3 smiley off smiley on

4 DCF77 välja lülitatud või DCF77 sisse lülitatud

Võtme number kuvatakse järgmistel klahvidel

5 emotikonide loendur

6 vikerkaare spektri laiust

7 parandage punane säte

8 parandage roheline seade

9 fikseerige sinine säte

Valgusdioodide read 6, 7 ja 8 vastavad nüüd seatud väärtusele, rida 6 tähistab ühikuid, rida 7 kümneid ja rida 8 sada. Iga rida algab nulliga. Seega on rea esimene led 0, teine 1 jne.

0 aja seadistus

/\ heleduse seade

Kui vajutate nuppu 0, süttivad "kümme" LED -indikaatorit, mis näitab, et soovite kellaaega määrata, ja kui vajutate nuppu 0 teist korda, kuvatakse ekraanile määratud aeg.

Aega saab nüüd seadistada ja seda näidatakse ekraanil.

Seadistage õige aeg ja seejärel, kui võrdluskella minutid on samad, vajutage nuppu OK.

Aega reguleeritakse.

Kui te ei kasuta minutite või tundide nuppu, siis aega ei muudeta. Kui te neid vajutate, määratakse aeg kohe.

Klahvide 5 kuni 9 väärtust saab klahvidega muuta

parem pluss 1

vasakul on miinus 1

edasi on pluss 10

tagurpidi on miinus 10.

ja aja seadistamiseks

parem on pluss 1 minut

vasakul on miinus 1 minut

edasi on pluss 1 tund

tagurpidi on miinus 1 tund

Mõnikord juhtub, et klahvivajutust ei tunta ära või seda tehakse kaks korda. Nii et pöörake tähelepanu, kui seade läheb hästi, muidu proovige või parandage uuesti. Samsungi kaugjuhtimispult, mida ma ka testisin, töötas mitu korda paremini kui (väga odav) lihtne kaugjuhtimispult.

Värvi määrates näete muudatust otse kogu ekraanil. Värvide ülevaatega saidi leiate aadressilt https://www.helderester.nl/kleurentabel.html. Loomulikult saate määrata mis tahes väärtuse.

Kui vikerkaare spektri laiuse väärtus on 0, on spekter väga kitsas ja ekraanil on üks värv, mis muutub pidevalt.

Sellise kellaaja määramise puuduseks on see, et te ei saa suve / talve üleminekut arvutada, kuna meil on kuupäev vale. Kella enda jaoks pole see oluline, sest me ei kasuta seda praegu.

13. samm: mis Nexts?

Mis Nexts?
Mis Nexts?

Edasine, heli, kui vaba mälu on endiselt piisav.

Valjuhääldikarbid on mul juba olemas. Need on pärit vanast sülearvutist.

Soovitan: