mirror of
https://gitlab.com/wirelos/sprocket-plugin-gpio.git
synced 2025-12-16 14:05:05 +01:00
pot plugin w. example
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
LEDC Software Fade
|
||||
|
||||
This example shows how to software fade LED
|
||||
using the ledcWrite function.
|
||||
|
||||
Code adapted from original Arduino Fade example:
|
||||
https://www.arduino.cc/en/Tutorial/Fade
|
||||
|
||||
This example code is in the public domain.
|
||||
*/
|
||||
|
||||
// use first channel of 16 channels (started from zero)
|
||||
#define LEDC_CHANNEL_0 0
|
||||
|
||||
// use 13 bit precission for LEDC timer
|
||||
#define LEDC_TIMER_13_BIT 13
|
||||
|
||||
// use 5000 Hz as a LEDC base frequency
|
||||
#define LEDC_BASE_FREQ 5000
|
||||
|
||||
// fade LED PIN (replace with LED_BUILTIN constant for built-in LED)
|
||||
#define LED_PIN 5
|
||||
|
||||
int brightness = 0; // how bright the LED is
|
||||
int fadeAmount = 5; // how many points to fade the LED by
|
||||
|
||||
// Arduino like analogWrite
|
||||
// value has to be between 0 and valueMax
|
||||
void ledcAnalogWrite(uint8_t channel, uint32_t value, uint32_t valueMax = 255) {
|
||||
// calculate duty
|
||||
uint32_t duty = (LEDC_BASE_FREQ / valueMax) * min(value, valueMax);
|
||||
|
||||
// write duty to LEDC
|
||||
ledcWrite(channel, duty);
|
||||
}
|
||||
|
||||
void setup() {
|
||||
// Setup timer and attach timer to a led pin
|
||||
ledcSetup(LEDC_CHANNEL_0, LEDC_BASE_FREQ, LEDC_TIMER_13_BIT);
|
||||
ledcAttachPin(LED_PIN, LEDC_CHANNEL_0);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
// set the brightness on LEDC channel 0
|
||||
ledcAnalogWrite(LEDC_CHANNEL_0, brightness);
|
||||
|
||||
// change the brightness for next time through the loop:
|
||||
brightness = brightness + fadeAmount;
|
||||
|
||||
// reverse the direction of the fading at the ends of the fade:
|
||||
if (brightness <= 0 || brightness >= 255) {
|
||||
fadeAmount = -fadeAmount;
|
||||
}
|
||||
// wait for 30 milliseconds to see the dimming effect
|
||||
delay(30);
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
void setup()
|
||||
{
|
||||
//setup channel 0 with frequency 312500 Hz
|
||||
sigmaDeltaSetup(0, 312500);
|
||||
//attach pin 18 to channel 0
|
||||
sigmaDeltaAttachPin(18,0);
|
||||
//initialize channel 0 to off
|
||||
sigmaDeltaWrite(0, 0);
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
//slowly ramp-up the value
|
||||
//will overflow at 256
|
||||
static uint8_t i = 0;
|
||||
sigmaDeltaWrite(0, i++);
|
||||
delay(100);
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
/*
|
||||
Repeat timer example
|
||||
|
||||
This example shows how to use hardware timer in ESP32. The timer calls onTimer
|
||||
function every second. The timer can be stopped with button attached to PIN 0
|
||||
(IO0).
|
||||
|
||||
This example code is in the public domain.
|
||||
*/
|
||||
|
||||
// Stop button is attached to PIN 0 (IO0)
|
||||
#define BTN_STOP_ALARM 0
|
||||
|
||||
hw_timer_t * timer = NULL;
|
||||
|
||||
void onTimer(){
|
||||
static unsigned int counter = 1;
|
||||
|
||||
Serial.print("onTimer no. ");
|
||||
Serial.print(counter);
|
||||
Serial.print(" at ");
|
||||
Serial.print(millis());
|
||||
Serial.println(" ms");
|
||||
|
||||
counter++;
|
||||
}
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
|
||||
// Set BTN_STOP_ALARM to input mode
|
||||
pinMode(BTN_STOP_ALARM, INPUT);
|
||||
|
||||
// Use 1st timer of 4 (counted from zero).
|
||||
// Set 80 divider for prescaler (see ESP32 Technical Reference Manual for more
|
||||
// info).
|
||||
timer = timerBegin(0, 80, true);
|
||||
|
||||
// Attach onTimer function to our timer.
|
||||
timerAttachInterrupt(timer, &onTimer, true);
|
||||
|
||||
// Set alarm to call onTimer function every second (value in microseconds).
|
||||
// Repeat the alarm (third parameter)
|
||||
timerAlarmWrite(timer, 1000000, true);
|
||||
|
||||
// Start an alarm
|
||||
timerAlarmEnable(timer);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
// If button is pressed
|
||||
if (digitalRead(BTN_STOP_ALARM) == LOW) {
|
||||
// If timer is still running
|
||||
if (timer) {
|
||||
// Stop and free timer
|
||||
timerEnd(timer);
|
||||
timer = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
This is un example howto use Touch Intrrerupts
|
||||
The bigger the threshold, the more sensible is the touch
|
||||
*/
|
||||
|
||||
int threshold = 40;
|
||||
bool touch1detected = false;
|
||||
bool touch2detected = false;
|
||||
|
||||
void gotTouch1(){
|
||||
touch1detected = true;
|
||||
}
|
||||
|
||||
void gotTouch2(){
|
||||
touch2detected = true;
|
||||
}
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
delay(1000); // give me time to bring up serial monitor
|
||||
Serial.println("ESP32 Touch Interrupt Test");
|
||||
touchAttachInterrupt(T2, gotTouch1, threshold);
|
||||
touchAttachInterrupt(T3, gotTouch2, threshold);
|
||||
}
|
||||
|
||||
void loop(){
|
||||
if(touch1detected){
|
||||
touch1detected = false;
|
||||
Serial.println("Touch 1 detected");
|
||||
}
|
||||
if(touch2detected){
|
||||
touch2detected = false;
|
||||
Serial.println("Touch 2 detected");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
// ESP32 Touch Test
|
||||
// Just test touch pin - Touch0 is T0 which is on GPIO 4.
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(115200);
|
||||
delay(1000); // give me time to bring up serial monitor
|
||||
Serial.println("ESP32 Touch Test");
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
Serial.println(touchRead(T0)); // get value using T0
|
||||
delay(1000);
|
||||
}
|
||||
9
lib/esp32_lora_wifi/ESP32/library.properties
Normal file
9
lib/esp32_lora_wifi/ESP32/library.properties
Normal file
@@ -0,0 +1,9 @@
|
||||
name=ESP32
|
||||
version=1.0
|
||||
author=Hristo Gochkov, Ivan Grokhtkov
|
||||
maintainer=Hristo Gochkov <hristo@espressif.com>
|
||||
sentence=ESP32 sketches examples
|
||||
paragraph=
|
||||
category=Other
|
||||
url=
|
||||
architectures=esp32
|
||||
2
lib/esp32_lora_wifi/ESP32/src/dummy.h
Normal file
2
lib/esp32_lora_wifi/ESP32/src/dummy.h
Normal file
@@ -0,0 +1,2 @@
|
||||
// This file is here only to silence warnings from Arduino IDE
|
||||
// Currently IDE doesn't support no-code libraries, like this collection of example sketches.
|
||||
Reference in New Issue
Block a user