Actions

Difference between revisions of "AVR Microcontroller Class 2009"

From HacDC Wiki

(starting to flesh it out)
 
Line 1: Line 1:


Syllabus, course material, homeworks, photos, etc from an Introduction to Microcontrollers with AVR chips class can be found here. 


== Class 0: Introduction and Setup ==
== Class 0: Introduction and Setup ==


What the AVRs are, what all the pins do, what they can do for you. Then
the toolchain: soldering together the programmer kits, getting the
software up and running.  Reading the datasheets. 


== Class : ==
Labs: building the kit and running a test LED flasher. (Almost all lab
today, little talk.)




== Class :  ==


== Class 1: Outputs and Bit Math ==


== Class :  ==
How to make chips speak to the outside world, pin-by-pin. Enough C
programming fundamentals to make it work. Pulse-width
modulation.


Labs: Cylon eyes and dimming LED's. Extra credit: cross-fading cylon
eyes!


== Class :  ==


== Class 2: Inputs: Buttons and Analog-to-Digital conversion (ADC)  ==


== Class :  ==
Gather data from the world.
 
Labs: pushbutton organ, light-dependent theremin.  Extra credit:
something else!
 
 
== Class 3: Interrupts and Timers ==
 
Interrupts call subroutines when certain conditions are true. Timers
let you time stuff. Together, they take a lot of the programming
burden off your shoulders, and enable really cool stuff.
 
Labs: Driving servo motors and/or build a better audio synth, use an
LED as a light-source and light-sensor. Extra credit: capacitive
touch-switch!
 
 
 
== Class 4: Serial I/O ==
 
Make the micro speak to your computer (and vice-versa). We can also
cover other serial protocols (I2C, SPI).
 
Labs: Basic serial in/out, data-logging light sensor.  Maybe SD/MMC
cards? Extra credit: ADC + serial output + Python + laptop = ghetto
oscilloscope.
 
 
== Class 5: EEPROM, PROGMEM, etc ==
 
Tying up loose ends, special requests. PROGMEM lets you use the
program memory to store lots of (constant) data. EEPROM is like flash
-- there's not much of it, but it stays when you power off. Can also
do misc topic requests here. 
 
Labs: writing out really long strings to serial, saving last known
states for battery failure.  Maybe I can think up something sexy to
use these methods.  Maybe not.





Revision as of 13:42, 9 September 2008

Syllabus, course material, homeworks, photos, etc from an Introduction to Microcontrollers with AVR chips class can be found here.

Class 0: Introduction and Setup

What the AVRs are, what all the pins do, what they can do for you. Then the toolchain: soldering together the programmer kits, getting the software up and running. Reading the datasheets.

Labs: building the kit and running a test LED flasher. (Almost all lab today, little talk.)


Class 1: Outputs and Bit Math

How to make chips speak to the outside world, pin-by-pin. Enough C programming fundamentals to make it work. Pulse-width modulation.

Labs: Cylon eyes and dimming LED's. Extra credit: cross-fading cylon eyes!


Class 2: Inputs: Buttons and Analog-to-Digital conversion (ADC)

Gather data from the world.

Labs: pushbutton organ, light-dependent theremin. Extra credit: something else!


Class 3: Interrupts and Timers

Interrupts call subroutines when certain conditions are true. Timers let you time stuff. Together, they take a lot of the programming burden off your shoulders, and enable really cool stuff.

Labs: Driving servo motors and/or build a better audio synth, use an LED as a light-source and light-sensor. Extra credit: capacitive touch-switch!


Class 4: Serial I/O

Make the micro speak to your computer (and vice-versa). We can also cover other serial protocols (I2C, SPI).

Labs: Basic serial in/out, data-logging light sensor. Maybe SD/MMC cards? Extra credit: ADC + serial output + Python + laptop = ghetto oscilloscope.


Class 5: EEPROM, PROGMEM, etc

Tying up loose ends, special requests. PROGMEM lets you use the program memory to store lots of (constant) data. EEPROM is like flash -- there's not much of it, but it stays when you power off. Can also do misc topic requests here.

Labs: writing out really long strings to serial, saving last known states for battery failure. Maybe I can think up something sexy to use these methods. Maybe not.



Useful AVR Links