// https://forum.arduino.cc/t/force-sensor-resistor-to-display-weight-and-voltage/1077247
#define FSR A0 // the FSR and 10K pulldown are connected to A0
int ledBLUE = 7;
int ledRED = 8;
int ledGREEN = 9;
void setup()
{
Serial.begin(9600);
pinMode(ledBLUE, OUTPUT);
pinMode(ledRED, OUTPUT);
pinMode(ledGREEN, OUTPUT);
}
void loop()
{
int analogReading = analogRead(FSR);
Serial.print("Force sensor reading = ");
Serial.print(analogReading); // print the raw analog reading
if (analogReading < 10) // from 0 to 9
{
Serial.println(" -> no pressure");
digitalWrite(ledBLUE, LOW);
digitalWrite(ledGREEN, LOW);
digitalWrite(ledRED, LOW);
}
else if (analogReading < 200) // from 10 to 199
{
Serial.println(" -> light touch");
digitalWrite(ledBLUE, LOW);
digitalWrite(ledGREEN, HIGH);
digitalWrite(ledRED, LOW);
}
else if (analogReading < 800) // from 500 to 799
{
Serial.println(" -> medium squeeze");
digitalWrite(ledBLUE, HIGH);
digitalWrite(ledGREEN, LOW);
digitalWrite(ledRED, LOW);
}
else if (analogReading <= 1000) // from 800 to 1000
{
Serial.println(" -> big squeeze");
digitalWrite(ledBLUE, LOW);
digitalWrite(ledGREEN, LOW);
digitalWrite(ledRED, HIGH);
}
else
{
Serial.println(" -> something wrong ?");
digitalWrite(ledBLUE, HIGH);
digitalWrite(ledGREEN, HIGH);
digitalWrite(ledRED, HIGH);
}
delay(1000);
}