Recents in Beach

header ads

Cómo programar las tarjetas de desarrollo basadas en ESP32 con Arduino IDE

 

Hola amigos hoy les traigo este video, para que vean el paso a paso de la instalación del soporte para ESP32 en el Arduino IDE.

El link que deben colocar en las preferencias del Arduino IDE es el siguiente:
https://dl.espressif.com/dl/package_esp32_index.json

Recuerden que este soporte es oficial del fabricante Espressif Systems y el ESP32 es un sistema integrado que puede ser programado en diferentes lenguajes:  Esp-Idf, micropython, lua, Arduino (c++), CForth, JavaScript, Hybrid C/Pyton.


En el video pruebo con las placas: "WEMOS LOLIN32" y "ESP32 DEVKITV1" que son las mas baratas del mercado y se han vuelto muy populares por la cantidad de prestaciones apoyada de las librerías de la comunidad que permiten el desarrollo de aplicaciones IOT en poco tiempo con una curva de aprendizaje muy flexible.

.
Conectar al PC con un cable USB y verificar cual puerto serial corresponde al de nuestra placa.
Pueden usar el ejemplo blink para hacer parpadear el led que traen por lo general integrado estas placas.
Hay que tener en cuenta que el puerto que se usa para controlar el led incorporado en la pcb de desarrollo puede variar dependiendo del fabricante. Si se dan cuenta hay muchísimas versiones de diferentes fabricantes y a pesar de que están basadas en el mismo sistema empaquetado llamado ESP32 WROOM 32 que contiene el contiene SoC ESP32 cuyas características principales son:

WiFi:
802.11 b / g / n / e / i
802.11 n (2.4 GHz) a velocidades de hasta 150 Mbps
802.11 e: mecanismo de QoS para implementar la tecnología multimedia inalámbrica
WMM-PS, UAPSD
Técnicas de agregación de tramas A-MPDU y A-MSDU
Funciones de seguridad 802.11 i: autenticación previa y TSN
Admite el cifrado WPA / WPA2 / WPA2-Enterprise / WPS
Infraestructura Modo BSS Station / Modo SoftAP

Bluetooth:
Bluetooth v4.2 estándar completo, que incluye Bluetooth tradicional (BR / EDR) y Bluetooth de baja potencia (BLE)
Admite los estándares de Clase 1, Clase 2 y Clase 3, y elimina la necesidad de amplificadores de potencia externos
Control de potencia de precisión mejorado
Potencia de salida hasta + 10 dBm
El receptor NZIF tiene una sensibilidad de recepción BLE de -98 dBm
HART UART de alta velocidad con velocidades de hasta 4 Mbps
Admite el controlador BT 4.2 y la pila de protocolos del host

CPU y almacenamiento:
Xtensa procesador de doble núcleo LX6 de 32 bits con potencia de cómputo de hasta 600 DMIPS
448 KByte ROM
SRAM de 520 KByte
16 KByte SRAM en RTC
QSPI puede conectar hasta 4 Flash / SRAM, hasta 16 MBytes por Flash
Voltaje de alimentación: 2.2V a 3.6V

Interfaz Periférica:
ADC SAR de 12 bits con hasta 18 canales; 2 convertidores D / A de 8 bits; 10 sensores táctiles; Sensor de temperatura; 4 SPIs; 2 I2C; 3 UARTs; 1 Host SD / eMMC / SDIO; 1 Slave SDIO / SPI;Interfaz MAC de Ethernet con DMA dedicado para soportar IEEE 1588; CAN 2.0; IR (TX / RX); Motor PWM; LED PWM, hasta 16 canales

Importante: el ESP32 funciona con 3.3V y sus puertos están limitados a valor. Las placas de desarrollo cuentan con un regulador para obtener el voltaje necesario a partir de los 5V del puerto USB. Hay que tener cuidado de no conectar en ningún puerto mas de 3.3V pues esto dañaría el IC.

Placas como la WEMOS LOLIN32 traen un puerto dedicado a conectar una batería de litio pues posee IC controlador de carga y el voltaje es regulado a 3.3V (cuando la batería esta cargada completamente tiene 4.2V en sus terminales).

Les dejo los diagramas de conexión:

WEMOS LOLIN32

ESP32 DEVKITV1




El datasheet del ESP32 esta disponible aquí: https://www.infinity-electronic.hk/datasheet/cb-ESP32-D0WD.pdf 

Aquí esta el código ejemplo "blink":

/*
  Blink

  Turns an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
  it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
  the correct LED pin independent of which board is used.
  If you want to know what pin the on-board LED is connected to on your Arduino
  model, check the Technical Specs of your board at:
  https://www.arduino.cc/en/Main/Products

  modified 8 May 2014
  by Scott Fitzgerald
  modified 2 Sep 2016
  by Arturo Guadalupi
  modified 8 Sep 2016
  by Colby Newman

  This example code is in the public domain.

  http://www.arduino.cc/en/Tutorial/Blink
*/

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

Publicar un comentario

0 Comentarios