Saltar al contenido principal

Primeros pasos con XIAO ePaper Display EN04

Placa XIAO ePaper Display EN04

Introducción

Impulsada por XIAO nRF52840 Plus, la placa de pantalla EN04 es compatible con pantallas ePaper de 24 pines y 50 pines. Incorpora un conector de batería JST de 2,0 mm con interruptor de encendido, CI de carga integrado, función NFC y viene con un botón de reinicio y tres botones de usuario. Es ideal para proyectos ePaper de bajo consumo como señalización digital, etiquetas electrónicas y paneles de información portátiles.

Características

  • Impulsada por XIAO nRF52840 Plus: Funciona de inmediato al conectarla a una pantalla ePaper compatible.
  • Soporte de pantalla versátil: Compatible con una amplia gama de pantallas ePaper, admitiendo interfaces de 24 pines y 50 pines con cambio sencillo mediante jumpers.
  • Conector BAT con interruptor: Proporciona una conexión de batería sencilla e integra un interruptor, lo que permite una gestión de energía eficiente y ahorro energético.
  • Botones fáciles de usar: Incluye 1 botón de reinicio y 3 botones programables por el usuario, ofreciendo flexibilidad para acelerar el desarrollo del proyecto y funciones personalizables.

Especificación

ParámetroDescripción
ProcesadorXIAO nRF52840 Plus
Conector ePaperFPC 24 Pin 0.5mm
FPC 50 Pin 0.5mm
Conector de bateríaJST 2.0mm
InterruptorEncendido/Apagado de alimentación por batería
Alimentación- Batería de 3,7V Li
- USB Tipo C
Botón- 1x Botón de reinicio
- 3x Botón de usuario

Guía de selección de placas ePaper

ProductoPlaca ePaper Display EN04ePaper BreakoutePaper Driver Board
ProcesadorXIAO nRF52840 PlusSerie XIAOSerie XIAO
Pantallas ePaper compatiblesePaper de 24 pines
ePaper de 50 pines
ePaper de 24 pinesePaper de 24 pines
Conector ePaperFPC 24 Pin, 0.5mm
FPC 50 Pin, 0.5mm
FPC 24 Pin 0.5mmFPC 24 Pin 0.5mm
Conector de bateríaJST 2.0mm/JST 2.0mm
InterruptorEncendido/Apagado de alimentación por batería/Encendido/Apagado de alimentación por batería
Botón1x Botón de reinicio
3x Botón de usuario
//
Puerto IO de expansión/conexión de otros controladoresconexión de sensores adicionales

Aplicaciones

  • Panel de control para hogar inteligente: Muestra información en tiempo real como actualizaciones del clima, eventos de calendario y notificaciones de varios dispositivos del hogar inteligente.
  • Monitorización de energía: Muestra datos de consumo energético de contadores inteligentes, ayudando a los propietarios a controlar y gestionar su uso de energía de forma más eficiente.
  • Alertas de seguridad: Muestra alertas y notificaciones sobre eventos de seguridad, como detección de movimiento o activación de sensores de puertas/ventanas.
  • Pantalla de termostato inteligente: Muestra niveles de temperatura y humedad, así como ajustes de control para tu termostato inteligente.
  • Marco de fotos digital: Crea un marco de fotos digital con WiFi que pueda mostrar imágenes desde tu red de hogar inteligente.

Descripción general del hardware

ePaper compatible

Conector de 24 pines

tip

Al usar la XIAO ePaper Display Board, asegúrate de configurar el jumper según el tipo de pantalla ePaper:

  • Para pantallas ePaper de 24 pines → ajusta el jumper a 24 Pin

⚠️ Usar una configuración de jumper incorrecta puede hacer que la pantalla ePaper no muestre nada o muestre contenido anómalo. Comprueba siempre la posición del jumper antes de encender.

Conector de 50 pines

tip

Al usar la XIAO ePaper Display Board, asegúrate de configurar el jumper según el tipo de pantalla ePaper:

  • Para pantallas ePaper de 50 pines → ajusta el jumper a 50 Pin

⚠️ Usar una configuración de jumper incorrecta puede hacer que la pantalla ePaper no muestre nada o muestre contenido anómalo. Comprueba siempre la posición del jumper antes de encender.

Descripción general del software

Instalar la biblioteca Seeed GFX

tip

Esta biblioteca tiene la misma función que la biblioteca TFT y no es compatible con ella. Si has instalado la biblioteca TFT u otras bibliotecas de pantalla similares, desinstálalas primero.

Descarga e instala la biblioteca Seeed GFX desde GitHub.

Desplázate hacia abajo y abre este enlace.

Selecciona tu tipo de dispositivo y generará algo de código. Copia ese código y lo usaremos más tarde.

tip

Si haces una elección equivocada, la pantalla no mostrará nada.

Así que, por favor, asegúrate del tipo de tus dispositivos o componentes.

Después de descargar la biblioteca, ve a Sketch -> Include Library -> Add .ZIP Library y selecciona la biblioteca descargada.

Hay 4 ejemplos básicos, abre un ejemplo básico que te guste:

  1. Bitmap: Muestra una imagen de mapa de bits.
  2. Clock: Muestra un reloj.
  3. Clock_digital: Muestra un reloj digital.
  4. Shape: Muestra palabras y formas de diferentes tamaños.

Primeros pasos

Aquí usamos una pantalla de 7,5 pulgadas como ejemplo. Los pasos son los mismos para todas las pantallas de 24 pines; la única diferencia es seleccionar el tamaño de pantalla adecuado en el controlador.

Crea un nuevo archivo "driver.h" y pega ese código en él. El código debería ser como:

#define BOARD_SCREEN_COMBO 502 // 7.5 inch monochrome ePaper Screen (UC8179)
#define USE_XIAO_EPAPER_DISPLAY_BOARD_EN04

Después de eso, ve a Tools -> Board -> XIAO ESP32S3 y Tools -> Port -> Select the port your board is connected to. Luego haz clic en Upload para cargar el código.

¡Ahora verás la retroalimentación en tu pantalla de epaper! A continuación se muestran los resultados de los ejemplos de Helloworld. (Si no aparece nada, haz clic en el botón de reinicio)

tip

⚠️ Nota: Orientación del cable de ePaper Al conectar la pantalla ePaper a la XIAO ePaper Display Board, asegúrate de que el cable FPC esté insertado en la dirección correcta.

⚠️ ¡No inviertas el conector! Insertar el cable al revés puede hacer que el ePaper no muestre nada o incluso dañar la pantalla/placa. La imagen siguiente muestra la conexión correcta:

Botones de usuario en XIAO ePaper Display Board(nRF52840) - EN04

La EN04 cuenta con tres botones programables por el usuario que se pueden utilizar para varios propósitos de control. Esta sección muestra cómo leer los estados de los botones y responder a las pulsaciones usando Arduino.

En la EN04, los tres botones están conectados a la XIAO nRF52840 Plus:

KEY1KEY2KEY3
GPIO2_D1/A1GPIO3_D2/A2GPIO5_D4/A4

Todos los botones son activos en bajo, lo que significa que leen LOW cuando se presionan y HIGH cuando se sueltan.

Ejemplo básico de lectura de botones

Este ejemplo muestra cómo detectar pulsaciones de botones e imprimir mensajes en el monitor serie.


// Define button pin (GPIO2 corresponds to Arduino digital pin 2)
const int KEY_PIN = 2;

void setup() {
// Initialize serial port (baud rate 9600, nRF52840 compatible with default Serial)
Serial.begin(9600);
// Wait for serial port initialization to complete (for nRF52840 Bluetooth module serial buffer)
while (!Serial) delay(10);

// Configure button pin as input mode with internal pull-up resistor enabled
// Pin is HIGH when not pressed, LOW when pressed
pinMode(KEY_PIN, INPUT_PULLUP);

Serial.println("nRF52840 Button Detection Program Started");
Serial.println("Press the button connected to GPIO2 to see output...");
}

void loop() {
// Read button state (INPUT_PULLUP mode: LOW = pressed, HIGH = not pressed)
int keyState = digitalRead(KEY_PIN);

// Detect if button is pressed (low level)
if (keyState == LOW) {
// 50ms delay for debounce handling (avoids false triggers from mechanical button bounce)
delay(50);
// Read state again to confirm (ensure stable press)
if (digitalRead(KEY_PIN) == LOW) {
// Print specified content via serial port
Serial.println("Hello. This is key1");

// Wait for button release (prevent repeated printing during long press)
while (digitalRead(KEY_PIN) == LOW) {
delay(10); // Short delay to reduce CPU usage
}
}
}

// Short delay in main loop for performance optimization
delay(10);
}

Batería de usuario en XIAO ePaper Display Board(nRF52840) - EN04

Cuando funcione con alimentación por batería:

  • El dispositivo entrará automáticamente en modo de bajo consumo entre actualizaciones

  • La duración de la batería depende de la frecuencia de actualización (normalmente 3 meses con una carga completa y la configuración predeterminada)

  • El dispositivo mostrará un icono de batería baja en la esquina superior derecha cuando el nivel de batería sea inferior al 20%

tip

Si quieres escribir algo de código por tu cuenta para leer el voltaje de la batería, será más preciso añadir un retardo de 10 ms antes de la función analogRead().

#define VOLTAGE_PIN A0 //GPIO1
#define ADC_ENABLE_PIN A5 //GPIO6

void setup() {
Serial.begin(115200);
delay(10);

pinMode(VOLTAGE_PIN, INPUT);
pinMode(ADC_ENABLE_PIN, OUTPUT);
digitalWrite(ADC_ENABLE_PIN , HIGH);
}


void loop() {
analogReadResolution(12);
int adcValue = analogRead(VOLTAGE_PIN);
float voltage = (adcValue / 4096.0) *7.16;
Serial.print("ADC Value: ");
Serial.print(adcValue);
Serial.print(" Voltage: ");
Serial.print(voltage, 3);
Serial.println(" V");
delay(10);
}

Recursos

Soporte técnico y debate sobre el producto

¡Gracias por elegir nuestros productos! Estamos aquí para ofrecerte diferentes tipos de soporte y garantizar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para adaptarnos a diferentes preferencias y necesidades.

Loading Comments...