Embedded Programming

Comment: I thought this was easy assignment, wrong, it is not.
Thanks: A Providence tutorials they were very helpful

This assignment is divided in two parts:

--Installing Software
--Programming the electronic board

Installing Software
There are different software to program your electronic board, I have used two:

Avr Studio 5: This software did work on windows, is very simple, because for sale commercially, you can download from ATMEL web (Link)
just there were some errors in transmission, still do not understand, I used for programming the next tutorial (Link)


Arduino IDE: This software is easy to use, but a little long to install, it has too many requirements. Here are the steps in windows7 installation:
--Step 1: Download Arduino IDE here
--Step 2: Add ATtiny libraries in /arduino-1.0/hardware/, Download the libraries from here"
--Step 3: Install the driver FABISP (USBtiny), download from here, do it only if it recognizes the usbtiny=fabisp, install it from device manager, look for the folder you downloaded, and to install anyway.
--Step 4: Install FTDI drivers from here
--Step 5: Install Winavr for the use of avrdude, download from here

Already installed, open Arduino and setting:
Menu "tool/board" select "Attiny44 (external 20MHz clock)
Menu "tool/SerialPort" select port, You see in device manager in "Ports Com"
Menu "tool/programmer" select "usbtiny"
Finally click in "Burn Bootloader"

Here are some pictures:


Programming
You must have your code ready, there are many examples in Arduino in /File/example/digital/button and select the pins of Attiny, connecting the LED and BUTTON
If you work in the AVRStudio, You can use the code examples here

/* created 2005
by DojoDave
modified 30 Aug 2011
by Tom Igoe

This example code is in the public domain.

http://www.arduino.cc/en/Tutorial/Button
*/

// constants won't change. They're used here to
// set pin numbers:
const int buttonPin = 3; // the number of the pushbutton pin
const int ledPin = 7; // the number of the LED pin

// variables will change:
int buttonState = 0; // variable for reading the pushbutton status

void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
}

void loop(){
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);

// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(ledPin, LOW);
}
else {
// turn LED off:
digitalWrite(ledPin, HIGH);
}
}

As a final step, show images of fine result:


Finally a video