En este tutorial sobre ESP32, les voy a mostrar cómo usar
la IDE de Arduino, para utilizar PWM, los Touch Sensors (sensores de tacto) que
vienen implementados por hardwar y el uso de entradas/salidas digitales.
Código Fuente:
#define LEDC_CHANNEL_0 0 // use first channel of 16 channels (started from zero) #define LEDC_TIMER_8_BIT 8 // use 8 bit precission for LEDC timer #define LEDC_BASE_FREQ 5000 // use 5000 Hz as a LEDC base frequency #define LED_PIN 5 // // Led Verde int brillo = 0; int sensorT0 = 0; int sensorT3 = 0; void setup() { Serial.begin(115200); ledcSetup(LEDC_CHANNEL_0, LEDC_BASE_FREQ, LEDC_TIMER_8_BIT); // Setup timer and attach timer to a led pin ledcAttachPin(LED_PIN, LEDC_CHANNEL_0); pinMode(23, INPUT_PULLUP); // Pulsador pinMode(18, OUTPUT); // Led Rojo } void loop() { sensorT0 = touchRead(T0); sensorT3 = touchRead(T3); if (sensorT0 < 35 and sensorT0 != 0) { brillo = brillo + 5; if (brillo >= 255) { brillo = 255; } } if (sensorT3 < 35 and sensorT3 != 0) { brillo = brillo - 5; if (brillo <= 0) { brillo = 0; } } Serial.println("T3=" + String(sensorT3) + " T0=" + String(sensorT0) + " Brillo=" + String(brillo)); ledcWrite(LEDC_CHANNEL_0, brillo); digitalWrite(18, digitalRead(23)); delay(50); }
Disculpas y el ESP8266 no tiene Pull-up internas por software..?
ResponderEliminarBuenas, como se le asigna un puerto al programa para poder ver los valores en pantalla. En el IDE Arduino, voy a Herramientas y donde pone puerto esta en gris. Al subir el programa al ESP32 me sale "Please select a Port before Upload"
ResponderEliminarEso es porque la IDE de Arduino o tu computadora no detectan el puerto COM. Fijate si lo detecta en el administrador de dispositivos (si es que estás usando windows). Saludos
ResponderEliminarAl final era un problema con el cable, lo cambie de puerto en el pc y le asigno el COM4. Muchas gracias por la respuesta y tus enseñanzas.
EliminarHola a mi me cambiaba mucho el brillo sin tocar los touch, lo resolvi cambiando al inicio del void loop asi:
ResponderEliminarvoid loop() {
cont = cont + 1;
if (cont > 20) {
cont = 0;
}
if (cont = 10) {
sensorT0 = (touchRead(T0) + sensorT0)/2;
sensorT3 = touchRead(T3);
}
y quedo absolutamente estable
hola me puedes ayudar a resetear la eeprom de mi ESP32
ResponderEliminarEso se hace con ESPTOOL. https://github.com/espressif/esptool
ResponderEliminarSaludos.
Se puede programar desde registros?
ResponderEliminar