Prvni ulozeni z chegewara githubu
This commit is contained in:
46
libraries/ESP32/examples/Touch/TouchButton/TouchButton.ino
Normal file
46
libraries/ESP32/examples/Touch/TouchButton/TouchButton.ino
Normal file
@ -0,0 +1,46 @@
|
||||
/*
|
||||
|
||||
This is an example how to use Touch Intrrerupts
|
||||
The sketh will tell when it is touched and then relesased as like a push-button
|
||||
|
||||
This method based on touchInterruptSetThresholdDirection() is only available for ESP32
|
||||
*/
|
||||
|
||||
#include "Arduino.h"
|
||||
|
||||
int threshold = 40;
|
||||
bool touchActive = false;
|
||||
bool lastTouchActive = false;
|
||||
bool testingLower = true;
|
||||
|
||||
void gotTouchEvent(){
|
||||
if (lastTouchActive != testingLower) {
|
||||
touchActive = !touchActive;
|
||||
testingLower = !testingLower;
|
||||
// Touch ISR will be inverted: Lower <--> Higher than the Threshold after ISR event is noticed
|
||||
touchInterruptSetThresholdDirection(testingLower);
|
||||
}
|
||||
}
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
delay(1000); // give me time to bring up serial monitor
|
||||
Serial.println("ESP32 Touch Interrupt Test");
|
||||
touchAttachInterrupt(T2, gotTouchEvent, threshold);
|
||||
|
||||
// Touch ISR will be activated when touchRead is lower than the Threshold
|
||||
touchInterruptSetThresholdDirection(testingLower);
|
||||
}
|
||||
|
||||
void loop(){
|
||||
if(lastTouchActive != touchActive){
|
||||
lastTouchActive = touchActive;
|
||||
if (touchActive) {
|
||||
Serial.println(" ---- Touch was Pressed");
|
||||
} else {
|
||||
Serial.println(" ---- Touch was Released");
|
||||
}
|
||||
}
|
||||
Serial.printf("T2 pin2 = %d \n", touchRead(T2));
|
||||
delay(125);
|
||||
}
|
Reference in New Issue
Block a user