Innehållsförteckning:
- Steg 1: Fodralet för klockan
- Steg 2: Neopixels
- Steg 3: Justera främre text
- Steg 4: Full Rainbow -effekt
- Steg 5: De olika komponenterna
- Steg 6: Kod för klockan
- Steg 7: Maskinvarubeskrivningen
- Steg 8: LDR för ljusstyrkekontroll av neopixlarna
- Steg 9: Minska WS2812B strömförbrukning
- Steg 10: Smiley på Word Clock
- Steg 11: Vilka bibliotek används
- Steg 12: Enkel IR -fjärrkontroll
- Steg 13: Vilka framsteg?
Video: Rainbow Word Clock med en fullständig Rainbow -effekt och mer: 13 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Mål
1) Enkelt
2) Inte dyrt
3) Så energieffektivt som möjligt
Rainbow Word Clock med full regnbågseffekt.
En smiley på ordklockan.
Enkel IR -fjärrkontroll
Uppdatera 03-nov-18 LDR för ljusstyrkekontroll av neopixlarna
Uppdatering 01-jan-19 Minska WS2812B-strömförbrukning.
Uppdatera 15-jan-19 Smiley.
Uppdatering 23-jan-19 Kod 1.6
Uppdatera 10-mar-19 bibliotekslänkar
Uppdatera 14-apr-19 version 1.7 Choice smiley on/off collor rainbow/fix enz.
Senaste uppdatering 01-jun-19 version 2.0 IR fjärrkontroll och koddesign
Steg 1: Fodralet för klockan
Med några enkla verktyg och lite skicklighet är det inte svårt att göra en bokstavsklocka. Jag använde materialet tillgängligt för mig.
För fallet använde jag en grov tallbar där jag sågade några ramar. Dessa skulle göra de fyra sidorna av fodralet, som limmades ihop och förstärktes med en liten bit trä i hörnen. Sedan behöver träet slipas och målas.
Bokstäverna skärs ut av folie av en skrivare i spegelskrivning. Folien ligger på baksidan av glasplattan och är täckt med ett dubbelsidig mönsterpapper för bättre ljusfördelning. Glaset fixeras med silikon.
Steg 2: Neopixels
Neopixels lysdioder är placerade på en träplatta. I detta borrar du först 3 mm hål. På framsidan förstoras de till bokstavsstorlek till 3/4 djup. Därefter ökas 3 mm på baksidan till 10 mm, detta är storleken på en Neopixel. För vissa tecken, bland andra W, bör hålet justeras något.
Jag använde plywood som snabbt splittrades, MDF kan vara bättre.
Med enskilda lysdioder är du inte bunden till ett fast avstånd, vilket är fallet med LED -remsor. Lysdioderna måste vara anslutna till varandra. Du kan göra detta med alla korta bitar av tråd. Men de två min (-) anslutningarna är precis som de två plus (+) anslutningarna internt anslutna, så samma anslutning.
Du kan spara mycket arbete genom att löda en bit tråd till vänster LED och sedan till höger LED. Löd sedan de mellanliggande.
Dataförbindelsen måste naturligtvis med korta bitar eftersom data-out går till data-in.
Steg 3: Justera främre text
Frontplattan är nu på nederländska, men helt enkelt att konvertera till vilket språk som helst.
NeoPixels-lysdioderna växlas i följd här från 0-167. Numreringen går från första raden högst upp till vänster till höger och sedan till andra raden höger till vänster etc. Justering kan göras efter dina egna behov. Antalet NeoPixels bestäms av mängden tecken. Mindre eller fler Neopixels kan justeras i följande rad
#define NUMPIXELS 168 // Hur många NeoPixels är anslutna till Arduino?
168 är än ett annat tal. Numreringen börjar med 0. Du kan göra valfri text. Om du ändrar texten måste du också justera motsvarande ord. Numreringen förblir densamma.
Som ett exempel bestäms DRIE av protokollet i koden
void zetmDrie () {
Led_Aan [56] = 1, Led_Aan [57] = 1, Led_Aan [58] = 1, Led_Aan [59] = 1; // min-drie
}
Om du vill skapa ordet Arduino så går det så här:
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 göra ord mellan.
För klockord är det användbart om de bildar ett sammanhängande ord men det är inte absolut nödvändigt. De oanvända bokstäverna behöver inte Neonpixels. Jag har dem alla fyllda för att använda framtida möjligheter förutom att tiden visas.
Om du ändrar startpunkten eller ändrar successionsföljden bör numreringen ändras i enlighet därmed.
Steg 4: Full Rainbow -effekt
Klockan är nu så programmerad att antalet gånger per sekund räknas hur många neopixlar det är på.
Det totala spektrumet handlar om antalet delade och sedan något förskjutna. Som ett resultat har varje Neopixel en annan färg som ändras kontinuerligt. Neopixel nr 1 och nr 167 följer varandra på vissa färger.
Om du föredrar mindre olika färger samtidigt är detta enkelt att justera. Färgen skiftar fortfarande över hela spektrumet men med en mindre del av det. Neopixel nr 1 och nr 167 följer inte längre på varandra i vissa färger.
Ljusstyrkan kan ställas in på följande rad, pixlar.setBrightness (150);
Ett mindre antal är mindre och ett större antal mer ljusstyrka.
Steg 5: De olika komponenterna
Följande komponenter använde jag
Arduino Pro Mini ATMEGA328 5V/16MHz
Klockmodul DS3231
168 stycken Neopixels leds WS2812 LED-chip och kylfläns 5V 5050 RGB WS2811 IC Inbyggd
Folie brev stencil
DCF77 -mottagare
Steg 6: Kod för klockan
Här är koden. Lagt till en ljusstyrka och stäng av när ingen är närvarande och på natten.
Tillagd RCWL-0516 Radar Mikrovågsrörelsessensor (sök efter RADAR)
Efter 10 minuter utan rörelse släpper NeoPixels.
Om version 2.0
Minnesanvändningen var för stor, och minnesvarningarna i kompilatorn tar slut. Det är därför jag har ändrat koden helt, men operationen har förblivit densamma och en IR -mottagare har lagts till.
Det finns en kod för att förse EEPROM med data. Kör detta en gång genom att tillfälligt ta bort / * och * /. Sök efter => kör detta en gång för att förse EEPROM med data
I början av tomrumsslingan finns kod för att läsa koden från din egen fjärrkontroll. Du kan köra detta genom att tillfälligt ta bort / * och * /, glöm inte att sätta tillbaka dem efteråt. Du kan också definiera dina egna knappar. Den lästa koden måste anges i => Definiera dina egna knappar här
Samsungs fjärrkontroll fungerar bättre än den (mycket billiga) enkla.
Steg 7: Maskinvarubeskrivningen
Det finns olika versioner av Arduino Pro Mini. Observera att anslutningarna kan skilja sig åt.
Har lagt till en RCWL-0516 mikrovågsrörelsessensor.
Så länge det rör sig i närheten av klockan, förblir NeoPixel på
och så fort det inte är mer rörelse försvinner NeoPixel efter några minuter.
I version 2.0 förses DCF77 -mottagaren med ström via stift 13. Denna stift definieras som utmatning och sätts högt när DCF77 -rutinen adresseras. DCF77 -mottagaren använder 0,28 mA och behövs bara några minuter per dag.
Avstängning sparar
5 volt * 0,28 mA / 1000 * 24 timmar * 365 dagar * 1 / 0,85 effektiv strömförsörjning = 14,4 watt per år.
Det här verkar inte så mycket, men varje bit hjälper.
Steg 8: LDR för ljusstyrkekontroll av neopixlarna
Lade till en LDR för ljusstyrkekontrollen av neopixlarna.
Jag har limmat LDR i utrymmet på neopixel 103. Den här används inte i tidsdisplayen och påverkar därför inte regleringen. Papperet dämpar det infallande ljuset, men det är inga problem.
Spänningsdelaren för LDR och 20 kohm motstånd går till A0 i Arduino Pro Mini. Spänningen är en indikator på ljusintensiteten och därför också en indikator på mängden ljus som neopixlarna måste ge.
Formeln som jag använder ger mig bra ljuskontroll, den kan justeras beroende på omständigheterna. Beroende på ljusmängden kan spänningen variera mellan 0 och 5 volt vilket omvandlas till 0 till 1024 räkningar som är i "LDRValue".
Om det nya mätvärdet är större än det senast beräknade värdet, ökas intensiteten med 1, om det är lägre än minskat med 1 och om det är lika görs ingenting. För att få värdet att gå långsamt, så att det inte finns någon blinkande effekt, ökas eller minskas bara 1 och eftersom beräkningen är i slingan beräknas det bara igen efter att ha passerat slingan 25 gånger.
Intensiteten är teoretiskt minst 20 och högst 1024/7 + 45 = 191. Maxvärdet som jag mätte var 902, vilket uppgår till en intensitet på 173. Detta passar bra med de 150 som jag har satt som standardvärde. (se pixlar.setBrightness (150))
I version 2.0 kan du ställa in kontrollen via fjärrkontrollen. Följande parametrar har lagts till: Brightness_min som minimum och Brightness_max som maximal inställning och Brightness_Offset som inställningsparameter. Brightness_min och _max är de värden som kan bero på din egen situation. Brightness_Offset är ett värde som kan ställas in med fjärrkontrollen och med vilket mer eller mindre ljusstyrka kan ställas in.
Det finns också ett dödband på 3 mellan uppmätta LDRValue och beräknade BerLDRValue -värden.
Använd utskriftsangivelserna i void BrightnessControl för att kontrollera inställningen för ljusstyrka.
Steg 9: Minska WS2812B strömförbrukning
Drivrutinerna på WS2812B adresserbara neopixlar drar ström även när neopixlarna är avstängda, inställda på färg 0 (inga neopixelelement tänds).
När alla 169 neopixlar är ute mäter jag 69 mA till neopixlarna. Om vi antar att klockan är avstängd 12 timmar om dagen, sparar den totala avstängningen sedan: 5 (Volt strömförsörjning) * 69/1000 (Miliampere / 1000 = Ampere) * 12 (Antal timmar per dag) * 365 (Antal dagar i en år) = 1511 Wattimmar. Så på årsbasis 1,5 Kwh. Jag håller med, det är inte mycket i sig, men många små gör en stor.
Kretsen är enkel. Plus för strömförsörjningen byts av en P-kanal MosFet. Radarsensorn avgör om neopixlarna är på eller av. Jag har satt två MosFet -parrelel för att hålla ON -motståndet så lågt som möjligt på grund av förlust av MosFets. Vid normal användning mäter jag 4, 5 mili volt över MosFets. Porten styrs av utgång 4 från Arduino via ett 470 Kohm -motstånd. Om utmatningen går till låg (0) digitalt är neopixlarna på och vid höga (1) är de avstängda.
Steg 10: Smiley på Word Clock
En smiley på ordklockan.
Det dyker upp en smiley ibland på klockan, men det gör dig glad.
Smiley utlöses av radarsensorn. Antalet gånger rörelse (justerbar) är ett mått på Smileys utseende. % -Tecknen indikerar att rörelse har detekterats. Med var tionde (justerbar) rörelse kommer Smiley upp med ett Winky Face och efter tre gånger kommer ett Winky Face fjärde gången som ett Smiley Face sticker ut tungan.
Smiley är en liten ändring av koden.
Steg 11: Vilka bibliotek används
Vilka bibliotek som används.
Jag använder dem i Windows 7 med Arduino IDE 1.6 och de har också testats i Windows 10 med Adruino IDE 1.8.8
RTClib-master
Arduino-DS3231-master
Adafruit_NeoPixel-master
Arduino-DCF77-master
Ken Shirriffs IRremote-bibliotek
Eftersom det alltid är förvirring om biblioteket som används, lägger jag till det jag använder.
IRremote -biblioteket använder mycket minne. I IRremote.h indikeras att du kan inaktivera alla oanvända protokoll
// Varje protokoll du inkluderar kostar minne och, under avkodning, kostar tid // Inaktivera (ställ in på 0) alla protokoll du inte behöver/vill ha!
Jag har allt inaktiverat utom NEC- och Samsung -protokollet. Detta ger en minnesbesparing på 10%. För tillfället finns det inte längre några problem med mängden minne, så för närvarande är det inte nödvändigt att inaktivera.
Steg 12: Enkel IR -fjärrkontroll
Monteringen
Som du kan se på bilderna har hålet för LED 132 visat sig vara lite för stort. Jag utnyttjade detta bra och lade till IR -mottagaren. Anslut datastiftet för IR -mottagaren VS1838 till stift 7 på Arduino. Anslut dessutom plus och minus strömförsörjning. IR -mottagaren använder 0,21 mA och kan också anslutas till plusströmförsörjningen efter FET -omkopplaren. Detta resulterar i en besparing, om klockan är på 50% av tiden, på 5 volt * 0,21 mA / 1000 * 12 timmar * 365 dagar * 1 / 0,85 effektiv strömförsörjning = 5,4 watt per år. Det här verkar inte så mycket, men varje bit hjälper.
Funktionen är enligt följande
Tryck på valfri knapp på IR -fjärrkontrollen och sedan på OK. Första gången du trycker kommer du att hamna i IR -behandlingen och andra gången kommer du att upptäcka om det var en berättigad begäran. Andra gången OK måste följa snabbt den första knapptryckningen för annars går den tillbaka igen. Jag gjorde denna konstruktion så att jag knappt fick den första koden korrekt avkodad och därför inte hamnade i IR -hanteringen.
Väl i IR -hanteringen tänds ett antal lysdioder för information, för förklaring läs vidare och se den första bilden.
Beskrivningen är för den enkla fjärrkontrollen men du kan använda valfri fjärrkontroll och definiera dina egna nycklar. Jag använde också en fjärrkontroll från Samsung.
De fyra första knapparna motsvarar de fyra översta raderna med lysdioder. Fyra lysdioder svänger åt vänster eller höger beroende på inställningen. När knapparna 1 till 4 trycks in, återställs tillståndet och lagras i minnet.
1 fast färg eller regnbågseffekt
2 sekunders avstängning eller andra blixt på
3 smiley av smiley på
4 DCF77 av eller DCF77 på
Knappens nummer visas på följande tangenter
5 smiley -räknare
6 regnbågespektrumbredd
7 fixa röd inställning
8 fixa grön inställning
9 fixa blå inställning
Rad 6, 7 och 8 på lysdioderna motsvarar nu det inställda värdet, rad 6 anger enheterna, rad 7 tiotal och rad 8 hundra. Varje rad börjar med värdet noll. Så den första ledningen i raden är 0 den andra är 1 osv.
0 tidsinställning
/\ ljusstyrka
När du trycker på 0 -knappen tänds de "tio" lysdioderna för att indikera att du vill ställa in tiden och när du trycker på 0 en andra gång visas den inställda tiden på displayen.
Tiden kan nu ställas in och visas på displayen.
Ställ in rätt tid och tryck på OK -knappen om minuten är densamma på en referensklocka.
Tiden justeras.
Om du inte använder knappen minuter eller timmar kommer ingen tidsändring att göras. Om du trycker på dem kommer tiden att ställas in omedelbart.
Värdet för knapparna 5 till 9 kan ändras med knapparna
rätt är plus 1
vänster är minus 1
framåt är plus 10
baksidan är minus 10.
och för tidsinställning
höger är plus 1 minut
vänster är minus 1 minut
framåt är plus 1 timme
omvänd är minus 1 timme
Det händer ibland att knapptryckningen inte känns igen eller utförs två gånger. Så var uppmärksam om inställningen går bra annars försök eller korrigera igen. Samsungs fjärrkontroll som jag också testade fungerade många gånger bättre än den (mycket billiga) enkla fjärrkontrollen.
När du ställer in färgen ser du ändringen direkt på hela displayen. För en webbplats med en översikt över färger se https://www.helderester.nl/kleurentabel.html. Du kan naturligtvis ange valfritt värde.
Om regnbågens spektrumbredd har ett värde på 0 är spektrumet mycket smalt och displayen har en färg som ändras ständigt.
Nackdelen med att ställa in tiden på detta sätt är att du inte kan beräkna en sommar / vinterövergång eftersom vi har datumet fel. Det spelar ingen roll för själva klockan eftersom vi inte använder den nu.
Steg 13: Vilka framsteg?
Vad som följer, ljud, om det lediga minnet fortfarande är tillräckligt.
Jag har redan högtalarlådorna. De är från en gammal bärbar dator.
Rekommenderad:
Vad finns i en servo och hur man använder den med Arduino Fullständig handledning: 6 steg
Vad finns i en servo och hur man använder med Arduino Full Tutorial: i den här självstudien, låt oss utforska vad som är en servowatch den här videohandledningen
Hur man skapar och infogar en tabell och lägger till ytterligare kolumner och/eller rader till den tabellen i Microsoft Office Word 2007: 11 steg
Hur man skapar och infogar en tabell och lägger till ytterligare kolumner och/eller rader till den tabellen i Microsoft Office Word 2007: Har du någonsin haft mycket data du arbetar med och tänkt för dig själv … " hur kan jag göra allt av dessa data ser bättre ut och blir lättare att förstå? " Om så är fallet kan en tabell i Microsoft Office Word 2007 vara ditt svar
Fantastiskt växthus med automatisk vattning, internetanslutning och mycket mer: 7 steg (med bilder)
Fantastiskt växthus med automatisk vattning, internetanslutning och mycket mer: Välkommen till denna instruktion. I början av mars var jag i en trädgårdsbutik och såg några växthus. Och eftersom jag redan länge ville göra ett projekt med växter och elektronik, gick jag vidare och köpte ett: https://www.instagram.com/p
Odla mer sallad på mindre utrymme eller växa sallad i rymden, (mer eller mindre) .: 10 steg
Växande mer sallad på mindre utrymme eller … växande sallad i rymden, (mer eller mindre) .: Detta är en professionell underkastelse till Growing Beyond Earth, Maker Contest, som skickas in via Instructables. Jag kunde inte vara mer upphetsad över att planera för produktion av rymdgrödor och lägga upp min första instruktör. För att börja bad tävlingen oss att
Gör din egen professionella skivrengöringsmaskin för mindre än $ 80 och spara upp till $ 3000 och mer: 6 steg (med bilder)
Gör din egen professionella skivrengöringsmaskin för mindre än $ 80 och spara upp till $ 3000 och mer .: Ursäkta min engelska. Efter att jag hittat tillbaka till ljudet av god gammal vinyl hade jag problemet med varje skivälskare. Hur rengörs posterna ordentligt!? Det finns många sätt på Internet. Billigare sätt som Knosti eller Discofilm men också