PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Binäruhr nachbauen



SeeksTheMoon
08.07.07, 10:22
Mich interessiert folgendes Gerät: http://www.thinkgeek.com/gadgets/watches/6a17/
Allerdings hat das Nachteile wie ich finde:
1) der Preis ist mal unverschämt (und das ist noch das billgste was ich gefunden habe, die sind meistens doppelt so teuer)
2) selbstgebaut ist ruliger -- also wenn schon so eine Geek-Uhr, dann muss die auch selbstgebaut sein :-)
3) Es gibt keine Sekundenanzeige

Jetzt gibts so diverse Platinen im Netz, wie z.B. folgende, MC-gesteuerte:
http://www.lelie.de/markus/show.php?thema=15, allerdings sind die Bauteile und Platinen zu groß für eine Armbanduhr.
Hat jemand zufällig schonmal etwas passendes gesehen, bzw. wäre es möglich die Konstruktion auf 2Euro-Größe zu schrumpfen ohne dass man dafür ne Fabrik und SMD-Teile braucht? :D

geronet
08.07.07, 11:37
Ohne SMD Teile auf 2-Euro Grösse? Wohl kaum..
Höchstens al 2-Euro Turm mit 10 cm Höhe ;)

jay-t
08.07.07, 17:44
ACK.

Wenn es klein sein muss, ist das mit dem selbst bauen schwierig. Ohne SMD Teile wird
es so klein nicht gehen.

Wie wäre es das als Taschenuhr zu bauen? In eine Cremedose oder so was.

minisalami
08.07.07, 20:32
und was spricht gegen SMD?
Hast Du keine ruhige Hand ;)?
cu minisalami

derguteweka
08.07.07, 20:54
Moin,

Ohne SMD wirds wohl eh nix werden mit der Armbanduhrgroesse. Aber sonst sollte sich da doch recht simpel was stricken lassen, z.b. mit 'nem LPC932 oder sonst 'nem kleinen µC, 'nem Uhrenquarz, einer Handvoll SMD-LEDs incl. Vorwiderstaenden und ein paar Knopfzellen...

Gruss
WK

tomekk228
10.07.07, 10:09
Wie soll man bitteschön die Uhr lesen? :ugly:

geronet
10.07.07, 11:40
Steht doch da...
http://www.thinkgeek.com/gadgets/watches/6a17/images/858/

SeeksTheMoon
10.07.07, 23:20
Wie soll man bitteschön die Uhr lesen? :ugly:
tsts... binär ablesen geht doch viel schneller ;-)

tomekk228
11.07.07, 02:15
ich versteh das bild nicht, muss man die zusammen rechnen oder wie?

iGOTnoSKILL
11.07.07, 04:01
ich versteh das bild nicht, muss man die zusammen rechnen oder wie?

oooo wäre 0uhr
oooø wäre 1uhr
ooøo wäre 2 uhr
ooøø wäre 3 uhr
oøoo wäre 4 uhr
oøoø wäre 5 uhr

usw...

hast du niemals das binärsystem in der schule durchgenommen?

SeeksTheMoon
11.07.07, 09:58
In der oberen Reihe stehen die Stunden, darunter die Minuten. Ganz rechts hast Du jeweils die Stelle 2^0, daneben 2^1, 2^2, ... (hehe, eigentlich könnten die sowohl Low Endian, als auch Big Endian Uhren anbieten :D)
Dann siehst Du nach ob diese Bits auf 1 oder 0 stehen. Die Bits die auf 1 stehen, multiplizierst Du mit ihrer Wertigkeit und addierst sie dann.

25 Minuten sind dann 11001 = 1*2^0 + 0*2^1 + 0*2^2 + 1*2^3 + 1*2^4 = 1 + 8 + 16

Binärsystem ist doch trivial ;)

Übrigens kann die Uhr sogar 4 Sekunden mehr anzeigen als es gibt, der Wertebereich der Minuten geht von 0 - 63 :)
Das wäre ein Feature um Schaltsekunden anzuzeigen.
Leider haben sie sich für die Stunden auch eine LED gespart, der Wertebereich geht nur bis 15 (blödes 12er-System, wenn man in einem Betonraum voller Neonlicht ist, wie soll man dann zwischen Tages- und Nachtzeit unterscheiden?) und mit einer weiteren hätte man bis 24 gehen können.
Noch ein Grund, die Uhr nicht zu kaufen, sondern selber zu bauen.

Mit den jetzigen LEDs könnte man wenigstens noch eine Datumsanzeige hinbekommen: oben Monat, unten Tag, aber das haben die bestimmt auch ausgelassen, habs nicht so genau durchgelesen.
Noch ein Grund das selber zu bauen :D

tomekk228
11.07.07, 18:38
hast du niemals das binärsystem in der schule durchgenommen?

Nein. Nie.

Ich checks immer noch nicht wie man es liest, für mich sind das nur punkte :ugly:

zyrusthc
11.07.07, 18:42
Nein. Nie.

Ich checks immer noch nicht wie man es liest, für mich sind das nur punkte :ugly:
Ist doch Kinderleicht , im gegensatz zum Entwickeln von Sicherheitstools in c/c++ ;)

SeeksTheMoon
11.07.07, 18:49
lol, was muss man denn noch erklären...
Diese Punkte sind in 2 Reihen angeordnet, ja?
Die obere codiert die Stunden, die untere die Minuten, ok?
So, und wenn jetzt nur der Punkt ganz rechts aufleuchtet (egal in welcher Reihe), dann ist das die Stelle 2^0 = 1. Du hättest also 1 Minute oder 1 Stunde, je nach Reihe.
Leuchtet jetzt nur der 2. Punkt auf, dann ist das 2^1 = 2.
Leuchtet der 3. Punkt auf, dann ist das 2^2=4, beim nächsten Punkt ist das 2^3=8, dann kommt 2^4=16.

Also, für 16 Minuten leuchtet die LED an der 5. Stelle auf, weil das die Stelle ist, an der 2^4=16 gilt. Das ist die einzige Möglichkeit um im Binärsystem die Zahl 16 darzustellen. Für die Zahl 17 leuchtet auch die Stelle 2^4, aber es fehlt von 16 nach 17 noch 1 Punkt, daher muss dann auch die 2^0=1 eingeschaltet werden.
Für 18 macht man dann was? 2^4=16 und 2^1=2 -> 16+2 = 18
Und für 19? Da fehlt wieder die 1, also schaltet man 2^4, 2^1 und 2^0 an und erhält 16+2+1 = 19.

Die ersten Zahlen sehen dann so aus:
0: 0000
1: 0001
2: 0010
3: 0011
4: 0100
5: 0101
6: 0110
7: 0111
8: 1000
9: 1001
usw...

derguteweka
11.07.07, 20:42
Moin,

Hier fuer die Sicherheitstoolentwickler unter uns eine kleine C-Applikation, die eine Sekundenanzeige der Geekuhr in der Konsole simuliert und dahinter in "normal" die entsprechende Zahl zeigt:

#include <stdio.h>
#include <time.h>

int main()
{
time_t tt;
struct tm tm;
struct timespec ts;
char sec[7];
int i;
int old_tm_sec;


sec[6]=0;
ts.tv_sec=0;
ts.tv_nsec=1000*1000*100;
printf(" Geek Ungeek\n");
while (1)
{
nanosleep(&ts,NULL); /* wait 100msec */
time(&tt);
old_tm_sec=tm.tm_sec;
localtime_r(&tt,&tm);
if (old_tm_sec != tm.tm_sec)
{
for (i=0;i<6;i++)
{
sec[i]='.'; /* symbol for LED switched off */
if (tm.tm_sec & (1<<(5-i)))
{
sec[i]='*'; /* symbol for LED switched on */
}
}
printf(" %s %2d \r",sec,tm.tm_sec);
fflush(stdout);
}
}
}

Gruss
WK