Pages: [1]   Go Down
Author Topic: Binäruhr mit Arduino  (Read 2168 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Allerseits!

Auf der Suche nach einer Wanduhr für mein Zimmer konnte ich aufgrund meiner hohen Ansprüche Analog- und Digitaluhren ausschließen: Übrig bleibt nur die Binäruhr. (Bin für weitere Vorschläge aufgeschlossen!)

Nach etwas rumstöbern im Internet habe ich aber nur Binäruhren gefunden, die die Zeit im BCD-Code darstellen. (Also jede Dezimalstelle binär codieren, anstatt die Stunden und Minuten seperat als Binärzahl, wie ich es gerne hätte.)

Logische Schlussfolgerung: selber bauen! Ich zweifle nicht an der Durchführbarkeit dieses Projektes, mir als Medieninformatik Student liegt das Programmieren sehr, und mein Vater ist Elektriker, falls ich mit dem Zusammenbasteln probleme habe. Das Problem ist nur: Ich möchte mir diese Uhr dann auch ernsthaft an die Wand hängen und als Uhr benutzen.

Deshalb habe ich einige Fragen an die erfahrenen Bastler:
  • Wie präzise ist die interne Uhr vom Arduino? Ich hätte kein Problem damit, die Uhr einmal im Monat zu stellen, aber jeden zweiten Tag wär vielleicht doch etwas viel.
  • Wie hoch ist der Stromverbrauch vom Arduino? (Welche Möglichkeiten hat man das Bord mit Strom zu versorgen?) Ein armer Student kann sich nicht jeden Tag eine neue Packung AA-Batterien leisten...
  • Angenommen ich setze das Projekt mit Arduino und LEDs in die Tat um, kann man die LEDs dimmen? Ich könnte mir vorstellen, dass die LEDs in der Nacht bei voller Power ganz schön hell sind.
  • Ist Arduino überhaupt der richtige Ansatz dafür? Ich kann mir denken, dass das Arduino für diese Aufgabe fast schon ein bisschen Overkill ist. Gibt es vielleicht kleinere (billigere, stromsparendere) Alternativen?

Ich würde mich sehr über Antworten und konstruktive Kommentare freuen.

Grüße,
Felix
Logged

Offline Offline
Edison Member
*
Karma: 21
Posts: 1419
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Felix,

schönes Projekt für den Einstieg. Allerdings wirst Du einige Hürden zu nehmen haben, bis Du das gewuppt bekommst. Hilfe findet man hier im Forum aber reichlich.
Zu Deinen Fragen.

1) Der Arduino hat keine interne Uhr, sondern nur einen Zähler der Mikro- und Millisekunden zählt. Dieser Zähler läuft aber nach einiger Zeit über und fängt zusätzlich nach jedem Reset (oder AN/AUS) von 0 an zu zählen. Für eine sinnvolle Uhr solltest Du über eine RTC (Real Time Clock) nachdenken. Die Dinger gibt es mit unterschiedlichen Gangenauigkeiten und Preisen als kleine Breakouts.

2) Der Arduino ist sogar recht gut geeignet, Dein Projekt umzusetzen. Der Einstieg in die Programmierung ist mit der IDE auch sehr einfach.

3) In Punkto Stromverbrauch ist Dein Arduino Dein geringstes Problem. Die "vielen" LEDs mit gut 15mA bis 25mA brauchen da auf jeden Fall den größten Teil. Hier ist eine Versorgung per Netzteil vermutlich am effektivsten.

4) LEDs kann man dimmen. Das macht man per PWM (Pulse-Width-Modulation). Wie Du das dann konkret umsetzt, hängt davon ab, wie die LEDs geschaltet werden. Auch da gibt es verschiedene Möglichkeiten.
  • multiplexen über den Aruino, ohne zusätzliche Hardware: Geringer Schaltungsaufwand, hoher Programmieraufwand, limitierte Anzahl von LEDs
  • Ausgabe per Schiebe-Register: einfache Umsetzung der Schaltung (8 LEDs pro Register-Chip), einfache Programmierung, schwierig zu dimmen (außer mit shiftPWM Lib)
  • Ausgabe über spezielle Chips (hier 64 LEDs, inkl. dimmen)

Ich würde an Deiner Stelle erstmal mit einem Uno einem RTC-Breakout, einem Schieberegister und einigen LEDs anfangen zu probieren. Damit sammelst Du Erfahrungen und bekommst ein Gefühl für Dein Projekt.
Wenn Du es später konkret umsetzt, kannst Du den klobigen Uno durch einen preiswerten Arduino nano oder Arduino pro mini (beide Boards sind sehr viel kleiner) ersetzen und hast den Uno für weitere Experimente übrig.

Mario.
Logged

Wien
Offline Offline
Edison Member
*
Karma: 28
Posts: 1928
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi,

ich bin seit einigen zeit an dem hier dran:



seit es die WS2812 gibt, technisch kein problem mehr, handwerklich solltest Du aber geschickt sein, plexiglas will verarbeitet werden.

gruß stefan
Logged

Offline Offline
God Member
*****
Karma: 10
Posts: 721
42
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich finde das ein tolles Einstiegsprojekt.
Am einfachsten ist hier meiner meinung nach ein aufbau aus einer RTC, ein bis zwei TLC5940 (16Kanäle 12Bit dimmbar). Stromversorgung würde ich auf jeden Fall per Netzteil machen.
Logged


AREA COLOGNE
Offline Offline
Edison Member
*
Karma: 21
Posts: 1145
I am 1 of 10 who understands binary
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Wenn du es nicht dimmbar brauchst kannst du es mit einem MAX7221/7219 machen der brauch keine seperate Widerstände vor jeder LED und übernimmt das Multiplexing selbstständig mit diesem Teriber von MAXIM kannst dud 8*8er LED Matrixen treiben ohen Probleme. Er ist auch einfach handzuhaben und bruacht nur 3 Pins des Arduinos. Die Zeit würde ich über ein RTC (z.B. DS1307) über I2C machen. Es gibt für die RTC und den MAXIM schon fertige Libraries.
Gruß
Der Dani
Logged

So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 271
Posts: 21871
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Und ich bin seit sehr langer Zeit an einem TIX-Uhr-Nachbau der aber anders als das Orginal voll RGB-fähig ist. Auf dem Foto noch mit schwarzer Schutzfolie.



Die Ideen stammen von:
orginal TIX-Uhr: http://www.keanmiles.com/Tix-LED-Clock.html
Monome als Design http://monome.org/devices
Ähnliche Tasten/LED - Monome von sparkfun http://www.sparkfun.com/products/7835 Mit dazugehöriger Platine http://www.sparkfun.com/products/8033
Dies Steuerung besteht aus: einem Arduino Nano3.0, einem RTC DS1307-Platine, einem TLC5940 und einem A2981. Es sind 26 Tasten mit 26 RGB-LEDs in einer 6x5 Matrix. Ein 10x R Netzwerk als PulldownWiderstände und ein Trimmer für die Stromeinstellung des TLC5940. Stromverbrauch ca 350mA bei allen eingeschaltenen LED.


weitere Fotos:




Grüße Uwe
« Last Edit: March 02, 2013, 04:29:37 pm by uwefed » Logged

Offline Offline
God Member
*****
Karma: 10
Posts: 721
42
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Uwe,

ist zwar ein bisschen OT, aber: Toll umgesetzt... mich würde die rückseite der Lochrasterplatine interessieren, gibt es da bilder?
Logged


Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 271
Posts: 21871
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

... mich würde die rückseite der Lochrasterplatine interessieren, gibt es da bilder?

Dein Wunsch ist mir befehl:  smiley-wink smiley-wink smiley-wink

Zu den Farben der Drähte:
Weiß dünn: Ansteuerung A2981 und Anoden der LED und Taster
Blau Interface mit TLC5940
gelb und grün Ansteuerung der Kathoden der LED.
grün I2C Bus
weiß dick und schwarz: Masse
was noch fehlt (weil Foto von noch nicht fertiger Platine) sind die Leitungen für die Tastenabfrage. Diese 6 gehen paralell von den gelben unten, zum Arduino nach oben.
Grüße Uwe
« Last Edit: March 02, 2013, 04:07:23 pm by uwefed » Logged

Offline Offline
God Member
*****
Karma: 10
Posts: 721
42
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Wie ich es mir dachte - blitzsaubere Arbeit. Unglaublich hübsch anzusehen. Supervielen Dank dafür Uwe.
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Wow, vielen lieben Dank für die ausführlichen Antworten! Da muss ich mich jetzt erst mal in Ruhe durcharbeiten...

Werde dann meinen Fortschritt wahrscheinlich auch hier im Thread dokumentieren (auch wenn ich damit erst nächste Woche anfange :p)
Logged

Germany
Offline Offline
Edison Member
*
Karma: 48
Posts: 2338
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

  • Ausgabe per Schiebe-Register: einfache Umsetzung der Schaltung (8 LEDs pro Register-Chip), einfache Programmierung, schwierig zu dimmen (außer mit shiftPWM Lib)
Sehe ich gar nicht so. Mit der shiftPWM-Bibliothek kann man jeden Ausgang separat dimmen, das ist bei einer Uhr gar nicht nötig. Hier sollen gleichzeitig alle LEDs gedimmt werden, dazu lässt sich wunderbar der OE-Eingang des 74xx595-Schieberegisters nutzen. Diesen verbindet man mit einem PWM-Ausgang des Arduinos und kann nun in 255 Helligkeitsstufen die LEDs dimmen (255 bedeutet hier ganz aus, 0 heißt volle Leistung).
Um die ganze Sache einfach zu halten würde ich jeweils für Stunde und Minute (ggf. wenn erwünscht auch für die Sekunde) ein separates Schieberegister verwenden. Generell reichen ja auch 2 kaskadierte Schieberegister für die 24h-Darstellung mit Sekunden (5 Bit für die Stunden, 6 für die Minuten und nochmal 6 für die Sekunden), übersichtlicher und leichter programmierbar ist es meines Erachtens erst einmal so.
Logged

Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Pages: [1]   Go Up
Jump to: