capacitive switch variable

hi there everyone...i need your help with a capacity code.What im trying to do is a toggle switch(when i touch the foil led turn HIGH,when i touch again led turn LOW).the code i have is this one,but i don't know how to add the variable where to store the led status,so it can change every time i touch the foil.

#include <CapSense.h>

CapSense   cs_4_2 = CapSense(4,2);         // 10 megohm resistor between pins 4 & 2, pin 2 is sensor pin, add Bare Paint
int ledPin1 = 13;

void setup()                 
{
   cs_4_2.set_CS_AutocaL_Millis(0xFFFFFFFF);     // turn off autocalibrate on channel 1 - just as an example   
   Serial.begin(9600);
}

void loop()                    
{    
    long start = millis();    
    long total1 =  cs_4_2.capSense(30);   
 
    if (total1 > 1100) {
      digitalWrite(ledPin1, HIGH);  // turn LED ON
      
    } else{
      digitalWrite(ledPin1, LOW);  // turn LED OFF
 }

Serial.println(total1);                                 

delay(100);                                          // arbitrary delay to limit data to serial port 
}

thank you so much for help... :slight_smile:

Here's an example I wrote for toggling an LED when a sensor triggered:

#include <CapSense.h>

// 10 megohm resistor between pins 4 & 2, pin 2 is sensor pin, add Bare Paint
CapSense   cs_4_2 = CapSense(4,2);        

const int ledPin1 = 13;

void setup()                 
{
   cs_4_2.set_CS_AutocaL_Millis(0xFFFFFFFF);     // turn off autocalibrate on channel 1 - just as an example   
   Serial.begin(9600);
}

void loop() {
  static boolean lastSensorHit = false;
  static boolean LEDvalue = LOW;

  bool sensorHit = cs_4_2.capSense(30) > 1100;

  if (sensorHit && !lastSensorHit)  // Now true, was false
  {
    LEDvalue = !LEDvalue; // Toggle the LED
    digitalWrite(ledPin1, LEDvalue);
  } 
  lastSensorHit = sensorHit;
  delay(100);
}

some variation.

#include <CapSense.h>

CapSense   cs_4_2 = CapSense(4,2);         // 10 megohm resistor between pins 4 & 2, pin 2 is sensor pin
int ledPin1 = 13;

int state = LOW;
int count = 1;

void setup()                 
{
   cs_4_2.set_CS_AutocaL_Millis(0xFFFFFFFF);     // turn off autocalibrate on channel 1 - just as an example   
   Serial.begin(9600);

   pinMode(ledPin1, OUTPUT); // leds add this line
}

void loop()                    
{    
  long start = millis();    
  long total1 =  cs_4_2.capSense(30); 
  
  if (total1 > 3100 && state == LOW) 
  {
    state = HIGH;
    digitalWrite(ledPin1, !digitalRead(ledPin1));   // toggle the pin only when the state goes from low to high
  } 
  if (total1 < 1500 && prevState == HIGH)   // only set the state low when the cap sense is really lower 
  {
    state = LOW;
  } 
  Serial.println(total1);
  delay(100);
}

Yupii :D:D thank you so much Johnwasser and Robtillaart ...code works great,i've been with this problem for a long time,i was getting a conflict because of the library,but with your help it is solved.Thank you again guys for help :wink:
Juycce