Im folgenden Text ist beschrieben, wie man sich für den Atari Portfolio eine Fernbedienung basteln kann. Das ganze funktioniert auch recht gut, nur ist die Reichweite mit ca. 2m etwas beschränkt. Im Text ist auch die Möglichkeit mit externer Spannungsquelle und Treibertransistor beschrieben. Könnt ihr mir vielleicht helfen diese Schaltung mit dem Transistor zu realisieren?
ZitatAlles anzeigen; RC (Remote Control) Version 1.0, (C) 1995-2006 by Klaus Peichl
; Atari Portfolio als programmierbare Fernbedienung
;
; ACHTUNG: Ich übernehme keine Verantwortung für Schäden, die auf
; die Verwendung der beschriebenen Hard- oder Software zurück-
; zuführen sein könnten. Bei der gezeigten Sendeschaltung wird
; der Schnittstellenbaustein des Parallelportmoduls garantiert
; außerhalb seiner Spezifikationen betrieben!
;Die Wichtigsten Neuerungen in Version 1.0
=========================================- Änderung in der Empfangsschaltung: Der Widerstandswert wurde
von 100 kOhm auf 22 kOhm reduziert, weil sonst die High-Pegel
beim Einlesen zu lange anhalten können. Der Widerstand kann auch
noch kleiner gewählt werden, solange keine kurzen Unterbrechungen
der High-Pegel bei der grafischen Ansicht auftreten. (Die Zeitkonstante
beim Pegelwechsel sollte deutlich über der Periodendauer der
Trägerfrequenz liegen.)- Kleine Verbesserungen beim Timing, gesperrte Interrupts
beim Aufnehmen und Senden.
- Die Option für die mehrfache Wiederholung eines Befehls hatte
nicht richtig funktioniert.
- Wählbare Trägerfrequenz: Bei getunten Portfolios könnte durch
Reduzierung der (nominellen) Trägerfrequenz eine Kompensierung
des höheren Takts erreicht werden.- Nicht mehr benötigte Geräte können jetzt entfernt werden.
- Verbesserte Usability:
- Anzeige der gerade aktiven Tasten im Sende- und Diagnosebetrieb
- Ordentliche Formatierung von Geräte- und Kommandoliste
- Numerische Anzeigen im Dezimalsystem
- Das zu programmierende Gerõt wird beim Umschalten in den Lernmodus
nur einmalig eingegeben
- Interne Applikationen lassen sich starten
; Hardwarebeschreibung:
; =====================
; Zum Betrieb ist die parallele Schnittstele nötig
;
; Empfängerschaltung:
; -------------------
; Es werden nur eine Fotodiode und ein Widerstand
; benötigt. Die Stromversorgung übernimmt der PF.
;BILD 1
; Leitung Adresse (Portfolio) Bedeutung
; 12 807Ah and 1 Eingangssignal
; 9 8078h and 80h wird high gesetzt, dient der Stromversorg.;
; Sendeschaltung:
; ---------------
; Variante 1: 7 Datenleitungen der par. Schnittstelle versorgen die
; Sende-LED (Pin 2 bis 8). Die achte Datenleitung (Pin 9)
; wird für die Empfangsschaltung benötigt. Ich habe die IR-LED
; auch schon ohne Vorwiderstand an die 5V aus der Schnitt-
; stelle gehängt. Die Spannung bricht dann zwar zusammen,
; aber der Strom ist auf jeden Fall höher als mit Vorwider-
; stand. Dabei besteht allerdings das Risiko, daß entweder
; die IR-LED, das Schnittstellenmodul oder gar irgendwas im
; Pofo überlastet wird!
; Über einen 56 Ohm Widerstand in Reihe mit der IR-LED
; fliessen ca. 60mA.
;BILD 2
;
; Variante 2: Nur 1 Steuerleitung der par. Schnittstelle, Treibertransistor
; und ext. Stromquelle, nicht getestet
; Variante 3: Einbau der Sende-LED in den PF, Steuerleitung noch
; nicht geklärt, TreibertransistorSoftwarebeschreibung:
=====================RC verwaltet bis zu 10 Geräteebenen, denen jeweils eine
Taste zugeordnet wird, mit der die entsprechende Ebene aus-
gewält wird. Alle restlichen Tasten (außer Cursor etc.) stehen
für die eigentlichen IR-Kommandos zur Verfügung.In Verbindung mit der Control-Taste können folgende Funktionen
gewählt werden:<CTRL+H> = Hilfeseite
<CTRL+N> = Normalbetrieb: Senden der gelernten IR-Signale.
Nach dem Start befindet sich das Programm im Normalmodus.
<CTRL+L> = Lernen: Einlesen eines IR-Signals vom Parallelport
<CTRL+D> = Diagnose:
Informationen zur Speicherbelegung und grafische Anzeige
der aufgenommenen Signale (15ms/Zeile).
<CTRL+O> = Optionsmenü, siehe unten
<CTRL+T> = Test: Signalisiert akustisch, ob überhaupt ein Signal empfangen
wird und gibt dessen Frequenz an. Eignet sich z.B. auch zur
Messung der Bildwiederholfrequenz eines Monitors.
<CTRL+W> = Wartet ca. 2 Sekunden. Kann bei der automatischen
Ausführung von Befehlsfolgen per Eingabeumleitung
nützlich sein.
Optionen
--------
<R>epeat Legt fest, wie oft hintereinander künftig gelernte
Befehle jeweils ausgestrahlt werden sollen.
Wertebereich: 1-16 (=0), Voreinstellung: 3
<P>ause Legt die Pause zwischen den Befehlswiederholungen fest
Wertebereich: 1-16 (=0), Voreinstellung: 8
<F> Wahl der Trägerfrequenz für neu definierte Geräte.
1 = ca. 22 kHz
2 = ca. 26 kHz
3 = ca. 32 kHz
4 = ca. 38 kHz (Voreinstellung)
<U> Listet alle definierten Geräte auf.
<C> Listet alle gelernten Kommandos auf.
<D> Löscht das gerade aktive Gerät aus der Geräteliste
und alle zugewiesenen Befehle aus der Kommandoliste.
Datei als Eingabequelle für Makros:
Zum automatischen Senden einer Sequenz von IR-Befehlen kann es sinnvoll sein,
alle dazu nötigen Eingaben in einer Datei zu speichern und diese dem
Programm RC.COM als Eingabequelle zuzuteilen (z.B.: RC < makro.dat).
Damit RC auch automatisch beendet wird, muß ESC das letzte Zeichen dieser
Datei sein. Im Portfolio-Editor erzeugt man ESC mit <Alt+Ä>,<Alt+Ü>.Bekannte Bugs:
--------------
- Die Datenfiles älterer Versionen (<1.0) sind inkompatibel, da
in ihnen absolute Adressangaben enthalten waren, die nach einer
Erweiterung des Programmcodes nicht mehr stimmen.
Fehlermeldungen beim Lernen:
----------------------------
Beim Abbruch des Empfangsvorgangs wird nun die Ursache angezeigt:
1. Signalspeicher voll: Sollte erst nach mehreren hundert gelernten Komman-
dos auftreten. Die Datei RC.DAT wäre dann ca. 20 kByte groß.
2. Signal hat >255 Pegelwechsel: Entweder ist das IR-Übertragungsprotokoll
wirklich zu kompliziert (ich glaube nicht, daß es solche gibt), oder
die Pause zwischen den identischen Datenpaketen ist zu kurz.
3. Timeout während High-Pegel: Die Übertragung beginnt oft mit einem sehr
langen High-Impuls. Tritt dieser Fehler auf, ist im Programm der Zeit-
zähler, der die Impulsdauer mißt, übergelaufen.
4. Signal hat <10 Pegelwechsel: Wahrscheinlich handelt es sich beim auf-
genommenen Signal um eine Störung (Lichtblitz / Prellkontakt in der
Fernbedienung...)
5. User-Break: Es wurde Escape gedrückt. Die eigentlich zu belegende Taste
wird freigegeben, daher auch zum Löschen einzelner Kommandos verwendbar.Neben den vom Programm erkennbaren Fehlerquellen könnten folgende Faktoren
Ursache für ein Versagen sein:
1. Das IR-Signal könnte unvollständig abgelegt worden sein. Das Programm
erkennt das Signalende nämlich an eine Pause, die mindestens 256 Ab-
tastintervalle lange dauern muß. 1 Abtastintervall ist in der grafi-
schen Darstellung (Diagnose) 1 Pixel breit.
2. Manche Geräte erwarten wieder mehrmals hintereinander das gleiche Signal
während andere dadurch irritiert werden können. Ggf. müssen in den
Optionen die Einstellungen für "Repeat" und "Pause" geändert werden.
3. Die Trägerfrequenz könnte zu stark vom Original abweichen und deshalb
vom Empfänger herausgefiltert werden.
4. Die Abweichung zwischen Aufnahme- und Wiedergabegeschwindigkeit beträgt
ca. 1,5 Prozent.Zum Format des Datenfiles:
--------------------------
1. 35 Byte Header
2. Gerätetabelle:
10 Einträge, jeweils 1 Byte Gerätekennung
8 Byte Gerätebezeichnung
1 Byte für die Trägerfrequenz (Werte 1-4)
Tabellenende durch 0 markiert3. Kommandotabelle:
bis 500 Einträge à 16 ByteOffset Länge Bedeutung
----------------------------
0 1 Gerätekennung
1 1 Taste
2 11 Beschreibung ($-terminiert)
13 2 Anfangsoffset
15 1 obere 4 Bit: Anzahl der Wiederholungen 1..16(=0)
untere 4 Bit: Dauer der Pause dazwischen 1..16(=0) * 2.15ms4. Die Signale selbst: Abwechselnde Byte-Werte für die Dauer von Highpegel
und Lowpegel, Ende durch 0 markiert.