Presentación ESP32
Presentación ESP32
Presentación ESP32
El término proviene de la computadora Harvard Mark I basada en relés, que almacenaba las
instrucciones sobre cintas perforadas (de 24 bits de ancho) y los datos en interruptores
electromecánicos
Arquitectura basada en la descrita en 1945 por el matemático y físico John von Neumann
en un informe de la computadora EDVAC.
Microcontroladores con Instrucciones RISC o CISC
RISC Significa Reduced Instruction Set Computer. Es una
característica propia de los microcontroladores actuales como los
AVR. Estos microcontroladores cuentan con instrucciones sencillas y
en un número mínimo. Sin embargo, cuando se desarrollan
proyectos mucho más complejos, el uso del lenguaje ensamblador
se torna cada vez más engorroso.
Se puede encontrar en algunas variaciones, desde el chip que pasa por los
módulos y las placas de desarrollo. El uso de placas de desarrollo tiende a
ser la mejor opción.
La capacidad criptográfica permite que este módulo se convierta en el rey de IoT (Internet of thing).
Periféricos ESP32
El chip ESP32 viene con 48 pines con múltiples funciones. No todos los pines están
expuestos en todas las placas de desarrollo ESP32, y algunos pines no se pueden usar.
Los canales de entrada ADC tienen una resolución de 12 bits. Esto significa que puede obtener lecturas
analógicas que van de 0 a 4095, en las que 0 corresponde a 0V y 4095 a 3.3V. También tiene la capacidad de
establecer la resolución de sus canales en el código, así como el rango de ADC.
GPIOs capacitivos táctiles
El ESP32 tiene 10 sensores táctiles internos capacitivos. Estos pueden
detectar variaciones en cualquier cosa que tenga una carga eléctrica, como
la piel humana.
• DAC1 (GPIO25)
• DAC2 (GPIO26)
• GPIO 34
• GPIO 35
• GPIO 36
• GPIO 37
• GPIO 38
• GPIO 39
PWM
Para establecer una señal PWM, necesita definir estos parámetros en el código:
• Frecuencia de la señal;
• Ciclo de trabajo;
• Canal PWM;
• GPIO donde quieres que salga la señal.
I2C
Cuando use el ESP32 con el IDE de Arduino, debe usar los pines por defecto de
ESP32 I2C (compatibles con la biblioteca de Wire):
•GPIO 21 (SDA)
•GPIO 22 (SCL)
SPI
Por defecto, la asignación de pines para SPI es:
1) Abra la ventana de
preferencias desde el IDE
de Arduino. Ir a Archivo
Preferencias.
2) Ingrese
https://dl.espressif.com/dl/p
ackage_esp32_index.json
Delimitada por llaves de apertura y cierre. Es la primera función a ejecutar en el programa. Se ejecutan una
única vez en el momento de encender o resetear la placa ARDUINO.
Se usa para inicializar:
Los modos de trabajo de los pins E/S (PinMode)
Comunicación en serie
Las sentencias if/else permiten un mayor control sobre el flujo del código que la declaración
if básica, por permitir agrupar múltiples comprobaciones. “Si esto no se cumple haz esto otro”.
Las sentencias if/else if pueden realizar múltiples comprobaciones en una misma estructura
de condiciones. Cada comprobación procederá a la siguiente sólo cuando su propio resultado
sea FALSE. Cuando el resultado sea TRUE, su bloque de código contenido, será ejecutado, y el
programa esquivará las siguientes comprobaciones hasta el final de la estructura de
comprobaciones.
int numero;
//*******************************************************
void setup(){
Serial.begin(9600);
}
//******************************************************
void loop(){
if (Serial.available() > 0) {
numero=Serial.parseInt();
if (numero == 23){
Serial.println("Numero es igual a 23");
}
else if (numero < 23) {
Serial.println("Numero es menor que 23");
}
else {
Serial.println("Numero es mayor que 23");
}
}
}
//*******************************************************
Estructura de programa en el IDE Arduino
const int buttonPin = 4; // GPIO del pushbutton
const int ledPin = 16; // GPIO LED
int buttonState = 0; // variable para almacenar el estado del pushbutton
//*************************************************
void setup() {
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
}
//*********************************************
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH);
}
else {
digitalWrite(ledPin, LOW);
}
}
GPIO (General Purpose Input/Output). Entrada/Salida de Propósito General, es un pin genérico en un chip, cuyo comportamiento
(incluyendo si es un pin de entrada o salida) se puede controlar (programar) por el usuario en tiempo de ejecución.