I was going to make a clock with the arduino so I investigated the 4511 chip. I got this working with butons, but when I replace the botons with digital pins 2-5 on my duemilonve some numbers work wile others dont. nums- 0.1,2,4,6,8,9 work good but 3,5,7 are very very dim. I posted a egale schamadic and my test code that takes serial inputs to display numbers. HELP! :~ ![]()
/*
seven segment LED display driver via serial line
by Hayden Young
skamadics avalible on request
haydenyounglex@hotmail.com
*/
int message = 0;
const int a = 2;
const int b = 3;
const int c = 4;
const int d = 5;
void setup()
{
Serial.begin(9600);
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
}
void loop()
{
if (Serial.available() > 0)
{
message = Serial.read();
if (message == '0')
{
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
Serial.println('0');
}
if (message == '1')
{
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
Serial.println('1');
}
if (message == '2')
{
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
Serial.println('2');
}
if (message == '3')
{
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
Serial.println('3');
}
if (message == '4')
{
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
Serial.println('4');
}
if (message == '5')
{
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
Serial.println('5');
}
if (message == '6')
{
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
Serial.println('6');
}
if (message == '7')
{
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
Serial.println('7');
}
if (message == '8')
{
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
Serial.println('8');
}
if (message == '9')
{
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
Serial.println('9');
}
if (message == 't')
{
Serial.println("testing");
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
delay(1000);
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
delay(1000);
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
delay(1000);
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
delay(1000);
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
delay(1000);
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
delay(1000);
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
delay(1000);
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
delay(1000);
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
delay(1000);
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
Serial.println("Test Done");
}
}
}
{code]
[img]<img width="289" height="283" src="file:///C:/Documents%20and%20Settings/Young/My%20Documents/arduino%204511.png" complete="complete"/>[/img]