Here is the code with one switch.
#include <CapacitiveSensor.h>
#define MAINSpin 13
const int threshold = 0; //This is the threshold that you should adjust after watching the serial port. The MAINSpin is only set high if "total 1" is greater than this number
int val =0;
int old_val = 0;
int state = 0;
int Touch = 0;
CapacitiveSensor cs_4_2 = CapacitiveSensor(4,6); // Your resistor goes between pins 4 & 6. Your pad of paint should be connected to pin 6
void setup()
{
pinMode(MAINSpin, OUTPUT);
digitalWrite(MAINSpin, LOW);
cs_4_2.set_CS_AutocaL_Millis(0xFFFFFFFF);
Serial.begin(9600);
}
void loop()
{
val = Touch;
long total1 = cs_4_2.capacitiveSensor(100);
Serial.println(total1);
Serial.println(" ");
if (total1 > threshold){
Touch = 1;
} else {
Touch = 0;
}
if ((val == HIGH)&& (old_val==LOW)){
state = 1-state;
delay (50); //delay for debouncing
}
old_val = val;
if (state == 1) {
digitalWrite(MAINSpin, HIGH); //turn LED ON
} else {
digitalWrite(MAINSpin, LOW);
}
}
here is the serial print window output
0 60 0 0 0 60 0
And the code with two switches
#include <CapacitiveSensor.h>
//make sure to install the CapSense Library then upload to your Arduino.
//for more information on the basic workings of this sketch check out http://bareconductive.com/capacitance-sensor
#define Mpin 10
#define Apin 11
#define Ipin 12
#define Npin 13
const int threshold = 0; //This is the threshold that you should adjust after watching the serial port. The MAINSpin is only set high if "total 1" is greater than this number
int val1 =0;
int old_val1 = 0;
int state1 = 0;
int Touch1 = 0;
int val2 =0;
int old_val2 = 0;
int state2 = 0;
int Touch2 = 0;
int val3 =0;
int old_val3 = 0;
int state3 = 0;
int Touch3 = 0;
int val4 =0;
int old_val4 = 0;
int state4 = 0;
int Touch4 = 0;
CapacitiveSensor cs_M = CapacitiveSensor(4,2); // 10 megohm resistor between pins 4 & 2, pin 2 is sensor pin, add wire, foil
CapacitiveSensor cs_A = CapacitiveSensor(4,3); // 10 megohm resistor between pins 4 & 3, pin 3 is sensor pin, add wire, foil
CapacitiveSensor cs_I = CapacitiveSensor(4,5); // 10 megohm resistor between pins 4 & 5, pin 5 is sensor pin, add wire, foil
CapacitiveSensor cs_N = CapacitiveSensor(4,6); // 10 megohm resistor between pins 4 & 6, pin 6 is sensor pin, add wire, foil
void setup()
{
pinMode(Mpin, OUTPUT);
digitalWrite(Mpin, LOW);
cs_M.set_CS_AutocaL_Millis(0xFFFFFFFF);
pinMode(Apin, OUTPUT);
digitalWrite(Apin, LOW);
cs_A.set_CS_AutocaL_Millis(0xFFFFFFFF);
pinMode(Ipin, OUTPUT);
digitalWrite(Ipin, LOW);
cs_I.set_CS_AutocaL_Millis(0xFFFFFFFF);
pinMode(Npin, OUTPUT);
digitalWrite(Npin, LOW);
cs_N.set_CS_AutocaL_Millis(0xFFFFFFFF);
}
void loop()
{
val1 = Touch1;
val2 = Touch2;
val3 = Touch3;
val4 = Touch4;
long total1 = cs_M.capacitiveSensor(10);
long total2 = cs_A.capacitiveSensor(10);
long total3 = cs_I.capacitiveSensor(10);
long total4 = cs_N.capacitiveSensor(10);
Serial.begin(9600);
Serial.println(total2);
if (total1 > threshold){
Touch1 = 1;
} else {
Touch1 = 0;
}
if ((val1 == HIGH)&& (old_val1==LOW)){
state1 = 1-state1;
delay (0); //delay for debouncing
}
old_val1 = val1;
if (state1 == 1) {
digitalWrite(Mpin, HIGH); //turn LED ON
} else {
digitalWrite(Mpin, LOW);
}
if (total2 > threshold){
Touch2 = 1;
} else {
Touch2 = 0;
}
if ((val2 == HIGH)&& (old_val2==LOW)){
state2 = 1-state2;
delay (0); //delay for debouncing
}
old_val2 = val2;
if (state2 == 1) {
digitalWrite(Apin, HIGH); //turn LED ON
} else {
digitalWrite(Apin, LOW);
}
//if (total3 > threshold){
//Touch3 = 1;
//} else {
//Touch3 = 0;
//}
//
//if ((val3 == HIGH)&& (old_val3==LOW)){
//state3 = 1-state3;
//
//delay (0); //delay for debouncing
//}
//
//old_val3 = val3;
//
//if (state3 == 1) {
//digitalWrite(Ipin, HIGH); //turn LED ON
//} else {
//digitalWrite(Ipin, LOW);
//}
//if (total4 > threshold){
//Touch4 = 1;
//} else {
//Touch4 = 0;
//}
//
//if ((val4 == HIGH)&& (old_val4==LOW)){
//state4 = 1-state4;
//
//delay (0); //delay for debouncing
//}
//
//old_val4 = val4;
//
//if (state4 == 1) {
//digitalWrite(Npin, HIGH); //turn LED ON
//} else {
//digitalWrite(Npin, LOW);
//}
}
heres the output
0 [5 secs] 0 [5 secs] 60