I started getting into microcontroller programming. I found a product called Arduino. I ended up buying it from a website called Adafruit Industries. The development environment is written in Java, but you write code in C and upload via USB to the ATmega168 microcontroller. I also purchased the LAN Module and am working on getting it to work with the following example. No such luck. So I decided to go to my friendly neighborhood Radio Shack and pick up some “supplies”. I found some multi-colored LED’s, a 7-segment LED Digital Display, a Potentiometer, and some other misc items. My first project was to create a counter that would count from 0 to 9 using the Potentiometer to control the delay. Below is a picture of the Arduino and my breadboard with the 7-segment LED wired up.
I have uploaded the code that I wrote to control the LED using the potentiometer.
int PinA = 7;
int PinB = 6;
int Dot = 5;
int PinC = 4;
int PinD = 0;
int PinE = 1;
int PinF = 3;
int PinG = 2;
int val = 0;
int potPin = 2;
int LEDState;
void setup()
{
for (int i=0;i<=8;i++)
{
pinMode(i, OUTPUT);
}
}
void loop()
{
LEDState = digitalRead(Dot);
if (LEDState == LOW)
{
digitalWrite(Dot, HIGH);
}else{
digitalWrite(Dot, LOW);
}
val = analogRead(potPin);
Number0();
delay(val);
turn_all_off();
val = analogRead(potPin);
Number1();
delay(val);
turn_all_off();
val = analogRead(potPin);
Number2();
delay(val);
turn_all_off();
val = analogRead(potPin);
Number3();
delay(val);
turn_all_off();
val = analogRead(potPin);
Number4();
delay(val);
turn_all_off();
val = analogRead(potPin);
Number5();
delay(val);
turn_all_off();
val = analogRead(potPin);
Number6();
delay(val);
turn_all_off();
val = analogRead(potPin);
Number7();
delay(val);
turn_all_off();
val = analogRead(potPin);
Number8();
delay(val);
turn_all_off();
val = analogRead(potPin);
Number9();
delay(val);
turn_all_off();
}
void turn_all_off()
{
for (int b=0;b<=8;b++)
{
if (b != 5)
{
digitalWrite(b, LOW);
}
}
}
void Number0()
{
digitalWrite(PinE, HIGH);
digitalWrite(PinF, HIGH);
digitalWrite(PinA, HIGH);
digitalWrite(PinB, HIGH);
digitalWrite(PinC, HIGH);
digitalWrite(PinD, HIGH);
}
void Number1()
{
digitalWrite(PinB, HIGH);
digitalWrite(PinC, HIGH);
}
void Number2()
{
digitalWrite(PinA, HIGH);
digitalWrite(PinB, HIGH);
digitalWrite(PinG, HIGH);
digitalWrite(PinE, HIGH);
digitalWrite(PinD, HIGH);
}
void Number3()
{
digitalWrite(PinA, HIGH);
digitalWrite(PinB, HIGH);
digitalWrite(PinG, HIGH);
digitalWrite(PinC, HIGH);
digitalWrite(PinD, HIGH);
}
void Number4()
{
digitalWrite(PinB, HIGH);
digitalWrite(PinC, HIGH);
digitalWrite(PinF, HIGH);
digitalWrite(PinG, HIGH);
}
void Number5()
{
digitalWrite(PinA, HIGH);
digitalWrite(PinF, HIGH);
digitalWrite(PinG, HIGH);
digitalWrite(PinC, HIGH);
digitalWrite(PinD, HIGH);
}
void Number6()
{
digitalWrite(PinA, HIGH);
digitalWrite(PinF, HIGH);
digitalWrite(PinG, HIGH);
digitalWrite(PinC, HIGH);
digitalWrite(PinD, HIGH);
digitalWrite(PinE, HIGH);
}
void Number7()
{
digitalWrite(PinA, HIGH);
digitalWrite(PinB, HIGH);
digitalWrite(PinC, HIGH);
}
void Number8()
{
digitalWrite(PinA, HIGH);
digitalWrite(PinB, HIGH);
digitalWrite(PinC, HIGH);
digitalWrite(PinD, HIGH);
digitalWrite(PinE, HIGH);
digitalWrite(PinF, HIGH);
digitalWrite(PinG, HIGH);
}
void Number9()
{
digitalWrite(PinA, HIGH);
digitalWrite(PinB, HIGH);
digitalWrite(PinC, HIGH);
digitalWrite(PinD, HIGH);
digitalWrite(PinF, HIGH);
digitalWrite(PinG, HIGH);
}