B.Kainka,

Elektronik am PC - Visual Basic in der Praxis -

Elektor-Verlag 2001

Berichtigungen und FAQ

DC-Daten

Französische Ausgabe: Petites expériments d'électronique avec mon PC (www.elektor.presse.fr)

Niederländische Ausgabe: Elektronica en Visual Basic (http://www.elektuur.nl)

Griechische Ausgabe: Elektronika me te Visual Basic, peiramata me to PC (www.elektor.co.hol.gr)


Vorwort

Grundlage für dieses Buch war der Kurs "Elektronik am PC" aus Elektor 9/2000 bis 3/2001. Dort sollten vor allem Neueinsteiger Informationen, Hilfen und praktische Experimentiervorschläge erhalten, die nötig sind, um einen ersten Überblick sowohl über die Elektronik als auch über Möglichkeiten der einfachen Windows-Programmierung zu bekommen. Der Kurs war bewusst einfach gehalten und verzichtete auf übermäßig komplizierte Schaltungen und Programme.

Im Laufe des Kurses wurden einfache Versuche entwickelt, die praktische Anwendungen vom Blinklicht bis zum Messgerät zum Ziel hatten. Am Ende blieben jedoch viele Anwendungen übrig, die den Rahmen einer Artikelserie gesprengt hätten, die aber unbedingt noch zum Thema gehörten. Themen wie Logikanalysatoren an der seriellen Schnittstelle, Infrarot-Fernbedienungen und serielle Datenkommunikation sind mit ebenso geringem Aufwand zu realisieren und erlauben zahlreiche weitere Experimente. Außerdem wird hier noch tiefer auf die Geheimnisse der seriellen Interface-Technik eingegangen.

Immer wieder gab es Fragen, was denn eigentlich im Innersten einer DLL zur Ansteuerung der seriellen Schnittstelle abläuft. Hier wurde die Gelegenheit ergriffen, auch diese unterste Ebene der Windows-Programmierung zu behandeln. Der Leser wird damit unabhängig von einer vorgefertigten DLL, kann Teile in eigene Programme übernehmen oder eine DLL mit neuen Eigenschaften entwickeln. Das Buch geht hier weit über den ursprünglichen Kurs hinaus. Es wird systematisch versucht, die Möglichkeiten und die Grenzen der Programmierung mit Visual Basic zu ergründen. Das bedeutet jedoch nicht, dass besonders hohe Voraussetzungen an die Vorkenntnisse der Leser gestellt werden. Vieles kann mit wenige Aufwand erarbeitet werden, indem man von den vorhandenen Beispielen ausgeht, sie ausprobiert und nach eigenen Vorstellungen verändert.

Burkhard Kainka


Inhalt

1 Einleitung 9

2 Hardware und Versuchsmaterial 11

3 Visual Basic Grundlagen 15
3.1 Die VB-Enwicklungsumgebung 15
3.2 Ansteuerung der seriellen Schnittstelle 22
3.3 Eine Ampelsteuerung 23
3.4 Ein Blinker/Taktgeber 31

4 Die Ausgänge der seriellen Schnittstelle 33
4.1 Technische Daten 33
4.2 Messung der Ausgangskennlinie 35
4.3 Verbraucher an der seriellen Schnittstelle 36
4.4 Transistor-Schaltstufen 38
4.5 Wechselstrom-Versuche 40
4.7 Stromversorgung für ein Radio 41
4.8 Ansteuerung von vier LEDs 44

5 Die Eingänge der seriellen Schnittstelle 49
5.1 Technische Daten 49
5.2 Abfrage von Schalterzuständen 52
5.3 Ein Impulszähler 52
5.4 Ein Vierkanal-Zähler 54
5.5 Ein Impulsgenerator 55
5.6 Frequenzmessung 58

6 Analogwertmessungen 61
6.1 Messung von Zeiten 61
6.2 Kapazitätsmessung 64
6.3 Verbesserung der Auflösung 65
6.4 Widerstandsmessung 67

7 Messungen mit Sensoren 71
7.1 Lichtmessung 71
7.2 Hautwiderstand 74
7.3 Temperaturmessung 75

8 Spannungsmessung 77
8.1 Ein AD-Wandler mit einem Transistor 77
8.2 Ein Voltmeter 80
8.3 Messwert-Plotter 82
8.4 Verbesserung der Genauigkeit 83

9 Digitale Echtzeitanwendungen 87
9.1 Ein Logikanalysator 87
9.2 RC5-Empfänger mit Software-Decoder 90
9.3 RC5-Sender mit dem PC 96

10 Serielle Datenübertragung 101
10.1 Nullmodem-Verbindung 102
10.2 Ein universales Terminalprogramm 103
10.3 Untersuchung serieller Zeichen 108
10.4 Eigene Sende- und Empfangsroutinen 112
10.5 Datenübertragung durch Licht 119
10.6 Auswertung von Impulslängen an RXD 122

11 Ansteuerung der Windows API in Visual Basic 125
11.1 Das Modul RSCOM.BAS 125
11.2 Das Programm IOtest2 129
11.3 Windows-Zeitsteuerung 131
11.4 Ein Vierkanal-Datenlogger 134

12 Eine RS232-DLL in Delphi 137
12.1 Aufbau einer DLL 137
12.2 RS232-Funktionen 140
12.3 Zeitmessfunktionen 145
12.4 Ein Terminalprogramm für zwei Schnittstellen 147

13 Impulsverarbeitung über TXD und RXD 153
13.1 IR-Übertragung ohne externen Modulator 153
13.2 RC5-Sender über TXD-Impulse 157
13.3 Ein PCM-Sinusgenerator 159
13.4 PCM-Soundausgabe über die TXD-Leitung 162

14. Das Universalinterface 165
14.1 Die Hardware 165
14.2 Acht digitale Ausgänge 168
14.3 Acht digitale Eingänge 169
14.4 Auslesen des AD-Wandlers 171
14.5 Ansteuerung aller Ein- und Ausgänge 173
14.6 Ein Speicheroszilloskop 176
14.7 Verwendung eines 10-Bit-Wandlers TLC1549 179

Anhang 181


1 Einleitung

Wer hatte nicht schon einmal die Idee, etwas mit dem PC zu automatisieren oder zu überwachen? Elektronikversuche mit dem PC brauchen nicht aufwendig und teuer zu sein. Oft reicht die direkte Verwendung der vorhandenen PC-Schnittstellen. In diesem Buch sollen Versuche an der seriellen Schnittstelle vorgestellt werden. Alle Beispiele werden mit einfachen Programmen in Visual Basic durchgeführt.

Mancher wird sich fragen: Warum gerade die serielle Schnittstelle, die doch komplizierter ist und weniger Leitungen hat als die Druckerschnittstelle. Für diese Entscheidung gibt es mehrere Gründe:

Das Buch und die darin vorgeschlagenen Versuche stellen äußerst geringe Anforderungen an den Geldbeutel. Denn außer einer kleinen Anschlussplatine braucht man nur ein paar Bauteile aus der Bastelkiste wie z.B. Tastschalter, NPN-Transistoren, Widerstände, LEDs, Elkos, Dioden und einen LDR-Sensor. Die Anschlussplatine stellt alle Anschlüsse der seriellen Schnittstelle an Steckbuchsen zur Verfügung. Außerdem hat man ein kleines Experimentierfeld zum Aufbau von Versuchsschaltungen. Der Lötkolben bleibt kalt, denn alle Bauteile werden einfach gesteckt.

Alle Versuche werden in Visual Basic 5/6 programmiert. Die Programme sollen auch für Anfänger erläutert werden, damit jeder seine eigene Ideen leicht umsetzen kann. In den letzten Kapiteln sollen auch komplexere Themen wie z.B. zeitkritische Steuerungen oder die Kopplung mit externer Elektronik vorgestellt werden. Der Leser wird auch mit viel angewandter Messtechnik konfrontiert.

Zusätzlich zu den eigentlichen Anwendungen geht das Buch näher auf die Windows-Programmierung ein. Es wird gezeigt, wie einige API-Aufrufe direkt mit Visual Basic ausgeführt werden können. Außerdem wird hier eine neue DLL zur seriellen Schnittstelle in Delphi 4 entwickelt und im Quelltext vorgestellt. Der Leser erhält die Informationen, die nötig sind, um eine eigene DLL mit selbst definierten Funktionen zu schreiben.