
<--
Home
Deze 12 segment Fibonacciklok is een variatie op de
Fibonaccistokklok.
De elektronica en aansluitingen staan bij de bovenstaande link beschreven.
Deze pagina is een registratie van de gebruikte onderdelen en misschien een
inspiratiebron.
Deze klok werd uitgerust met:
Twaalf SK6812 RGBW LEDs,
een HM-10 Bluetooth module,
een MAX7219 display om de tijd digitaal te kunnen lezen,
een ZS-042 DS3231 RTC tijdmodule
en een KY-040 rotary encoder voor noodgevallen om de klok te bedienen
De software bevat functionaliteit voor een HC-12 transceiver,
een 3x4 membrane keypad of
een one wirekey 3x4 membrane
keypad
| Zaag de blokjes met hoeken van 30 graden. Zaag een sleuf met de dikte van het plexiglas in de buitenring aan de binnenkant. |
|
| Plak afplaktape aan de buitenkant van beide ringen keer ze om en
breng houtlijm aan op de schuine kanten. Verlijm de buitenring in twee helften. De binnenring kan helemaal verlijmt worden |
Vouw de ringen dicht en verwijder overtollig lijm. |
| Zaag het plexiglas op maat. | Ik gebruikte mm-papier om de vorm op maat te krijgen |
|
|
|
| Tussen de LEDs worden schotten van geschuimd PVC wit 2 MM RAL 9003 geplaatst. | |
| Schilder de kast en zet alles in elkaar. | |
![]() |
|
| Met een zwarte viltstift of smal zwart tape kan het plexiglas boven de schotjes zwart worden gemaakt voor een mooi accent | |
| De onderdelen kunnen direct aan een Arduino Nano worden
gesoldeerd of als er voldoende ruimte is op een printplaatje. In het programma kan gevonden worden waar de onderdelen worden aangesloten In het kort: De LEDs op Digitale pin D5 De lichtsensor op analoge poort A2 De RTC-tijdmodule op analoge pin A4 de SDA lijn en op A5 de SCL aansluiting De Bluetooth module kan op pin 0 en 1 of pin 6 en 7 worden aangesloten. De pin 6 en 7 keuze heeft als voordeel dat de Bluetooth-module met programmeren kan blijven zitten maar er is dan een extra bibliotheek nodig. Namelijk SoftwareSerial. Als de Bluetooth-module op poort 0 en 1 is aangesloten stoort deze bij het uploaden van een programma in de Arduino. Je zal hem dan tijdelijk moeten loshalen als een programm in de Arduino wordt geladen. //--------------------------------------------
// PIN Assigments
//--------------------------------------------
enum DigitalPinAssignments {
#ifdef STICKCLOCK
EmptyD00 = 0, // EmptyD00
EmptyD01 = 1, // EmptyD01
EncoderPow = 2, // give power to Encoder
clearButton = 3, // switch (labeled SW on decoder)
encoderPinA = 4, // right (labeled DT on decoder)
encoderPinB = 5, // left (labeled CLK on decoder)
LED_PIN = 11, // Pin to control colour SK6812 WS2812 LEDs
#endif //STICKCLOCK
#ifdef PCBCLOCK
EmptyD02 = 2, // EmptyD02
encoderPinA = 3, // right (labeled DT on Rotary decoder)
clearButton = 4, // switch (labeled SW on Rotary decoder)
LED_PIN = 5, // Pin to control colour SK6812 WS2812 LEDs
encoderPinB = 8, // left (labeled CLK on Rotary decoder)
#endif //PCBCLOCK
#ifdef BTMOD_PIN6_PIN7
BT_TX = 6, // Bluetooth TX
BT_RX = 7, // Bluetooth RX
#endif //BTMOD_PIN6_PIN7
#ifdef MAX7219
MAX7219CLK = 10, // MAX7219CLK
MAX7219CS = 11, // MAX7219CS
MAX7219DataIn= 12, // MAX7219DataIn
#endif //MAX7219
HeartbeatLED = 9, // EmptyD09
secondsPin = 13}; // if set to 13 led will blink on board SCK
// Analogue hardware constants ----
enum AnaloguePinAssignments {
EmptyA0 = 0, // EmptyA0
EmptyA1 = 1, // EmptyA1
PhotoCellPin = 2, // LDR pin
OneWirePin = 3, // OneWire Keypad
SDA_pin = 4, // SDA pin geel
SCL_pin = 5, // SCL pin groen
EmptyA6 = 6, // EmptyA6
EmptyA7 = 7}; // EmptyA7
|
|
Als de klok op een seriele poort wordt aangesloten wordt in een serieel terminal programma het menu getoond.
" D D14042020 is date 14 April 2020", "E Normal, Extreme or Ultimate mode", "F Fibonacci or Chrono display", "L (L5) Min light intensity (1-255)", "M (M90)Max light intensity (1-250)", "N (N2208)Turn On/OFF LEDs between Nhhhh", "P (P1) to select a palette (0-9)", "I for this info", "R Reset to default settings", "T T031500 is quarter past three am", "W Test LDR reading every second", "X (X50) Demo mode. ms delay (0-9999)",
De laagste lichtintensiteit dat naar de klok wordt gestuurd kan met L worden
ingesteld.
De klok gaat dan niet zachter branden dan die waarde als het compleet donker is.
L5 is een mooie waarde.
Met M kan de maximale sterkte worden ingesteld. Soms is de klok te fel of te
zwak voor de plek waar hij staat.
M80 is de default waarde.
Met P kan de kleurpalette worden gekozen. P1 is standaard.
Tijd en datum instellen gaat met de T of D optie.
Door invoer van de letter F kan de klok als een analoge klok of Fibonacci stand worden gezet.
Met E invoeren komt de klok in Extreme stand en verspringt elke 5 seconde
groen vlak verspringen,
met de volgende invoer van E komt de klok in de Ultimate stand.
Dan wordt elke seconde het aantal minuten met paarse vlakken getoond.
Je kan dan de klok tot op 5 seconde nauwkeurig aflezen.
Deze opties werken alleen goed als de klok in chrono stand met F is gezet.
Na invoer van R wordt de klok in zijn oorspronkelijke waarden teruggezet .
Bijlagen
Deze en nieuwere versies zijn beschikbaar op Github
2 november 2021,
18 maart 2021
Mail: Ed Nieuwenhuys