71 lines
2.5 KiB
Markdown
71 lines
2.5 KiB
Markdown
|
Warning: this page is a nearly-completely incomplete skeleton. For the
|
||
|
class (and supporting materials) that actually came to be, see [AVR
|
||
|
Microcontroller Class](AVR_Microcontroller_Class "wikilink"). This
|
||
|
section needs a lot of development, so if you're in the mood please feel
|
||
|
free.
|
||
|
|
||
|
There's a lot of good information out there about programming
|
||
|
micro-controllers, but I couldn't find a good, stepwise, lesson-based
|
||
|
tutorial. Since a bunch of the HacDC folks are just learning their way
|
||
|
around, I thought it'd be fun to put together a mini-course based on the
|
||
|
Atmel AVR platform and GNU-GCC. The idea is to have each lesson doable
|
||
|
in an hour or so
|
||
|
|
||
|
What follows is a mix of how-to and code snippets and peoples'
|
||
|
experience walking through it all. If you're following along and want to
|
||
|
contribute, feel free.
|
||
|
|
||
|
[Useful AVR Links](Useful_AVR_Links "wikilink")
|
||
|
|
||
|
## The Basics (take these in order):
|
||
|
|
||
|
[AVR Lesson: Setup](AVR_Lesson:_Setup "wikilink"): Get a programmer, a
|
||
|
chip, the software, and some parts
|
||
|
|
||
|
[AVR Lesson: Output Pins I](AVR_Lesson:_Output_Pins_I "wikilink"): Basic
|
||
|
output and LED Blinky example
|
||
|
|
||
|
[AVR Lesson: Output Pins II](AVR_Lesson:_Output_Pins_II "wikilink"):
|
||
|
Binary math and Cylon Eyes
|
||
|
|
||
|
[AVR Lesson: Input Pins](AVR_Lesson:_Input_Pins "wikilink"): Debouncing
|
||
|
and Button-triggered Cylon Eyes
|
||
|
|
||
|
[AVR Lesson: Timers](AVR_Lesson:_Timers "wikilink"): Clocks and how to
|
||
|
use them.
|
||
|
|
||
|
[AVR Lesson: Interrupts](AVR_Lesson:_Interrupts "wikilink"):
|
||
|
|
||
|
[AVR Lesson: Pulse-width
|
||
|
Modulation](AVR_Lesson:_Pulse-width_Modulation "wikilink"): An easy way
|
||
|
to get analog outputs. Dimming LEDs or Crossfading Cylon Eyes
|
||
|
|
||
|
[AVR Lesson: Analog-digital
|
||
|
Conversion](AVR_Lesson:_Analog-digital_Conversion "wikilink"):
|
||
|
Automatical Dimming Night Light
|
||
|
|
||
|
## Advanced Material (mix-n-match):
|
||
|
|
||
|
[AVR Lesson: Watchdog Timers](AVR_Lesson:_Watchdog_Timers "wikilink"):
|
||
|
|
||
|
[AVR Lesson: I2C](AVR_Lesson:_I2C "wikilink")
|
||
|
|
||
|
[AVR Lesson: Using Program
|
||
|
Memory](AVR_Lesson:_Using_Program_Memory "wikilink"):
|
||
|
|
||
|
[AVR Lesson: Motor Driving](AVR_Lesson:_Motor_Driving "wikilink"):
|
||
|
|
||
|
[AVR Lesson: Servo Control](AVR_Lesson:_Servo_Control "wikilink"):
|
||
|
|
||
|
[AVR Lesson: State Machines](AVR_Lesson:_State_Machines "wikilink"):
|
||
|
|
||
|
[AVR Lesson: Sound](AVR_Lesson:_Sound "wikilink"):
|
||
|
|
||
|
[AVR Lesson: Serial I/O](AVR_Lesson:_Serial_I/O "wikilink"):
|
||
|
|
||
|
[AVR Lesson: USB](AVR_Lesson:_USB "wikilink"):
|
||
|
|
||
|
[AVR Lesson: Interfacing with External
|
||
|
Memory](AVR_Lesson:_Interfacing_with_External_Memory "wikilink")
|
||
|
|
||
|
[Category: AVR Tutorial](Category:_AVR_Tutorial "wikilink")
|