Innholdsfortegnelse:
- Trinn 1: Etui til klokken
- Trinn 2: Neopixels
- Trinn 3: Justere tekst foran
- Trinn 4: Full Rainbow -effekt
- Trinn 5: De forskjellige komponentene
- Trinn 6: Kode for klokken
- Trinn 7: Maskinvarebeskrivelsen
- Trinn 8: LDR for lysstyrkekontroll av neopikselene
- Trinn 9: Redusere WS2812B strømforbruk
- Trinn 10: Smilefjes på Word Clock
- Trinn 11: Hvilke biblioteker som brukes
- Trinn 12: Enkel IR -fjernkontroll
- Trinn 13: Hva følger med?
Video: Rainbow Word Clock med full Rainbow -effekt og mer: 13 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Mål
1) Enkel
2) Ikke dyrt
3) Så energieffektivt som mulig
Rainbow Word Clock med full regnbueeffekt.
En smiley på ordklokken.
Enkel IR fjernkontroll
Oppdater 03-nov-18 LDR for Brightness Control of Neopixels
Oppdatering 01-jan-19 Redusere WS2812B strømforbruk.
Oppdater 15-jan-19 Smiley.
Oppdater 23-jan-19 Kode 1.6
Oppdater 10-mar-19 biblioteker-lenker
Oppdater 14-apr-19 versjon 1.7 Choice smiley on/off collor rainbow/fix enz.
Siste oppdatering 01-jun-19 versjon 2.0 IR fjernkontroll og kodedesign
Trinn 1: Etui til klokken
Med noen enkle verktøy og litt dyktighet er det ikke vanskelig å lage en bokstavklokke. Jeg brukte materialene som var tilgjengelige for meg.
For saken brukte jeg en grov furubar der jeg saget noen rammer. Disse ville lage de fire sidene av saken, som ble limt sammen og forsterket med et lite treverk i hjørnene. Da trenger treet sliping og maling.
Bokstavene er kuttet ut av folie av en skriver i speilskriving. Folien er på baksiden av glassplaten og er dekket med et dobbeltlagsmønsterpapir for bedre lysfordeling. Glasset festes med silikonforsegling.
Trinn 2: Neopixels
Neopixels lysdioder er plassert på en treplate. I dette borer du først 3 mm hull. Foran forstørres de til bokstavstørrelse til 3/4 dybde. Etter det økes 3 mm på baksiden til 10 mm, dette er på størrelse med en Neopixel. For noen tegn, blant annet W, bør hullet justeres litt.
Jeg brukte kryssfiner som raskt splintret, MDF kan være bedre.
Med individuelle lysdioder er du ikke bundet til en fast avstand, som er tilfelle med LED -strimler. Lysdiodene må være koblet til hverandre. Du kan gjøre dette med alle korte trådstykker. Men de to min (-) tilkoblingene er akkurat som de to pluss (+) tilkoblingene internt tilkoblet, så den samme tilkoblingen.
Du kan spare mye arbeid ved å lodde et stykke ledning til venstre LED og deretter til høyre LED. Deretter loddes de mellomliggende.
Datatilkoblingen må selvfølgelig med korte stykker fordi data-out går til data-in.
Trinn 3: Justere tekst foran
Frontplaten er nå på nederlandsk, men bare for å konvertere til et hvilket som helst språk.
NeoPixels-lysdiodene byttes i rekkefølge her fra 0-167. Nummereringen går fra den første raden øverst til venstre til høyre og deretter til den andre raden fra høyre til venstre osv. Justering kan gjøres i henhold til dine egne behov. Antall NeoPixels bestemmes av antall tegn. Mindre eller flere Neopixels kan justeres på følgende linje
#define NUMPIXELS 168 // Hvor mange NeoPixels er festet til Arduino?
168 er enn et annet tall. Nummerering starter på 0. Du kan lage hvilken som helst tekst. Hvis du endrer teksten, må du også justere de tilsvarende ordene. Nummereringen forblir den samme.
Som et eksempel, DRIE of the minutes, bestemmes i koden
void zetmDrie () {
Led_Aan [56] = 1, Led_Aan [57] = 1, Led_Aan [58] = 1, Led_Aan [59] = 1; // min-drie
}
Hvis du vil lage ordet Arduino, går det slik:
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
}
Så du kan lage ord mellom.
For klokkeord er det nyttig hvis de danner et sammenhengende ord, men det er ikke absolutt nødvendig. De ubrukte bokstavene trenger ikke Neonpixels. Jeg har dem alle fylt for bruk av fremtidige muligheter enn at tiden blir vist.
Hvis du endrer utgangspunktet eller endrer rekkefølgen, bør nummereringen endres tilsvarende.
Trinn 4: Full Rainbow -effekt
Klokken er nå så programmert at det telles hvor mange ganger i sekundet hvor mange neopiksler det er slått på.
Det totale spekteret handler om antall delte og deretter litt forskjøvet. Som et resultat har hver Neopixel en annen farge som endres kontinuerlig. Neopixel nr. 1 og nr. 167 følger hverandre på noen farger.
Hvis du foretrekker mindre forskjellige farger samtidig, er dette enkelt å justere. Fargen skifter fremdeles over hele spekteret, men med en mindre del av den. Neopixel nr. 1 og nr. 167 følger ikke lenger hverandre som noen farger innebærer.
Lysstyrken kan stilles inn på følgende linje, pixels.setBrightness (150);
Et mindre tall er mindre og et større antall mer lysstyrke.
Trinn 5: De forskjellige komponentene
Følgende komponenter brukte jeg
Arduino Pro Mini ATMEGA328 5V/16MHz
Klokkemodul DS3231
168 stykker Neopixels led's WS2812 LED Chip & Heatsink 5V 5050 RGB WS2811 IC innebygd
Folie brev sjablong
DCF77 -mottaker
Trinn 6: Kode for klokken
Her er koden. Lagt til en lysstyrkekontroll og slå av når ingen er til stede og om natten.
Lagt til RCWL-0516 Radar Microwave Motion Sensor (søk etter RADAR)
Etter 10 minutter uten bevegelse, går NeoPixels ut.
Om versjon 2.0
Minnebruk var for mye, og det er tomt for advarsler om minne i kompilatoren. Det er derfor jeg har endret koden fullstendig, men operasjonen har forblitt den samme og en IR -mottaker er lagt til.
Det er et stykke kode for å gi EEPROM data. Kjør dette en gang ved midlertidig å fjerne / * og * /. Søk etter => kjør dette en gang for å gi EEPROM data
I begynnelsen av tomridsløyfen er kode for å lese koden fra din egen fjernkontroll. Du kan kjøre dette ved å midlertidig fjerne / * og * /, ikke glem å sette dem tilbake etterpå. Du kan også definere dine egne knapper. Koden som leses må skrives inn => Definer dine egne knapper her
Samsungs fjernkontroll fungerer bedre enn den (veldig billige) enkle.
Trinn 7: Maskinvarebeskrivelsen
Det er forskjellige versjoner av Arduino Pro Mini. Vær oppmerksom på at tilkoblingene kan variere.
Lagt til en RCWL-0516 mikrobølge bevegelsessensor.
Så lenge det er bevegelse i nærheten av klokken, forblir NeoPixel på
og så snart det ikke er mer bevegelse, går NeoPixel av etter noen minutter.
I versjon 2.0 får DCF77 -mottakeren strøm via pinne 13. Denne pinnen defineres som utgang og settes høyt når DCF77 -rutinen adresseres. DCF77 -mottakeren bruker 0,28 mA og er bare nødvendig i noen få minutter per dag.
Slå av lagrer
5 volt * 0,28 mA / 1000 * 24 timer * 365 dager * 1 / 0,85 effektiv strømforsyning = 14,4 watt i året.
Dette virker ikke så mye, men hver bit hjelper.
Trinn 8: LDR for lysstyrkekontroll av neopikselene
Lagt til en LDR for lysstyrkekontroll av neopikslene.
Jeg har limt LDR inn i rommet til neopixel 103. Denne brukes ikke i tidsvisningen og påvirker derfor ikke reguleringen. Papiret demper hendelsen, men det er ikke noe problem.
Spenningsdeleren til LDR og 20 kohm motstand går til A0 på Arduino Pro Mini. Spenningen er en indikator på lysintensiteten og derfor også en indikator på lysmengden som neopikslene må gi.
Formelen jeg bruker gir meg god lysstyring, den kan justeres avhengig av omstendighetene. Avhengig av lysmengden kan spenningen variere mellom 0 og 5 volt som konverteres til 0 til 1024 tellinger som er i "LDRValue".
Hvis den nye måleverdien er større enn den siste beregnede verdien, økes intensiteten med 1, hvis den er lavere enn redusert med 1 og hvis den er lik, blir ingenting gjort. For å få verdien til å fortsette sakte, slik at det ikke er noen blinkende effekt, økes eller reduseres bare 1, og fordi beregningen er i sløyfen, blir den bare beregnet på nytt etter å ha krysset sløyfen 25 ganger.
Intensiteten er teoretisk minimum 20 og maks 1024/7 + 45 = 191. Maksimumsverdien som jeg målte var 902, som utgjør en intensitet på 173. Dette passer godt med de 150 som jeg har angitt som standardverdi. (se piksler. setBrightness (150))
I versjon 2.0 kan du stille inn kontrollen via fjernkontrollen. Følgende parametere er lagt til: Brightness_min som minimum og Brightness_max som maksimal innstilling og Brightness_Offset som innstillingsparameter. Brightness_min og _max er verdiene som kan avhenge av din egen situasjon. Brightness_Offset er en verdi som kan angis med fjernkontrollen og som kan innstilles mer eller mindre lysstyrke.
Det er også et dødt bånd på 3 mellom målt LDRValue og beregnede BerLDRValue -verdier.
Bruk utskriftsuttalelsene i tomrummet BrightnessControl for å kontrollere lysstyrkeinnstillingen.
Trinn 9: Redusere WS2812B strømforbruk
Driverne på WS2812B adresserbare neopiksler trekker strøm selv når neopikslene er slått av, satt til farge 0 (ingen neopiksler -elementer lyser).
Når alle 169 neopiksler er ute, måler jeg 69 mA til neopikslene. Forutsatt at klokken er slått av 12 timer i døgnet, sparer den totale avstengningen deretter: 5 (Volt strømforsyning) * 69/1000 (Miliampere / 1000 = Ampere) * 12 (Antall timer per dag) * 365 (Antall dager i en år) = 1511 Wattimer. Så på årsbasis 1,5 Kwh. Jeg er enig, det er ikke mye i seg selv, men mange små gjør en stor.
Kretsen er enkel. Pluss av strømforsyningen byttes av en P-kanal MosFet. Radarsensoren avgjør om neopikslene er på eller av. Jeg har satt to MosFet -parrelel for å holde ON -motstanden så lav som mulig på grunn av tap av MosFets. Ved normal bruk måler jeg 4, 5 mili volt over MosFets. Porten styres av utgang 4 fra Arduino via en 470 Kohm -motstand. Hvis utgangen går til lav (0) digitalt, er neopikslene på og på høy (1) er de slått av.
Trinn 10: Smilefjes på Word Clock
En smiley på ordklokken.
Noen ganger kommer det en smilefjes på klokken, men det gjør deg glad.
Smilefjes utløses av radarsensoren. Antall ganger bevegelse (justerbar) er et mål på smilens utseende. % -Tegnet indikerer at bevegelse er oppdaget. For hver tiende (justerbare) bevegelse kommer Smiley med et Winky Face, og etter tre ganger kommer et Winky Face fjerde gang et Smiley Face stikker tungen ut.
The Smiley er en liten endring i koden.
Trinn 11: Hvilke biblioteker som brukes
Hvilke biblioteker som brukes.
Jeg bruker dem i Windows 7 med Arduino IDE 1.6, og de har også blitt testet i Windows 10 med Adruino IDE 1.8.8
RTClib-master
Arduino-DS3231-master
Adafruit_NeoPixel-master
Arduino-DCF77-master
Ken Shirriff's IRremote Library
Fordi det alltid er forvirring om biblioteket som brukes, legger jeg til det jeg bruker.
IRremote -biblioteket bruker mye minne. I IRremote.h er det angitt at du kan deaktivere ubrukt protokoll
// Hver protokoll du inkluderer koster minne og, under dekoding, koster tid // Deaktiver (sett til 0) alle protokollene du ikke trenger/ønsker!
Jeg har alt deaktivert bortsett fra NEC- og Samsung -protokollen. Dette gir en minnebesparelse på 10%. For øyeblikket er det ikke lenger et problem med mengden minne, så for øyeblikket er det ikke nødvendig å deaktivere.
Trinn 12: Enkel IR -fjernkontroll
Forsamlingen
Som du kan se på bildene, har hullet til LED 132 vist seg å være litt for stort. Jeg utnyttet dette godt og la til IR -mottakeren. Koble datapinnen til IR -mottakeren VS1838 til pinne 7 på Arduino. Koble til pluss og minus strømforsyning. IR -mottakeren bruker 0,21 mA og kan også kobles til pluss strømforsyning etter FET -bryteren. Dette resulterer i en besparelse, hvis klokken er på 50% av tiden, på 5 volt * 0,21 mA / 1000 * 12 timer * 365 dager * 1 / 0,85 effektiv strømforsyning = 5,4 watt per år. Dette virker ikke så mye, men hver bit hjelper.
Driften er som følger
Trykk på hvilken som helst tast på IR -fjernkontrollen og deretter på OK -tasten. Første gang du trykker vil du ende opp i IR -behandlingen, og andre gang vil du oppdage om det var en berettiget forespørsel. Den andre gangen OK må følge raskt det første tastetrykket, for ellers går det tilbake igjen. Jeg konstruerte denne konstruksjonen slik at jeg knapt fikk den første koden riktig avkodet og derfor ikke havnet i IR -håndteringen.
En gang i IR -håndteringen tennes en rekke lysdioder for informasjon, for forklaring, les videre og se det første bildet.
Beskrivelsen er for den enkle fjernkontrollen, men du kan bruke hvilken som helst fjernkontroll og definere dine egne nøkler. Jeg brukte også en Samsung fjernkontroll.
De fire første tastene tilsvarer de fire øverste radene med lysdioder. Fire lysdioder svinger til venstre eller høyre, avhengig av innstillingen. Når tastene 1 til 4 trykkes, reverseres tilstanden og lagres i minnet.
1 fast farge eller regnbueeffekt
2 sekunders blits av eller andre blits på
3 smiley av smiley på
4 DCF77 av eller DCF77 på
Tastens nummer vises på de følgende tastene
5 smiley -teller
6 regnbuespektrumbredde
7 fikse rød innstilling
8 fikser grønn innstilling
9 fikser blå innstilling
Rad 6, 7 og 8 på lysdiodene tilsvarer nå den innstilte verdien, rad 6 angir enhetene, rad 7 tiere og rad 8 hundre. Hver rad starter med verdien null. Så den første ledningen i rekken er 0 den andre er 1 osv.
0 tidsinnstilling
/\ lysstyrkeinnstilling
Når du trykker på 0 -knappen, lyser de "ti" lysdiodene for å indikere at du vil stille klokken, og når du trykker 0 en gang til, vises den innstilte tiden på displayet.
Tiden kan nå stilles inn og vises i displayet.
Still inn riktig tid, og hvis minuttet er det samme på en referanseklokke, trykker du på OK -knappen.
Tiden justeres.
Hvis du ikke bruker minutter eller timer -knappen, blir det ingen tidsendring. Hvis du trykker på dem, settes tiden umiddelbart.
Verdien for tastene 5 til 9 kan endres med tastene
høyre er pluss 1
venstre er minus 1
fremover er pluss 10
omvendt er minus 10.
og for tidsinnstillingen
høyre er pluss 1 minutt
venstre er minus 1 minutt
fremover er pluss 1 time
revers er minus 1 time
Noen ganger skjer det at tastetrykket ikke gjenkjennes eller utføres to ganger. Så vær oppmerksom hvis innstillingen går bra, ellers prøv eller korriger igjen. Samsungs fjernkontroll som jeg også testet fungerte mange ganger bedre enn den (veldig billige) enkle fjernkontrollen.
Når du angir fargen, ser du endringen direkte på hele skjermen. For et nettsted med en oversikt over farger, se https://www.helderester.nl/kleurentabel.html. Du kan selvsagt angi hvilken som helst verdi.
Hvis regnbuespektrumbredden har en verdi på 0, er spekteret veldig smalt, og displayet har en farge som endres konstant.
Ulempen med å stille tiden på denne måten er at du ikke kan beregne en sommer / vinter overgang fordi vi har datoen feil. Det spiller ingen rolle for selve klokken fordi vi ikke bruker den nå.
Trinn 13: Hva følger med?
Det som følger, lyder hvis det ledige minnet fortsatt er tilstrekkelig.
Jeg har allerede høyttalerkassene. De er fra en gammel bærbar PC.
Anbefalt:
Fantastisk drivhus med automatisk vanning, internettforbindelse og mye mer: 7 trinn (med bilder)
Fantastisk drivhus med automatisk vanning, internettforbindelse og mye mer: Velkommen til denne instruksen. I begynnelsen av mars var jeg i en hagebutikk og så noen drivhus. Og siden jeg ønsket å lage et prosjekt med planter og elektronikk lenge lenge, gikk jeg videre og kjøpte et: https://www.instagram.com/p
Voksende mer salat på mindre plass eller voksende salat i verdensrommet, (mer eller mindre) .: 10 trinn
Voksende mer salat på mindre plass eller … Voksende salat i verdensrommet, (mer eller mindre) .: Dette er en profesjonell innsending til Growing Beyond Earth, Maker Contest, sendt gjennom Instructables. Jeg kunne ikke vært mer begeistret for å designe for produksjon av romfrukter og legge ut min første Instructable.Til å begynne ba konkurransen oss om å
O-R-A RGB Led Matrix veggklokke og mer ** oppdatert juli 2019 **: 6 trinn (med bilder)
O-R-A RGB Led Matrix veggklokke og mer ** oppdatert juli 2019 **: Hei. Her er jeg med et nytt prosjekt som heter OR-AIt er en RGB LED Matrix veggklokke som viser: time: minutt temperatur fuktighet gjeldende værforholdikon Google Kalender hendelser og 1t påminnelsesvarsler på et bestemt tidspunkt det viser:
Støping av detaljerte deler: Protetiske fingre (som lyser, endrer farge med varme og mer ): 10 trinn (med bilder)
Støping av detaljerte deler: Protetiske fingre (som lyser, endrer farge med varme og mer …): Dette er en veiledning om støping av små, komplekse deler - billig. Det skal sies at jeg ikke er noen støpeekspert, men ettersom nødvendigheten ofte er oppfinnelsens mor - noen av prosessene her har fungert bra. Jeg møtte Nigel Ackland på Future Fest i London, og
Oppgrader din iPod Mini med flashminne - ikke mer harddisk !: 6 trinn (med bilder)
Oppgrader din iPod Mini med flashminne - ikke mer harddisk !: I stedet for en harddisk vil din nye oppgraderte iPod bruke flashminne uten bevegelige deler for raskere oppstart og amp; tilgangstider og lavere strømforbruk. (Jeg kjørte iPod kontinuerlig i over 20 timer på en lading!). Du vil også bli forbedret