Forum: Markt [V] Olympia Infoglobe (Rotierende Laufschrift)


von Markus B. (dalotel)


Angehängte Dateien:

Lesenswert?

Verkaufe einen nie benutzten Opympia Infoglobe.
Das ist sowas wie eine rotierende Laufschrift wie man es
von einer Propelleruhr kennt.
Naja, jedenfalls wurde das mal (neu) gekauft um so eine Uhr
daraus zu machen. Aus Zeitmangel wurde das Projekt jetzt verworfen.
Bis jetzt ist es noch eine schnuckelige Telefonanrufanzeige
mit 15 cm Durchmesser. Ob das am aktuellen Telefonnetz noch
funktioniert kann ich nicht sagen.
Das Ding hat intern einen Propeller mit blauen Leds, die durch die hohe
Drehzahl statisch erscheinen. Im Moment wird eine schöne Animation 
abgespielt. Laufschrift rauf, runter, drehen,....
Wie gesagt war die Idee das Teil mechanisch so zu benutzen,
da das Selberbauen doch eine hohe mechanische Herausforderung darstellt,
lediglich neu programmiert sollte es werden um eine stylische Uhr
daraus zu bauen. Weiß allerdings nicht was für ein Controller darin
verbaut ist, hab das Ding noch nie geöffnet.
Vielleicht hat ja jemand anders mehr Zeit dazu.

Lieferung erfolgt in Originalverpackung mit Anleitung und Netzteil.

Würde es für 25 Eur
+ 5 Eur Porto Päckchen,
oder 7 Eur Porto Paket
per Paypal oder Überweisung abgeben

von Stoer P. (stoerpeak)


Angehängte Dateien:

Lesenswert?

Markus B. schrieb:
> Vielleicht hat ja jemand anders mehr Zeit dazu.

Als es das Teil vor etlichen Jahren bei Tchibo gab habe ich den auch zum 
Basteln mitgenommen.
Anstatt der Innereien umzuprogrammieren speiße ich mit einem Tiny 25 
über eine Leitung mein eigenes "Infrarot" Signal in den rotierenden 
Propeller.

von Esmu P. (Firma: privat) (max707)


Lesenswert?


: Bearbeitet durch User
von Markus B. (dalotel)


Lesenswert?

Esmeralda P. schrieb:
> Ist es dieses Ding?
> 
https://wilke.de/fileadmin/templates/Bilder/success/pdf_komplett/Applikationsbericht_071_WilkeTechnology.pdf

Genau dieses "Ding" ist es.

Das Teil intern per infrarot anzusteuern finde ich genial.
Super Idee!!

: Bearbeitet durch User
von Markus B. (dalotel)


Lesenswert?

Hallo han_swurst,
schick mir mal eine eMail Adresse wo ich dich erreichen kann.

von Stoer P. (stoerpeak)


Angehängte Dateien:

Lesenswert?

Markus B. schrieb:
> Das Teil intern per infrarot anzusteuern finde ich genial.
> Super Idee!!


Zur Ansteuerung benutze ich die sowieso schon vorhandene 
IR-Datenübertragung.
Mein Controller ist lediglich über drei Leitungen Verbunden (5V Gnd 
Daten).

Im Sockel befindet sich eine IR-Diode für das Drehwinkeltiming die der 
Rotor mittels einer Fotodiode "sehen" kann sowie eine zweite, die die 
Daten auf den IR-Empfänger des Rotors überträgt.

Meine Datenleitung moduliert den Sende-Transistor dieser 
IR-Datenstrecke.

Im Bild sind die IR-Bauteile fürs Drehwinkeltiming rot und die für die 
Daten gelb markiert.
Der grüne Draht ist meine Datenleitung. Den Datenverkehr an diesem Punkt 
habe ich damals per Salea Logic Analyzer analysiert und dann für eigene 
Texte emuliert.

von Markus B. (dalotel)


Lesenswert?

Stoer p. schrieb:
> Zur Ansteuerung benutze ich die sowieso schon vorhandene
> IR-Datenübertragung.
> Mein Controller ist lediglich über drei Leitungen Verbunden (5V Gnd
> Daten).

Würdest du den Code für den Attiny 25 veröffentlichen?

von Stoer P. (stoerpeak)


Angehängte Dateien:

Lesenswert?

Die Idee, die interne Infrarotübertragung zu modifizieren habe ich von 
hier:
https://hanixdiy.blogspot.com/2010/10/hacking-infoglobe-part-1.html

ebenso die Info für die Steuerzeichen zur Textanimation:
https://hanixdiy.blogspot.com/2010/10/hacking-infoglobe-part-3.html



Ich bin dann aber den einfacheren Weg gegangen und habe die bereits 
vorhandene Sendediode benutzt und eine simplere Hardware gebaut.

1
/*
2
Infoglobe.c
3
4
ATTiny 25 Pinbelegung:
5
PB0  frei
6
PB1  TX Datenausgang
7
PB2  frei
8
PB3  Quarz 8MHz
9
PB4  Quarz 8MHz
10
PB5  Reset
11
*/
12
13
#include <avr/io.h>
14
#include <avr/interrupt.h>
15
16
#define F_CPU 1000000UL  // Prozessortakt 1MHz (Fuse CKDIV8 gesetzt)
17
#include <util/delay.h>
18
19
20
void Lowbit (void);  // erzeugt 1ms Burst aus 38 Pulsen (je 10µs high / 16µs low)
21
void Highbit (void);  // erzeugt 1ms Pause
22
void Zeichen_senden (unsigned char z);    // gibt ein Zeichen aus
23
void Text(char *zeiger);  // gibt eine Zeichenkette plus Steuerzeichen aus
24
25
unsigned char Timeout =1;  // Merker für "1ms vorbei" (Low Aktiv)
26
27
28
// ISR für den Timer 0 Overflow Interrupt
29
ISR (TIMER0_OVF_vect)
30
{
31
  Timeout = 0;    // Merker für "1ms vorbei" setzen (Low Aktiv)
32
  TCNT0 =133;    // Preset für 1ms Overflowdauer
33
}
34
35
36
37
// main
38
int main(void)
39
{
40
  // Initialisierung des Controllers
41
  DDRB |= (1 << DDB1);  // Port B1 Ausgang
42
  #define Tx  PB1  // Datenausgang
43
  
44
  // Timer 0
45
  TCCR0B |= (1 << CS01);  // Timer 0 im "Normal Mode" Vorteiler 1:8
46
  TIMSK |= (1 << TOIE0);  // Timer 0 Overflow Interrupt Enable setzen
47
  
48
  sei();      // Interrupts global freigeben
49
  
50
  
51
  // preset
52
  _delay_ms(3000);  // 3 Sekunden warten damit der Rotor anlaufen kann
53
  
54
  Text ("Das ist ein Test");  // Textausgabe
55
  
56
  // mainloop
57
  while(1)
58
    {
59
    
60
    }
61
}
62
63
64
65
// Subroutinen
66
67
// Zeichenkette ausgeben
68
void Text( char *zeiger)
69
{
70
  // zunächst den Beginn einer Millisekunden Periode abwarten
71
  Timeout = 1;  // Merker für "1ms vorbei" zurücksetzen
72
  Highbit();    // kein IR, bis eine neue Millisekunde beginnt
73
  
74
  // Start der Ausgabe
75
  Zeichen_senden (0x00);                // Steuerzeichen
76
  while(*zeiger != 0) {Zeichen_senden (*zeiger++);}  // Zeichenkette Zeichenweise senden
77
  Zeichen_senden (0x03);                // Steuerzeichen 3 Fade out Fade in
78
  Zeichen_senden (0x05);                // Steuerzeichen
79
}
80
81
82
void Zeichen_senden (unsigned char z)
83
{
84
  for (unsigned char i = 8; i > 0; i--)  // 8 mal das MSB auf "0" oder "1" prüfen, ausgeben und einmal linksschieben
85
  {
86
    if (z & (1 << 7))
87
    Highbit();    // MSB war eine "1" => 1ms lang kein IR Signal
88
    else
89
    Lowbit();    // MSB war eine "0" => 1ms lang IR-Burst mit 38kHz
90
    
91
    z <<= 1;    // Datenbyte einmal linksschieben und sich selbst zuweisen
92
  }
93
}
94
95
96
void Lowbit (void)  // solange IR-Pulse 10µs high / 16µs low bis T0 überläuft
97
{
98
  
99
  // IR Pulse von 10µsPuls / 16µsPause ausgeben, 
100
  while (Timeout)
101
  {
102
    PORTB |= (1 << Tx);    // Tx Pin high
103
    asm volatile ("nop");
104
    asm volatile ("nop");
105
    asm volatile ("nop");
106
    asm volatile ("nop");
107
    asm volatile ("nop");
108
    asm volatile ("nop");
109
    asm volatile ("nop");
110
    asm volatile ("nop");
111
    PORTB &= ~(1 << Tx);  // Tx Pin low
112
    asm volatile ("nop");
113
    asm volatile ("nop");
114
    asm volatile ("nop");
115
    asm volatile ("nop");
116
    asm volatile ("nop");
117
    asm volatile ("nop");
118
    asm volatile ("nop");
119
    asm volatile ("nop");
120
    asm volatile ("nop");
121
  }
122
  Timeout = 1;  // Merker für "1ms vorbei" zurücksetzen
123
}
124
125
126
void Highbit (void)  // 1ms kein IR Signal
127
{
128
  while (Timeout)  // bis T0 überläuft
129
  {
130
    PORTB &= ~(1 << Tx);  // Tx Pin low
131
  }
132
  
133
  Timeout = 1;  // Merker für "1ms vorbei" zurücksetzen
134
}

an meinem Controllerboard habe ich noch eine weitere dreiadrige Leitung 
für ein Funkmodul, damit ich dem Globe auch Texte schicken kann. Den 
Code dafür müsste ich aber erst noch schreiben.

von Chris R. (han_swurst)


Lesenswert?

Hallo Markus,

hab Dir ne Nachricht geschickt.
Mit freundlichen Grüßen
Christian

von Markus B. (dalotel)


Lesenswert?

Trotz daß ich dank Stoerpeak wieder "Blut geleckt" habe hat das Teil 
einen neuen Besitzer gefunden.
Viel Spaß damit.

von Stoer P. (stoerpeak)


Lesenswert?

Markus B. schrieb:
> Trotz daß ich dank Stoerpeak wieder "Blut geleckt" habe hat das Teil
> einen neuen Besitzer gefunden.

Hallo Markus,
willst du meinen Infoglobe haben? :-)


oder braucht ihn sonst jemand?
Bei mir liegt er nur rum.

Gruß Stoerpeak

von Stoer P. (stoerpeak)


Lesenswert?

Stoer p. schrieb:
> oder braucht ihn sonst jemand?
> Bei mir liegt er nur rum.

***ist verkauft***

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.