03-04-2018, 01:42
Witam,
Zrobiłem kod który obsługuje "capacitive touch switch" który zapala i gasi diody po wcisnięciu w jedną z dwóch blaszek. Wszystko ładnie działa ale chce dodać sobie różne tryby świecenia ( jak przyjdą mi diody RGB to będe się z tym bawił) postanowiłem sobie że po wcisnięciu dwóch blaszek i odczekaniu 5s diody mają się zacząć migać i aby kod przeszedł w tryb "menu, wybierania podświetleń" krótko mówiąc, nie działa. Nie wiem co jest nie tak. Prosze o pomoc dzięki .
Zrobiłem kod który obsługuje "capacitive touch switch" który zapala i gasi diody po wcisnięciu w jedną z dwóch blaszek. Wszystko ładnie działa ale chce dodać sobie różne tryby świecenia ( jak przyjdą mi diody RGB to będe się z tym bawił) postanowiłem sobie że po wcisnięciu dwóch blaszek i odczekaniu 5s diody mają się zacząć migać i aby kod przeszedł w tryb "menu, wybierania podświetleń" krótko mówiąc, nie działa. Nie wiem co jest nie tak. Prosze o pomoc dzięki .
Kod:
#include <CapacitiveSensor.h>
CapacitiveSensor cs_4_2 = CapacitiveSensor(4,2); // 10M resistor between pins 4 & 2, pin 2 is sensor pin, add a wire and or foil if desired
CapacitiveSensor cs_4_6 = CapacitiveSensor(4,6); // 10M resistor between pins 4 & 6, pin 6 is sensor pin, add a wire and or foil
long timer = 0;
long activation = 5000;
boolean buttonsActive = false;
boolean longPressActive = false;
void setup()
{
cs_4_2.set_CS_AutocaL_Millis(0xFFFFFFFF);
Serial.begin(9600);
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
}
void loop()
{
long start = millis();
long total1 = cs_4_2.capacitiveSensor(30);
long total2 = cs_4_6.capacitiveSensor(30);
Serial.print(millis() - start);
Serial.print("\t");
Serial.print(total1);
Serial.print("\t");
Serial.print(total2);
delay(10);
if(total1 >= 30)
{
digitalWrite(13,HIGH);
}
else{
digitalWrite(13,LOW);
}
if(total2 >= 50)
{
digitalWrite(12,HIGH);
}
else{
digitalWrite(12,LOW);
}
if(total1 >= 30)
if(total2 >= 50){
if(buttonsActive == false){
buttonsActive == true;
timer = millis();
}
if ((millis() - timer > activation) && (longPressActive == false)){
longPressActive = true;
digitalWrite(13,HIGH);
delay(10);
digitalWrite(13,LOW);
delay(10);
}
}else{
if (buttonsActive == true) {
if (longPressActive == true) {
longPressActive = false;
} else {
digitalWrite(12,HIGH);
delay(10);
digitalWrite(12,LOW);
delay(10);
}
buttonsActive = false;
}
}
}