Elektronik: µC-Einstieg leicht gemacht…

Auf mehrfachen Wunsch hier mal ein paar meiner Meinung nach sehr gute Links für den Einstieg in die Welt der (Atmel-)Mikrocontroller, auch AVRs genannt.

Wenn man die erste Hürde einmal genommen hat und das Grundprinzip verstanden hat, ist die Lernkurve garantiert sehr steil und mit ein klein wenig Grundverständnis von Elektronik und Programmierung ist es von der ersten blinken LED bis zum ersten größeren eigenen Projekt kein weiter Weg…

Eine wirklich tolle Seite mit unzähligen Anfänger-tauglich beschriebenen Artikeln zum Thema Mikrocontroller ist die Seite RN-Wissen.de.  Dort gibt es einen wirklich gelungen Artikel „AVR-Einstieg leicht gemacht„, der einen an die absoluten Basics ranführt. Lasst Euch nicht von dem 40-Pin-Monster-Chip (AtMega32) abschrecken, das dort gezeigt Prinzip gilt genauso für einen klitzekleinen 8-poligen Attiny-Chip, wie sie z.B. bei den beliebten Reaktivlichtern eingesetzt werden. Verwirrt? Einen kleinen Überblick über die Chips gibt es in dieser Einführung.

Ein weiteres tolles Tutorial, das etwas mehr in die Tiefe geht und nahezu jede Grundfunktion und Funktionsweise eines Mikrocontroller beschreibt, ist das bekannte „AVR-Tutorial“ von mikrocontroller.net. Zwar sind alle Beispiele dort in der „Ursprache“ der Prozessoren – in Assembler – angegeben, was nicht unbedingt jedermanns Sache ist (meine z.B. nicht 😉 ), allerdings wird dort nahezu alles rund um die Funktionen eines uC erklärt und es lohnt auf jeden Fall den ein oder anderen Blick.  EEPROM, Interrupts, Timer, PWM?  Dort gibt´s die Antworten 🙂

Bevor man loslegt sollte man sich mit zwei Dingen auseinandersetzen:

1) In welcher Programmiersprache und -umgebung möchte ich in Zukunft programmieren und 2) WIE möchte ich meine Mikrocontroller programmieren, also die Programme in die Chips übertragen.

Zu 2) gibt es die Möglichkeit, sich ein kleines Programmiergerät zuzulegen (ein sog. „Programmer“), der auch in vielen Artikeln beschrieben ist.  Einfache USB-Programmer gibt es ab ca. 15 Euro, z.B. bei myAVR. Wer aber noch eine gute alte parallele Druckerschnittstelle (LPT) an seinem PC hat, für den reicht auch ein simpler Stecker mit 5 Kabeln und 2 Widerständen.  Ein solcher Adapter ist im Reaktivlicht-Kochbuch auf Seite 9 beschrieben. Wenn ihr einen anderen Chip benutzt, müsst ihr nur die Pins entsprechend im Datenblatt heraussuchen (MOSI, MISO, SCK und Masse), jeder gängige AVR-Mikrocontroller lässt sich auf diese günstige Art programmieren.

Bei der Wahl der Programmiersprache gibt es zwar eine große Auswahl, für praktikabel und für Einsteiger-tauglich halte ich aber lediglich BASCOM (Basic) und C.

BASCOM-AVR ist ein kommerzieller Basic-Compiler inkl. kompletter Programmierumgebung für die Atmel-Chips. Bascom ist ein wenig als „unprofessionell“ und „Deppen-Programmiersprache“ verschrieen, allerdings wie ich finde zu Unrecht. Der große Vorteil ist, das der Hobby-Bastler hier alles quasi „Plug&Play“ in einer einheitlichen Oberfläche bekommt. Zudem gibt es für nahezu alle Dinge des Alltags bereits fertige Routinen/Libraries: von der LCD-Ansteuerung über Tastatureingabe bis zur Servo-Steuerung ist hier fast alles bereits vorhanden und sogar gut in der Onlinehilfe dokumentiert. Nach der Installation richtet man lediglich seinen Programmer ein und hat 3 Minuten später das erste Programm in den Chip gejagt…

Wer es „professioneller“ mag, greift zum C-Compiler – GCC bzw. als komplettes Paket für Windows: WinAVR. Hier ist deutlich mehr Vorarbeit zu leisten, bis man das erste Programm erfolgreich überträgt, denn WinAVR besteht aus einer Vielzahl Einzelkomponenten ohne einheitliche Oberfläche. Auch hier gibt es ein sehr gutes Tutorial auf mikrocontroller.net, das AVR-GCC-Tutorial.  Wer bisher keine Vorkenntnisse mitbringt und wenig Lust hat, sich lange mit dem Zusammenspiel verschiedener überwiegend Kommandozeilen-orientierter Programme rumzuschlagen, dem rate ich allerdings eher davon ab…

Eine dritte recht beliebte Möglichkeit ist die Arduino-Plattform, die quasi einen Mittelweg beschreitet und eine integrierte C-basierte Entwicklungsumgebung mit ebenfalls zahlreichen „Einsteiger-tauglichen“ Libraries bietet (Wikipedia). Allerdings ist hierfür spezielle (meist fertig aufgebaute) Hardware nötig.  „Loslegen statt löten“ ist hier das Motto, das allerdings auch seinen Preis hat, denn die Arduinos sind deutlich teurer… Ich selber habe bisher nicht mit den Arduinos gearbeitet, aber man hört viel Gutes darüber.

Ich selber bin bisher immer bei BASCOM hängengeblieben, obwohl ich auch bereits kleinere Projekte in C erstellt habe. Trotz des schlechten Rufs gefällt mir die BASCOM-Umgebung einfach und man kommt schnell und einfach zu Ergebnissen. Wer nicht bis in die Tiefe die Funktionsweise jedes Chips und jedes Protokolls vordringen will, sondern in erster Linie schnell zu Ergebnissen kommen will, der ist hier imho am Besten aufgehoben.

Soviel zum Einstieg von mir – ich hoffe der ein oder andere brauchbare Link war dabei und vielleicht findet der ein oder andere so ja auch zu einem faszinierenden neuen Hobby. Wie anfangs schon erwähnt: auf den ersten Blick sieht´s vielleicht recht kompliziert aus, aber wenn der Einstieg einmal gefunden ist, geht es rasant schnell vorwärts…

Zum Schluß noch ein paar weitere sehr hilfreiche Links, die oben noch nicht erwähnt wurden:

Happy µC-Basteling 😉

2 Antworten zu Elektronik: µC-Einstieg leicht gemacht…

  1. Mediterarno sagt:

    Hallo qByter,
    vielen Dank für die Infos und die wirklich interessanten Links.
    Eine Frage bleibt mir jedoch noch offen:
    Muss man sich die Schaltpläne selber ausdenken oder zusammenbauen, oder gibt es die irgendwo?
    Viele Grüße
    Christoph

    • qByter sagt:

      Kommt darauf an, was Du vorhast…
      Auf den genannten Seiten gibt es viele Beispiele mit Schaltplänen, z.B. wie man ein Display oder eine Tastatur anschließt. Aber an irgendeinem Punkt wirst Du die Sachen kombinieren wollen und eigene Ideen umsetzen wollen, dafür braucht’s dann auch eigene Schaltpläne 😉
      Aber das kommt automatisch…

Schreibe einen Kommentar zu qByter Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.