0% encontró este documento útil (0 votos)
109 vistas19 páginas

Arduino y ESP32

El documento presenta una introducción a los microcontroladores ATMega y ESP32, destacando sus características técnicas, como la frecuencia de operación, tipos de memoria, conectividad y periféricos. Se detalla la arquitectura del ESP32, que incluye soporte para WiFi y Bluetooth, así como múltiples interfaces de comunicación y sensores integrados. Además, se incluye un glosario de términos técnicos relevantes para comprender mejor el contenido.

Cargado por

Irvin Uribe
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como ODP, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
109 vistas19 páginas

Arduino y ESP32

El documento presenta una introducción a los microcontroladores ATMega y ESP32, destacando sus características técnicas, como la frecuencia de operación, tipos de memoria, conectividad y periféricos. Se detalla la arquitectura del ESP32, que incluye soporte para WiFi y Bluetooth, así como múltiples interfaces de comunicación y sensores integrados. Además, se incluye un glosario de términos técnicos relevantes para comprender mejor el contenido.

Cargado por

Irvin Uribe
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como ODP, PDF, TXT o lee en línea desde Scribd

Introducción al ATMega y al ESP

25/05/2025 1
, 0412-895.80.75, [email protected]
Introducción al ATMega y al ESP

Placa de un Aduino Chip, Módulo y tarjeta de ESP32


25/05/2025 2
, 0412-895.80.75, [email protected]
Introducción al ATMega y al ESP

Diagrama de Bloques
Diagramas del Arduino y del ESP32
25/05/2025 3
, 0412-895.80.75, [email protected]
Introducción al ATMega y al ESP
Procesadores: Arduino
Arduino µControlador Frecuencia Memorias Periféricos más importantes
Nano ATmega328P 16 MHz (1) (2)
UNO ATmega328P 16 MHz (1) (2)
DUE SAM3X8E 84 MHz (3) (2) Ethernet, USB, CAN, TWAI µC32bit
Leonardo ATmega32u4 16 MHz (1)2,5 kiRAM (2) USB, HID
Mega 2560 ATmega2560 16 MHz (4) Igual que el DUE
Mega ADK ATmega2560 16 MHz (4) Igual que el, DUE más I2S
Micro ATmega32u4 16 MHz = Leonardo Igual al Leonardo
Pro Mini ATmega328P 16 MHz (1) (2) Sin LED
(1)32 KB flash, 2 KB RAM, 1 KB EEPROM (2) Serie, I2C, SPI, PWM, ADC, DAC, LED
(3)512 KB flash, 96 KB RAM, 4 KB EEPROM (4)256 KB flash, 8 KB RAM, 4 KB EEPROM

25/05/2025 4
, 0412-895.80.75, [email protected]
Introducción al ATMega y al ESP

Procesadores:

El ESP32 tiene 1 o 2 µProcesadores de 32-bit, según el modelo, pueden
tener una frecuencia de reloj de hasta 240 MHz y un rendimiento de
hasta 600 DMIPS.

Incorpora un procesador Ultra Low Power, capaz de trabajar cuando la
CPU se pone en modo Deep-Sleep (ahorro de energía). Puede ejecutar
conversiones ADC, operaciones computacionales y verificar el estado de
los pines con un consumo minúsculo. El procesador ULP y la memoria
RTC permanecen activos en modo Deep-sleep. ¿Cuándo es útil éste
modo?

25/05/2025 5
, 0412-895.80.75, [email protected]
Introducción al ATMega y al ESP

Memoria En cuanto a la memoria, el chip dispone de las siguientes memorias internas:



Memoria ROM de 448 kiB, para funciones de núcleo y boot.

Memoria SRAM de 520 kiB, para datos e instrucciones.

Memoria RTC fast SRAM de 8 kiB, para almacenamiento de datos. La puede usar el
núcleo principal durante el boot desde el modo deep-sleep.

Memoria RTC slow SRAM de 8 kiB, para que el coprocesador acceda durante el modo
deep-sleep.

Memoria flash embebida, que, dependiendo del modelo, tiene un tamaño de 0 a 4 MiB.

Además, se puede acoplar una memoria flash externa de hasta 16 MiB, o una SRAM
de hasta 8 MiB, dependiendo del modelo.

25/05/2025 6
, 0412-895.80.75, [email protected]
Introducción al ATMega y al ESP
Conectividad El SoC ESP32 tiene soporte para WiFi y Bluetooth. El
WiFi soporta las tecnologías estándar Wifi 802.11 b/g/n. (802.11n a 2,4
GHz hasta 150 Mbit/s), mientras que la versión de Bluetooth soportada
es la v4.2 BR/EDR y dispone además de BLE (Bluetooth Low Energy).
Timers El SoC dispone de cuatro temporizadores de propósito general
embebidos de 64 bits, basados en prescalers de 16 bits (de 2 a 65536).
Los Timers son configurables en cuenta ascendente o descendente y
pueden ser generados como interrupción por nivel o por flanco.

25/05/2025 7
, 0412-895.80.75, [email protected]
Introducción al ATMega y al ESP
Watchdog Dispone de tres Watchdog Timers, uno en cada núcleo,
llamados Main Watchdog Timer (MWDT) y otro en el RTC, llamado
RTC Watchdog Timer (RWDT). Están destinados a recuperar al
dispositivo ante un fallo imprevisto, pudiendo desencadenar distintas
acciones como el reinicio de la CPU, del núcleo o del sistema. Se puede
programar un temporizador diferente para cada tipo de reinicio. Solo el
RWDT puede ejecutar el reinicio del sistema y del propio RTC (Real
Time Clock).

25/05/2025 8
, 0412-895.80.75, [email protected]
Introducción al ATMega y al ESP
Relojes del sistema El dispositivo tiene diferentes tipos de relojes del
sistema: 1º) a) el reloj de la CPU, cuya fuente de reloj es por defecto un
reloj de cristal externo de 40 MHz conectado a un PLL que genera una
frecuencia de 160 MHz, b) un oscilador interno de 8 MHz; el programa
puede elegir qué reloj utilizar en el sistema, dependiendo de la
aplicación, y,
2º) un Reloj de Tiempo Real (RTC), cuya fuente puede ser un reloj de un
oscilador RC interno de 150 KHz, de un oscilador interno de 8 MHz, o
del cristal externo al dispositivo.

25/05/2025 9
, 0412-895.80.75, [email protected]
Introducción al ATMega y al ESP
Radiofrecuencia El módulo ESP32 consta de los siguientes bloques de
radiofrecuencia: a) Un receptor de 2,4 GHz que demodula la señal de
radiofrecuencia y la convierte al dominio digital por medio de dos ADCs de alta
resolución. Para adaptarse a las diferentes condiciones de la señal, el chip monta
filtros de RF, control automático de ganancia, cancelación de continua y filtros de
banda base integrados,
b) Un transmisor de 2,4 GHz que modula la señal en banda base a señal de RF a 2,4
GHz, que posteriormente sale por la antena gracias a un amplificador de potencia
basado en CMOS. Incluye calibraciones integradas que permiten cancelar las
imperfecciones de ruido, y,
c) Un generador de reloj que produce una señal en cuadratura de 2,4 GHz para
transmisión y recepción de WiFi con todos los componentes integrados y calibración
automática.

25/05/2025 10
, 0412-895.80.75, [email protected]
Introducción al ATMega y al ESP
Periféricos y sensores El ESP32 cuenta con:
1) 34 pines de propósito general (GPIO) a ellos se le pueden asignar distintas
funciones con la programación de los registros apropiados.
2) Pines de distintos tipos: digitales, digitales y analógicos, con función touch. La
mayoría de los pines GPIO pueden configurarse como pull-up, pull-down, o alta
impedancia.
3) Dos conversores analógico-digital (ADC) de 12-bit SAR, que pueden soportar
entre ambos hasta 18 canales de entrada analógica y hasta trabajan en modo de
ahorro de energía, gracias al coprocesador de bajo consumo.
4) Un conversor DAC de 8 bits que permite convertir dos señales digitales.

25/05/2025 11
, 0412-895.80.75, [email protected]
Introducción al ATMega y al ESP
Periféricos y sensores ...
5) El dispositivo cuenta con una serie de sensores internos como un sensor de
temperatura, un sensor de efecto Hall, que permite detectar si existe campo
magnético cerca del dispositivo, o sensores tipo “touch” existentes en algunos
pines que pueden detectar variaciones al acercar o tocar el pin con el dedo o
con un objeto.
6) También se dispone de un controlador SD/SDIO/MMC que soporta traspaso
de datos desde dispositivos externos de hasta 80 MHz con diferentes buses: de
1 bit, de 4 bits y de 8 bits.
7) Para la comunicación da datos serie el dispositivo cuenta con tres interfaces
UART que proporcionan comunicación asíncrona de hasta 5 Mbps.
25/05/2025 12
, 0412-895.80.75, [email protected]
Introducción al ATMega y al ESP
Periféricos y sensores ...
8) Otros protocolos de comunicación como I2C, I2S y SPI son soportados por el
dispositivo. Soporta dos interfaces I2C, que pueden servir como maestro o como
esclavo a una velocidad de hasta 5 MHz. Por otra parte, soporta comunicaciones I 2S
por dos interfaces con controladores DMA dedicados. Respecto al SPI, se
proporcionan cuatro modos de funcionamiento dependiendo de la polaridad y la fase
del reloj del SPI, con una velocidad de hasta 80 MHz y hasta cuatro interfaces
simultáneas.
9) Otra de las características del SoC es que posee un controlador de infrarrojos de
ocho canales para la transmisión y envío de datos, que soporta varios protocolos de
infrarrojos. Para finalizar el apartado de periféricos, el ESP32 también puede generar
hasta dieciséis canales PWM (Modulador de Ancho de Pulso) y posee una interfaz para
la comunicación por bus CAN 2.0.

25/05/2025 13
, 0412-895.80.75, [email protected]
Introducción al ATMega y al ESP
Glosario:
DMIPS: "Dhrystone Million Instructions Per Second". Es una medida del rendimiento
de un procesador que se basa en el benchmark Dhrystone. El benchmark Dhrystone es
un programa de prueba que mide el rendimiento de un procesador realizando una serie
de operaciones aritméticas y lógicas simples.
KiB: tiene un tamaño de 1.024 octetos. El símbolo "ki" significa "kilo" en el prefijo (o
sistema) binario, 1 kilobyte equivale a 1.024 bytes =2 10 octetos.
Wi-Fi 802.11 b/g/n: conocido como Wi-Fi 4, estándar que viene de tres anteriores, a
2,4 GHz: 802.11b (en 1.999 a 11 Mbps), 802.11g (en 2.003 a 54 Mbps) y 802.11n (en
2.009 a 600 Mb/s a 5 GHz con 1300 Mbps). Opera en el rango de GHz, esto le permite
transportar más datos a la vez. El Wi-Fi 5 (802.11ac) se acerca a velocidades de Gbps
al enfocarse en la frecuencia de 5 GHz.

25/05/2025 14
, 0412-895.80.75, [email protected]
Introducción al ATMega y al ESP
Glosario ...
v4.2 BR/EDR de Bluetooth es una actualización, de 2.014, del estándar Bluetooth v4.1. Las
mejoras de esta versión son: a) mayor velocidad de transmisión; 24 Mbps frente a los 1 Mbps de
la versión v4.1, b) mayor eficiencia energética al utilizar menos energía que la versión v4.1, lo
que permite a los dispositivos funcionar durante más tiempo con una sola carga. Soporte para
IPv6: La versión v4.2 BR/EDR introduce el soporte para IPv6, lo que permite a los dispositivos
conectarse a Internet de forma más eficiente.
Filtro de Banda base Estos filtros se utilizan en los transmisores o receptores de radiofrecuencia
para seleccionar la banda de frecuencia de interés. Ellos se encargan de eliminar las señales de
frecuencia fuera de la banda de interés, lo que mejora la calidad de la señal y la eficiencia del
sistema.
Señal en cuadratura En los Tx o Rx de radiofrecuencia, se utiliza para Tx y Rx datos. La señal se
compone de 2 señales senoidales de igual frecuencia, pero con una diferencia de fase de 90
grados.

25/05/2025 15
, 0412-895.80.75, [email protected]
Introducción al ATMega y al ESP
Glosario ...
SD significa "Secure Digital". Estándar más común de tarjetas de memoria flash. Las
SD se utilizan en una amplia gama de dispositivos, incluyendo cámaras digitales,
teléfonos inteligentes, tabletas y ordenadores. Capacidad de memoria: 2 MB a 2 TB.
SDIO significa "Secure Digital Input/Output"; un estándar que amplía el estándar SD
para permitir la transferencia de datos bidireccionales entre la tarjeta y el host. Se usan
para una variedad de aplicaciones, incluyendo conectividad inalámbrica, GPS y
almacenamiento de datos.
MMC significa "MultiMediaCard". Es un estándar anterior a SD que sigue siendo
utilizado por algunos dispositivos. Tienen rango de almacenamiento de 2 MB a 1 GB.
La velocidad de transferencia de datos de las MMC puede alcanzar los 25 MB/s.

25/05/2025 16
, 0412-895.80.75, [email protected]
Introducción al ATMega y al ESP
Glosario ...
I2C (Inter-Integrated Circuit) Protocolo de comunicación serial (usa 2 líneas: SDA y
SCL) de baja velocidad y bajo consumo de energía; usado para conectar dispositivos
periféricos a un µControlador, o a un SoC, como sensor, LCD, almacenamiento. 100 k.
I2S (Inter-IC Sound) Protocolo de comunicación serial (usa 3 líneas: SDA, SCL y LRC:
Línea de Reloj de Recuperación) de ↑velocidad usado en transmisión de audio digital.
El I2S se utiliza para conectar dispositivos de audio, como DACs (convertidores
digital-analógicos) y ADCs (convertidores analógico-digitales). 50 M.

SPI (Serial Peripheral Interface) es un protocolo de comunicación serial de alta
velocidad y alta flexibilidad; es más complejo de implementar que I 2C e I2S, pero da
mayor flexibilidad. El SPI se usa comúnmente para unir una variedad de dispositivos
periféricos, como sensores, actuadores y dispositivos de almacenamiento.

25/05/2025 17
, 0412-895.80.75, [email protected]
Introducción al ATMega y al ESP
/El siguiente programa en lenguaje C maneja la interrupción del pin 6 del ESP32. La interrupción se activa cuando
el pin cambia de bajo a alto. Cuando se activa la interrupción, el programa imprime un mensaje en la consola. /
#include <stdio.h>
#include <esp_err.h>
#include <esp_log.h>
#include <driver/gpio.h>
static const char *TAG = "gpio_intr_example";
void IRAM_ATTR gpio_intr_handler(void *arg) {
int pin_num = (int)arg;
ESP_LOGI(TAG, "Interrupción del pin %d", pin_num);
}
void app_main() {
gpio_set_intr_type(GPIO_NUM_6, GPIO_INTR_TYPE_EDGE_RISING);// Configurar el pin 6 como un pin de interrupción
gpio_intr_enable(GPIO_NUM_6); // Activar la interrupción
gpio_isr_handler_add(GPIO_NUM_6, gpio_intr_handler, NULL); // Registrar el manejador de interrupciones
while (1) {
// ...
}
}

25/05/2025 18
, 0412-895.80.75, [email protected]
Introducción al ATMega y al ESP
/El siguiente programa en C Arduino maneja la INT del pin 13 del ESP32. La interrupción se activa cuando el pin
cambia de bajo a alto. Cuando se activa la interrupción, el programa cambia de estado al LED del pin 23 /

int Luz_PPal=15, Luz_RSI=23, Boton_INT=13; // Definir los pines de trabajo

void IRAM_ATTR SbPrgServInt() {


digitalWrite(Luz_RSI, !digitalRead(Luz_RSI)); // Cambiar de Edo. al LED para indicar INTerrupción
}

void setup() {
pinMode(Luz_PPal, OUTPUT); // Definimos el pin 15 como salida: LED del Programa Principal
pinMode(Luz_RSI, OUTPUT); // Idem con pin 23: es el LED del SubPrograma de Servivio de INTerrupción
pinMode(Boton_INT, INPUT_PULLUP); // El pin 13 será el pin de INTerrupción c/vez pulsado
attachInterrupt(digitalPinToInterrupt(Boton_INT), SbPrgServInt, RISING); // Definimos la INTerrupción...
}

void loop() { // Aquí comienza el Programa Principal


delay(700); // Espera 700 ms antes de cambiar de estado al LED del Programa Principal
digitalWrite(Luz_PPal, !digitalRead(Luz_PPal)); Cambiar de estado al LED y continuar indefinidamente
}

25/05/2025 19
, 0412-895.80.75, [email protected]

También podría gustarte