Pular para o conteúdo principal

Introdução ao XIAO ePaper Display EN04

XIAO ePaper Display Board EN04

Introdução

Com o XIAO nRF52840 Plus, a placa de display EN04 suporta telas 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. É ideal para projetos de ePaper de baixo consumo, como sinalização digital, etiquetas eletrônicas e quadros de informação portáteis.

Recursos

  • Alimentado por XIAO nRF52840 Plus: Funciona imediatamente quando conectado a um display ePaper compatível.
  • Suporte versátil a displays: Compatível com uma grande variedade de telas ePaper, suportando interfaces de 24 pinos e 50 pinos com comutação fácil por meio de jumpers.
  • Conector de bateria com chave: Fornece conexão simples de bateria e integra uma chave, permitindo gerenciamento eficiente de energia e economia de consumo.
  • 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ção

ParâmetroDescrição
ProcessadorXIAO nRF52840 Plus
Conector ePaperFPC 24 pinos 0,5 mm
FPC 50 pinos 0,5 mm
Conector de bateriaJST 2,0 mm
ChaveLiga/Desliga da alimentação da bateria
Fonte de alimentação- Bateria Li 3,7 V
- USB Type-C
Botão- 1x botão de reset
- 3x botões de usuário

Guia de seleção da placa ePaper

ProdutoePaper Display Board EN04ePaper BreakoutePaper Driver Board
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 pinos, 0,5 mm
FPC 50 pinos, 0,5 mm
FPC 24 pinos 0,5 mmFPC 24 pinos 0,5 mm
Conector de bateriaJST 2,0 mm/JST 2,0 mm
ChaveLiga/Desliga da alimentação da bateria/Liga/Desliga da alimentação da bateria
Botão1x botão de reset
3x botões de usuário
//
Porta de extensão de IO/conexão de outros controladoresconexão de sensores adicionais

Aplicação

  • Dashboard de casa inteligente: Exiba 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: Mostre dados de consumo de energia de medidores inteligentes, ajudando moradores a acompanhar e gerenciar o uso de energia com mais eficiência.
  • Alertas de segurança: Exiba 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: Mostre níveis de temperatura e umidade, bem como configurações de controle do seu termostato inteligente.
  • Porta-retratos digital: Crie um porta-retratos digital com WiFi que possa exibir imagens da sua rede de casa inteligente.

Visão geral do hardware

ePaper suportado

Conector de 24 pinos

dica

Ao usar o XIAO ePaper Display Board, certifique-se de configurar 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 errada 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 o XIAO ePaper Display Board, certifique-se de configurar 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 errada 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 iremos usá-lo depois.

dica

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

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

Após baixar a biblioteca, vá para Sketch -> Include Library -> Add .ZIP Library e selecione a biblioteca baixada.

Existem 4 exemplos básicos, abra um exemplo básico de que você gostar:

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

Primeiros passos

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

Crie um novo arquivo "driver.h" e cole esse código nele. O código deve ficar assim:

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

Depois disso, vá em 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 retorno na sua tela de epaper! A seguir estão os resultados dos exemplos de Helloworld. (Se nada aparecer, clique no botão de reset)

dica

⚠️ Observação: 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 deixe de exibir a imagem ou até danifique 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 de 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 usando as 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 e Discussão sobre o Produto

Obrigado por escolher nossos produtos! Estamos aqui para fornecer 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...