Hi,
nachdem wir ja jetzt die schöne Rubrik "Workshops" haben bin ich mit dem Gedanken schwanger, einen für die Programmierung in Assembler anzubieten und nun frage ich hier, ob da generell Interesse besteht.
Um was geht es:
Gerade als Modellbauer bzw. Modellbahner kann es vorkommen, dass man eine Schaltung für bestimmte, meist individuelle Steuerungsaufgaben benötigt. Das kann eine Lichtsteuerung sein, eine Ablaufsteuerung... oft gibt es das, was man braucht nicht von der Stange und der Eigenbau scheitert am Aufwand und so kauft man ähnliches, baut zähneknirschend selbst oder lässt es bleiben.
Viele, eigentlich nahezu alle elektronischen Schaltungen und auch komplexe Anforderungen lassen sich, meist ohne grossen (Löt- und Bau-)Aufwand, mit einem Mikrocontroller umsetzen. Die Entwicklung der Hardware, die Beschaffung der Bauteile, das Erstellen des Layouts und letztendlich der Zusammenbau wird quasi durch die Programmierarbeit ersetzt, wenn man vom vergleichsweise minimalen Schaltungsaufwand um den MC herum absieht.
Persönlich bin ich ein grosser Freund der Programmierung in Assembler aus folgenden Gründen:
- Programmierung ist äusserst hardwarenah
- sehr schnelle Laufzeiten, auch wegen der hardwarenahen Programmierung
- ich kann kein C++
Um was es da in etwa geht (vielleicht erspart das auch gleich den Workshop) kann man auch hier nachlesen, gewissermassen würde der WS auch auf dem Tutorial aufbauen, bzw. dazu Bezug nehmen.
Der Workshop würde auf der Basis der ATM8 aus dem Hause Atmel basieren. Sämtliche Kenntnisse passen aber auch zu den meisten anderen Atmels und auch die Assemblersprache völlig andere Prozessoren ist i.d.R. sehr ähnlich.
Allerdings gibt es ein paar Voraussetzungen, persönliche sowie technische:
Persönliche Voraussetzungen:
- Grundkenntnisse in Dual- und Hexzahlen
- Logisches Verständnis
- ggf. ein wenig Löten
- elektronische Grundkenntnisse
Technische Voraussetzungen:
- PC
- Evaluationsboard*
- Programmiergerät**
- ggf. Lötkolben oder Lötstation
* es gibt verschiedene Boards in unterschiedlichen Preisklassen, auch ein Selbstbau ist prinzipiell möglich. Wenn es spruchreif wird, also Interesse besteht, werde ich die Voraussetzungen umreissen, basieren wird der Workshop auf einer Schaltung, welche ich, sofern das geht (Anfrage ist beim Hersteller), als Bausatz anbieten werde. Nein, ich will damit keine goldene Nase verdienen, deshalb auch der Hinweis, dass die Teilnahme auch mit offiziellen Evaluationsboards, z.B. von Atmel selbst, oder mit Eigenbauten möglich ist. Support oder Hilfestellungen von mir sind damit natürlich nicht oder nur eingeschränkt möglich.
** Ohne Programmiergerät geht es leider nicht. Ich verwende den original AVR ISP und würde diesen auch empfehlen. Ja, es gibt günstigere, oft auch Bausätze. Kann ich nicht verhindern, werde ich nicht von abraten und sind selbstverständlich erlaubt. Wenn da irgendwas nicht geht (auch wenn ich mir das nicht vorstellen kann) geht es halt nicht, da ist dann hier kein Erfahrungsaustausch möglich, ich selbst biete übrigens keine Programmer an.
Falls das Ganze spruchreif werden sollte kämen auf die Teilnehmer (ich gehe jetzt mal davon aus, alles wird benötigt) also Kosten von etwa 70,00€ zu, je nach Versuchsschaltung und Programmer mehr oder weniger.
Natürlich kann ich keinen Fernlehrgang anbieten, der aus jedem einen Programmierer macht, der Workshop richtet sich eher an Einsteiger und Interessierte. Ich werde auch nicht alles umreissen, die Teilnehmer werden aber, so mein Gedanke, danach in der Lage sein, einfache Steuerungen zu realisieren oder die erworbenen Kenntnisse (je nach Hardware) zu vertiefen.
Vom Ablauf her würde ich einzelne Themen ansprechen, erleutern und mit Beispielen belegen. Dazu gibt es eine oder mehrere Aufgabe/n, deren Lösungen dann öffentlich erarbeitet, diskutiert oder geklärt werden.
Nun, falls Interesse besteht, einfach mal unverbindlich hier antworten. Vielleicht gibt es ja auch spezielle Wünsche oder Anregungen dazu. Falls genügend Interessenten zusammenfinden werde ich sehen, was sich, auch aufgrund evtl. Anforderungen, machen lässt.