Basiskurs Elektronik am PC


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


Kursübersicht

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


Zusatzinformationen

RC5-Infrarotempfänger an der RS232

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

RC5-Transceiver in Elektor

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


WEBCounter by GOWEB