ESP32C3 MINI
Timer programable
Me ha llegado un nuevo módulo que lleva el CHIP ESP32C3 , por alrededor de 2€ no me he podido resistir.
Especificaciones
- SoC de bajo consumo equipado con procesador mononúcleo RISC-V de 32 bits, frecuencia principal de hasta 160 MHz
- Compatible con Wi-Fi de 2,4 GHz (802.11 b/g/n) y Bluetooth® 5 (LE)
- 400 KB de SRAM y 384 KB de ROM, y 4 MB de memoria Flash integrada
- 3x SPI, 1x I2C, 2x UART, 1x I2S, 2x ADC, etc.

Después de seguir algunos tutoriales y instalar en el arduino el gestor de tarjetas el módulo esp32 by Espressif System, no conseguía hacer funcionar la placa.
Probando varias placas y consultando varios tutoriales, encontré mi placa que funcionaba como LOLIN C3 MINI.
El problema que existen muchos ensambladores de placas, y algunos no figuran el modelo.
En mi caso la configuración de pins son:
static const uint8_t TX = 21;
static const uint8_t RX = 20;
static const uint8_t SDA = 8;
static const uint8_t SCL = 10;
static const uint8_t SS = 5;
static const uint8_t MOSI = 4;
static const uint8_t MISO = 3;
static const uint8_t SCK = 2;
static const uint8_t A0 = 0;
static const uint8_t A1 = 1;
static const uint8_t A2 = 2;
static const uint8_t A3 = 3;
static const uint8_t A4 = 4;
static const uint8_t A5 = 5;
Que cada uno mire en su placa la configuración de pins.
Se puede encontrar en:
/home/usuario/.arduino15/packages/esp32/hardware/esp32/3.3.0/variants/lolin_c3_mini
Después de probar el clásico programa de hacer parpadear un LED, me propuse hacer algo mejor.
En el anterior proyecto había publicado un montaje que me había mandado Alfredo Segura, era un TIMER PROGRAMABLE .
Pues me puse manos a la obra y monté todo el circuito, y me puse a programar.
El programa debe mantener unos valores de ON/OFF que contienen los tiempos de apagado y encendido, y estos valores se deben mantener aunque se vaya la alimentación.
Los ESP32 no tienen EEPROM, pero mediante la librería #include <EEPROM.h> , se emula y se graba en memoria de programa.
Para cambiar los valores de apagado y encendido utilizamos un Rotary Encoder, se debe pulsar el botón del mando para pasar entre los diferentes valores ON/OFF.
Si se mantiene pulsado el mando por más de 4 segundos, los valores de tiempos ON/OFF se almacenan en la *EEPROM.
Girando el mando se cambia de ON/OFF.
Todo esto se visualiza en la pantalla OLED SSD1306


Como se puede ver, he utilizado un módulo que contiene el mando Rotary Encoder y la pantalla OLED.
También se puede utilizar los dos módulos por separado.

Este ha sido mi primer contacto con el ESP32_C3_MINI, y he encontrado una placa extraordinaria, con mucho potencial.
Espero que les haya gustado este pequeño proyecto, que no será el último con este micro.
PROGRAMA
Saludos.
Juan Galaz
Bibliografía:
https://github.com/sidharthmohannair/Tutorial-ESP32-C3-Super-Mini
https://www.luisllamas.es/probamos-el-nuevo-esp32-c3-el-sustituto-del-esp8266/
https://www.espressif.com/sites/default/files/documentation/esp32-c3-mini-1_datasheet_en.pdf
https://www.mechatronicstore.cl/conectando-la-esp32-c3-super-mini-a-arduino-paso-a-paso/?srsltid=AfmBOopdSs8GEHCtRzY2aXz168xDNPLSEk_YsHXers0j9pHBz6SHsCk4
https://www.youtube.com/watch?v=0sum5XaOdW0