Arduino Meetup November 2017
Das kommt alles nicht vor, aber Versicherungstechnisch sind wir nun
sicher und jeder hört zu ;-)
René stellt immer wieder interessante Sachen vor, die ich dann auch
haben will und bestellen möchte.
In diesem Fall, als ich gehört habe, dass der ESP32 64bit Timer hat
und - uuuund IrDA, da gab es kein Halten mehr !
Ich bin voll (noch immer) der IrDA Fan.
Die Datenverbindung wird direkt mit Hardware unterstützt, die TV
Fernbedienung kann über Software gemacht werden.
Die TV Fernbedienung ist relativ einfach, die 35/38 kHz Pakete kann
man einfach nachbilden,
indem man die entsprechende Anzahl Einzelpulse sendet, gefolgt von
der entsprechenden Pause.
Für die Dekodierung gibt es günstige Empfängerbausteine.
Um die Datenverbindung auf dem ESP32 testen zu können, brauche ich
aber zuerst zwei funktionierende USB Geräte.
Ich hatte von früher noch ein Schema und Bord welches ich
aktualisieren konnte.
Dies ist dann ausgedruckt auf Hochglanz Fotopapier und mit der
Toner Transfer Methode auf einen Leiterplatten Rohling
aufgebügelt.
Zum korrigieren und nachbessern muss es nicht unbedingt ein
spezieller säurefester Filzschreiber sein.
Mit entsprechender Vorsicht kann das natürlich auch in der
heimischen Küche gemacht werden :-)
Und hier das Ergebnis schon bereits mit Schutzlack aus dem
Filzschreiber überzogen.
Erst beim verzinnen habe ich bemerkt, das an der rot umkreisten
Stelle die Leiterbahn unterbrochen wurde,
leider befindet sich diese Stelle unter dem Chip und ist somit nicht
oder nur schwer reparierbar.
Deswegen sollte man mehr als nur eine Leiterplatte ätzen.
Und Bingo ! Die "USB zu seriell zu Infrarot Protokoll zu Infrarot"
Platinen arbeiten einwandfrei :-)
Erfreulicherweise ist das Infrarot Protokoll in Hardware vorhanden,
das bedeutet, ich benötige nur eine Infrarot Diode mit einem
Begrenzungswiderstand zum Senden
und auf der anderen Seite zum Empfangen nur einen Fototransistor mit
Widerstand.
Noch einfacher geht es mit einem Infrarot Transceiver, dazu habe ich
ein Modell gewählt
welches ohne Änderung stehend wie auch liegend verwendet werden
kann.
Wie man auf der Adapter Platte sehr gut erkennen kann, auch hier
wieder meine Empfehlung, nein, die Bitte,
wenn immer möglich alles mit Kommentaren zu versehen, seien das
beschriftete Pin's, im Quellcode oder wie hier Notizen auf dem
Klebeband
(das teuere, welches nicht nach einer Weile klebrig wird).
Hier noch das Schema dazu. Es wäre übrigens auch möglich, die
Sendediode im Transceiver für die TV Fernbedienung direkt
anzusteuern.
Softwareseitig muss ich nur eine serielle Verbindung einrichten und
zwei zusätzliche Bits setzen.
Es hat 3 UART's und jedes hat vier Konfiguration Register, hier
violett markiert das Konfiguration Register Null des UART2.
Für die Arduino-IDE musste ich einige Zeit suchen bis ich den
richtigen Befehl zum Schreiben in ein Register gefunden habe:
WRITE_PERI_REG
Dieser Befehl ist verschachtelt, während dem Schreibbefehl, lese ich
den aktuellen Zustand des Registers ein, füge die beiden Bits hinzu
und schreibe den ergänzten Wert ins Register.
Das ist Bit 16 für "IRDA Enable" und Bit 10 für "IRDA Transmit
Enable".
Zum empfangen muss anstelle Bit 10 das Bit 9 gesetzt werden: "IRDA
Duplex".
So einfach ! :-)
Da ich dies nun raus gefunden habe, gebe ich natürlich das neue
gewonnene Wissen weiter und schreibe es ins entsprechende Forum. :-)
Während meiner Recherche ist mir aufgefallen, das manche Befehle für
die serielle Verbindung nicht erkannt werden oder Fehlermeldungen
auslösen.
Der Paketmanager meint zwar es sei die aktuellste Version
installiert...
Aber ein Blick ins Internet zeigt sogar einen neueren Major Release.
Auch Paketmanager sind nicht immer aktuell... So habe ich es von
Hand aktualisiert und nun läuft es viel besser.
Zum Schluss noch zwei Ankündigungen: Das "Global Shopping
Festival"...
und das "Vintage Computer Festival".
Damit gebe ich das Mikrofon weiter.