Sadržaj:

Dugin sat sa riječima s punim efektom duge i više: 13 koraka (sa slikama)
Dugin sat sa riječima s punim efektom duge i više: 13 koraka (sa slikama)

Video: Dugin sat sa riječima s punim efektom duge i više: 13 koraka (sa slikama)

Video: Dugin sat sa riječima s punim efektom duge i više: 13 koraka (sa slikama)
Video: Halil Cibran / Kırık Kanatlar (Sesli Kitap-Tek Parça) 2024, Srpanj
Anonim
Dugin sat sa riječima s punim efektom duge i više
Dugin sat sa riječima s punim efektom duge i više

Ciljevi

1) Jednostavno

2) Nije skupo

3) Što je energetski učinkovitije moguće

Rainbow Word Clock sa punim efektom duge.

Smajlić na satu riječi.

Jednostavno IC daljinsko upravljanje

Ažurirajte LDR 03-nov-18 za kontrolu svjetline neopiksela

Ažuriranje 01-jan-19 Smanjuje potrošnju energije WS2812B.

Ažurirajte Smiley 15-jan-19.

Ažuriranje 23-jan-19 Code 1.6

Ažurirajte veze knjižnica 10. ožujka 19

Ažuriranje 14. travnja 19. verzija 1.7 Izbor smajlija za uključivanje/isključivanje boje duge/popravljanje enz.

Zadnje ažuriranje 01. lipnja 19 verzija 2.0 IR daljinski upravljač i redizajn koda

Korak 1: Kućište za sat

Kućište za sat
Kućište za sat
Kućište za sat
Kućište za sat
Kućište za sat
Kućište za sat

Uz neke jednostavne alate i malo vještine, nije teško izraditi slovni sat, upotrijebio sam materijale koji su mi dostupni.

Za kućište sam upotrijebio grubu borovu šipku u koju sam izrezao nekoliko okvira. Tako bi nastale četiri strane kućišta, koje su zalijepljene zajedno i ojačane malim komadom drveta u uglovima. Tada drvo treba brusiti i bojati.

Slova štampač izrezuje slova iz folije. Folija se nalazi na stražnjoj strani staklene ploče i prekrivena je dvoslojnim papirom za bolju raspodjelu svjetlosti. Staklo je učvršćeno silikonskim brtvilom.

Korak 2: Neopikseli

Neopikseli
Neopikseli
Neopikseli
Neopikseli
Neopikseli
Neopikseli
Neopikseli
Neopikseli

LED diode neopiksela postavljene su na drvenu ploču. Ovdje prvo izbušite rupe od 3 mm. Sprijeda su povećane do veličine slova do 3/4 dubine. Nakon toga se 3 mm straga povećava na 10 mm, ovo je veličina neopiksela. Za neke znakove, među ostalim i W, rupu je potrebno malo prilagoditi.

Koristio sam šperploču koja se brzo raspala, MDF bi mogao biti bolji.

Kod pojedinačnih LED dioda niste vezani na fiksnu udaljenost, što je slučaj s LED trakama. LED diode moraju biti međusobno povezane. To možete učiniti sa svim kratkim komadima žice. No dvije min (-) veze su isto kao dvije plus (+) veze interno povezane, dakle ista veza.

Možete si uštedjeti mnogo posla lemljenjem komada žice na lijevu LED, a zatim na desnu LED. Zatim lemite srednje.

Podatkovna veza mora, naravno, biti kratka jer podaci izlaze na ulaz podataka.

Korak 3: Podešavanje prednjeg teksta

Podešavanje prednjeg teksta
Podešavanje prednjeg teksta
Podešavanje prednjeg teksta
Podešavanje prednjeg teksta
Podešavanje prednjeg teksta
Podešavanje prednjeg teksta

Prednja ploča sada je na nizozemskom, ali jednostavno za pretvaranje na bilo kojem jeziku.

LED diode NeoPixels ovdje se uzastopno mijenjaju od 0-167. Numeriranje ide od prvog reda gore slijeva nadesno, a zatim u drugi red zdesna nalijevo itd. Podešavanje se može izvršiti prema vašim potrebama. Broj NeoPixela određen je količinom znakova. Manje ili više Neopiksela može se prilagoditi u sljedećem retku

#define NUMPIXELS 168 // Koliko je NeoPixela priključeno na Arduino?

168 je nego drugi broj. Numeriranje počinje s 0. Možete napraviti bilo koji tekst. Ako promijenite tekst, morat ćete prilagoditi i odgovarajuće riječi. Numeracija ostaje ista.

Kao primjer, DRIE zapisnika, određuje se u kodu

void zetmDrie () {

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

}

Ako želite napraviti riječ Arduino, to ide ovako:

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; // Riječ-arduino

}

Tako da možete stvarati riječi između.

Za satne riječi korisno je ako tvore susjednu riječ, ali to nije apsolutno potrebno. Neiskorištena slova ne trebaju neonpiksele. Sve sam ih napunio za korištenje budućih mogućnosti osim prikazanog vremena.

Ako promijenite početnu točku ili promijenite slijed uzastopca, numeriranje bi se moralo promijeniti u skladu s tim.

Korak 4: Potpuni efekt duge

Potpuni efekt duge
Potpuni efekt duge

Sat je sada tako programiran da se broj puta u sekundi broji koliko je neopiksela uključeno.

Ukupni spektar je otprilike broj podijeljenih, a zatim malo pomaknutih. Kao rezultat toga, svaki Neopixel ima drugu boju koja se stalno mijenja. Neopixel br. 1 i nr 167 slijede jedan drugog na određenoj boji.

Ako više volite manje različitih boja u isto vrijeme, to je lako prilagoditi. Boja se i dalje mijenja po cijelom spektru, ali s manjim dijelom. Neopixel nr 1 i nr 167 više ne slijede jedan drugog u nekoj boji.

Svjetlina se može postaviti u sljedećem retku, piksela.setBrightness (150);

Manji broj je manji, a veći broj više svjetline.

Korak 5: Razne komponente

Razne komponente
Razne komponente
Razne komponente
Razne komponente
Razne komponente
Razne komponente

Sljedeće komponente sam koristio

Arduino Pro Mini ATMEGA328 5V/16MHz

Modul sata DS3231

168 komada LED dioda sa LED diodama WS2812 od neopiksela i hladnjak 5V 5050 RGB WS2811 IC Ugrađeno

Šablona za slova u foliji

DCF77 prijemnik

Korak 6: Kôd za sat

Evo koda. Dodana je kontrola svjetline i isključivanje kad nema nikoga i noću.

Dodan radarski mikrovalni senzor pokreta RCWL-0516 (potražite RADAR)

Nakon 10 minuta bez kretanja, NeoPixels se gasi.

O verziji 2.0

Upotreba memorije bila je prevelika, upozorenja o nedostatku memorije u prevoditelju. Zato sam potpuno promijenio kôd, no operacija je ostala ista te je dodan IC prijemnik.

Postoji dio koda za pružanje podataka EEPROM -u. Pokrenite ovo jednom privremenim uklanjanjem / * i * /. Potražite => pokrenite ovo jednom kako biste EEPROM -u dali podatke

Na početku void petlje je kôd za čitanje koda s vašeg daljinskog upravljača. To možete pokrenuti privremenim uklanjanjem / * i * /, ne zaboravite ih nakon toga vratiti. Također možete definirati vlastite gumbe. Pročitani kôd morate unijeti u => Ovdje definirajte vlastite gumbe

Samsungov daljinski upravljač radi bolje od (vrlo jeftinog) jednostavnog.

Korak 7: Opis hardvera

Opis hardvera
Opis hardvera
Opis hardvera
Opis hardvera
Opis hardvera
Opis hardvera

Postoje različite verzije Arduino Pro Mini. Imajte na umu da se veze mogu razlikovati.

Dodan je mikrotalasni senzor pokreta RCWL-0516.

Sve dok postoji gibanje u blizini sata, NeoPixel ostaje uključen

i čim nema više pokreta NeoPixel se isključuje nakon nekoliko minuta.

U verziji 2.0, DCF77 prijemnik se napaja preko pina 13. Ovaj pin je definiran kao izlaz i postavljen je visoko kada se adresira DCF77 rutina. Prijemnik DCF77 koristi 0,28 mA i potreban je samo nekoliko minuta dnevno.

Isključivanje sprema

5 volti * 0,28 mA / 1000 * 24 sata * 365 dana * 1 / 0,85 učinkovito napajanje = 14,4 vata godišnje.

Ovo se ne čini puno, ali svaki djelić pomaže.

Korak 8: LDR za kontrolu svjetline neopiksela

LDR za kontrolu svjetline neopiksela
LDR za kontrolu svjetline neopiksela
LDR za kontrolu svjetline neopiksela
LDR za kontrolu svjetline neopiksela

Dodan je LDR za kontrolu svjetline neopiksela.

LDR sam zalijepio u prostor neopiksela 103. Ovaj se ne koristi u prikazu vremena i stoga ne utječe na regulaciju. Papir prigušuje upadno svjetlo, ali to nije problem.

Razdjelnik napona LDR -a i otpornika od 20 koma ide na A0 Arduino Pro Mini. Napon je pokazatelj intenziteta svjetlosti, a time i pokazatelj količine svjetlosti koju neopikseli moraju dati.

Formula koju koristim daje mi dobru kontrolu svjetla, može se prilagoditi ovisno o okolnostima. Ovisno o količini svjetla, napon može varirati između 0 i 5 volti što se pretvara u 0 do 1024 broja koji su u "LDRValue".

Ako je nova izmjerena vrijednost veća od posljednje izračunate vrijednosti, intenzitet se povećava za 1, ako je manji od smanjenog za 1 i ako je jednak, ništa se ne poduzima. Kako bi se vrijednost polako odvijala, tako da nema trepćućeg učinka, samo 1 se povećava ili smanjuje, a budući da je izračun u petlji, ponovno se izračunava nakon što je petlju prešao petlju.

Intenzitet je teoretski minimalno 20, a maksimum 1024/7 + 45 = 191. Maksimalna vrijednost koju sam izmjerio bila je 902, što iznosi intenzitet 173. To se dobro uklapa u 150 koje sam postavio kao zadanu vrijednost. (vidi piksele.setBrightness (150))

U verziji 2.0 možete postaviti kontrolu putem daljinskog upravljača. Dodani su sljedeći parametri: Svjetlina_min kao minimalna i Brightness_max kao maksimalna postavka i Brightness_Offset kao parametar postavke. Svjetlina_min i _max vrijednosti su koje mogu ovisiti o vašoj situaciji. Brightness_Offset je vrijednost koja se može postaviti daljinskim upravljačem i pomoću koje se može postaviti manje ili više svjetline.

Također postoji mrtvi pojas od 3 između izmjerene LDRValue i izračunatih BerLDRValue vrijednosti.

Pomoću izjava o ispisu u void BrightnessControl provjerite postavku svjetline.

Korak 9: Smanjenje potrošnje energije WS2812B

Smanjenje potrošnje energije WS2812B
Smanjenje potrošnje energije WS2812B

Upravljački programi na adresabilnim neopikselima WS2812B crpe struju čak i kad su neopikseli isključeni, postavljeni na boju 0 (ne svijetle elementi neopiksela).

Kad je svih 169 neopiksela vani, mjerim 69 mA na neopiksele. Pod pretpostavkom da je sat isključen 12 sati dnevno, ukupno isključenje tada štedi: 5 (napajanje Voltima) * 69/1000 (Miliampere / 1000 = Amper) * 12 (Broj sati dnevno) * 365 (Broj dana u godine) = 1511 Watt sati. Dakle na godišnjoj razini 1,5 Kwh. Slažem se, nije puno samo po sebi, ali mnoge male čine veliku.

Krug je jednostavan. Plus napajanja se uključuje pomoću P-kanalnog MosFeta. Radarski senzor određuje jesu li neopikseli uključeni ili isključeni. Postavio sam dva MosFeta paralelno kako bi otpor ON bio što manji zbog gubitka MosFeta. U normalnoj uporabi mjerim 4, 5 milivolta preko MosFetova. Vrata se upravljaju izlazom 4 iz Arduina preko otpornika od 470 Kohm. Ako izlaz digitalno padne na (0), neopikseli su uključeni, a na visokom (1) isključeni.

10. korak: Smiley na satu Word

Smiley na satu za riječi
Smiley na satu za riječi
Smiley na satu za riječi
Smiley na satu za riječi

Smajlić na satu riječi.

Povremeno se na satu pojavi smiješak. To vas, međutim, čini sretnima.

Smiley pokreće radarski senzor. Broj kretanja (podesivo) mjera je izgleda Smileyja. Znakovi % pokazuju da je kretanje otkriveno. Sa svakim desetim (podesivim) pokretom, Smiley dolazi s Winky Faceom, a nakon tri puta Winky Face dolazi četvrti put Smiley Face isplazi jezik.

Smiley je mala promjena u kodu.

Korak 11: Koje se knjižnice koriste

Koje se knjižnice koriste.

Koristim ih u sustavu Windows 7 s Arduino IDE 1.6, a također su testirani u sustavu Windows 10 s Adruino IDE 1.8.8

RTClib-master

Arduino-DS3231-master

Adafruit_NeoPixel-master

Arduino-DCF77-master

Biblioteka IRremote Kena Shirriffa

Budući da uvijek postoji zabuna oko knjižnice koja se koristi, dodajem onu koju koristim.

Knjižnica IRremote koristi puno memorije. U IRremote.h naznačeno je da možete onemogućiti sve neiskorištene protokole

// Svaki protokol koji uključite košta memoriju, a tijekom dekodiranja troši vrijeme // Onemogućite (postavite na 0) sve protokole koje ne trebate/ne želite!

Sve mi je onemogućeno osim protokola NEC i Samsung. To omogućuje uštedu memorije od 10%. Trenutno više nema problema s količinom memorije, pa zasad onemogućavanje nije potrebno.

Korak 12: Jednostavno IC daljinsko upravljanje

Jednostavno IC daljinsko upravljanje
Jednostavno IC daljinsko upravljanje
Jednostavno IC daljinsko upravljanje
Jednostavno IC daljinsko upravljanje
Jednostavno IC daljinsko upravljanje
Jednostavno IC daljinsko upravljanje

Skupština

Kao što možete vidjeti na fotografijama, pokazalo se da je rupa za LED 132 malo prevelika. Dobro sam to iskoristio i dodao mu IR prijemnik. Spojite podatkovni pin IC prijemnika VS1838 na pin 7 Arduina. Nadalje spojite plus i minus napajanje. IC prijemnik koristi 0,21 mA i mogao bi se spojiti na plus napajanje nakon prekidača FET. To rezultira uštedom, ako sat radi na 50% vremena, 5 V * 0,21 mA / 1000 * 12 sati * 365 dana * 1 / 0,85 učinkovito napajanje = 5,4 W godišnje. Ovo ne izgleda puno, ali svaki djelić pomaže.

Operacija je kako slijedi

Pritisnite bilo koju tipku na daljinskom upravljaču, a zatim tipku OK. Prvi put kada pritisnete, završit ćete u IC obradi, a drugi put ćete otkriti je li to bio opravdan zahtjev. Drugi put OK mora brzo slijediti prvi pritisak tipke jer se u suprotnom vraća natrag. Napravio sam ovu konstrukciju tako da jedva da sam ispravno dekodirao prvi kod, pa stoga nije završio u rukovanju IC -om.

Jednom u rukovanju IC -om, zatim se niz LED dioda uključuje za informacije, radi objašnjenja pročitajte dalje i pogledajte prvu sliku.

Opis je za jednostavan daljinski upravljač, ali možete koristiti bilo koji daljinski upravljač i definirati vlastite ključeve. Koristio sam i Samsung daljinski upravljač.

Prve četiri tipke odgovaraju prva četiri reda LED dioda. Četiri LED diode okreću se ulijevo ili udesno, ovisno o postavci. Kada se pritisnu tipke 1 do 4, stanje se obrće i sprema u memoriju.

1 efekt fiksne boje ili duga

2 sekunde isključen ili drugi uključen

3 smiley off smiley on

4 DCF77 isključen ili DCF77 uključen

Broj ključa prikazan je na sljedećim tipkama

5 brojač smajlija

6 širina spektra duginih boja

7 popravi crvenu postavku

8 popravi zelenu postavku

9 popravi plavu postavku

Red 6, 7 i 8 LED dioda sada odgovaraju zadanoj vrijednosti, red 6 označava jedinice, red 7 desetke, a red 8 stotinu. Svaki red počinje s vrijednošću nula. Dakle, prva led u redu je 0, druga je 1 itd.

0 podešavanje vremena

/\ postavka svjetline

Kad pritisnete gumb 0, "deset" LED lampica zasvijetli kako bi pokazalo da želite postaviti vrijeme, a kada pritisnete 0 drugi put, na zaslonu se prikazuje namješteno vrijeme.

Sada se može postaviti vrijeme i prikazano je na zaslonu.

Postavite točno vrijeme, a zatim, ako su minute iste na referentnom satu, pritisnite gumb OK.

Vrijeme je prilagođeno.

Ako ne pritisnete gumb za minute ili sate, neće se promijeniti vrijeme. Ako ih pritisnete, vrijeme će se odmah postaviti.

Vrijednost tipki 5 do 9 može se promijeniti tipkama

desno je plus 1

lijevo je minus 1

naprijed je plus 10

rikverc je minus 10.

i za postavljanje vremena

desno je plus 1 minuta

lijevo je minus 1 minuta

naprijed je plus 1 sat

rikverc je minus 1 sat

Ponekad se dogodi da pritisak na tipku nije prepoznat ili se izvede dva puta. Zato obratite pozornost ako postavka ide dobro. U protivnom pokušajte ispraviti ponovo. Samsungov daljinski upravljač koji sam također testirao radio je mnogo puta bolje od (vrlo jeftinog) jednostavnog daljinskog upravljača.

Prilikom postavljanja boje vidite promjenu izravno na cijelom zaslonu. Za web mjesto s pregledom boja pogledajte https://www.helderester.nl/kleurentabel.html. Naravno, možete postaviti bilo koju vrijednost.

Ako širina spektra duginih boja ima vrijednost 0, spektar je vrlo uzak i zaslon ima jednu boju koja se stalno mijenja.

Nedostatak postavljanja vremena na ovaj način je što ne možete izračunati prijelaz ljeto / zima jer imamo netočan datum. Za sam sat nije važno jer ga sada ne koristimo.

Korak 13: Koji Nexts?

Koji Nexti?
Koji Nexti?

Slijedi zvuk ako je slobodne memorije još uvijek dovoljno.

Već imam kutije za zvučnike. Oni su sa starog prijenosnog računala.

Preporučeni: