I have written a sketch that uses PWM to slowly brighten and then dim 3 leds. I am trying to use the serial monitor to display the current duty cycle. When I use the divide operator all I get is zero's. I can use the add, subtract or multiply operators and get correct results. I have no idea what I am doing wrong.
int d = 250;
int value = 1;
int arraymode[] = {9, 10, 11};
int i;
int divider = 256;
void setup()
{
for (i = 0; i < 4; i ++)pinMode(arraymode[i], OUTPUT);
Serial.begin(9600);
}
void loop()
{
lowhigh();
highlow();
}
void lowhigh()
{
while(value < 256)
{
for(i = 0; i < 4; i++)analogWrite(arraymode[i], value);
value = value + 5;
delay(d);
int number = value / divider;
Serial.print("duty cycle: ");
Serial.println(number);
}
}
void highlow()
{
while (value > 1)
{
for(i = 0; i < 4; i++)analogWrite(arraymode[i], value);
value = value - 5;
delay(d);
int number = value / divider;
Serial.print("duty cycle: ");
Serial.println( number);
}
}