Week 8
Embedded Programming
This week was a good introduction to Arduino and programming in C to learn how to make a board do something. Here are three quick examples of what I could do!

This week, I used Arduino to program my board. I found it to be pretty simple and intuitive to get around the environment, and it required relatively little effort to program the board.
First, I connected my board from two weeks ago to my own ISP, but it didn't work. I instead used Will's AVRISP mkII.
I set the board, processor, clock, and port (on Macs, you need to download a separate driver to find the port).
Finally, I found some code, played around and tried to get new things to happen. Here are some examples of what I have done!
int ledPin = 7; // the number of the LED pin
int bPin = 2;
int bState = 0;
void setup() {
// set the digital pin as output:
pinMode(ledPin, OUTPUT);
pinMode(bPin, INPUT);
digitalWrite(bPin, HIGH);
}
void loop() {
bState = digitalRead(bPin);
if(bState == HIGH){
digitalWrite(ledPin, LOW);
}
else{
digitalWrite(ledPin, HIGH);
}
}
int ledPin = 7; // the number of the LED pin
int bPin = 2;
int bState = 0;
int brightness = 0; // how bright the LED is
int fadeAmount = 3; // how many points to fade the LED by
void setup() {
// set the digital pin as output:
pinMode(ledPin, OUTPUT);
pinMode(bPin, INPUT);
digitalWrite(bPin, HIGH);
}
void loop() {
bState = digitalRead(bPin);
if(bState == HIGH){
analogWrite(ledPin, brightness);
// change the brightness for next time through the loop:
brightness = brightness + fadeAmount;
// reverse the direction of the fading at the ends of the fade:
if (brightness == 0 || brightness == 255) {
fadeAmount = -fadeAmount ;
}
// wait for 30 milliseconds to see the dimming effect
delay(30);
}
else{
digitalWrite(ledPin, LOW);
// if button is pressed, then LED is off
}
}
int ledPin = 7; // the number of the LED pin
int bPin = 2;
int bState = 0;
int randomNum = 0;
void setup() {
// set the digital pin as output:
pinMode(ledPin, OUTPUT);
pinMode(bPin, INPUT);
digitalWrite(bPin, HIGH);
}
void loop() {
if(digitalRead(bPin) == LOW){
analogWrite(ledPin, randomNum);
}
if(digitalRead(bPin) == HIGH){
randomNum = random(0,255);
// if button is pressed, then LED is off
}
}