I'm trying to read the analog value of the light sensor and print its percentage but for unknown reasons I'm getting negative values when I'm printing the value.
void setup() {
Serial.begin(9600);
}
void loop() {
// Let's say 1002 is the analogValue
int analogValue = (int) analogRead(0);
// get the percentage
int value = 100 * analogValue / 1023;
Serial.println("~~~~~~~~~~~~~~~~~~~~~~~~~");
Serial.println(analogValue); // print the analog value 0...1023
Serial.println(100 * analogValue); // just for test
Serial.println(value); // The percentage
Serial.println("~~~~~~~~~~~~~~~~~~~~~~~~~");
delay(500);
}
I don't know what's going in background, but I'm getting negative values when I try to print the percentage:
~~~~~~~~~~~~~~~~~~~~~~~~~
1002
-30772
-30
~~~~~~~~~~~~~~~~~~~~~~~~~