Sisukord:
- Samm: kella korpus
- 2. samm: Neopikslid
- 3. samm: esiteksti reguleerimine
- 4. samm: täielik vikerkaare efekt
- Samm: erinevad komponendid
- 6. samm: kella kood
- Samm: riistvara kirjeldus
- 8. samm: LDR neopikslite heleduse reguleerimiseks
- 9. samm: WS2812B energiatarbimise vähendamine
- 10. samm: naeratus Wordi kellal
- Samm: milliseid raamatukogusid kasutatakse
- 12. samm: lihtne IR -kaugjuhtimispult
- 13. samm: mis Nexts?
Video: Vikerkaare sõnakell täieliku vikerkaarefektiga ja palju muud: 13 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
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
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
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
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
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
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
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
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 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.
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
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?
Edasine, heli, kui vaba mälu on endiselt piisav.
Valjuhääldikarbid on mul juba olemas. Need on pärit vanast sülearvutist.
Soovitan:
Nutika mootorratta HUD prototüüp (samm-sammult navigeerimine ja palju muud): 9 sammu
Nutikas mootorratta HUD prototüüp (samm-sammult navigeerimine ja palju muud): Tere! See juhend on lugu sellest, kuidas ma projekteerisin ja ehitasin HUD (Heads-Up Display) platvormi, mis on mõeldud paigaldamiseks mootorrattakiivritele. See on kirjutatud konkursi "kaardid" kontekstis. Kahjuks ei suutnud ma seda täielikult lõpetada
VBScripti põhitõed - skriptide käivitamine, viivitused ja palju muud!: 5 sammu
VBScripti põhitõed - skriptide käivitamine, viivitused ja palju muud! Faile.vbs abil saate luua naljakaid nalju või surmavaid viirusi. Selles õpetuses näitan teile põhilisi käske, nagu skripti käivitamine, failide avamine ja palju muud. Kell t
Tegin vana CD -draivi Wifi -robotiks, kasutades Nodemcu, L298N mootori ajamit ja palju muud: 5 sammu
Tegin vana CD -draivi Wifi -robotiks, kasutades Nodemcu, L298N mootori ajamit ja palju muud: VX Robotics & Elektroonika kohal
Sõnakell vikerkaare efekti ja taustvalgustusega: 6 sammu
Sõnakell vikerkaare efekti ja taustvalgustusega: algus on olemas. Esiplaat on 40 x 40 cm ja valmis
Üksikasjalike osade valamine: proteesivad sõrmed (mis helendavad, muudavad kuumusega värvi ja palju muud ): 10 sammu (piltidega)
Üksikasjalike osade valamine: proteesivad sõrmed (mis helendavad, muudavad kuumusega värvi ja palju muud …): see on juhend väikeste ja keeruliste osade odava valamise kohta. Olgu öeldud, et ma pole casting -asjatundja, kuid kuna vajadus on sageli leiutiste ema - mõned siinsed protsessid on hästi toiminud. Kohtusin Nigel Acklandiga Londonis Future Festil ja