Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
|
projects:2013:avr_101 [2013-01-22 18:12] alex |
projects:2013:avr_101 [2013-05-15 10:23] (aktuell) alex |
||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== AVR Einführungsworkshop ====== | + | ====== uC Einführungsworkshop ====== |
| Es soll ein Workshop bzw. eine kleine Workshopserie als Einführung in die Programmierung von AVR Mikrocontrollern ausgearbeitet werden. | Es soll ein Workshop bzw. eine kleine Workshopserie als Einführung in die Programmierung von AVR Mikrocontrollern ausgearbeitet werden. | ||
| - | ===== Projekkurzinfos ===== | + | ===== Projektkurzinfos ===== |
| ? contact | ? contact | ||
| : [[user:lespocky|alex]] | : [[user:lespocky|alex]] | ||
| Zeile 9: | Zeile 9: | ||
| ? status | ? status | ||
| : planning/preparing | : planning/preparing | ||
| - | ? skillz | + | ? skillz (source) |
| - | : Vorbereitung erfordert Ahnung von Schaltung aufbauen, AVR programmieren in C, Makefiles schreiben, Teileilisten machen, Bausätze vorbereiten, Folien ausarbeiten, … | + | : Vorbereitung erfordert für den Lehrenden Ahnung von Schaltung aufbauen, AVR programmieren in C, Makefiles schreiben, Teileilisten machen, Bausätze vorbereiten, Folien ausarbeiten, … |
| - | : Workshop durchführen needs Erklärbärfähigkeit, Geduld, … | + | : Workshop durchführen needs Erklärbärfähigkeit, Geduld, … |
| + | ? skillz (drain) | ||
| + | : Der Lernende muss als Voraussetzung mitbringen: sicherer Umgang mit Editor und Kommandozeile, Programme nachinstallieren (avrdude, avr-gcc), Basiswissen Stromkreise (Physik 9. Klasse), Grundkenntnisse Computerprogramme (Variablen, Schleifen, Funktionen) | ||
| ===== Ideen ===== | ===== Ideen ===== | ||
| Für die Einführung ist der [[http://www.atmel.com/devices/ATTINY25.aspx|ATtiny 25/45/85]] ganz gut geeignet, übersichtliche Anzahl an Funktionseinheiten, billig zu beschaffen und als DIP-8 oder SOIC-8 erhältlich. Eine einfache Beispielbeschaltung passt locker auf ein kleines Whiteboard: | Für die Einführung ist der [[http://www.atmel.com/devices/ATTINY25.aspx|ATtiny 25/45/85]] ganz gut geeignet, übersichtliche Anzahl an Funktionseinheiten, billig zu beschaffen und als DIP-8 oder SOIC-8 erhältlich. Eine einfache Beispielbeschaltung passt locker auf ein kleines Whiteboard: | ||
| + | * [tux, 2012-04-03] Wie wir heute festgestellt haben, ist der [[http://www.reichelt.de/index.html?ARTICLE=119687|ATTINY 24A-PU]] eine durchaus brauchbare Alternative mit mehr Ports zu einem vernachlässigbar höheren Preis. Entsprechend der untenstehenden WS-Gliederung könnten wir überlegen, diesen µC zu verwenden und mit einer RGB-LED sowie anderer Zusatzbeschaltung (drei Potis, damit man mit RGB und Farbräumen herumspielen kann, …) zu versehen. | ||
| {{:projects:2013:testplan.jpg?200|}} | {{:projects:2013:testplan.jpg?200|}} | ||
| Zeile 32: | Zeile 35: | ||
| * Das Poti lässt sich auch durch einen widerstandsbasierten Sensor ersetzen, z.B. einen Photowiderstand. Auf der Anzeige erscheint dann ein Lichtlevel. | * Das Poti lässt sich auch durch einen widerstandsbasierten Sensor ersetzen, z.B. einen Photowiderstand. Auf der Anzeige erscheint dann ein Lichtlevel. | ||
| * Mit einer höheren Taktung lässt sich das Flackern der 7-Segment-Anzeige wahrscheinlich völlig unterbinden. (Konsequenzen verschiedener Taktungen können ebenfalls Teil eines Workshops sein.) | * Mit einer höheren Taktung lässt sich das Flackern der 7-Segment-Anzeige wahrscheinlich völlig unterbinden. (Konsequenzen verschiedener Taktungen können ebenfalls Teil eines Workshops sein.) | ||
| - | ===== Teile ===== | + | |
| + | ===== Bauteile ===== | ||
| Im Prinzip sind die Teile sehr ähnlich, egal welche Schaltung man benutzt. Leichte Abweichungen vielleicht beim Arduino. Interessant für die gelöteten Schaltungen wäre vielleicht noch ein vorgeschalteter Spannungsregler. | Im Prinzip sind die Teile sehr ähnlich, egal welche Schaltung man benutzt. Leichte Abweichungen vielleicht beim Arduino. Interessant für die gelöteten Schaltungen wäre vielleicht noch ein vorgeschalteter Spannungsregler. | ||
| Zeile 48: | Zeile 52: | ||
| ==== SMD-Schaltung ==== | ==== SMD-Schaltung ==== | ||
| Setzt das Projekt [[projects:2013:PCB-Herstellung]] voraus, kann von der Schaltung her aber ähnliches bis gleiches Design nutzen. Zur Demonstration nimmt man dann einfach den Mikrocontroller im SOIC-8 Gehäuse. | Setzt das Projekt [[projects:2013:PCB-Herstellung]] voraus, kann von der Schaltung her aber ähnliches bis gleiches Design nutzen. Zur Demonstration nimmt man dann einfach den Mikrocontroller im SOIC-8 Gehäuse. | ||
| + | |||
| + | ===== Lerneinheiten ===== | ||
| + | In zwei Stunden lässt sich das nicht abfeiern, daher Unterteilung in mehrere Blöcke. Möglich wären … | ||
| + | |||
| + | - alles bis »Hello World« wie bspw. Steckbrett aufbauen, Platine löten, Arduino auspacken | ||
| + | - »Hello World« aka LED blinken lassen mit vorbereitetem Makefile und uC Flashen durch die Teilnehmer | ||
| + | * Struktur eines C-Programms | ||
| + | * Zugriff auf Ports des uC | ||
| + | * Datenblatt lesen in Kürze | ||
| + | * kompilieren und flashen | ||
| + | * ggf. Einbindung der ''delay.h'' | ||
| + | - LED dimmen mit PWM | ||
| + | * kurze Theorie zu LED dimmen, Strom, Spannung, PWM | ||
| + | * Vorstellung Timerbaustein des uC | ||
| + | * Interrupts und ISR | ||
| + | * einfache PWM mit Timer und ISR | ||
| + | * Lookuptable für schickes Dimmen | ||
| + | - Einlesen von Daten von außen | ||
| + | * Grundlagen AD-Wandler | ||
| + | * genauere Beschäftigung mit uC-Registern | ||
| + | * Poti anschließen, einlesen und dann die Helligkeit der LED steuern | ||
| + | - Combine all previous stuff with RGB! | ||
| + | * HSV | ||
| + | * was tun bei common anode? | ||
| + | * Optimierung der PWM | ||
| ===== Ressourcen/Links ===== | ===== Ressourcen/Links ===== | ||
| Zeile 60: | Zeile 89: | ||
| * [[https://github.com/netz39/avr_101|Repository]] | * [[https://github.com/netz39/avr_101|Repository]] | ||
| * Follow-Up: [[projects:2013:AVR 102]] | * Follow-Up: [[projects:2013:AVR 102]] | ||
| + | * {{:projects:2013:notizen_avr101.pdf|}} | ||