Adafruit Feather Huzzah ESP8266
Adafruit Feather Huzzah ESP8266
Adafruit Feather Huzzah ESP8266
Características
-Microcontrolador: ESP8266
-Frecuencia del CPU: 80 MHz
-Memoria Flash: 4 MB (32 Mbit)
-RAM: 80 KB de SRAM
-Wi-Fi: 802.11 b/g/n
-Voltaje de Operación: 3.3V
-Pines GPIO: 9 pines de entrada/salida
-Conector USB: Micro-USB para programación y alimentación
-Batería: Conector JST para batería de LiPo de 3.7V y circuito de carga integrado
Marco Antonio Gómez Solorio Sistemas Programables 8-C
Ventajas
-Conectividad Wi-Fi Integrada: Permite proyectos de IoT sin necesidad de módulos
adicionales.
-Plataforma Compacta y Ligera: Ideal para proyectos con restricciones de espacio
y peso.
-Programación Simple: Compatible con el entorno de desarrollo de Arduino, lo que
facilita la programación incluso para principiantes.
-Soporte para Batería: Incluye un conector y un cargador para baterías LiPo, lo que
permite proyectos portátiles.
-Comunidad y Documentación: Amplia documentación y una comunidad activa que
proporciona soporte y ejemplos.
-Versatilidad: Múltiples pines GPIO y soporta varias interfaces de comunicación
(UART, SPI, I2C).
Desventajas
-Limitaciones de GPIO: Comparado con otras placas, tiene menos pines GPIO
disponibles, lo que puede ser una limitación para proyectos que requieran muchas
entradas y salidas.
-Consumo de Energía: El consumo de energía puede ser relativamente alto para
aplicaciones que requieren baja potencia y larga duración de batería.
-Capacidades de Procesamiento: Aunque adecuado para muchos proyectos de IoT,
el ESP8266 no es tan potente como otros microcontroladores más modernos, lo que
puede ser una limitación para aplicaciones más intensivas en procesamiento.
-Tensión de Operación: Opera a 3.3V, lo que puede ser una desventaja si se
necesita compatibilidad directa con sensores o dispositivos que funcionan a 5V.
-Sólo un Canal ADC: Tiene solo un canal ADC, lo que limita la capacidad de leer
múltiples señales analógicas simultáneamente.
Marco Antonio Gómez Solorio Sistemas Programables 8-C
- Arduino (C/C++):
Sintaxis: Similar a la de Arduino. Utiliza el IDE de Arduino para escribir y cargar el
código.
Ejemplo de código
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // Encender LED
delay(1000); // Esperar 1 segundo
digitalWrite(LED_BUILTIN, LOW); // Apagar LED
delay(1000); // Esperar 1 segundo
}
-MicroPython:
Sintaxis: Utiliza Python, con una sintaxis simplificada y adecuada para dispositivos
embebidos.
Ejemplo de código
import machine
import time
Marco Antonio Gómez Solorio Sistemas Programables 8-C
while True:
led.value(1) # Encender LED
time.sleep(1)
led.value(0) # Apagar LED
time.sleep(1)
Ejemplo de código
gpio.mode(1, gpio.OUTPUT)
while true do
gpio.write(1, gpio.HIGH) -- Encender LED
tmr.delay(1000000) -- Esperar 1 segundo
gpio.write(1, gpio.LOW) -- Apagar LED
tmr.delay(1000000) -- Esperar 1 segundo
end
section .text
global _start
_start:
; Inicializar el pin del LED
mov r3, led_pin
call setup_pin
loop:
; Encender LED
mov r3, led_pin
call led_on
; Esperar
call delay
; Apagar LED
mov r3, led_pin
Marco Antonio Gómez Solorio Sistemas Programables 8-C
call led_off
; Esperar
call delay
; Repetir el bucle
j loop
4.6 Codificación
El siguiente código es un programa simple en C/C++ para el ESP8266 utilizando el
entorno Arduino IDE, que enciende y apaga un LED:
void setup() {
pinMode(LED_BUILTIN, OUTPUT); // Inicializar el pin del LED como salida
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // Encender el LED
delay(1000); // Esperar 1 segundo
digitalWrite(LED_BUILTIN, LOW); // Apagar el LED
delay(1000); // Esperar 1 segundo
}