IT-Stammtisch Darmstadt

VORTRÄGE

Atmel AVR Microcontroller -

Demo der Programmierung mit C (Kurzvortrag / -vorführung)
Uli Gräf beim Vortragen
Zum IT-Stammtisch im Mai 2010 brachte uns Uli Gräf seinen Atmel STK-500 mit. Mit dem Microcontroller von dem Hersteller Atmel kann man von klein (8Pins) bis gross (40 Pins) programmieren. Atmel liefert eine Umgebung zum Programmieren in Assembler und C. Der C-Compiler basiert auf dem Gnu-CC (WinAVR) und ist auch von Linux, MacOS und Solaris aus benutzbar. Man kann jeden Pin einzeln programmieren und zum Ablauf braucht man ausser den angeschlossenen Teilen nur den Chip und Strom (Chip kostet von <1Euro bis 10 EUR).
Für Interessierte, die schnell zu Ergebnissen kommen wollen ohne vorher Löten zu müssen, gibt es die "Arduinos" in verschiedenen Varianten, die sich ebenfalls in einer an C angelehnten Programmiersprache programmieren lassen. Die Basisplatine ist bereits fertig aufgebaut und mit einem Atmel-Mikrocontroller bestückt. Für die Arduinos/Seeduinos existieren zudem fertige Aufsteckmodule die Shields genannt werden, um vielfältige Aufgaben wahrnehmen zu können. (siehe auch www.arduino.cc).



Hier noch die Mail von Uli mit weiterführenden Informationen:

Hi all,

das es ja kein richtiger Vortrag war, kann ich keine Slides publizieren. Ich wollte trotzdem ein paar Links weitergeben, damit man was zum Anfangen hat.

Der absolute Einsteiger braucht folgendes:
HW (Programmierer):
Einen Programmierer (den ich vorgeführt habe):
- Atmel AVR STK-500 80 EUR der Grosse für viele Prozessoren 1 Prozessor wird mitgeliefert.
Erhältlich bei Reichelt -> nach "AVR STK 500" suchen

CPU: Ich nutze die 8-Bit Prozessoren, die Datenblätter findet man kostenlos hier.
Bei Reichelt kann man sie im Bereich von <1 EUR bis ca 10 EUR kaufen, sie haben von 512 Byte bis 128 KB Programmspeicher (Flash), den man brennen kann, ein bisschen EEPROM (bleibt nach Ausschalten da) und Arbeitsspeicher ist auch drin (bis 16KB).

SW: Die Software zum Entwickeln ist im Paket drin, man kann auch die aktuelle Version bei www.atmel.com downloaden.
Da ist ein Assembler drin und ein C-Compiler (basierend auf gcc) und kostet auch nichts (nur eine Registrierung).

Tutorial: Es gibt eine schöne Einführung mit Beispielen auf der der deutschen Webseite: www.mikrocontroller.net
Dort gibt es ein AVR Tutorial, ein AVR-GCC Tutorial, Beispiele für Interrupts und Multitasking, eine ganze Menge an Code-Beispielen, und viele Foren, wo Fragen gestellt werden können.

Getting Started (60 Min): 1. Programmierer bei reichelt kaufen (80 EUR).
2. AVR-Studio Software unter Windows installieren (ca. 20 Min).
3. Prozessor in richtigen Slot stecken und Verbindungskabel einstecken
(Anleitung liegt bei, dauert ca. 10 Minuten).
4. Tutorial von Mikrocontroller.net lesen und Beispiel programmieren. (max 30 Min).

----

Andere: Andere Microcontroller (ARM, PIC, ...) gibts auch, da ist allerdings immer Geld für die offizielle Entwicklungsumgebung fällig.
Leider ist der Atmel AVR der einzige, bei dem die Software kostenlos und nicht limitiert (Programmgröße) ist.

Arduino/Seeduino: Für Leute, die ihre Zeit nicht mit löten verbringen wollen gibt es eine einfache Möglichkeit, das das Arduino-Projekt.
Ein Arduino ist im Prinzip ein Atmel AVR 8-Bit CPU (wie die vorgeführte), hat aber eine Basis-Software draufgebrannt.
Den Arduino gibts auch mit einer kleinen Platine, wo man direkt was anschliessen kann ... und der Arduino sieht schön aus.
Hier gibt es sehr viele Sachen, die man anschliessen kann und viele frei verfügbare Bibliotheken.
Leider hat der Arduino eine eigene Programmiersprache und die Teile kosten alle eine "Künstler-Aufpreis".

Dafür gibts alles in einer Form zum einfachen Installieren auf dem Mac und es läßt sich via seriell oder USB ohne extra Programmierer arbeiten.

Arduinos kann man in Deutschland beim www.elektronikladen.de oder bei www.rs-online.de kaufen. Leider verkauft der Elektronikladen neuerdings genau wie RS nicht mehr an Endverbraucher, also müsste man es über die Firmenadresse bestellen.
Oder man bestellt in USA bei www.nkcelectronics.com, die haben auch viele Teile zum anschließen.

Wie gesagt, man kann die Arduino SW auch frei downloaden, dann braucht man aber wieder einen Programmierer.

Programmierer: AVR Programmierer-HW gibts viele, am einfachsten geht es mit einem Rechner, der eine parallele Schnittstelle hat. Da braucht man nur noch eine handvoll Widerstände und eine freie Software; leider haben immer weniger Rechner eine eingebaute parallele Schnittstelle (eine USB-parallele geht nicht).

Für serielle Schnittstellen oder USB Schnittstellen gibt es auch Bauanleitungen; man braucht aber eine programmierte AVR CPU (Henne-Ei Problem) und ein paar Bauteile (unter 10 EUR).

Ein einfacher serieller Programmierer ist hier zu finden.

Beste Grüße,

Ulrich Gräf