Turinys:
- 1 žingsnis: laikrodžio dėklas
- 2 žingsnis: Neopikseliai
- 3 žingsnis: priekinio teksto reguliavimas
- 4 žingsnis: pilnas vaivorykštės efektas
- 5 žingsnis: įvairūs komponentai
- 6 veiksmas: laikrodžio kodas
- 7 veiksmas: aparatinės įrangos aprašymas
- 8 veiksmas: LDR, skirtas neopikselių ryškumo kontrolei
- 9 žingsnis: WS2812B energijos suvartojimo mažinimas
- 10 veiksmas: šypsenėlė ant „Word Clock“
- 11 veiksmas: naudojamos bibliotekos
- 12 veiksmas: paprastas IR nuotolinio valdymo pultas
- 13 žingsnis: kokie „Nexts“?
Video: Vaivorykštinis žodžių laikrodis su visu vaivorykštės efektu ir dar daugiau: 13 žingsnių (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Tikslai
1) Paprasta
2) nėra brangus
3) Kiek įmanoma taupiau naudoti energiją
Vaivorykštinis žodinis laikrodis su visišku vaivorykštės efektu.
Šypsenėlė ant žodžio laikrodžio.
Paprastas IR nuotolinio valdymo pultas
Atnaujinkite 03-nov-18 LDR, skirtą neopikselių ryškumo kontrolei
Atnaujinimas 01-sausio 19 WS2812B energijos suvartojimo mažinimas.
Atnaujinta sausio 15-osios šypsenėlė.
Atnaujinimas sausio 23 d. Kodas 1.6
Atnaujinkite 10-kovo-19 bibliotekų nuorodas
Atnaujinti 14-balandžio 19 versiją 1.7 Pasirinkti šypsenėlių įjungimo/išjungimo vaivorykštės/taisymo fermentą.
Paskutinis atnaujinimas 01-jun-19 versija 2.0 IR nuotolinio valdymo pultas ir kodo pertvarkymas
1 žingsnis: laikrodžio dėklas
Naudojant keletą paprastų įrankių ir šiek tiek įgūdžių, nėra sunku padaryti raidžių laikrodį. Aš naudojau man prieinamas medžiagas.
Korpusui naudojau šiurkščią pušies juostą, kurioje pjoviau kelis rėmus. Taip būtų padarytos keturios korpuso pusės, kurios buvo suklijuotos ir sutvirtintos nedideliu medžio gabalu kampuose. Tada medieną reikia šlifuoti ir dažyti.
Raidės iš folijos iškirptos spausdintuvu veidrodiniu raštu. Folija yra stiklo plokštės gale ir yra padengta dvigubo sluoksnio rašto popieriumi, kad būtų geriau paskirstytas šviesa. Stiklas tvirtinamas silikoniniu sandarikliu.
2 žingsnis: Neopikseliai
Neopikselių šviesos diodai išdėstyti ant medinės plokštės. Pirmiausia išgręžkite 3 mm skyles. Priekyje jie padidinami iki raidės dydžio iki 3/4 gylio. Po to 3 mm gale padidinamas iki 10 mm, tai yra neopikselio dydis. Kai kuriems simboliams, be kita ko, W, skylė turėtų būti šiek tiek pakoreguota.
Aš naudojau fanerą, kuri greitai suskilinėjo, MDF gali būti geresnis.
Naudodami atskirus šviesos diodus, jūs neprisirišate prie fiksuoto atstumo, o tai yra su LED juostelėmis. Šviesos diodai turi būti sujungti vienas su kitu. Tai galite padaryti su visais trumpais vielos gabalais. Tačiau dvi min. (-) jungtys yra tokios pačios kaip dvi pliusinės (+) jungtys, sujungtos iš vidaus, taigi tas pats ryšys.
Galite sutaupyti daug darbo, lituodami vielos gabalėlį prie kairiojo ir tada prie dešiniojo šviesos diodo. Tada lituokite tarpinius.
Duomenų ryšys, žinoma, turi būti sudarytas iš trumpų dalių, nes duomenų išvestis patenka į duomenų įvestį.
3 žingsnis: priekinio teksto reguliavimas
Priekinė plokštė dabar yra olandų kalba, bet tiesiog konvertuojama į bet kurią kalbą.
„NeoPixels“šviesos diodai čia keičiami iš eilės nuo 0 iki 167. Numeravimas eina iš pirmosios eilutės viršuje kairėje į dešinę, o paskui į antrą eilutę iš dešinės į kairę ir tt. Reguliavimą galima atlikti pagal savo poreikius. „NeoPikselių“skaičių lemia simbolių skaičius. Mažiau ar daugiau neopikselių galima koreguoti šioje eilutėje
#define NUMPIXELS 168 // Kiek „NeoPixels“pridedama prie „Arduino“?
168 yra kitas skaičius. Numeravimas prasideda nuo 0. Galite sukurti bet kokį tekstą. Jei pakeisite tekstą, taip pat turėsite pakoreguoti atitinkamus žodžius. Numeracija išlieka ta pati.
Pavyzdžiui, protokole DRIE nustatomas kode
void zetmDrie () {
Led_Aan [56] = 1, Led_Aan [57] = 1, Led_Aan [58] = 1, Led_Aan [59] = 1; // min-sausas
}
Jei norite padaryti žodį „Arduino“, jis skamba taip:
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
}
Taigi galite sudaryti žodžius tarp jų.
Laikrodžio žodžiams naudinga, jei jie sudaro gretimą žodį, tačiau tai nėra absoliučiai būtina. Nepanaudotoms raidėms nereikia neonpikselių. Aš juos visus užpildau, kad galėčiau pasinaudoti kitomis ateities galimybėmis, išskyrus rodomą laiką.
Jei pakeisite pradinį tašką arba paveldėjimo seką, numeracija turėtų atitinkamai pasikeisti.
4 žingsnis: pilnas vaivorykštės efektas
Laikrodis dabar yra taip užprogramuotas, kad skaičiuojama, kiek kartų per sekundę įjungta neopikselių.
Visas spektras yra maždaug padalintų ir šiek tiek pasislinkusių skaičius. Dėl to kiekvienas neopikselis turi skirtingą spalvą, kuri nuolat keičiasi. Neopikselis Nr. 1 ir Nr. 167 seka vienas kitą tam tikromis spalvomis.
Jei tuo pačiu metu norite mažiau skirtingų spalvų, tai lengva sureguliuoti. Spalva vis dar keičiasi visame spektre, tačiau su mažesne jos dalimi. Neopikseliai Nr. 1 ir Nr. 167 nebeseina vienas su kitu dėl tam tikrų spalvų.
Ryškumą galima nustatyti šioje eilutėje, pikseliai.setBrightness (150);
Mažesnis skaičius yra mažesnis, o didesnis - daugiau ryškumo.
5 žingsnis: įvairūs komponentai
Šiuos komponentus naudojau
Arduino Pro Mini ATMEGA328 5V/16MHz
Laikrodžio modulis DS3231
168 vienetų „Neopixels“LED WS2812 LED mikroschema ir radiatorius 5V 5050 RGB WS2811 IC Integruotas
Folijos raidžių trafaretas
DCF77 imtuvas
6 veiksmas: laikrodžio kodas
Čia yra kodas. Pridėtas ryškumo valdymas ir išjungimas, kai niekas nėra ir naktį.
Pridėtas RCWL-0516 radaro mikrobangų judesio jutiklis (ieškokite RADAR)
Po 10 minučių nejudėjimo „NeoPixels“užgęsta.
Apie 2.0 versiją
Atminties naudojimas buvo per didelis, kompiliatoriuje pritrūko įspėjimų. Štai kodėl aš visiškai pakeičiau kodą, tačiau operacija liko ta pati ir buvo pridėtas IR imtuvas.
Yra kodo dalis, skirta EEPROM pateikti duomenis. Paleiskite tai vieną kartą, laikinai pašalindami / * ir * /. Ieškokite => paleiskite tai vieną kartą, kad pateiktumėte EEPROM duomenis
Tuštumos kilpos pradžioje yra kodas, skirtas nuskaityti kodą iš savo nuotolinio valdymo pulto. Tai galite paleisti laikinai pašalindami / * ir * /, nepamirškite vėliau juos grąžinti. Taip pat galite nustatyti savo mygtukus. Perskaitytas kodas turi būti įvestas => Čia apibrėžkite savo mygtukus
„Samsung“nuotolinio valdymo pultas veikia geriau nei (labai pigus) paprastas.
7 veiksmas: aparatinės įrangos aprašymas
Yra įvairių „Arduino Pro Mini“versijų. Atminkite, kad jungtys gali skirtis.
Pridėtas RCWL-0516 mikrobangų judesio jutiklis.
Kol šalia laikrodžio juda, „NeoPixel“lieka įjungtas
ir kai tik nebejudama, „NeoPixel“po kelių minučių išsijungia.
2.0 versijoje DCF77 imtuvas maitinamas per kaištį 13. Šis kaištis yra apibrėžiamas kaip išėjimas ir nustatytas aukštas, kai sprendžiama DCF77 rutina. Imtuvas DCF77 naudoja 0,28 mA ir yra reikalingas tik kelias minutes per dieną.
Išjungimas taupo
5 voltai * 0,28 mA / 1000 * 24 valandos * 365 dienos * 1 / 0,85 efektyvumo maitinimo šaltinis = 14,4 vatai per metus.
Tai neatrodo daug, bet kiekviena dalis padeda.
8 veiksmas: LDR, skirtas neopikselių ryškumo kontrolei
Pridėtas LDR neopikselių ryškumo valdymui.
Aš priklijavau LDR į neopikselio 103. erdvę. Šis nenaudojamas laiko rodinyje ir todėl neturi įtakos reguliavimui. Popierius slopina krintančią šviesą, tačiau tai nėra problema.
LDR ir 20 kohm rezistoriaus įtampos daliklis eina į „Arduino Pro Mini“A0. Įtampa yra šviesos intensyvumo rodiklis, taigi ir šviesos kiekio, kurį turi suteikti neopikseliai, rodiklis.
Naudojama formulė leidžia man gerai valdyti šviesą, ją galima koreguoti atsižvelgiant į aplinkybes. Priklausomai nuo šviesos kiekio, įtampa gali svyruoti nuo 0 iki 5 voltų, o tai paverčiama 0–1024 skaičiais, kurie yra „LDRValue“.
Jei nauja išmatuota vertė yra didesnė už paskutinę apskaičiuotą vertę, intensyvumas padidinamas 1, jei ji yra mažesnė nei sumažinta 1 ir jei ji lygi, nieko nedaroma. Norint, kad vertė vyktų lėtai, kad nebūtų mirksėjimo efekto, padidėja arba sumažėja tik 1 ir kadangi skaičiavimas yra cikle, jis perskaičiuojamas tik 25 kartus perėjus ciklą.
Intensyvumas teoriškai yra ne mažesnis kaip 20 ir ne didesnis kaip 1024/7 + 45 = 191. (žr. pixels.setBrightness (150))
2.0 versijoje valdiklį galite nustatyti nuotolinio valdymo pultu. Pridėti šie parametrai: „Brightness_min“kaip minimalus ir „Brightness_max“kaip maksimalus nustatymas ir „Brightness_Offset“kaip nustatymo parametras. „Brightness_min“ir „_max“yra vertės, kurios gali priklausyti nuo jūsų situacijos. „Brightness_Offset“yra vertė, kurią galima nustatyti nuotolinio valdymo pultu ir kuria galima nustatyti daugiau ar mažiau ryškumą.
Tarp išmatuotos LDRV vertės ir apskaičiuotų BerLDRValue reikšmių taip pat yra 3 negyvos juostos.
Norėdami patikrinti ryškumo nustatymą, naudokite spausdinimo teiginius tuščioje „BrightnessControl“.
9 žingsnis: WS2812B energijos suvartojimo mažinimas
WS2812B adresuojamų neopikselių tvarkyklės traukia srovę net tada, kai neopikseliai yra išjungti, nustatyta į 0 spalvą (neužsidega jokie neopikselių elementai).
Kai visi 169 neopikseliai išeina, aš matau 69 mA neopikselius. Darant prielaidą, kad laikrodis yra išjungtas 12 valandų per dieną, visas išjungimas sutaupo: 5 (voltų maitinimo šaltinis) * 69/1000 (milijamperis / 1000 = amperų) * 12 (valandų skaičius per dieną) * 365 (dienų skaičius per metai) = 1511 vatų valandų. Taigi kasmet 1,5 Kwh. Sutinku, tai savaime nėra daug, bet daugelis mažų daro didelę.
Grandinė yra paprasta. Maitinimo šaltinio pliusą perjungia P kanalo „MosFet“. Radaro jutiklis nustato, ar neopikseliai yra įjungti, ar išjungti. Aš įdėjau du „MosFet“lygiagrečius, kad dėl „MosFets“praradimo būtų kuo mažesnis ON pasipriešinimas. Įprastai naudojant „MosFets“matuoju 4, 5 mili voltų. Vartai valdomi 4 išėjimu iš „Arduino“per 470 Kohm rezistorių. Jei išvestis skaitmeniniu būdu pasiekia žemą (0), neopikseliai yra įjungti, o aukštai (1) jie yra išjungti.
10 veiksmas: šypsenėlė ant „Word Clock“
Šypsenėlė ant žodžio laikrodžio.
Laikrodyje kartais pasirodo šypsenėlė. Tačiau tai daro jus laimingu.
„Smiley“suaktyvina radaro jutiklis. Judėjimo (reguliuojamo) kartų skaičius yra „Smiley“išvaizdos matas. % Ženklai rodo, kad buvo aptiktas judesys. Su kiekvienu dešimtu (reguliuojamu) judesiu „Smiley“sugalvoja „Winky Face“, o po trijų „Winky Face“- ketvirtą kartą, kai „Smiley Face“iškiša liežuvį.
„Smiley“yra nedidelis kodo pakeitimas.
11 veiksmas: naudojamos bibliotekos
Kurios bibliotekos naudojamos.
Aš juos naudoju „Windows 7“su „Arduino IDE 1.6“ir jie taip pat buvo išbandyti „Windows 10“su „Adruino IDE 1.8.8“
RTClib-master
„Arduino-DS3231-master“https://github.com/jarzebski/Arduino-DS3231
„Adafruit_NeoPixel-master“https://github.com/adafruit/Adafruit_NeoPixel
„Arduino-DCF77-master“https://github.com/thijse/Arduino-DCF77
Ken Shirriff IRremote biblioteka
Kadangi visuomet kyla painiavos dėl naudojamos bibliotekos, pridedu tą, kurią naudoju.
„IRremote“biblioteka naudoja daug atminties. „IRremote.h“nurodoma, kad galite išjungti bet kokį nepanaudotą protokolą
// Kiekvienas jūsų įtrauktas protokolas kainuoja atmintį, o dekodavimo metu - laiką // Išjungti (nustatyti į 0) visus jums nereikalingus/norimus protokolus!
Turiu viską išjungtą, išskyrus NEC ir „Samsung“protokolą. Tai leidžia sutaupyti 10%atminties. Šiuo metu nebėra problemų su atminties kiekiu, todėl išjungimas šiuo metu nėra būtinas.
12 veiksmas: paprastas IR nuotolinio valdymo pultas
Surinkimas
Kaip matote nuotraukose, LED 132 skylė pasirodė šiek tiek per didelė. Aš tai gerai panaudojau ir pridėjau prie jo IR imtuvą. Prijunkite IR imtuvo VS1838 duomenų kaištį prie „Arduino“7 kaiščio. Be to, prijunkite pliuso ir minuso maitinimo šaltinį. IR imtuvas naudoja 0,21 mA ir taip pat gali būti prijungtas prie plius maitinimo šaltinio po FET jungiklio. Dėl to, jei laikrodis veikia 50% laiko, sutaupoma 5 voltų * 0,21 mA / 1000 * 12 valandų * 365 dienų * 1 / 0,85 efektyvumo maitinimo šaltinis = 5,4 vatai per metus. Tai neatrodo daug, bet kiekviena dalis padeda.
Operacija yra tokia
Paspauskite bet kurį IR nuotolinio valdymo pulto klavišą, tada - mygtuką OK. Kai pirmą kartą paspausite, baigsite IR apdorojimą, o antrą kartą sužinosite, ar tai buvo pagrįstas prašymas. Antrą kartą OK turi greitai paspausti pirmąjį klavišo paspaudimą, nes priešingu atveju jis vėl sugrįš. Aš padariau šią konstrukciją taip, kad vargu ar teisingai iššifravau pirmąjį kodą, todėl nepateko į IR apdorojimą.
Kai pradedama valdyti IR, tada užsidega daugybė šviesos diodų, kad gautumėte informacijos, paaiškinimą skaitykite toliau ir peržiūrėkite pirmąjį vaizdą.
Aprašymas skirtas paprastam nuotolinio valdymo pultui, tačiau galite naudoti bet kurį nuotolinio valdymo pultą ir nustatyti savo raktus. Aš taip pat naudoju „Samsung“nuotolinio valdymo pultą.
Pirmieji keturi klavišai atitinka keturias viršutines šviesos diodų eilutes. Keturi šviesos diodai sukasi į kairę arba į dešinę, priklausomai nuo nustatymo. Paspaudus klavišus nuo 1 iki 4, būsena pasikeičia ir išsaugoma atmintyje.
1 fiksuotos spalvos arba vaivorykštės efektas
2 sekundžių blykstė išjungta arba antra blykstė įjungta
3 smiley off smiley on
4 DCF77 išjungtas arba DCF77 įjungtas
Rakto numeris rodomas šiuose klavišuose
5 šypsenėlių skaitiklis
6 vaivorykštės spektro plotis
7 pataisykite raudoną nustatymą
8 pataisykite žalią nuostatą
9 pataisykite mėlyną nustatymą
Šviesos diodų 6, 7 ir 8 eilutės dabar atitinka nustatytą vertę, 6 eilutė nurodo vienetus, 7 eilutė - dešimtis, o 8 eilutė - šimtą. Kiekviena eilutė prasideda nuo nulio. Taigi pirmasis eilutės vedlys yra 0, antrasis - 1 ir tt
0 laiko nustatymas
/\ ryškumo nustatymas
Paspaudus mygtuką 0, užsidega „dešimt“šviesos diodai, rodantys, kad norite nustatyti laiką, o antrą kartą paspaudus 0, ekrane pasirodo nustatytas laikas.
Dabar galima nustatyti laiką ir jis rodomas ekrane.
Nustatykite teisingą laiką ir tada, jei etaloninio laikrodžio minutės yra vienodos, paspauskite mygtuką Gerai.
Laikas sureguliuotas.
Jei nespausite minučių ar valandų mygtuko, laikas nebus keičiamas. Jei juos paspausite, laikas bus nustatytas iš karto.
Klavišų nuo 5 iki 9 reikšmę galima pakeisti klavišais
teisybė plius 1
kairėje yra minus 1
pirmyn plius 10
atvirkščiai - minus 10.
ir dėl laiko nustatymo
dešinė yra plius 1 minutė
liko minus 1 minutė
pirmyn plius 1 valanda
atvirkščiai - minus 1 valanda
Kartais atsitinka taip, kad klavišų paspaudimas nėra atpažįstamas arba atliekamas du kartus. Taigi atkreipkite dėmesį, jei nustatymas veikia gerai, kitaip bandykite arba ištaisykite dar kartą. „Samsung“nuotolinio valdymo pultas, kurį taip pat išbandžiau, dirbo daug kartų geriau nei (labai pigus) paprastas nuotolinio valdymo pultas.
Nustatydami spalvą pakeitimą matote tiesiai visame ekrane. Svetainę su spalvų apžvalga rasite https://www.helderester.nl/kleurentabel.html. Žinoma, galite nustatyti bet kokią vertę.
Jei vaivorykštės spektro plotis yra 0, spektras yra labai siauras, o ekranas turi vieną spalvą, kuri nuolat keičiasi.
Taip nustatant laiką, trūkumas yra tas, kad negalite apskaičiuoti vasaros / žiemos perėjimo, nes data neteisinga. Pačiam laikrodžiui tai nesvarbu, nes dabar jo nenaudojame.
13 žingsnis: kokie „Nexts“?
Toliau, garsas, jei vis dar pakanka laisvos atminties.
Aš jau turiu garsiakalbių dėžes. Jie yra iš seno nešiojamojo kompiuterio.
Rekomenduojamas:
Žodinis laikrodis su vaivorykštės efektu ir fonine šviesa: 6 žingsniai
Žodinis laikrodis su vaivorykštės efektu ir fonine šviesa: pradžia yra. Priekinė plokštė yra 40 x 40 cm ir yra paruošta
Keturių raidžių žodžių laikrodis su Akafugu žodžių generatoriumi ir įkvepiančiomis frazėmis: 3 žingsniai
Keturių raidžių žodžių laikrodis su Akafugu žodžių generatoriumi ir įkvepiančiomis frazėmis: tai yra mano keturių raidžių žodžių laikrodžio versija, idėja, kilusi dar aštuntajame dešimtmetyje. Laikrodis rodo keturių raidžių žodžių seriją, sukurtą naudojant atsitiktinių žodžių generatoriaus algoritmą arba iš susijusių keturių raidžių duomenų bazės
O-R-A RGB LED matricinis sieninis laikrodis ir dar daugiau ** atnaujintas 2019 m. Liepos mėn. **: 6 žingsniai (su nuotraukomis)
O-R-A RGB LED matricinis sieninis laikrodis ir daugiau ** atnaujintas 2019 m. Liepos mėn. **: Sveiki. Štai aš su nauju projektu, pavadintu O-R-AIt yra RGB LED matricos sieninis laikrodis, rodantis: valanda: minutė temperatūra drėgmė dabartinė oro sąlygų piktograma „Google“kalendoriaus įvykiai ir 1 valandos priminimų pranešimai tam tikru laiku, kai ji rodo:
Žaismingi slėgiui jautrūs įklotai (skaitmeninėms žaidimų aikštelėms ir dar daugiau): 11 žingsnių (su nuotraukomis)
Žaismingi slėgiui jautrūs įklotai (skaitmeninėms žaidimų aikštelėms ir dar daugiau): tai instrukcija, skirta parodyti, kaip padaryti slėgiui jautrią trinkelę, kurią galima naudoti skaitmeniniams žaislams ar žaidimams kurti. Jis gali būti naudojamas kaip didelio masto jėgai jautrus rezistorius ir, nors ir žaismingas, gali būti naudojamas rimtesniems projektams
Išsamių dalių liejimas: protezuoti pirštai (kurie švyti, keičia spalvą kaitinant ir dar daugiau ): 10 žingsnių (su nuotraukomis)
Išsamių detalių liejimas: protezuoti pirštai (kurie švyti, keičia spalvą karščiu ir dar daugiau …): tai vadovas, kaip pigiai išmesti mažas, sudėtingas dalis. Reikėtų pasakyti, kad nesu liejimo ekspertas, bet kadangi būtinybė dažnai yra išradimų motina - kai kurie procesai čia veikė gerai. Susitikau su Nigel Ackland „Future Fest“Londone ir