Pular para o conteúdo principal

Primeiros passos com XIAO ePaper Display EN04

Placa XIAO ePaper Display EN04

Introdução

Alimentada pelo XIAO nRF52840 Plus, a placa de exibição EN04 suporta displays ePaper de 24 pinos e 50 pinos. Ela possui um conector de bateria JST 2,0 mm com chave liga/desliga, CI de carregamento integrado, função NFC e vem com um botão de reset e três botões de usuário. É bem adequada para projetos de ePaper de baixo consumo, como sinalização digital, etiquetas eletrônicas e painéis de informação portáteis.

Características

  • Alimentada pelo XIAO nRF52840 Plus: Funciona imediatamente quando conectada a um display ePaper compatível.
  • Suporte versátil a displays: Compatível com uma ampla gama de telas ePaper, suportando interfaces de 24 pinos e 50 pinos com comutação fácil por meio de jumpers.
  • Conector BAT com chave: Fornece conexão simples de bateria e integra uma chave, permitindo gerenciamento de energia eficiente e economia de energia.
  • Botões fáceis de usar: Inclui 1 botão de reset e 3 botões programáveis pelo usuário, oferecendo flexibilidade para acelerar projetos e funções personalizáveis.

Especificações

ParâmetroDescrição
ProcessadorXIAO nRF52840 Plus
Conector ePaperFPC 24 Pin 0.5mm
FPC 50 Pin 0.5mm
Conector de bateriaJST 2.0mm
ChaveAlimentação da bateria ON/OFF
Fonte de alimentação- Bateria Li 3,7 V
- USB Tipo-C
Botão- 1x botão de reset
- 3x botão de usuário

Guia de seleção de placa ePaper

ProdutoPlaca ePaper Display EN04ePaper BreakoutPlaca controladora ePaper
ProcessadorXIAO nRF52840 PlusSérie XIAOSérie XIAO
Displays ePaper compatíveisePaper de 24 pinos
ePaper de 50 pinos
ePaper de 24 pinosePaper de 24 pinos
Conector ePaperFPC 24 Pin, 0.5mm
FPC 50 Pin, 0.5mm
FPC 24 Pin 0.5mmFPC 24 Pin 0.5mm
Conector de bateriaJST 2.0mm/JST 2.0mm
ChaveAlimentação da bateria ON/OFF/Alimentação da bateria ON/OFF
Porta de extensão de IO/conexão de outros controladoresconexão de sensores adicionais
Porta de extensão de IO/connection of others controllerconnection of additional sensors

Aplicações

  • Dashboard de casa inteligente: Exibir informações em tempo real, como atualizações de clima, eventos de calendário e notificações de vários dispositivos de casa inteligente.
  • Monitoramento de energia: Mostrar dados de consumo de energia de medidores inteligentes, ajudando os moradores a acompanhar e gerenciar o uso de energia de forma mais eficiente.
  • Alertas de segurança: Exibir alertas e notificações sobre eventos de segurança, como detecção de movimento ou ativação de sensores de porta/janela.
  • Display de termostato inteligente: Mostrar níveis de temperatura e umidade, bem como configurações de controle do seu termostato inteligente.
  • Porta-retratos digital: Criar um porta-retratos digital com Wi-Fi que possa exibir imagens da sua rede de casa inteligente.

Visão geral do hardware

ePaper suportado

Conector de 24 pinos

dica

Ao usar a XIAO ePaper Display Board, certifique-se de ajustar o jumper de acordo com o tipo de display ePaper:

  • Para displays ePaper de 24 pinos → ajuste o jumper para 24 pinos

⚠️ Usar a configuração de jumper incorreta pode fazer com que o ePaper não exiba nada ou mostre conteúdo anormal. Sempre verifique a posição do jumper antes de ligar.

Conector de 50 pinos

dica

Ao usar a XIAO ePaper Display Board, certifique-se de ajustar o jumper de acordo com o tipo de display ePaper:

  • Para displays ePaper de 50 pinos → ajuste o jumper para 50 pinos

⚠️ Usar a configuração de jumper incorreta pode fazer com que o ePaper não exiba nada ou mostre conteúdo anormal. Sempre verifique a posição do jumper antes de ligar.

Visão geral do software

Instalar a biblioteca Seeed GFX

dica

Esta biblioteca tem a mesma função que a biblioteca TFT e não é compatível com ela. Se você tiver instalado a biblioteca TFT ou outras bibliotecas de display semelhantes, desinstale-as primeiro.

Baixe e instale a biblioteca Seeed GFX a partir do GitHub.

Role para baixo e abra este link.

Selecione o tipo do seu dispositivo e algum código será gerado. Copie esse código e o usaremos mais tarde.

dica

Se você fizer a escolha errada, a tela não exibirá nada.

Portanto, certifique-se do tipo de seus dispositivos ou componentes.

Depois de baixar a biblioteca, vá em Sketch -> Include Library -> Add .ZIP Library e selecione a biblioteca baixada.

Existem 4 exemplos básicos; abra um exemplo básico de que você goste:

  1. Bitmap: exibir uma imagem bitmap.
  2. Clock: exibir um relógio.
  3. Clock_digital: exibir um relógio digital.
  4. Shape: exibir palavras e formas de tamanhos diferentes.

Início rápido

Aqui, usamos um display de 7,5" como exemplo. As etapas são as mesmas para todas as telas de 24 pinos; a única diferença é selecionar o tamanho de tela adequado no driver.

Crie um novo arquivo "driver.h" e cole esse código nele. O código deve ser algo como:

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

Depois disso, vá para Tools -> Board -> XIAO ESP32S3 e Tools -> Port -> Select the port your board is connected to. Em seguida, clique em Upload para enviar o código.

Agora você verá o feedback na sua tela de epaper! A seguir estão os resultados dos exemplos Helloworld. (Se nada aparecer, clique no botão de reset)

dica

⚠️ Nota: Orientação do Cabo do ePaper Ao conectar o display ePaper à XIAO ePaper Display Board, certifique-se de que o cabo FPC seja inserido na direção correta.

⚠️ Não inverta o conector! Inserir o cabo de cabeça para baixo pode fazer com que o ePaper não exiba nada ou até danificar a tela/placa. A imagem abaixo mostra a conexão correta:

Botões de Usuário na XIAO ePaper Display Board(nRF52840) - EN04

A EN04 possui três botões programáveis pelo usuário que podem ser usados para vários propósitos de controle. Esta seção demonstra como ler os estados dos botões e responder aos pressionamentos usando Arduino.

Na EN04, os três botões estão conectados ao XIAO nRF52840 Plus:

KEY1KEY2KEY3
GPIO2_D1/A1GPIO3_D2/A2GPIO5_D4/A4

Todos os botões são ativos em nível baixo, o que significa que eles leem LOW quando pressionados e HIGH quando soltos.

Exemplo Básico de Leitura de Botão

Este exemplo demonstra como detectar pressionamentos de botões e imprimir mensagens no monitor serial.


// 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);
}

Bateria do Usuário na XIAO ePaper Display Board(nRF52840) - EN04

Ao operar com alimentação por bateria:

  • O dispositivo entrará automaticamente em modo de baixo consumo entre as atualizações

  • A vida útil da bateria depende da frequência de atualização (normalmente 3 meses com carga completa nas configurações padrão)

  • O dispositivo exibirá um ícone de bateria fraca no canto superior direito quando o nível da bateria estiver abaixo de 20%

dica

Se você quiser escrever algum código por conta própria para ler a tensão da bateria, será mais preciso adicionar um atraso de 10 ms antes da função 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

Suporte Técnico & Discussão sobre o Produto

Obrigado por escolher nossos produtos! Estamos aqui para oferecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...