Módulo EPD Pico e-Paper 2.9 B para Raspberry Pi Pico

Informações do produto

Especificações

  • Nome do produto: Pico e-Paper 2.9 (B)
  • Ambiente de uso: Interno recomendado
  • Ambiente de uso da tela E-Ink:
    • Umidade relativa recomendada: 35% ~ 65% UR
    • Tempo máximo de armazenamento: 6 meses abaixo de 55% UR
    • Tempo de transporte: 10 dias
  • Especificação de interface de cabo de tela: passo de 0.5 mm, 24 pinos

Instruções de uso do produto

Carregar demonstração pela primeira vez

  1. Pressione e segure o botão BOOTSET na placa Pico.
  2. Conecte o Pico à porta USB do computador através do Micro
    Cabo USB.
  3. Solte o botão quando o computador reconhecer um removível
    disco rígido (RPI-RP2).
  4. Baixe a demonstração e abra o caminho arduinoPWMD1-LED no
    D1LED.ino.
  5. Clique em Ferramentas -> Porta e lembre-se do COM existente (diferente
    computadores mostram COM diferente, lembre-se do COM existente em seu
    computador).
  6. Conecte a placa do driver ao computador com um cabo USB.
  7. Clique em Ferramentas -> Portas e selecione Placa uf2 para o primeiro
    conexão.
  8. Após a conclusão do upload, conectar-se novamente resultará em
    uma porta COM adicional.
  9. Clique em Ferramenta -> Placa de Desenvolvimento -> Raspberry Pi Pico/RP2040 ->
    Raspberry Pi Pico.
  10. Após a configuração, clique na seta para a direita para fazer o upload.
  11. Se você encontrar problemas, reinstale ou substitua o Arduino IDE
    versão.
  12. Para desinstalar o Arduino IDE, desinstale-o de forma limpa.
  13. Exclua manualmente todo o conteúdo da pasta
    C:Users[nome]AppDataLocalArduino15 (você precisa mostrar oculto
    fileé ver).
  14. Reinstale o IDE do Arduino.

Demonstração de código aberto

  • Demonstração do MicroPython (GitHub)
  • Firmware MicroPython/Demonstração Blink (C)
  • Demonstração oficial do Raspberry Pi C/C++
  • Demonstração oficial do Raspberry Pi MicroPython
  • Demonstração oficial C/C++ do Arduino

Perguntas frequentes

Pergunta: Qual é o ambiente de uso do e-ink
tela?

Answer: A umidade relativa recomendada para a tela e-ink
é 35% ~ 65% UR. Para armazenamento, deve estar abaixo de 55% UR, e o
o tempo máximo de armazenamento é de 6 meses. Durante o transporte, deve
não exceda 10 dias.

Pergunta: Quais são as precauções para a tela e-ink
atualizar?

Answer: A tela e-ink é recomendada para uso interno. Se usado
ao ar livre, deve ser protegido da luz solar direta e dos raios UV.
Ao projetar produtos com telas e-ink, certifique-se de que o
os requisitos de temperatura e umidade da tela são atendidos.

Pergunta: Por que os caracteres chineses não podem ser exibidos no
tela de tinta eletrônica?

Resposta: A biblioteca de caracteres chineses em nossa rotina utiliza o
Método de codificação GB2312. Para exibir caracteres chineses, por favor
mude seu xxx_test.c file para o formato de codificação GB2312, compile
e faça o download.

Pergunta: Depois de usar por um período de tempo, a tela é atualizada
(atualização completa) tem um sério problema de imagem residual que não pode ser
reparado?

Resposta: Após cada operação de atualização, é recomendado definir
a tela para o modo de suspensão ou desligue diretamente o dispositivo para
evitar que a tela fique em um volume altotage estado por um longo
tempo, o que pode causar desgaste.

Pergunta: Por que o e-Paper mostra uma borda preta?

Resposta: A cor de exibição da borda pode ser definida através do Border
Registro de controle de forma de onda ou VCOM AND DATA INTERVAL SETTING
registrar.

Question: Qual é a especificação do cabo da tela
interface?

Answer: A interface do cabo da tela tem passo de 0.5 mm e 24
alfinetes.

Pico e-Paper 2.9 (B)

Sobreview

Pico e-Paper 2.9 (B)

Módulo EPD (display de papel eletrônico) de 2.9 polegadas para Raspberry Pi Pico, 296 × 128 pixels, preto/branco/vermelho, interface SPI.
Especificação

Tamanho: 2.9 polegadas Dimensões do contorno (painel bruto): 79.0 mm × 36.7 mm × 1.05 mm Dimensão do contorno (placa do driver): 82.0 mm × 38.0 mm Tamanho da tela: 66.89 mm × 29.05 mm Vol operacionaltage: 3.3 V / 5 V Interface: SPI Distância de pontos: 0.138 × 0.138 Resolução: 296 × 128 Cor da tela: preto, branco, vermelho Escala de cinza: 2 Tempo de atualização completo: 15s Potência de atualização: 26.4 mW (tip.) Corrente de espera: <0.01 uA (quase nenhum) Nota:

Módulo EPD de 2.9 polegadas para Raspberry Pi Pico,
296 × 128, Preto/Branco/Vermelho, SPI

1. Tempo de atualização: O tempo de atualização são os resultados experimentais, o tempo de atualização real terá erros e o efeito real prevalecerá. Haverá um efeito de oscilação durante o processo de atualização global, este é um fenômeno normal.
2. Consumo de energia: Os dados de consumo de energia são os resultados experimentais. O consumo real de energia terá um certo erro devido à existência da placa de driver e à situação real de uso. O efeito real prevalecerá.

Tempo de comunicação SPI

Como a tela de tinta só precisa ser exibida, o cabo de dados (MISO) enviado da máquina e recebido pelo host fica oculto aqui.
CS: Seleção de chip escravo, quando CS está baixo, o chip é habilitado. DC: pino de controle de dados/comando, comando de gravação quando DC = 0; gravar dados quando DC = 1. SCLK: Relógio de comunicação SPI. SDIN: O mestre de comunicação SPI envia, o escravo recebe. Tempo: CPHL=0, CPOL=0 (SPI0)
Comentários Para obter informações específicas sobre o SPI, você pode pesquisar informações on-line. Protocolo de Trabalho
Este produto é um dispositivo de papel eletrônico que adota a tecnologia de exibição de imagem do Display Eletroforético Microencapsulado, MED. A abordagem inicial é criar pequenas esferas, nas quais os pigmentos coloridos carregados ficam suspensos no óleo transparente e se movem dependendo da carga eletrônica. A tela do papel eletrônico exibe padrões refletindo a luz ambiente, portanto, não há necessidade de luz de fundo. (Observe que o e-Paper não suporta atualização diretamente sob a luz solar). Como definir pixels Numa imagem monocromática definimos os pixels, 0 é preto e 1 é branco.
Branco: Bit 1
Preto Bit 0
O ponto na figura é chamado de pixel. Como sabemos, 1 e 0 são usados ​​para definir a cor, portanto podemos usar um bit para definir a cor de um pixel, e 1 byte = 8 pixels Por exemploample, se definirmos os primeiros 8 pixels como preto e os últimos 8 pixels como branco, mostraremos por códigos, eles serão de 16 bits conforme abaixo:
Para o computador, os dados são salvos no formato MSB:
Portanto, podemos usar dois bytes para 16 pixels. Para e-paper B de 2.13 polegadas, as cores do display são vermelho, preto e branco. Precisamos dividir a imagem em 2 imagens, uma é uma imagem em preto e branco e a outra é uma imagem em vermelho e branco. Ao transmitir, como um registro controla um pixel preto ou branco, controla-se um display vermelho ou branco. A parte preto e branco do 2.13 usa 1 byte para controlar 8 pixels, e a parte vermelha e branca usa 1 byte para controlar 8 pixels. Para exampOu seja, suponha que haja 8 pixels, os 4 primeiros são vermelhos e os 4 posteriores são pretos: eles precisam ser desmontados em uma imagem em preto e branco e em uma imagem em vermelho e branco. Ambas as imagens têm 8 pixels, mas os primeiros quatro pixels da imagem em preto e branco são brancos, os últimos 4 pixels são pretos e os primeiros 4 pixels da imagem vermelha e branca Um pixel é vermelho e os últimos quatro pixels são brancos .
Se você definir que os dados do pixel branco são 1 e o preto é 0, então podemos obter:
Para que possamos usar 1 byte para controlar cada oito pixels.

Precauções
1. Para a tela que suporta atualização parcial, observe que você não pode atualizar a tela com o modo parcial o tempo todo. Após várias atualizações parciais, você precisa atualizar totalmente a tela uma vez. Caso contrário, o efeito de exibição da tela será anormal e não poderá ser reparado!
2. Devido aos diferentes lotes, alguns deles apresentam aberrações. Armazenar o e-Paper com o lado direito voltado para cima irá reduzi-lo. E se o e-Paper não for atualizado por muito tempo, ele ficará cada vez mais avermelhado/amarelado. Use o código de demonstração para atualizar o e-paper várias vezes neste caso.
3. Observe que a tela não pode ficar ligada por muito tempo. Quando a tela não for atualizada, coloque-a no modo de suspensão ou desligue o e-Paper. Caso contrário, a tela permanecerá com volume altotagE estado por muito tempo, o que danificará o e-Paper e não poderá ser reparado!
4. Ao usar o e-Paper, recomenda-se que o intervalo de atualização seja de pelo menos 180s e atualize pelo menos uma vez a cada 24 horas. Se o e-Paper não for usado por muito tempo, a tela de tinta deve ser escovada e armazenada. (Consulte a folha de dados para requisitos específicos do ambiente de armazenamento)
5. Depois que a tela entrar no modo de suspensão, os dados da imagem enviada serão ignorados e poderão ser atualizados normalmente somente após inicializar novamente.
6. Controle o registro 0x3C ou 0x50 (consulte a folha de dados para obter detalhes) para ajustar a cor da borda. Na rotina, você pode ajustar o registro Border Waveform Control ou VCOM AND DATA INTERVAL SETTING para definir a borda.
7. Se você achar que os dados da imagem criada são exibidos incorretamente na tela, é recomendável verificar se a configuração do tamanho da imagem está correta, alterar as configurações de largura e altura da imagem e tentar novamente.
8. O volume de trabalhotage do e-Paper é 3.3V. Se você comprar o painel bruto e precisar adicionar um circuito de conversão de nível para compatibilidade com 5V voltage. A nova versão da placa de driver (V2.1 e versões subsequentes) adicionou um circuito de processamento de nível, que pode suportar ambientes de trabalho de 3.3V e 5V. A versão antiga só suporta um ambiente de trabalho de 3.3V. Você pode confirmar a versão antes de usá-la. (Aquele com chip de 20 pinos no PCB geralmente é a nova versão)
9. O cabo FPC da tela é relativamente frágil, preste atenção ao dobrar o cabo ao longo da direção horizontal da tela ao usá-lo e não dobre o cabo ao longo da direção vertical da tela
10. A tela do e-Paper é relativamente frágil, tente evitar cair, bater e pressionar com força.
11. Recomendamos que os clientes usem o sample programa fornecido por nós para testar com a placa de desenvolvimento correspondente depois de obter a tela.
RPi Pico

Conexão de Hardware

Por favor, tome cuidado com a direção ao conectar o Pico. Um logotipo da porta USB é impresso para indicar o diretório, você também pode verificar os pinos. Se quiser conectar a placa por um cabo de 8 pinos, você pode consultar a tabela abaixo:

e-Paper Pico

Descrição

VCC VSYS

Entrada de energia

GND GND

Chão

Pino DIN GP11 MOSI da interface SPI, dados transmitidos de Mestre para Escravo.

CLK GP10

Pino SCK da interface SPI, entrada de clock

CSGP9

Pino de seleção de chip da interface SPI, baixo ativo

CC GP8

Pino de controle de dados/comando (alto: dados; baixo: comando)

RST GP12

Pino de reset, ativo baixo

OCUPADO GP13

Pino de saída ocupado

CHAVE0 GP2

Chave do usuário 0

CHAVE1 GP3

Chave do usuário 1

CORRA CORRA

Reiniciar

Você pode simplesmente anexar a placa ao Pico como o Pico-ePaper-7.5.

Ambiente de Configuração
Você pode consultar os guias do Raspberry Pi: https://www.raspberrypi.org/documentation/pico/getting-started/ Baixar códigos de demonstração
Abra um terminal do Pi e execute o seguinte comando:
cd ~ sudo wget https://files.waveshare.com/upload/2/27/Pico_ePaper_Code.zip descompacte Pico_ePaper_Code.zip -d Pico_ePaper_Code cd ~/Pico_ePaper_Code
Você também pode clonar os códigos do Github.
cd ~ git clone https://github.com/waveshare/Pico_ePaper_Code.git cd ~/Pico_ePaper_Code
Sobre o exampos
Os guias são baseados no Raspberry Pi. Códigos C
O examparquivo fornecido é compatível com vários tipos, você precisa modificar o main.c file, remova o comentário da definição de acordo com o tipo real de exibição obtido. Para examparquivo, se você tiver o Pico-ePaper-2.13, modifique o main.c file, remova o comentário da linha 18 (ou talvez seja a linha 19).
Defina o projeto:
cd ~/Pico_ePaper_Code/c
Crie a pasta de construção e adicione o SDK. ../../pico-sdk é o caminho padrão do SDK. Se você salvar o SDK em outros diretórios, altere-o para o caminho real.
mkdir construir cd construir exportar PICO_SDK_PATH=../../pico-sdk
Execute o comando cmake para gerar Makefile file.
fazer ..
Execute o comando make para compilar os códigos.
faça -j9
Após a compilação, o epd.uf2 file é gerado. Em seguida, pressione e segure o botão BOOTSEL na placa Pico, conecte o Pico ao Raspberry Pi usando o cabo Micro USB e solte o botão. Neste ponto, o dispositivo reconhecerá um disco removível (RPI-RP2). Copie o epd.uf2 file recém-gerado para o disco removível recém-reconhecido (RPI-RP2), o Pico reiniciará automaticamente o programa em execução. Python Primeiro pressione e segure o botão BOOTSEL na placa Pico, use o cabo Micro USB para conectar o Pico ao Raspberry Pi e solte o botão. Neste ponto, o dispositivo reconhecerá um disco removível (RPI-RP2). Copie o rp2-pico-20210418-v1.15.uf2 file no diretório python para o disco removível (RPI-RP2) recém identificado. Atualize o Thonny IDE.
sudo apt atualizar thonny
Abra o Thonny IDE (clique no logotipo do Raspberry -> Programação -> Thonny Python IDE) e selecione o interpretador:
Selecione Ferramentas -> Opções… -> Intérprete. Selecione MicroPython (Raspberry Pi Pico e porta ttyACM0). Abra o Pico_ePaper-xxx.py file no Thonny IDE e execute o script atual (clique no triângulo verde).
Análise de código C
Interface de Hardware Inferior Nós empacotamos a camada de hardware para facilitar a portabilidade para diferentes plataformas de hardware. DEV_Config.c(.h) no diretório: Pico_ePaper_CodeclibConfig.
Tipo de dados:
#define UBYTE uint8_t #define UWORD uint16_t #define UDOUBLE uint32_t
Inicialização e saída do módulo:
vazio DEV_Module_Init(void); vazio DEV_Module_Exit(void); Nota 1. As funções acima são usadas para inicializar o display ou sair do identificador.
Gravação/leitura GPIO:
void DEV_Digital_Write (Pino UWORD, valor UBYTE); UBYTE DEV_Digital_Read (Pino UWORD);
SPI transmite dados:
void DEV_SPI_WriteByte (Valor UBYTE);
Driver EPD Os códigos do driver EPD são salvos no diretório: Pico_ePaper_CodeclibePaper Abra o cabeçalho .h file, você pode verificar todas as funções definidas.
Inicialize o e-Paper, esta função é sempre utilizada no início e após ativar o display.
//Papel eletrônico de 2.13 polegadas, Papel eletrônico V2.13 de 2 polegadas, Papel eletrônico de 2.13 polegadas (D), Papel eletrônico de 2.9 polegadas, Papel eletrônico de 2.9 polegadas (D) void EPD_xxx_Init (Modo UBYTE); // Modo = 0 atualização completa, Modo = 1 atualização parcial e //Outros tipos void EPD_xxx_Init(void);
xxx deve ser alterado pelo tipo de e-Paper, por ex.ampOu seja, se você usar e-Paper (D) de 2.13 polegadas, para atualizar completamente, deve ser EPD_2IN13D_Init(0) e EPD_2IN13D_Init(1) para a atualização parcial;
Limpar: esta função é usada para limpar o display para branco.
vazio EPD_xxx_Clear(void);
xxx deve ser alterado pelo tipo de e-Paper, por ex.ampOu seja, se você usar ePaper (D) de 2.9 polegadas, deverá ser EPD_2IN9D_Clear();
Envie os dados da imagem (um quadro) para o EPD e exiba
//Versão bicolor void EPD_xxx_Display(UBYTE *Image); //Versão tricolor void EPD_xxx_Display(const UBYTE *blackimage, const UBYTE *ryimage);
Existem vários tipos que são diferentes dos outros
//Atualização parcial para papel eletrônico de 2.13 polegadas (D), papel eletrônico de 2.9 polegadas (D) void EPD_2IN13D_DisplayPart(UBYTE *Image); void EPD_2IN9D_DisplayPart(UBYTE *Imagem);
//Para e-paper V2.13 de 2 polegadas, você precisa primeiro usarEPD_xxx_DisplayPartBaseImage para exibir um fundo estático e depois atualizar parcialmente pela função EPD_xxx_Dis playPart() void EPD_2IN13_V2_DisplayPart(UBYTE *Image); void EPD_2IN13_V2_DisplayPartBaseImage(UBYTE *Imagem);
Entrar no modo de espera
vazio EPD_xxx_Sleep(void);
Observação: você só deve redefinir o hardware ou usar a função de inicialização para ativar o ePaper do modo de suspensão. xxx é o tipo de e-Paper, por exemploampOu seja, se você usar e-Paper D de 2.13 polegadas, deverá ser EPD_2IN13D_Sleep(). Interface de programação de aplicativos Fornecemos funções GUI básicas para testes, como ponto de desenho, linha, string e assim por diante. A função GUI pode ser encontrada no diretório: RaspberryPi_JetsonNanoclibGUIGUI_Paint.c(.h).
As fontes utilizadas podem ser encontradas no diretório: RaspberryPi_JetsonNanoclibFonts.
Crie uma nova imagem, você pode definir o nome, largura, altura, ângulo de rotação e cor da imagem.
void Paint_NewImage (UBYTE *imagem, largura UWORD, altura UWORD, rotação UWORD, cor UWOR D) Parâmetros:
imagem: Nome do buffer de imagem, este é um ponteiro; Largura: Largura da imagem; Altura: Altura da imagem; Girar: Gira o ângulo da Imagem; Cor: A cor inicial da imagem;
Selecionar buffer de imagem: Você pode criar vários buffers de imagem ao mesmo tempo e selecionar aquele e desenhar por esta função.
Parâmetros void Paint_SelectImage(UBYTE *image):
imagem: O nome do buffer de imagem, este é um ponteiro;
Girar imagem: Você precisa definir o ângulo de rotação da imagem, esta função deve ser usada após Paint_SelectImage(). O ângulo pode ser 0, 90, 180 ou 270.
Parâmetros void Paint_SetRotate (UWORD Rotate):
Girar: Gira o ângulo da imagem, o parâmetro pode ser ROTATE_0, R OTATE_90, ROTATE_180, ROTATE_270.
Nota Depois de girar, o local do primeiro pixel é diferente, pegamos um tamanho de 1.54 polegadas
e-paper como exampeu.

Espelho de imagem: Esta função é usada para definir o espelho de imagem.
Parâmetros void Paint_SetMirroring (espelho UBYTE):
espelho: Tipo de espelho se for imagem, o parâmetro pode ser MIRROR_NONE, MIR ROR_HORIZONTAL, MIRROR_VERTICAL, MIRROR_ORIGIN.

Definir a posição e a cor dos pixels: Esta é a função básica da GUI, é usada para definir a posição e a cor de um pixel no buffer.
Parâmetros void Paint_SetPixel (UWORD Xpoint, UWORD Ypoint, UWORD Color):
Xpoint: O valor do eixo X do ponto no buffer de imagem Ypoint: O valor do eixo Y do ponto no buffer de imagem Color: A cor do ponto

Limpar display: Para definir a cor da imagem, esta função sempre será usada para limpar o display.
Parâmetros void Paint_Clear (cor UWORD):
Cor: A cor da imagem

Cor das janelas: Esta função serve para definir a cor das janelas, é sempre utilizada para atualizar áreas parciais como exibir um relógio.

void Paint_ClearWindows (UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, UWO RD Color) Parâmetros:
Xpoint: O valor do eixo X do ponto inicial no buffer de imagem Ypoint: O valor do eixo Y do ponto inicial no buffer de imagem Xend: O valor do eixo X do ponto final no buffer de imagem Yend: O valor Y- valor do eixo do ponto final no buffer de imagem Cor: A cor das janelas

Desenhar ponto: desenhe um ponto na posição ponto X, ponto Y da imagem
buffer, você pode configurar a cor, o tamanho e o estilo.

void Paint_DrawPoint(UWORD Xpoint, UWORD Ypoint, UWORD Cor, DOT_PIXEL Dot_Pix

el, DOT_STYLE Ponto_Style)

Parâmetros:

Xpoint: valor do eixo X do ponto.

Ypoint: valor do eixo Y do ponto.

Cor: Cor do ponto

Dot_Pixel: Tamanho do ponto, 8 tamanhos estão disponíveis.

enumeração typedef {

DOT_PIXEL_1X1 = 1, // 1 x 1

DOT_PIXEL_2X2,

//2 X 2

DOT_PIXEL_3X3,

//3 X 3

DOT_PIXEL_4X4,

//4 X 4

DOT_PIXEL_5X5,

//5 X 5

DOT_PIXEL_6X6,

//6 X 6

DOT_PIXEL_7X7,

//7 X 7

DOT_PIXEL_8X8,

//8 X 8

} DOT_PIXEL;

Dot_Style: Estilo do ponto, define o modo estendido do ponto.

enumeração typedef {

DOT_FILL_AROUND = 1,

DOT_FILL_RIGHTUP,

} DOT_STYLE;

Desenhe a linha: Desenhe uma linha de (Xstart, Ystart) a (Xend, Yend) no buffer de imagem, você pode configurar a cor, largura e estilo.

void Paint_DrawLine(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, UWORD C

cor, LINE_STYLE Estilo_Linha, LINE_STYLE Estilo_Linha)

Parâmetros:

Xstart: Xstart da linha

Ystart: Ystart da linha

Xend: Xend da linha

Yend: Yend da linha

Cor: Cor da linha

Line_width: Largura da linha, 8 tamanhos estão disponíveis.

enumeração typedef {

DOT_PIXEL_1X1 = 1, // 1 x 1

DOT_PIXEL_2X2,

//2 X 2

DOT_PIXEL_3X3,

//3 X 3

DOT_PIXEL_4X4,

//4 X 4

DOT_PIXEL_5X5,

//5 X 5

DOT_PIXEL_6X6,

//6 X 6

DOT_PIXEL_7X7,

//7 X 7

DOT_PIXEL_8X8,

//8 X 8

} DOT_PIXEL;

Line_Style: Estilo da linha, Sólida ou Pontilhada.

enumeração typedef {

LINE_STYLE_SOLID = 0,

LINE_STYLE_DOTTED,

} ESTILO_LINHA;

Desenhe um retângulo: Desenhe um retângulo de (Xstart, Ystart) a (Xend, Yend), você pode configurar a cor, largura e estilo.

void Paint_DrawRectangle(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, UW

Cor ORD, DOT_PIXEL Line_width, DRAW_FILL Draw_Fill)

Parâmetros:

Xstart: Xstart do retângulo.

Ystart: Ystart do retângulo.

Xend: Xend do retângulo.

Yend: Yend do retângulo.

Cor: Cor do retângulo

Line_width: A largura das bordas. 8 tamanhos estão disponíveis.

enumeração typedef {

DOT_PIXEL_1X1 = 1, // 1 x 1

DOT_PIXEL_2X2,

//2 X 2

DOT_PIXEL_3X3,

//3 X 3

DOT_PIXEL_4X4,

//4 X 4

DOT_PIXEL_5X5,

//5 X 5

DOT_PIXEL_6X6,

//6 X 6

DOT_PIXEL_7X7,

//7 X 7

DOT_PIXEL_8X8,

//8 X 8

} DOT_PIXEL;

Draw_Fill: Estilo do retângulo, vazio ou preenchido.

enumeração typedef {

DRAW_FILL_EMPTY = 0,

DRAW_FILL_FULL,

} DRAW_FILL;

Desenhar círculo: Desenhe um círculo no buffer de imagem, use (X_Center Y_Center) como centro e Radius como raio. Você pode configurar a cor, a largura da linha e o estilo do círculo.

void Paint_DrawCircle(UWORD X_Center, UWORD Y_Center, UWORD Radius, UWORD Colo

r, DOT_PIXEL Largura_linha, DRAW_FILL Draw_Fill)

Parâmetros:

X_Center: Eixo X do centro

Y_Center: Eixo Y do centro

Raio: Raio do círculo

Cor: Cor do círculo

Line_width: A largura do arco, 8 tamanhos estão disponíveis.

enumeração typedef {

DOT_PIXEL_1X1 = 1, // 1 x 1

DOT_PIXEL_2X2,

//2 X 2

DOT_PIXEL_3X3,

//3 X 3

DOT_PIXEL_4X4,

//4 X 4

DOT_PIXEL_5X5,

//5 X 5

DOT_PIXEL_6X6,

//6 X 6

DOT_PIXEL_7X7,

//7 X 7

DOT_PIXEL_8X8,

//8 X 8

} DOT_PIXEL;

Draw_Fill: Estilo do círculo: vazio ou preenchido.

enumeração typedef {

DRAW_FILL_EMPTY = 0,

DRAW_FILL_FULL,

} DRAW_FILL;

Mostrar caractere Ascii: mostra um caractere na posição (Xstart, Ystart), você pode
configure a fonte, o primeiro plano e o plano de fundo.
void Paint_DrawChar (UWORD Xstart, UWORD Ystart, const char Ascii_Char, sFONT* F ont, UWORD Color_Foreground, UWORD Color_Background) Parâmetros:
Xstart: Xstart do caractere Ystart: Ystart do caractere Ascii_Char: Ascii char Fonte: cinco fontes estão disponíveis
font8: 5*8 font12: 7*12 font16: 11*16 font20: 14*20 font24: 17*24 Color_Foreground: cor de primeiro plano Color_Background: cor de fundo

Desenhe a string: Desenhe a string em (Xstart Ystart), você pode configurar o
fontes, primeiro plano e plano de fundo
void Paint_DrawString_EN(UWORD Xstart, UWORD Ystart, const char * pString, sFON T* Font, UWORD Color_Foreground, UWORD Color_Background) Parâmetros:
Xstart: Xstart da string Ystart: Ystart da string pString: String Font: cinco fontes estão disponíveis:
font8: 5*8 font12: 7*12 font16: 11*16 font20: 14*20 font24: 17*24 Color_Foreground: cor de primeiro plano Color_Background: cor de fundo

Desenhe uma string chinesa: desenhe a string chinesa em (Xstart Ystart) da imagem
amortecedor. Você pode configurar fontes (GB2312), primeiro plano e plano de fundo.
void Paint_DrawString_CN(UWORD Xstart, UWORD Ystart, const char * pString, fonte cFON T*, UWORD Color_Foreground, UWORD Color_Background) Parâmetros:
Xstart: Xstart da string Ystart: Ystart da string pString: string Fonte: fontes GB2312, duas fontes estão disponíveis
font12CN: ascii 11*21Chinês 16*21 font24CN: ascii 24*41Chinês 32*41 Color_Foreground: cor de primeiro plano Color_Background: cor de fundo

Desenhar número: Desenhe números em (Xstart Ystart) do buffer de imagem. Você pode
selecione fonte, primeiro plano e plano de fundo.
void Paint_DrawNum (UWORD Xpoint, UWORD Ypoint, int32_t Nummber, sFONT* Font, UW ORD Color_Foreground, UWORD Color_Background) Parâmetros:
Xstart: Xstart dos números Ystart: Ystart dos números Nummber: números exibidos. Ele suporta o tipo int e 2147483647 é a fonte máxima suportada. Fonte: fontes Ascii, cinco fontes estão disponíveis:
font8: 5*8 font12: 7*12 font16: 11*16 font20: 14*20 font24: 17*24 Color_Foreground: primeiro plano Color_Background: plano de fundo

Tempo de exibição: Tempo de exibição em (Xstart Ystart) do buffer de imagem, você pode
configurar fontes, primeiro plano e plano de fundo.
Esta função é usada para atualização parcial. Observe que alguns dos e-Papers não
suporta atualizações parciais e você não pode usar atualizações parciais o tempo todo, o que
terá problemas com fantasmas e destruirá a tela.
void Paint_DrawTime (UWORD Xstart, UWORD Ystart, PAINT_TIME *pTime, sFONT* Font, UWORD Color_Background, UWORD Color_Foreground) Parâmetros:
Xstart: Xstart do tempo Ystart: Ystart do tempo pTime: Estrutura do tempo Fonte: Fonte Ascii, cinco fontes estão disponíveis
font8: 5*8 font12: 7*12 font16: 11*16 font20: 14*20 font24: 17*24 Color_Foreground: primeiro plano Color_Background: plano de fundo

Recurso

Especificação esquemática do documento eletrônico de 2.9 polegadas (B)

Códigos de demonstração

Códigos de demonstração link do Github

Software de Desenvolvimento

IDE Thonny Python (Windows V3.3.3) Zimo221.7z Image2Lcd.7z

Pico Início Rápido Baixar Firmware

Download de firmware MicroPython Tutorial em vídeo de download de firmware C_Blink

[Expandir] [Expandir]

Tutorial Pico I – Introdução Básica
Tutorial Pico II – GPIO
Tutorial Pico III – PWM
Tutorial do Pico IV – ADC
Tutorial do Pico V – UART
Tutorial Pico VI – Continua…
Série MicroPython
Máquina MicroPython. Função Pin Máquina MicroPython. Função PWM Máquina MicroPython. Função ADC Máquina MicroPython. Função UART Máquina MicroPython. Função I2C Máquina MicroPython. Função SPI MicroPython rp2.StateMachine

[Expandir] [Expandir] [Expandir] [Expandir] [Expandir]

Série C/C++
Tutorial 1 do Windows C/C++ – Configuração do ambiente Tutorial 1 do Windows C/C++ – Criar novo projeto

Série Arduino IDE Instale o Arduino IDE 1. Baixe o pacote de instalação do Arduino IDE em Arduino weblocal .

2. Basta clicar em “SÓ BAIXAR”.

3. Clique para instalar após o download.
4. Nota: Você será solicitado a instalar o driver durante o processo de instalação, podemos clicar em Instalar.
Instale o Arduino-Pico Core no Arduino IDE 1. Abra o Arduino IDE, clique no botão File no canto esquerdo e escolha “Preferências”.
2. Adicione o seguinte link no gerenciador de placa de desenvolvimento adicional URLe clique em OK. https://github.com/earlephilhower/arduino-pico/releases/download/globa l/package_rp2040_index.json
Nota: Se você já possui a placa ESP8266 URL, você pode separar o URLs com vírgulas assim:
https://dl.espressif.com/dl/package_esp32_index.json,https://github.co m/earlephilhower/arduino-pico/releases/download/global/package_rp2040_ index.json 3. Click on Tools -> Dev Board -> Dev Board Manager -> Procurar pico, ele aparece instalado pois meu computador já o instalou.

Carregar demonstração pela primeira vez
1. Pressione e segure o botão BOOTSET na placa Pico, conecte o Pico à porta USB do computador através do cabo Micro USB e solte o botão quando o computador reconhecer um disco rígido removível (RPI-RP2).

2. Baixe a demonstração, abra o caminho arduinoPWMD1-LED em D1LED.ino.
3. Clique em Ferramentas -> Porta, lembre-se do COM existente, não precisa clicar neste COM (computadores diferentes mostram COM diferentes, lembre-se do COM existente no seu computador).

4. Conecte a placa do driver ao computador com um cabo USB e clique em Ferramentas -> Portas, selecione Placa uf2 para a primeira conexão e, após a conclusão do upload, conectar novamente resultará em uma porta COM adicional.

5. Clique em Ferramenta -> Placa de Desenvolvimento -> Raspberry Pi Pico/RP2040 -> Raspberry Pi Pico.

6. Após a configuração, clique na seta para a direita para fazer upload.
Se você encontrar problemas durante o período, será necessário reinstalar ou substituir a versão do Arduino IDE, desinstalar o Arduino IDE precisa ser desinstalado de forma limpa, após desinstalar o software é necessário excluir manualmente todo o conteúdo da pasta C: Usuários [nome] AppDataLocalArduino15 (você precisa mostrar o oculto files para vê-lo) e reinstale. Tutorial da série Pico-W (continua…)
Demonstração de código aberto
Demonstração do MicroPython (GitHub) Firmware do MicroPython/Blink Demo (C) Demonstração oficial do Raspberry Pi C/C++ Demonstração oficial do Raspberry Pi MicroPython Demonstração oficial do Arduino C/C++
Perguntas frequentes
Pergunta:Qual é o ambiente de uso da tela e-ink? Responder:
Condições operacionais Faixa de temperatura: 0~50°C; Faixa de umidade:
35% ~ 65% UR.
Condições de armazenamento Faixa de temperatura: abaixo de 30°C; Faixa de umidade:
abaixo de 55% UR; Tempo máximo de armazenamento: 6 meses.
Condições de transporte Faixa de temperatura: -25~70°C; Máximo
tempo de transporte: 10 dias.
Após desembalar Faixa de temperatura: 20°C±5°C; Faixa de umidade:
50±5% UR; Tempo máximo de armazenamento: Monte em 72 horas.
Pergunta:Precauções para atualização da tela e-ink? Responder:
Modo de atualização Atualização completa: A tela de tinta eletrônica piscará várias vezes durante o processo de atualização (o número de oscilações depende do tempo de atualização), e a cintilação serve para remover a imagem residual para obter o melhor efeito de exibição. Atualização parcial: A tela de tinta eletrônica não apresenta efeito oscilante durante o processo de atualização. Os usuários que usam a função de pincel parcial observam que após atualizar várias vezes, uma operação de pincel completa deve ser realizada para remover a imagem residual, caso contrário, o problema da imagem residual se tornará cada vez mais sério, ou até mesmo danificará a tela (atualmente apenas alguns pretos e telas e-ink brancas suportam escovação parcial, consulte a descrição da página do produto).
Taxa de atualização Durante o uso, é recomendado que os clientes definam o intervalo de atualização da tela e-ink para pelo menos 180 segundos (exceto para produtos que suportam a função de pincel local) Durante o processo de espera (ou seja, após a operação de atualização), recomenda-se que o cliente configure a tela e-ink para o modo de suspensão ou para operação desligada (a parte da fonte de alimentação da tela de tinta pode ser desconectada com um interruptor analógico) para reduzir o consumo de energia e prolongar a vida útil da e-ink tela. (Se algumas telas e-ink ficarem ligadas por um longo período, a tela será danificada sem possibilidade de reparo.) Durante o uso da tela e-ink de três cores, é recomendado que os clientes atualizem a tela pelo menos uma vez a cada 24 horas (se a tela permanecer a mesma por muito tempo, a queimadura da tela será difícil de reparar).
Cenários de uso A tela e-ink é recomendada para uso interno. Se você usá-lo ao ar livre, evite a luz solar direta na tela e-ink e tome medidas de proteção UV ao mesmo tempo. Ao projetar produtos de tela eink, os clientes devem prestar atenção para determinar se o ambiente de uso atende aos requisitos de temperatura e umidade da tela e-ink.
Pergunta:O chinês não pode ser exibido na tela e-ink? Resposta: A biblioteca de caracteres chineses de nossa rotina usa o método de codificação GB2312, altere seu xxx_test.c file para o formato de codificação GB2312, compile e baixe-o, e então ele pode ser exibido normalmente.
Pergunta:Depois de usar por um período de tempo, a atualização da tela (atualização completa) apresenta um sério problema de imagem residual que não pode ser reparado? Resposta: Ligue a placa de desenvolvimento por um longo tempo, após cada operação de atualização, é recomendável definir a tela para o modo de suspensão ou desligar diretamente o processamento, caso contrário, a tela pode queimar quando a tela estiver em alto volumetage estado por um longo tempo.
Pergunta: e-Paper mostra borda preta? Resposta: A cor de exibição da borda pode ser definida através do registro Border Waveform Control ou do registro VCOM AND DATA INTERVAL SETTING.
Pergunta: Qual é a especificação da interface do cabo da tela? Resposta: passo de 0.5 mm, 24 pinos.
Neste caso, o cliente precisa reduzir a posição da escova redonda e limpar a tela após 5 rodadas de escovação (aumentando o voltage do VCOM pode melhorar a cor, mas aumentará a pós-imagem).
Pergunta: Depois que a tela de tinta entra no modo de suspensão profunda, ela pode ser atualizada novamente? Resposta: Sim, mas é necessário reinicializar o papel eletrônico com software.
Pergunta:Quando o EPD de 2.9 polegadas está no modo de hibernação profunda, na primeira vez que ele acordar, a atualização da tela ficará suja. Como posso resolver isso? Resposta: O processo de reativar a tela e-ink é, na verdade, o processo de religar, portanto, quando o EPD for ativado, a tela deve ser limpa primeiro, para evitar ao máximo o fenômeno de pós-imagem.
Pergunta: Os produtos de tela simples são enviados com revestimento de superfície? Resposta: com filme.
Pergunta: O e-Paper possui um sensor de temperatura integrado? Resposta: Sim, você também pode usar o sensor de temperatura LM75 externo do pino IIC.
Pergunta:Ao testar o programa, o programa fica preso em um e-Paper ocupado? Resposta: Pode ser causado pelo driver spi malsucedido 1. Verifique se a fiação está correta 2. Verifique se o spi está ligado e se os parâmetros estão configurados corretamente (taxa de transmissão do spi, modo spi e outros parâmetros).
Question: Qual é a taxa de atualização/vida útil desta tela de tinta eletrônica? Resposta: Idealmente, com uso normal, pode ser atualizado 1,000,000 de vezes (1 milhão de vezes).
Apoiar

Suporte Técnico
Se você precisar de suporte técnico ou tiver algum comentário/respostaview, clique no botão Enviar agora para enviar um ticket. Nossa equipe de suporte verificará e responderá dentro de 1 a 2 dias úteis. Por favor, seja paciente enquanto fazemos todos os esforços para ajudá-lo a resolver o problema. Horário de funcionamento: 9h – 6h GMT+8 (segunda a sexta)

Enviar agora

Documentos / Recursos

Módulo WAVESHARE Pico e-Paper 2.9 B EPD para Raspberry Pi Pico [pdf] Guia do Usuário
Pico e-Paper 2.9 B Módulo EPD para Raspberry Pi Pico, Pico e-Paper 2.9 B, Módulo EPD para Raspberry Pi Pico, Módulo para Raspberry Pi Pico, para Raspberry Pi Pico, Raspberry Pi Pico, Pi Pico, Pico

Referências

Deixe um comentário

Seu endereço de e-mail não será publicado. Os campos obrigatórios estão marcados *