\section*{Vorwort}

\subsection*{Grundsätzliches}
Jeder Bastler kennt das folgende Problem: Man baut einen Transistor aus oder man nimmt einen aus einer Bastelkiste.
Wenn man die Typenbezeichnung erkennen kann und man bereits ein Datenblatt hat oder eins bekommen kann, ist alles in Ordnung.
Aber wenn man keine Datenblätter findet, hat man keine Idee, was das für ein Bauteil sein kann.
Mit den konventionellen Messmethoden ist es schwierig und zeitaufwändig den Typ des Bauteils und dessen Parameter herauszufinden.
Es könnte ein NPN, PNP, N- oder P-Kanal-MOSFET usw. sein. 
Es war die Idee von Markus F., diese Arbeit von einem AVR-Mikrocontroller erledigen zu lassen.

\subsection*{Wie meine Arbeit begann}
Meine Beschäftigung mit der Software des TransistorTesters von Markus F. \cite{Frejek} hat begonnen, als ich Probleme mit
meinem Programmer hatte.
Ich hatte eine Platine und Komponenten gekauft, aber ich war mit dem Windows-Treiber nicht in der Lage den EEPROM des ATmega8
ohne Fehlermeldungen zu beschreiben.
Deshalb habe ich die Software von Markus F. genommen und habe alle Zugriffe auf den EEPROM-Speicher durch
Zugriffe auf den Programm-Speicher (Flash) ersetzt.
Bei der Durchsicht der Software, um an anderer Stelle Programmspeicher einzusparen, hatte ich die Idee,
das Ergebnis der ReadADC-Funktion von ADC-Einheiten in eine Millivolt (mV) Auflösung zu ändern.
Die mV-Auflösung wird für die Ausgabe von Spannungswerten gebraucht.
Wenn die ReadADC-Funktion direkt die mV-Auflösung liefert, kann man die Umwandlung für jeden Ausgabewert einsparen.
Diese mV-Auflösung kann man erhalten, wenn man zuerst die Ergebnisse von 22 ADC-Einlesungen addiert.
Die Summe muss mit Zwei multipliziert und durch Neun geteilt werden.
Das ergibt einen Maximalwert von \begin{math}\frac{1023\cdot22\cdot2}{9} = 5001\end{math},
welcher hervorragend zu der gewünschten mV-Auflösung passt.
So hatte ich zusätzlich die Hoffnung, dass die Erhöhung der ADC-Auflösung durch Überabtastung helfen
könnte, die Spannungs-Einlesung zu verbessern, wie es in dem Atmel-Report AVR121 \cite{AVR121} beschrieben ist.
Die Original-Version von ReadADC hat die Ergebnisse von 20 ADC-Einlesungen addiert und danach durch 20 dividiert,
so dass das Ergebnis wieder die Original-Auflösung des ADC hat. Deshalb konnte niemals eine Erhöhung der ADC-Auflösung
durch Überabtastung stattfinden.
So hatte ich wenig Arbeit, die ReadADC-Funktion zu ändern, aber dies erforderte die Analyse des kompletten
Programms und Änderung aller ,,if''-Abfragen im Programm, wo Spannungswerte geprüft wurden.
Aber dies war nur der Beginn meiner Arbeit!

Mehr und mehr Ideen wurden eingebaut, um die Messung schneller und genauer zu machen.
Zusätzlich wurde der Bereich der Widerstands- und Kondensator-Messung erweitert.
Das Ausgabe-Format für das LC-Display wurde verändert, so wurden Symbole für die Darstellung von
Dioden, Widerständen und Kondensatoren verwendet.
Für weitere Einzelheiten schauen Sie in das aktuelle Eigenschaften-Kapitel \ref{sec:features}.
Geplante Arbeiten und neue Ideen wurden im Arbeitslisten-Kapitel \ref{sec:todo} gesammelt.
Inzwischen kann ich unter dem Linux-Betriebssystem auch den EEPROM des ATmega8 einwandfrei beschreiben.

Danken möchte ich hier dem Erfinder und Softwareautor Markus Frejek, der mit seinem Projekt die Weiterführung erst
möglich gemacht hat.
Außerdem möchte ich den Autoren der zahlreichen Beiträge im Diskussionsforum danken, die dabei geholfen haben, neue Aufgaben, Schwachstellen und
Fehler zu finden. 
Weiter gilt mein Dank auch Markus Reschke, der mir die Erlaubnis gegeben hat, seine aufgeräumte Versionen im
SVN-Server zu veröffentlichen. Außerdem sind einige Ideen und Softwareteile von Markus R. in meine Version eingeflossen,
auch hierfür herzlichen Dank.
Auch hat Wolfgang Sch. eine große Leistung vollbracht, das grafische Display mit ST7565-Controller zu unterstützen.
Vielen Dank für den Patch für die 1.10k Softwareversion und für die Integration in die aktuelle Entwicklerversion.
Bedanken möchte ich mich auch bei Asco B., der eine Platine für Nachbauwillige entwickelt hat und bei Dirk W. , der sich
um die Sammelbestellungen für diese Platine gekümmert hat. Ich hätte unmöglich selbst die Zeit dafür aufbringen können, sonst
wäre die Weiterentwicklung der Software noch nicht so weit gekommen.
Auch bei den Mitgliedern des Ortsverbandes Lennestadt des Deutschen Amateur Radio Clubs (DARC) möchte ich mich für zahlreiche
Anregungen und Verbesserungsvorschläge bedanken.
Für die Integration der Sampling-Methode, mit der die Messung kleiner Kapazitätswerte und kleiner Induktivitäten
erheblich verbessert wurde, möchte ich mich bei dem Amateurfunker Pieter-Tjerk (PA3FWM) bedanken.
Nicht zuletzt möchte ich mich bei Nick L. aus der Ukraine bedanken, der mich mit Prototyp-Leiterplatten unterstützt hat,
einige Hardware-Erweiterungen vorgeschlagen hat und für die russische Übersetzung dieser Beschreibung gesorgt hat.

