Week 14: Output Devices
This week's assignment is to add an output device to a microcontroller board, and program it to do something. For this task I chose to create a LED array.
First download all files from the Output Device week on the Fab Academy class schedule.
Place all downloaded files into a folder on your desktop, label the folder something like "led_array"
Use the traces and interior files to mill traces and cut out the board using the Roland Modela. Once traces have been milled and the board has been cut, use the board layout below and the list of components to solder and populate the board.
Components needed:
(5) RES 499 OHM
(1) RES 10K OHM
(20) RES 0 OHM
(20) LED SMD
(1) CAP 1UF
(1) IC 5V VREG
(1) ATTINY44
(1) 9V BATTERY HOLDER W/ WIRE LEADS
Here's what the board should look like after soldering:
After the board is fully populated, power the board with the 9V battery leads, and connect the AVRISP2 programmer to the LED Array board making sure the light on the programmer is green.
Once connected, navigate to the folder created on your desktop through the terminal window.
cd
cd desktop
cd led_array
Next type:
sudo make -f hello.array.44.make
if you are successful - you will see this response from the system:
Philips-iMac:led.array philipgonsalves$ sudo make -f hello.array.44.makePassword:
avr-objcopy -O ihex hello.array.44.out hello.array.44.c.hex;\
avr-size --mcu=attiny44 --format=avr hello.array.44.out
AVR Memory Usage
----------------
Device: attiny44
Program: 368 bytes (9.0% Full)
(.text + .data + .bootloader)
Data: 1 bytes (0.4% Full)
(.data + .bss + .noinit)
Next type:
avrdude -p t44 -c avrisp2 -U flash:w:hello.array.44.c.hex
if you are successful - you will see this response from the system:
Philips-iMac:led.array philipgonsalves$ avrdude -p t44 -c avrisp2 -U flash:w:hello.array.44.c.hex
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9207
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "hello.array.44.c.hex"
avrdude: input file hello.array.44.c.hex auto detected as Intel Hex
avrdude: writing flash (368 bytes):
Writing | ################################################## | 100% 0.13s
avrdude: 368 bytes of flash written
avrdude: verifying flash memory against hello.array.44.c.hex:
avrdude: load data flash data from input file hello.array.44.c.hex:
avrdude: input file hello.array.44.c.hex auto detected as Intel Hex
avrdude: input file hello.array.44.c.hex contains 368 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.12s
avrdude: verifying ...
avrdude: 368 bytes of flash verified
avrdude: safemode: Fuses OK (H:FF, E:DF, L:62)
avrdude done. Thank you.
You should see the LED's on your board starting to cycle through.