Para poder programar con la IDE de Arduino lo primero que se debe tener en cuenta es la instalación de las tarjetas en el IDE de arduino.
Colocamos el link de donde se obtendrá nuevas tarjetas
Link para ESP 32: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Link para ESP 8266: https://arduino.esp8266.com/stable/package_esp8266com_index.json
Luego en Tool/Board/Board Manager se debe instalar la tarjeta deseadaLa distribución de pines de la ESP 32
Los periféricos ESP32 incluyen:
- 18 canales de convertidor analógico a digital (ADC)
- 3 interfaces SPI
- 3 interfaces UART
- 2 interfaces I2C
- 16 canales de salida PWM
- 2 convertidores de digital a analógico (DAC)
- 2 interfaces I2S
- 10 GPIO de detección capacitiva
PROGRAMANDO LA ESP8266 DESDE EL IDE DE ARDUINO
- Encendido de un led
Primero realizamos la conexión del LED con su resistencia al GPIO 5 de la tarjeta ESP8622 el cuál corresponde al PIN D2
Luego programamos la tarjeta con el IDE de arduino, el código para parpadear un led es el siguiente
#include <ESP8266WiFi.h>const int ledPin = 16; // 16 corresponde a GPIO16 const int freq = 5000; const int ledChannel = 0; const int resolution = 8;
Leyendo un dato digital de un GPIO pin y encendido y apagado de led
PWM
void setup() {pinMode(5, OUTPUT);}void loop() {for (int PWM_duty = 0; PWM_duty < 1023; PWM_duty++){analogWrite(5, PWM_duty);delay(1);}delay(500);for (int PWM_duty = 1023; PWM_duty >= 0; PWM_duty--){analogWrite(2, PWM_duty);delay(1);}delay(500);}
PWM con la ESP 32
const int ledPin = 16; // 16 corresponde a GPIO16 const int freq = 5000; const int ledChannel = 0; const int resolution = 8;void setup(){// configura funcionalidades LED PWMledcSetup(ledChannel, freq, resolution);ledcAttachPin(ledPin, ledChannel);}void loop(){// Incrementa el brillofor(int dutyCycle = 0; dutyCycle <= 255; dutyCycle++){ledcWrite(ledChannel, dutyCycle);delay(25);}// decrementa el brillofor(int dutyCycle = 255; dutyCycle >= 0; dutyCycle--){ledcWrite(ledChannel, dutyCycle);delay(25);}}