Hi,
I know it is something super easy but I have tried everything and I can't find what is wrong in my code.
I want to use a force sensor to control a RGB led and depending the range of the force have a different color of lignt but it is not working. This is the code, please help!!!!!!
int forcePin = 0;
int forceReading;
int reading;
boolean startUp;
int redPin = 11;
int greenPin = 10;
int bluePin = 9;
int sensVal1 = constrain(sensVal1, 200, 400);
int sensVal2 = constrain(sensVal2, 400, 600);
int sensVal3 = constrain(sensVal3, 600, 750);
int sensVal4 = constrain(sensVal4, 750, 900);
void setup(void)
{
Serial.begin(9600);
forceReading = 0;
forceReading = analogRead(forcePin);
startUp = true;
pinMode(redPin,OUTPUT);
pinMode(greenPin,OUTPUT);
pinMode(bluePin,OUTPUT);
}
void loop()
{
calibrate();
forceReading = analogRead(forcePin);
Serial.print("Analog reading = ");
Serial.println(forceReading);
if(forceReading = sensVal1)
{
analogWrite(redPin, 102);
analogWrite(greenPin, 45);
analogWrite(bluePin, 145); // PURPLE
}
else
{
analogWrite(redPin, 0);
analogWrite(greenPin, 0);
analogWrite(bluePin, 0);
}
forceReading = analogRead(forcePin);
if(forceReading = sensVal2)
{
analogWrite(redPin, 255);
analogWrite(greenPin, 0);
analogWrite(bluePin, 0); // RED
}
else
{
analogWrite(redPin, 0);
analogWrite(greenPin, 0);
analogWrite(bluePin, 0);
}
forceReading = analogRead(forcePin);
if(forceReading = sensVal3)
{
analogWrite(redPin, 245);
analogWrite(greenPin, 181);
analogWrite(bluePin, 43); // YELLOW
}
else
{
analogWrite(redPin, 0);
analogWrite(greenPin, 0);
analogWrite(bluePin, 0);
}
forceReading = analogRead(forcePin);
if(forceReading = sensVal4)
{
analogWrite(redPin, 255);
analogWrite(greenPin, 230);
analogWrite(bluePin, 180); // WHITE
}
else
{
analogWrite(redPin, 0);
analogWrite(greenPin, 0);
analogWrite(bluePin, 0);
}
}
void setColor(int red, int green, int blue)
{
#ifdef COMMON_ANODE
red = 255 - red;
green = 255 - green;
blue = 255 - blue;
#endif
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}
void calibrate()
{
if(startUp == true)
{
forceReading = reading;
startUp = false;
}
}