Deze woordklok met kleuren-LED's
is eenvoudiger te maken dan de woordklok met
witte LED's. Helaas laten de kleuren van de LEDs zich niet goed fotograferen. In werkelijkheid zijn deze veel briljanter. De WS2812 kleuren-LED's bevatten ieder een kleine processor waardoor de hele keten van LEDs met één draad zijn aan te sturen. In dit voorbeeld word een Arduino Nano gebruikt maar een Arduino UNO of zelfs een Arduino mini van enkele Euro's knne ook gebruikt worden. |
<- Startpagina
De kleurenwoordklok bestaat uit onderstaande onderdelen zoals in de tabel is
weergegeven.
De woordklokonderdelen zijn voor 23x23cm en 30x30cm woordplaten ontworpen.
In de tabel staan de prijzen waarvoor je de onderdelen bij mij als zelfbouwpakket
kan bestellen.
De kast, woordplaat en spacer worden door een timmerman en beletteraar met
de hand gemaakt.
Ze zijn uniek maar zijn daarmee een aanzienlijke kostenpost. Zelf de kast maken
is een uitdaging.
Kasten kunnen van diverse soorten hardhout gemaakt worden of van MDF zodat
ze in een gewenste kleur te verven zijn.
De bouwtijd van een klok is 20 - 30 uur.
Frontplaat Font Mirien | Frontplaat Font Thomaha 11x11 letters |
Benodigdheden
Soldeerbenodigdheden1 x Kast van hardhout of MDF op maat gemaakt door de meubelmaker. | €80,00 | |
1 x Woordplaat 30x30cm met font Mirien of font Thomaha. Vinyl op ontspiegeld glas 2 mm dik. | €70,00 | |
1 x Spacerplaat, geschuimd PVC wit 10 MM RAL 9003, zonder gaten | €20,00 | |
1 x Printplaat | €15,00 | |
1 x 1000 µF condensator | €0,30 | |
1 x 1.1kΩ weerstand | €0,15 | |
1 x 2.2kΩ weerstand | €0,15 | |
1 x 470kΩ weerstand (1-3 nodig) | €0,15 | |
1 x LED rood | €0,15 | |
1 x LED geel | €0,15 | |
1 x 2-pin female connector | €0,25 | |
1 x 3-pin female connector | €0,25 | |
1 x 5-pin female connector | €0,25 | |
2 x 6-pin female connector | €0,50 | |
2 x 15-pin female connector | €0,75 | |
1 x Arduino Nano / Every | €20,00 | |
100 Leds (60 LEDs/m) WS2812B Full color led strip | €40,00 | |
1 x KY-040 Keyes Rotary Encoder | €2,00 | |
1 x 4x3 membrane keypad | €10,00 |
|
1 x RCT DS3231 Precisie klok module ZS-042 | €5,00 | |
1 x CR 2032 3V lithium batterij | €3,00 | |
1 x lichtsensor | €0,85 | |
1 x 22kΩ weerstand | €0,15 | |
1 x Adapter 5V gelijkstroom, 2 Ampere | €12,50 | |
1 x Female 5.5 x 2.1mm DC Power plug | €2,00 | |
1 x Verlichtingsgrondplaat 3 x 300 x 300 mm MDF-plaat | €3,00 | |
1 x Adapter 5V gelijkstroom, 1A | €20,00 | |
Wireless Serial 6 Pin Bluetooth RF Transceiver Module HM10 (voor Iphone, IPad) | €10,00 | |
Wireless Serial 6 Pin Bluetooth RF Transceiver Module HC05 (Android, W10) | €10,00 | |
DCF77 DCF-2 module | €20,00 | |
Gesoldeerde en geteste printplaat WS2812-klok | €60,00 | |
Gesoldeerde en geteste verlichtingsplaat WS2812-klok inclusief LEDs | €150,00 |
De verlichtinggrondplaat in elkaar zetten
De afstand tussen de LEDs op de strip zijn net te kort bij een 30 x 30 cm klok
om over meer dan drie letters te plakken.
(Als een 23 x 23 cm klok gemaakt wordt past de
LED-strip precies.)
Ik knip de LED-strip daarom in stukjes van 2 of 3 LEDs en verdeel deze stukjes
over de woorden.
Dan worden de LED's voor een woord aan elkaar gesoldeerd met korte stukje draad.
(Zie foto hierboven)
Het is wel wat meer soldeerwerk. Misschien hoeft het niet en kan de strip over
woorden van 5 letters of meer geplakt worden.
Maar de kans bestaat dat de zijkanten van het woord wat minder goed oplichten.
Het is ook mogelijk om 113 ipv 96 LEDs in de klok te verwerken. Dan komen er 4 LEDs ipv 3 bij het woord HET.
In de tabel hieronder en in de software source is te lezen hoeveel LEDs er per woord geplakt worden.
|
92 LEDs |
113 LEDs |
HET |
3 |
4 |
IS |
2 |
2 |
WAS |
3 |
4 |
VIJF |
4 |
5 |
TIEN |
4 |
5 |
KWART |
5 |
6 |
VOOR |
4 |
5 |
OVER |
4 |
5 |
PRECIES |
7 |
8 |
HALF |
4 |
5 |
ELF |
3 |
4 |
VIJF |
4 |
5 |
TWEE |
4 |
5 |
EEN |
3 |
4 |
VIER |
4 |
5 |
TIEN |
4 |
5 |
TWAALF |
6 |
7 |
DRIE |
4 |
5 |
NEGEN |
5 |
6 |
ACHT |
4 |
5 |
ZES |
3 |
4 |
ZEVEN |
5 |
6 |
UUR |
3 |
3 |
Let op de pijltjes op de strip en leg ze om en om. Zie foto hierboven.
Plak de strips van links naar rechts op de oneven regels en van rechts naar links
over de even regels. Volg de pijltjes op de strip.
Dit voorkomt straks lange draden om de signaaldraad naar de volgende regel te
leiden. (zie foto "Voorkant" hieronder)
Tip. Controleer na het solderen van de eerste regel (HET IS
WAS) of de LED's met het testprogramma hieronder goed werken. Doe dit na elke
regel weer.
Lees daarom de rest van dit hoofdstuk. Er zijn LED-strips waar het onduidelijk
is wat
Signaalingang is.
Breng soldeer aan op de LED-stripaansluiting en soldeer later de draad in de
soldeerklodder. Gebruik soldeerver of soldeerwater als de soldeer niet goed hecht
aan het koper.
Er gaat bij volle belasting redelijk veel stroom (2A) lopen. Als je alle strips
achter elkaar gaat door verbinden loopt er bij de eerste LEDs veel stroom en
moet de draad dik zijn.
Ik maak per twee regels een aansluiting vanaf de voedingsdraad met 30AWG = 0.25mm
diameter. 30AWG-draad kan
0.9 A stroom
verdragen. Als je de voedingsdraden van begin tot einde doorlust is AWG26
= 0.4 mm diameter draad nodig. Zorg er uiteindelijk voor dat elke strip zijn
voeding heeft.
Boor gaatjes naast de aansluiting op de strips en verbind aan de achterkant door.
Op de voorkant komt de spacerplaat te liggen en deze moet plat op het papier
liggen om lichtlekkage te voorkomen. Dus niet de draden tussen de letter over
de bovenkant doorverbinden.
Als de LEDs bij gebruik willekeuring elke seconde verspringen dan is de spanning op de LEDstrip vast ergens te laag.
Voorkant | Achterkant na bedraden. (Het kan netter.) |
Als Bluetooth gebruikt wordt moeten de 1.1K en 2.2K weerstanden nog op de print worden gesoldeerd. |
Voor de rotary aangesloten rechtsonder moet nog wel een draad naar +5V en Aarde (GND) getrokken worden (bugje) |
De aansluitingen in de kast | Aansluitingen op de Arduino Nano |
Om de plaat te testen kan het testprogramma hieronder gebruikt worden. Hiervoor dient eerst de WS2812 library in de Arduino IDE geinstalleerd te worden. https://github.com/cpldcpu/light_ws2812 Er zijn ook libraries zoals FASTLED en Neopixel van Adafruit maar deze zijn een overkill voor ons gebruik. Verder krijg ik met de FastLed en Neopixel libraries niet een mooie witte kleur. Dat lijkt in deze kleine library beter te lukken. Waarschijnlijk omdat er minder te kiezen en corrigeren valt. De site Tweaking4all geeft een heldere uitleg over de werking van de WS2812 kleuren-LEDs en het gebruik van deze laatste twee libraries. |
|
Geen paniek als het niet meteen werkt. Het zijn, bijna, altijd draadbreuken of slechte solderingen die de storing veroorzaken.
De klok in elkaar zetten
Het is handig om de onderdelen van de klok met papier afplakband vast te plakken.
Dit plakband komt makkelijk los.
Plak de verlichtingsplaat en spacer aan elkaar vast.
Plak over de spacer een wit vel papier. Bij een 30x30 cm klok is een A3-vel
nodig of twee aan elkaar geplakte A4-tjes. Zorg en dan voor dat het plakbank
niet door de letters te zien is. Het papier geeft een mooie tekening aan de
verlichte letters. Gebruikt niet te goedkoop papier. Mogelijk dat dit op de
duur verkleurd.
Leg de woordplaat over het papier en fixeer deze ook met plakband.
Bij een hardhouten klok wordt, afhankelijk van de uitvoering, de woordplaat
in de sleuf in de kast geschoven. Monteer daarna de vierde, onderkant van de
kast. Verlijm dit of plak het met plakbank tijdelijk vast. Zie: “Ontwerp
kast 30 cm-klok”.
Als alles goed gelabeld is kunnen de klok, rotary encoder, LDR, voeding aangesloten
worden.
Monteer de kast af.
Bluetooth-verbinding
Met de HC05 Bluetooth-module kan er een Bluetooth-verbinding met de klok gemaakt
worden.
In onderstaande link staat beschreven aan welke pins de module aangesloten
en hoe de naam van de module aangepast wordt.
Met een Bluetooth-terminal app op de telefoon kan de tijd als hhmmss of hhmm
naar de klok gestuurd worden.
De klok stuurt elke minuut gegevens, naar de terminal app terug.
Voor Windows phone, Android en Iphone zijn Bluetooth terminal apps te vinden.
De Bluetooth terminalprogramma’s zijn ook voor PC’s te vinden
Bluetooth module HC-05/ZS-040
Verbind VCC en GND, pin 6 aan de TXD en pin 7 aan RXD van de Bluetooth-module.
Laad de volgende sketch om tussen de Arduino en de Bluetoothmodule te kunnen
communiceren.
-------------------------
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(6, 7); // RX | TX
void setup()
{
pinMode(9, OUTPUT); //
this pin will pull the HC-05 pin 34 (key pin) HIGH to switch module to AT mode
digitalWrite(9, HIGH);
Serial.begin(9600);
Serial.println("Enter AT commands:");
BTSerial.begin(38400); // HC-05 default speed
in AT command more
}
void loop()
{
//
Keep reading from HC-05 and send to Arduino Serial Monitor
if (BTSerial.available())
Serial.write(BTSerial.read());
//
Keep reading from Arduino Serial Monitor and send to HC-05
if (Serial.available())
BTSerial.write(Serial.read());
}
---------------------------------
Ontkoppel de Arduino van de USB-kabel zodat de Arduino en Bluetoothmodule spanningsloos
zijn geworden.
Leg een draadje tussen de 5V van de Arduino en pin 34. (rechtsboven in de Bluetooth-module
als de pinnen naar beneden wijzen. Zie foto).
Sluit de Arduino weer op de PC aan en open de serial monitor in de Arduino
software. (icoon rechtsboven onder X (kruisje))
De rode LED op de Bluetooth-module gaat nu langzaam 2sec aan, 2 sec uit, knipperen
Tik in:
AT ? OK
AT+NAME=ED-KLOK
AT+RESET
Default passkey = 1234
--------------------------
Here is an important note, if the key pin is not
high, i.e. not connected to Vcc while receiving AT commands(if you did not
solder the wire and released it after the module entered AT mode), it will
not show the default name even after giving right command. But you can still
change the name by the command mentioned above. To verify if the name has really
changed, search the device from your pc/mobile. The changed name will appear.
To change baud rate, type AT+UART=desired baud rate. Exit by sending AT+RESET
command.
Most useful AT commands are
AT : Check the connection.
AT+NAME : See default name
AT+ADDR : see default address
AT+VERSION : See version
AT+UART : See baud rate
AT+ROLE: See role of bt module(1=master/0=slave)
AT+RESET : Reset and exit AT mode
AT+ORGL : Restore factory settings
AT+PSWD: see default password
--------------------------------
De Bluetooth-module communiceert tussen RX en TX
met 3.3V.
Het is mogelijk om hem direct op de Arduino-poorten aan te sluiten maar het
verlengt de levensduur van de module als de spanning naar 3.3V wordt verlaagd.
Dit kan met een 3.3V-5V TTL Level Logic Level Converter module, of met een “voltage
divider”-schakeling zoals hieronder weergegeven.
Je kan de weerstanden in de bedrading van de module naar de printplaat monteren.
Bluetooth met de HM10 BLE voor Apple IOS
Met deze HM10 BLE module kan gecommuniceerd worden met Apple IOS.
Er moet dan wel met BLE connector of scanner (App store) contact worden gemaakt.
(mij nog onduidelijk waarom)
Daarna kan met een serial terminal programma (HM10 Bluetooth serial light)
commando's worden overgestuurd en de klokuitvoer opgevangen worden.
Gekoppeld via een FTDI kan met de Arduino serial monitor met de Bluetooth-module
AT commandos gegeven worden.
Zie vorige paragraaf voor AT commandos
AT+NAMEnieuwenaam geeft de module de naam: nieuwenaam
DCF77-ontvangst met DCF-2 module
Helaas storen de IC's in de kleuren-LED's de DCF-ontvangst enorm. Zelfs op
een paar meter afstand wordt de ontvangst te veel gestoord.
Met deze kleuren-LEDs moet de DCF ontvangstmodule dus een paar meter van de
klok opgehangen worden
Deze DCF77-module heeft drie aansluitingen; +, -
en signal.
Sluit de + aan op 5V en de - op GND.
Signal gaat naar pin 2.
NB Pin 2 werd gebruikt voor de rotary encoderPinB left (labeled CLK on decoder).
Deze wordt nu aangesloten op P8.
(Pin 2 is een interrupt pin. Voor een optimale DCF-ontvangst is het reageren
op een interrupt noodzakelijk voor de rotary encoder niet.
Kijk in de source van de versie van de software onder "PIN assigments" voor
de juiste aansluiting. over DCF
Hier wat achtergrondinformatie over DCF.
Energieverbruik klok
De 30x30 cm klok verbruikt bij 5V met 96 WS2812 LEDs op halve sterkte 0.2A.
Bij volle sterkte loopt het verbruik naar 500 mA op.
Bij het starten, als alle LEDs even branden, is het verbruik 1.5 A.
Bij normaal gebruikt is een voeding van 5V 1A voldoende
Source code
Dit is de laatste versie voor een klok met 96 of 113 LEDs.
Character_Clock_WS2812_Nov2020.ino
En een handleiding voor de bediening
Hieronder oudere versies
De source code om de klok aan te sturen is te gebruiken voor de Arduino Nano Uno en mini.
Tevens kan deze ook voor het project gebruikt worden met de ATMEGA1284 processor.
Character_Colour_Clock_WS2812_1284-328-V023.ino
Deze versie bevat diverse verfijningen en is betreft coding vergelijkbaar met V106 van de zwart/wit klok
Character_Colour_Clock_WS2812_1284-328-V024.ino
WS2812 library
Light weight library to control WS2811/WS2812 based
LEDS and LED Strings for 8-Bit AVR microcontrollers.
https://github.com/cpldcpu/light_ws2812
<- Startpagina
Ed Nieuwenhuys
10 januari 2022
19 Nov 2020
29 October 2018