Im Septemberheft 2000 von Elektor begann der Basiskurs Elektronik mit kleinen und einfachen Experimenten am PC. Es gibt eine kleine Platine, auf der alle Versuche aufgebaut werden können (gesteckt, nicht gelötet).
Der Kurs ist eine Fortführung und teilweise eine Vertiefung zum System Elexs von Modul-Bus (www.modul-bus.de), das unter der Bezeichnung "Elektronik Start mit dem PC" in etwas anderer Form auch von Franzis herausgegeben wurde. Hierzu findet man weitere Informationen auf dieser Homepage und dem Stichwort CD-ROMs.
Hier sollen zusätzliche Informationen und Ideen zusammengetragen werden.
Eine passende Platine kann man bei Elektor bestellen. Oder gleich fertig aufgebaut bei Modul-Bus oder www.elexs.de. Aber wer es ganz eilig hat, der kann sich so etwas natürlich auch selbst bauen. Es reicht ein Stück Experimentierboard, zwei Fassungen, eine DB-9-Buchse und etwas Draht.
Ansicht von oben ...
und von unten.
Siehe auch: ELEXS-Platinenlayout
Im Oktoberheft von Elektor geht es um die Programmierung: Wie kommt man an die Schnittstellenleitungen heran, wie erzeugt man sein erstes Programm in Visual Basic (siehe auch hier)? Auch die Zeitsteuerung unter VB wird behandelt. Als kleines praktisches Beispiel wird u.a. eine Ampel programmiert. Hier darf jeder seine Grünphasen sebst festlegen.
Im Novemberheft wird den Ausgängen der seriellen Schnittstelle genauer auf die Daten geschaut. Die Leitungstreiber im PC werden untersucht, und genaue Messungen werden durchgeführt. Wieviel Strom kann man einer Leitung entnehmen? Welche Spannungen werden abgegeben? Was kann man direkt anschließen, wie dimensioniert man Schaltstufen?
Im Dezemberheft werden die Eingänge genauer beleuchtet. Messungen zeigen Schaltschwellen, Innenwiderstand usw. Und auch die Programmtechnik kommt nicht zu kurz. Als praktisches Beispiel wird ein Vierkanal-Digitalzähler in Visual Basic realisiert.
Die drei letzten Folgen der Serie waren noch nicht im ersten Software-Download bei Elektor enthalten. Man findet die neuen Quelltexte bei Elektor oder hier (Prog5_7.zip, 66k). Die Januarfolge des Kurses beschäftigt sich mit der Messung von Zeiten, Kapazitäten und Widerständen. Ein einfaches Kondensatormessgerät braucht nicht mehr als eine freie COM-Schnittstelle, zwei Bauteile und etwas Software.
Im Februarheft geht es um Messungen mit Sensoren: NTC, LDR und Hautwiderstand. Ein einfacher NTC zusammen mit einem Kondensator und einer Diode an der seriellen Schnittstelle reichen aus, um eine Temperatur zu messen. Die allgemeine Formel für den Widerstand eines NTC kann so umgestellt, werden, dass die Temperatur aus dem Sensorwiderstand folgt. Aufmerksame Lektorleser haben es sicher bemerkt: Die Exponentialformel für R(T) fehlte im Heft.
Die letzte Folge der Artikelserie ist im Märzheft erschienen. Hier werden einfache AD-Wandler an der seriellen Schnittstelle beschrieben. Wer hätte gedacht, dass man mit zwei Transistoren einen 10-Bit-Wandler an der seriellen Schnittstelle realisieren kann. Es kommt nur auf die richtige Software an.
Das wars dann also, der Basiskurs "Elektronik am PC" ist zu Ende. Aber das Thema ist noch lange nicht abgeschlossen. Aspekte wie die serielle Datenübertragung, Ansteuerung der Win32-API, Verwendung bestehender Interfaces in VB und vieles anderes mehr sollen noch behandelt werden. Da man alles auch einmal im Zusammenhang haben will, bringt Elektor ein Buch dazu heraus: Elektronik am PC - Visual Basic in der Praxis
Der hier beschriebene Dekoder für IR-Fernbedienungen empfängt solche Signale, die nach dem RC5-Standard arbeiten. Das Signal enthält ein Control-Bit, das abwechselnd 0 und 1 wird und eine Geräteadresse, z.B. 5 für den Videorecorder. Der letzte Datenblock steht für die gedrückte Taste.
Die Schaltung ist sehr einfach. Ein üblicher IR-Empfänger wird direkt an die COM-Schnittstelle angeschlossen. Die DTR-Leitung liefert über einen 5-V-Spannungsregler die Betriebsspannung.
Das VB5-Programm ist zeitkritisch. Es bietet ein gutes Beispiel für eine Echtzeitanwendung mit Visual Basic. Die verwendeten Funktionen zur RS232 stammen aus der PORT.DLL und werden im Elektor-Kurs genau erklärt.
Dim Ctr Dim Adr Dim Dat Sub RC5Error() Ctr = -1 Adr = -1 Dat = -1 End Sub
Function RC5Bit() As Integer TIMEINITUS If CTS = 0 Then While ((TIMEREADUS < 800) And (CTS = 0)) Wend Cnt = TIMEREADUS If TIMEREADUS > 799 Then RC5Error DELAYUS 444 If CTS = 0 Then RC5Error RC5Bit = 0 Else While ((TIMEREADUS < 800) And (CTS = 1)) Wend Cnt = TIMEREADUS If TIMEREADUS > 799 Then RC5Error DELAYUS 444 If CTS = 1 Then RC5Error RC5Bit = 1 End If End Function Sub RC5() Ctr = 0 Adr = 0 Dat = 0 Startbit = False REALTIME True TIMEINIT While Not Startbit While (CTS = 1) And (TIMEREAD < 500) Wend Startbit = True DELAYUS 444 If CTS = 1 Then Startbit = False DELAYUS 888 If CTS = 0 Then Startbit = False DELAYUS 888 If CTS = 1 Then Startbit = False Adr = Startbit If TIMEREAD > 499 Then Startbit = True Wend DELAYUS 888 Ctr = RC5Bit Adr = 0 For N = 1 To 5 DELAYUS 888 Adr = Adr * 2 Adr = Adr + RC5Bit Next N Dat = 0 For N = 1 To 6 DELAYUS 888 Dat = Dat * 2 Dat = Dat + RC5Bit Next N REALTIME (False) End Sub Private Sub Form_Load() OPENCOM "COM2" DTR 1 RTS 1 End Sub
Private Sub Form_Unload(Cancel As Integer) CLOSECOM End Sub Private Sub Timer1_Timer() RC5 Text1.Text = "CTR=" + Str$(Ctr) + " ADR=" + Str$(Adr) + " DAT=" + Str$(Dat) End Sub
Das Thema RC5 wurde in dem Elektor-Buch "Elektronik-Experimente am PC" noch genauer behandelt. Außerdem erschien in Elektor 11/01 und 12/01 ein kleines Projekt zu diesem Thema: Der "Infrarot-Transceiver für den PC". Die Platine enthält auch einen IR-Sender für RC5-Signale und serielle Datenkommunikation. Das dazu erforderliche Programm Terminal.exe kann bei Elektor geladen werden. Die VB5-Quelltexte findet man hier (rc5.zip, 93 K)
Ed Lagerburg schickte freundlicherweise seine Delph-Quelltexte zu diesem Projekt: rc5del.zip (10 K) "Here is a zip file that contains the source files written in Delphi 5.02 {Rc5Test.exe}, IrComm : the source code for Rc5Com.dll, IrTest : the source files for the interface to Rc5Com.dll and a small test program."
Eine gute Dokumentation des RC5-Protokolls findet man bei Holger Heinemann:
http://home.t-online.de/home/holger.heinemann/rc5.htm