duffman
Member
Hi, I've been on here for years, but this is the first time posting. I am getting into arduino and I am running into a silly problem which has blindsided me. I am trying to make a BCD display to show some integer displayed in a variable. In this case it's TempVar. For some reason, the serial display seems to show that TempVar just shows 9 continually. No other number. It should show 2. What is going on here?
int BCD1 = 2;
int BCD2 = 3;
int BCD3 = 4;
int BCD4 = 5;
int TempVar=2;
// the setup routine runs once when you press reset:
void setup()
{
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
pinMode(BCD1, OUTPUT);
pinMode(BCD2, OUTPUT);
pinMode(BCD3, OUTPUT);
pinMode(BCD4, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop()
{
delay(1); // delay in between reads for stability
if (TempVar = 0)
{
digitalWrite(BCD1, LOW);
digitalWrite(BCD2, LOW);
digitalWrite(BCD3, LOW);
digitalWrite(BCD4, LOW);
}
if (TempVar = 1)
{
digitalWrite(BCD1, LOW);
digitalWrite(BCD2, LOW);
digitalWrite(BCD3, LOW);
digitalWrite(BCD4, HIGH);
}
if (TempVar = 2)
{
digitalWrite(BCD1, LOW);
digitalWrite(BCD2, LOW);
digitalWrite(BCD3, HIGH);
digitalWrite(BCD4, LOW);
}
if (TempVar = 3)
{
digitalWrite(BCD1, LOW);
digitalWrite(BCD2, LOW);
digitalWrite(BCD3, HIGH);
digitalWrite(BCD4, HIGH);
}
if (TempVar = 4)
{
digitalWrite(BCD1, LOW);
digitalWrite(BCD2, LOW);
digitalWrite(BCD3, HIGH);
digitalWrite(BCD4, HIGH);
}
if (TempVar = 5)
{
digitalWrite(BCD1, LOW);
digitalWrite(BCD2, HIGH);
digitalWrite(BCD3, LOW);
digitalWrite(BCD4, LOW);
}
if (TempVar = 6)
{
digitalWrite(BCD1, LOW);
digitalWrite(BCD2, HIGH);
digitalWrite(BCD3, LOW);
digitalWrite(BCD4, HIGH);
}
if (TempVar = 7)
{
digitalWrite(BCD1, LOW);
digitalWrite(BCD2, HIGH);
digitalWrite(BCD3, HIGH);
digitalWrite(BCD4, LOW);
}
if (TempVar = 8)
{
digitalWrite(BCD1, LOW);
digitalWrite(BCD2, HIGH);
digitalWrite(BCD3, HIGH);
digitalWrite(BCD4, HIGH);
}
if (TempVar = 9)
{
digitalWrite(BCD1, HIGH);
digitalWrite(BCD2, LOW);
digitalWrite(BCD3, LOW);
digitalWrite(BCD4, LOW);
}
Serial.println(TempVar) ;
}