Noch eine Wordclock Wortuhr

Hallo liebe Community,
ich habe nach langem endlich meine Wortuhr fertig gestellt.
Da es hier recht kompliziert ist eine ausführliche Vorstellung zu machen habe ich es via instructables gemacht:
>KLICK<

Die Uhr ist komplett Arduino basiert und wird mit einem Magneten gestellt bzw in den Sekunden Modus gebracht.
Anregungen und Ideen nehme ich gerne an.

Gruß
DerDani

Sieht richtig gut aus. Irgendwann hab ich auch nochmal vor soetwas zu bauen, im Moment häng ich noch an meinem Kneipenkicker fest ;-)

hi,

geil, dani, wertig wie früher mal schwedische pkws.

gruß stefan

Hallo,

sehr sehr schön. Das mit dem "Magnet-Tastern" gefällt mir besonders. Zerstört es nicht die Optik. Werden die LEDs auch Helligkeits gesteuert je nach Raumhelligkeit? Die Grundplatte ist selbst gefräst? Auf solche Möglichkeiten werde ich immer neid'sch. ;)

Ich habe schon eine erste Version hier hängen mit zwei MAX7221. Die hat dann ein Bekannter gesehen und wollte auch so eine haben. So ist das gekomment das es eine Arbeitsteilung war. 3 Leute (1 Elektro Ing,1 Maschinennauer, 1 Programmierer) wollten eine Uhr. Also Arbeitsteilung der Maschinenbauer hat die Grundplatte konstruiert und von den Azubis Fräsen lassen ( 4 Platten) der Ing hat gelötet bzw musste und ich habe programmiert. So werden noch 3 weitere Uhren erstellt.

Eine LDR steuerung kommt noch und ein ESP8266 mit NTP damit daraus ne Funkuhr wird.

Gruß DerDani

sehr schön

Wenn man Zugriff auf eine Maschine hat ist das schon eine feine Sache. Auf der Arbeit haben wir CNC Automaten wo ich eine mal für meine Zwecke benutzen durfte, um zwei LED-Schablonen mit je 256 Löchern für meine Uhr (normale in Kreisform) anfertigen zu lassen. Bei der Anzahl von Löchern und deren Miniabständen hätte ich das an einer Bohrständermaschine niemals hinbekommen.

@volvodani: Die Wordclock sieht sehr gut aus!

geniale Umsetzung.

8)

Kannst du was zu den Projektkosten sagen? Ich meine nur das Material, die Kollegen mit ihren Anlagen sind natürlich unbezahlbar 8)

Gruß

Die Kosten sind ca 70-80€

35€ für die Gerduckte Platte 20€ für die LEDs von Aliexpress 6 € Arduino Nano 4 € DS3231 5€ für ein 5V/3A Netzteil

Und dann noch die Reedkontakte das Holz etc. Das ist 1/10tel der orginalen Biergert und Funk.

Gruß DerDani

Schönes Projekt für unter 100€, was will man mehr. Sehr gut umgesetzt! 8)

So ein Teil würde sich an meiner Wand auch ganz excellent ausmachen, leider bin ich nicht so der Man für die mechanischen Sachen und auch habe ich weder einen Kumpel mit Kontruktionserfahrung, noch einen Azubi mit Fräse. So bleibt's hat leider nur ein Wunsch ... Schade.

@eMeS

Wenn du eine Bohrmaschine halten kannst oder einen Bekannten hast mit einer SänderBohrmaschine dann kann man die Zwischenplatte schnell umsetzen. Dies habe ich bei meiner ersten Uhr auch gemacht. Ist halt ne Elende Borherei bist man die 110 großen Löcher fertig hat. Das wäre mir es an deiner Stelle wert.
Gruß
DerDani.

oK, überredet, ich fange dann schon mal an zu Bohren, so'n Ständer-Dingens hab ich ... 8)

Hallo,

mußte mal in dem Forum fragen. Ist verlinkt im Artikel. http://www.mikrocontroller.net/articles/Word_Clock Da gibts wohl immer mal wieder Sammelbestellungen für die Teile.

Ich würde ja eine DCF77 mit meiner Library statt dem ESP8266 empfehlen ;) Danach brauchst Du auch den DS3231 nicht mehr weil meine Library den Frequenzfehler des Quarzes kompensiert. Allerdings brauchst Du dazu einen Arduino mit Quarz statt Resonator. Der Uno hat das nicht, einige billige Clone aus der Bucht aber schon :(

Library: http://blog.blinkenlight.net/experiments/dcf77/dcf77-library/, https://github.com/udoklein/dcf77

Beispiel (ausserhalb meines Blogs): http://home.btconnect.com/brettoliver1/Master_Clock_MK2/Master_Clock_MK2.htm

:neutral_face: Was spricht den gegen den ESP2866? 1,99$. Habe ich da und mit der NTP Protokoll einmal am Tag anmachen und Zeit holen. Wie groß ist dein Programm ich habe schon 14kB benutzt und eingigen an Ram. Gruß DerDani

Ich habe hier bei uns nie so guten Empfang gehabt als das ich ordentliche Zeiten hab. Selbst die Funkwecker brauchen extem lange hier.

Hallo,

bin mit der ersten Platte fertig, funktioniert auch. 110 LED zu verdrahten dauert aber so seine Zeit.

Bild bekomme ich leider nicht hochgeladen.

Nun warte ich noch auf die restlichen Teile.

Danke Volvodani

Gruss Kalli

Hallo,

auch ich habe Dani´s Code genommen und diesen etwas umgebaut. Herausgekommen ist die Wordclock basierend auf dem ESP8266 und einem Touch Feld.

Die Uhr stellt sich jeden Tag per NTP, WLAN vorausgesetzt.. Jede Minute wird die Interne Uhr mit dem RTC abgeglichen. Die Uhr hat einen Nachmodus, bedeutet das diese in einem bestimmten Zeit Fenster dunkel bleibt um Strom zu sparen. Sollte man trotzdem Nachts mal die Uhrzeit wissen wollen, reicht es, die Uhr einfach zu berühren. Tagsüber wird durch berühren der Uhr die Farbe gewechselt. Die Uhr hat intern 16 Farbe vorgegeben die man ändern kann. Begonnen wird immer im "Rainbow" Modus. Als RTC kommt der 3231 zum Einsatz. Bilder werde ich bei Gelegenheit noch einfügen. Den Code stelle ich gerne, nach Rücksprache mit Dani, hier rein.

Der Code ist noch nicht ganz fertig, jedoch funktional. Da ich nicht der große Programmierer bin und ich mich oft mit "Try & Error" durchschlage bin ich für Verbesserungsvorschläge dankbar.

Ich möchte mich nochmal ganz besonders bei Dani, jurs, Helmuth, Serenifly und combie für Ihre Unterstützung und Ideen und alle die mir sonst noch weitergeholfen habe, danken.

So, nun der Code: Aber ACHTUNG, ist noch nicht komplett kommentiert. Muss ich noch machen.

Teil 1

//################################## VERSION ##################################//
// WordClock Version: V1f
// Hardware: Arduino Nano V3
// IDE Build: 1.6.4
// Description: Arduino Wordclock
//#############################################################################//

#include <DS3232RTC.h>    
#include <Time.h>        
#include <Wire.h>  
#include "esp8266_ntp.h"
#include <FastLED.h>
#include <CapacitiveSensor.h> 

//################################## SETUP 1 ##################################//
//#############################################################################//

#define WIFI_SSID "GEHEIM" // Enter your WLAN SSID
#define WIFI_PASS "GEHEIM" // Enter your WLAN Pass
#define GMTOFFSET 2 // Greenwich Mean Time -- TimeZone. Germany has TimeZone +2

#define Color1 CRGB::Amethyst // Enter your favorite color no. 1 
#define Color2 CRGB::Aqua // Enter your favorite color no. 2
#define Color3 CRGB::Blue // Enter your favorite color no. 3
#define Color4 CRGB::Crimson // Enter your favorite color no. 4
#define Color5 CRGB::DarkCyan // Enter your favorite color no. 5
#define Color6 CRGB::DarkMagenta // Enter your favorite color no. 6
#define Color7 CRGB::DarkOrange // Enter your favorite color no. 7
#define Color8 CRGB::Gold // Enter your favorite color no. 8
#define Color9 CRGB::Green // Enter your favorite color no. 9
#define Color10 CRGB::Fuchsia // Enter your favorite color no. 10
#define Color11 CRGB::MidnightBlue // Enter your favorite color no. 11
#define Color12 CRGB::Orange // Enter your favorite color no. 12
#define Color13 CRGB::Red // Enter your favorite color no. 13
#define Color14 CRGB::Teal // Enter your favorite color no. 14
#define Color15 CRGB::Yellow // Enter your favorite color no. 15
#define Color16 CRGB::CornflowerBlue // Enter your favorite color no. 16

#define HystPlus 5000 // Sensitive TouchPad + 
#define HystMinus 3000 // Sensitive TouchPad  -

//################################ Config Strip ###############################//
//#############################################################################//

#define LEDPin     5 
#define NumLEDS    114
#define Brightness  SetBrightness
#define LEDType    WS2812B
#define ColorOrder GRB
#define TempCorrection TypicalLEDStrip // TypicalLEDStrip  / TypicalSMD5050
#define Blending BLEND

//########################## ### Config Various ###############################//
//#############################################################################//

CapacitiveSensor   FrontTouchSensor = CapacitiveSensor(13,12); // Send / Received
ESP8266_NTP esp8266_ntp;

CRGB leds[NumLEDS];
CRGBPalette16 CurrentPalette;

//############################# Config Variables ##############################//
//#############################################################################//

unsigned long currentMillis; // Because i need it Global
unsigned long previousMillisSST = 0; // SRT = SyncSystemTime (Sync RTC to System)   
const long intervalSST = 60000; // Set interval to 60000ms == 1 Min
unsigned long prevMillisRainbow = 0;
const long RainbowSpeed = 1000;
unsigned long prevMillisTimeout = 0;
const long DisplayTimout = 10000;

byte MinuteSW = 0;
byte HourSW = 0;
byte SyncHour = 14;
byte DaySW = 0;
byte LastDaySW = 0;

byte Minute5SW = 0;
byte Minute5RestSW = 0;
byte DisplayHourSW = 0;

byte ColorIndex = 3;
byte DisplayModeNo = 0;
boolean  NightMode = false;
boolean  Timeout = false;

//################################## SETUP 2 ##################################//
//#############################################################################//

byte SetBrightness = 255; // Set the luminosity of the strip

byte OffTimeH = 23; // Hour to switch the clock off
byte OffTimeM = 0; // Minute to switch the clock off
byte OnTimeH = 6; // Hour to switch the clock on
byte OnTimeM = 0; // Minute to switch the clock on

//################################## PROGRAM ##################################//
//#############################################################################//

void setup(void){
  if(esp8266_ntp.initialize(WIFI_SSID, WIFI_PASS) == 0){
    esp8266_ntp.setGMTOffset(GMTOFFSET); //GMT+1
  }
  if(timeStatus() != timeSet){
    SyncRTCTime();
    SyncSystemTime();
  }    
  FrontTouchSensor.set_CS_Timeout_Millis(5000);
  FastLED.addLeds<LEDType, LEDPin, ColorOrder>(leds, NumLEDS).setCorrection(TempCorrection);
  FastLED.setBrightness(Brightness);
  FastLED.clear();
}

void loop(void){ 
  SyncTimer();
  TouchLogic();
  DisplayMode();
  ShowWords();
  DisplayOnOff();
}