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

Información del producto

Presupuesto

  • Nombre del producto: Pico e-Paper 2.9 (B)
  • Entorno de uso: interior recomendado
  • Entorno de uso de la pantalla de tinta electrónica:
    • Humedad relativa recomendada: 35%~65%RH
    • Tiempo máximo de almacenamiento: 6 meses por debajo del 55% RH
    • Tiempo de transporte: 10 días
  • Especificación de la interfaz del cable de pantalla: paso de 0.5 mm, 24 pines

Instrucciones de uso del producto

Cargue la demostración por primera vez

  1. Mantenga presionado el botón BOOTSET en la placa Pico.
  2. Conecte el Pico al puerto USB de la computadora a través del Micro
    Cable USB.
  3. Suelte el botón cuando la computadora reconozca un dispositivo extraíble.
    disco duro (RPI-RP2).
  4. Descargue la demostración y abra la ruta arduinoPWMD1-LED en
    D1LED.ino.
  5. Haga clic en Herramientas -> Puerto y recuerde el COM existente (diferente
    Las computadoras muestran diferentes COM, recuerde el COM existente en su
    computadora).
  6. Conecte la placa del controlador a la computadora con un cable USB.
  7. Haga clic en Herramientas -> Puertos y seleccione Placa uf2 para la primera
    conexión.
  8. Una vez completada la carga, conectarse nuevamente resultará en
    un puerto COM adicional.
  9. Haga clic en Herramienta -> Placa de desarrollo -> Raspberry Pi Pico/RP2040 ->
    Frambuesa Pi Pico.
  10. Después de configurar, haga clic en la flecha derecha para cargar.
  11. Si tiene problemas, reinstale o reemplace el IDE de Arduino
    versión.
  12. Para desinstalar el IDE de Arduino, desinstálelo limpiamente.
  13. Eliminar manualmente todo el contenido de la carpeta.
    C: Usuarios [nombre] AppDataLocalArduino15 (debe mostrar oculto
    filees para verlo).
  14. Reinstale el IDE de Arduino.

Demostración de código abierto

  • Demostración de MicroPython (GitHub)
  • Firmware MicroPython/Demostración de parpadeo (C)
  • Demostración oficial de Raspberry Pi C/C++
  • Demostración oficial de Raspberry Pi MicroPython
  • Demostración oficial de Arduino C/C++

Preguntas frecuentes

Pregunta: ¿Cuál es el entorno de uso de la tinta electrónica?
¿pantalla?

Respuesta: La humedad relativa recomendada para la pantalla de tinta electrónica.
es 35%~65%RH. Para el almacenamiento, debe estar por debajo del 55 % de humedad relativa y la
El tiempo máximo de almacenamiento es de 6 meses. Durante el transporte, debe
no exceder los 10 días.

Pregunta: ¿Cuáles son las precauciones para la pantalla de tinta electrónica?
¿actualizar?

Respuesta: Se recomienda el uso de la pantalla de tinta electrónica en interiores. Si se usa
al aire libre, debe protegerse de la luz solar directa y de los rayos UV.
Al diseñar productos con pantallas de tinta electrónica, asegúrese de que
Se cumplen los requisitos de temperatura y humedad de la pantalla.

Pregunta: ¿Por qué no se pueden mostrar caracteres chinos en el
¿Pantalla de tinta electrónica?

Respuesta: La biblioteca de caracteres chinos en nuestra rutina utiliza el
Método de codificación GB2312. Para mostrar caracteres chinos, por favor
cambia tu xxx_test.c file al formato de codificación GB2312, compilar
y descargarlo.

Pregunta: Después de usarlo durante un período de tiempo, la pantalla se actualiza
(actualización completa) tiene un problema grave de imagen residual que no se puede solucionar.
reparado?

Respuesta: Después de cada operación de actualización, se recomienda configurar
la pantalla al modo de suspensión o apague directamente el dispositivo para
evitar que la pantalla esté en un volumen altotage estado por mucho tiempo
tiempo, lo que puede causar agotamiento.

Pregunta: ¿Por qué el papel electrónico muestra un borde negro?

Respuesta: El color de visualización del borde se puede configurar a través del Borde
Registro de control de forma de onda o VCOM Y AJUSTE DEL INTERVALO DE DATOS
registro.

Pregunta: ¿Cuál es la especificación del cable de pantalla?
¿interfaz?

Respuesta: La interfaz del cable de pantalla tiene un paso de 0.5 mm y 24
alfileres.

Papel electrónico Pico 2.9 (B)

Encimaview

Papel electrónico Pico 2.9 (B)

Módulo EPD (pantalla de papel electrónico) de 2.9 pulgadas para Raspberry Pi Pico, 296 × 128 píxeles, negro/blanco/rojo, interfaz SPI.
Especificación

Tamaño: 2.9 pulgadas Dimensiones del contorno (panel sin procesar): 79.0 mm × 36.7 mm × 1.05 mm Dimensión del contorno (placa de controlador): 82.0 mm × 38.0 mm Tamaño de la pantalla: 66.89 mm × 29.05 mm Volumen de funcionamientotage: 3.3 V/5 V Interfaz: SPI Separación de puntos: 0.138 × 0.138 Resolución: 296 × 128 Color de pantalla: Negro, Blanco, Rojo Escala de grises: 2 Tiempo de actualización completo: 15 s Potencia de actualización: 26.4 mW (típico) Corriente en espera: <0.01 uA (casi ninguno) Nota:

Módulo EPD de 2.9 pulgadas para Raspberry Pi Pico,
296 × 128, Negro / Blanco /Rojo, SPI

1. Tiempo de actualización: el tiempo de actualización son los resultados experimentales, el tiempo de actualización real tendrá errores y prevalecerá el efecto real. Habrá un efecto de parpadeo durante el proceso de actualización global; este es un fenómeno normal.
2. Consumo de energía: los datos de consumo de energía son los resultados experimentales. El consumo de energía real tendrá un cierto error debido a la existencia de la placa controladora y la situación de uso real. Prevalecerá el efecto real.

Sincronización de comunicación SPI

Dado que solo es necesario mostrar la pantalla de tinta, el cable de datos (MISO) enviado desde la máquina y recibido por el host está oculto aquí.
CS: selección de chip esclavo, cuando CS es bajo, el chip está habilitado. DC: pin de control de datos/comando, escribe el comando cuando DC=0; escribe datos cuando DC = 1. SCLK: reloj de comunicación SPI. SDIN: el maestro de comunicación SPI envía, el esclavo recibe. Temporización: CPHL=0, CPOL=0 (SPI0)
Comentarios Para obtener información específica sobre SPI, puede buscar información en línea. Protocolo de trabajo
Este producto es un dispositivo de papel electrónico que adopta la tecnología de visualización de imágenes de pantalla electroforética microencapsulada, MED. El primer paso es crear pequeñas esferas en las que los pigmentos de color cargados estén suspendidos en un aceite transparente y se muevan en función de la carga electrónica. La pantalla de papel electrónico muestra patrones reflejando la luz ambiental, por lo que no requiere luz de fondo. (Tenga en cuenta que el papel electrónico no puede actualizarse directamente bajo la luz del sol). Cómo definir píxeles En una imagen monocromática definimos los píxeles, 0 es negro y 1 es blanco.
Blanco: Bit 1
NegroBit 0
El punto de la figura se llama píxel. Como sabemos, 1 y 0 se usan para definir el color, por lo tanto podemos usar un bit para definir el color de un píxel y 1 byte = 8 píxeles.ampPor ejemplo, si configuramos los primeros 8 píxeles en negro y los últimos 8 píxeles en blanco, lo mostramos por códigos, serán de 16 bits como se muestra a continuación:
Para la computadora, los datos se guardan en formato MSB:
Entonces podemos usar dos bytes para 16 píxeles. Para el papel electrónico B de 2.13 pulgadas, los colores de la pantalla son rojo, negro y blanco. Necesitamos dividir la imagen en 2 imágenes, una es en blanco y negro y la otra es en rojo y blanco. Al transmitir, debido a que un registro controla un píxel blanco o negro, se controla una pantalla roja o blanca. La parte en blanco y negro de 2.13 usa 1 byte para controlar 8 píxeles, y la parte roja y blanca usa 1 byte para controlar 8 píxeles. por ejemploampPor ejemplo, supongamos que hay 8 píxeles, los primeros 4 son rojos y los 4 posteriores son negros: deben desmontarse en una imagen en blanco y negro y una imagen en blanco y negro. Ambas imágenes tienen 8 píxeles, pero los primeros cuatro píxeles de la imagen en blanco y negro son blancos, los últimos 4 píxeles son negros y los primeros 4 píxeles de la imagen en rojo y blanco Un píxel es rojo y los últimos cuatro píxeles son blancos .
Si defines que los datos del píxel blanco son 1 y el negro es 0, entonces podemos obtener:
De modo que podamos usar 1 byte para controlar cada ocho píxeles.

Precauciones
1. Para la pantalla que admite actualización parcial, tenga en cuenta que no puede actualizar la pantalla con el modo parcial todo el tiempo. Después de varias actualizaciones parciales, deberá actualizar completamente la pantalla una vez. De lo contrario, el efecto de visualización de la pantalla será anormal y no podrá repararse.
2. Debido a los diferentes lotes, algunos de ellos tienen aberraciones. Almacenar el papel electrónico con el lado derecho hacia arriba lo reducirá. Y si el papel electrónico no se actualiza durante mucho tiempo, se volverá cada vez más rojizo/amarillento. En este caso, utilice el código de demostración para actualizar el documento electrónico varias veces.
3. Tenga en cuenta que la pantalla no se puede encender durante mucho tiempo. Cuando la pantalla no se actualice, configúrela en modo de suspensión o apague el papel electrónico. De lo contrario, la pantalla permanecerá en un volumen alto.tag¡E estado durante mucho tiempo, lo que dañará el papel electrónico y no podrá repararse!
4. Al utilizar el papel electrónico, se recomienda que el intervalo de actualización sea de al menos 180 segundos y que se actualice al menos una vez cada 24 horas. Si el papel electrónico no se utiliza durante un período prolongado, se debe cepillar y guardar la pantalla de tinta. (Consulte la hoja de datos para conocer los requisitos específicos del entorno de almacenamiento)
5. Después de que la pantalla entre en modo de suspensión, los datos de la imagen enviada se ignorarán y se podrán actualizar normalmente solo después de inicializarse nuevamente.
6. Controle el registro 0x3C o 0x50 (consulte la hoja de datos para obtener más detalles) para ajustar el color del borde. En la rutina, puede ajustar el registro de control de forma de onda de borde o la CONFIGURACIÓN DE INTERVALO DE DATOS Y VCOM para establecer el borde.
7. Si descubre que los datos de la imagen creada se muestran incorrectamente en la pantalla, se recomienda verificar si la configuración del tamaño de la imagen es correcta, cambiar la configuración de ancho y alto de la imagen e intentar nuevamente.
8. El volumen de trabajotage del e-Paper es 3.3V. Si compra el panel sin procesar y necesita agregar un circuito de conversión de nivel para compatibilidad con 5V vol.tagmi. La nueva versión de la placa controladora (V2.1 y versiones posteriores) ha agregado un circuito de procesamiento de nivel, que puede admitir entornos de trabajo de 3.3 V y 5 V. La versión anterior solo admite un entorno de trabajo de 3.3 V. Puede confirmar la versión antes de usarla. (El que tiene el chip de 20 pines en la PCB es generalmente la nueva versión)
9. El cable FPC de la pantalla es relativamente frágil, preste atención a doblar el cable a lo largo de la dirección horizontal de la pantalla cuando lo use y no doble el cable a lo largo de la dirección vertical de la pantalla.
10. La pantalla del e-Paper es relativamente frágil, trate de evitar caídas, golpes y presiones fuertes.
11. Recomendamos que los clientes utilicen el sampLe programa proporcionado por nosotros para probar con la placa de desarrollo correspondiente después de obtener la pantalla.
RPi Pico

Conexión de hardware

Tenga cuidado con la dirección al conectar Pico. Se imprime un logo del puerto USB para indicar el directorio, también puedes consultar los pines. Si desea conectar la placa mediante un cable de 8 pines, puede consultar la siguiente tabla:

Pico de papel electrónico

Descripción

VCC VSYS

Entrada de potencia

TIERRA TIERRA

Suelo

Pin DIN GP11 MOSI de la interfaz SPI, datos transmitidos de Maestro a Esclavo.

CLK GP10

Pin SCK de la interfaz SPI, entrada de reloj

CSGP9

Pin de selección de chip de la interfaz SPI, baja actividad

CC GP8

Pin de control de datos/comando (Alto: Datos; Bajo: Comando)

PRIMERA GP12

Restablecer pin, bajo activo

OCUPADO GP13

Pin de salida ocupado

CLAVE0 GP2

Clave de usuario 0

CLAVE1 GP3

Clave de usuario 1

CORRE CORRE

Reiniciar

Puedes simplemente conectar el tablero a Pico como el Pico-ePaper-7.5.

Entorno de configuración
Puede consultar las guías para Raspberry Pi: https://www.raspberrypi.org/documentation/pico/getting-started/ Descargar códigos de demostración
Abra una terminal de Pi y ejecute el siguiente comando:
CD ~ sudo wget https://files.waveshare.com/upload/2/27/Pico_ePaper_Code.zip descomprimir Pico_ePaper_Code.zip -d Pico_ePaper_Code cd ~/Pico_ePaper_Code
También puedes clonar los códigos de Github.
cd ~ git clon https://github.com/waveshare/Pico_ePaper_Code.git cd ~/Pico_ePaper_Code
sobre el exampLos
Las guías están basadas en Raspberry Pi. códigos C
El exampEl archivo proporcionado es compatible con varios tipos, es necesario modificar main.c file, descomente la definición según el tipo real de visualización que obtenga. por ejemploamparchivo, si tiene Pico-ePaper-2.13, modifique main.c file, descomente la línea 18 (o tal vez sea la línea 19).
Establecer el proyecto:
cd ~/Pico_ePaper_Code/c
Cree una carpeta de compilación y agregue el SDK. ../../pico-sdk es la ruta predeterminada del SDK; si guarda el SDK en otros directorios, cámbielo a la ruta real.
mkdir compilar cd compilar exportar PICO_SDK_PATH=../../pico-sdk
Ejecute el comando cmake para generar Makefile file.
hacer ..
Ejecute el comando make para compilar los códigos.
hacer -j9
Después de compilar, el epd.uf2 file es generado. Luego, presione y mantenga presionado el botón BOOTSEL en la placa Pico, conecte el Pico a la Raspberry Pi usando el cable Micro USB y suelte el botón. En este punto, el dispositivo reconocerá un disco extraíble (RPI-RP2). Copia el epd.uf2 file recién generado en el disco extraíble recién reconocido (RPI-RP2), Pico reiniciará automáticamente el programa en ejecución. Python Primero presione y mantenga presionado el botón BOOTSEL en la placa Pico, use el cable Micro USB para conectar el Pico a la Raspberry Pi, luego suelte el botón. En este punto, el dispositivo reconocerá un disco extraíble (RPI-RP2). Copia el rp2-pico-20210418-v1.15.uf2 file en el directorio de Python al disco extraíble (RPI-RP2) que acabamos de identificar. Actualiza Thonny IDE.
sudo apt actualizar thonny
Abra Thonny IDE (haga clic en el logotipo de Raspberry -> Programación -> Thonny Python IDE) y seleccione el intérprete:
Seleccione Herramientas -> Opciones… -> Intérprete. Seleccione MicroPython (Raspberry Pi Pico y puerto ttyACM0). Abra el Pico_ePaper-xxx.py file en Thonny IDE, luego ejecute el script actual (haga clic en el triángulo verde).
Análisis de código C
Interfaz de hardware inferior Empaquetamos la capa de hardware para migrarla fácilmente a las diferentes plataformas de hardware. DEV_Config.c(.h) en el directorio: Pico_ePaper_CodeclibConfig.
Tipo de datos:
#definir UBYTE uint8_t #definir UWORD uint16_t #definir UDOUBLE uint32_t
Inicialización y salida del módulo:
vacío DEV_Module_Init(vacío); vacío DEV_Module_Exit(vacío); Nota 1. Las funciones anteriores se utilizan para inicializar la pantalla o el identificador de salida.
Escritura/lectura GPIO:
void DEV_Digital_Write (Pin UWORD, Valor UBYTE); UBYTE DEV_Digital_Read(Pin UWORD);
SPI transmite datos:
anular DEV_SPI_WriteByte (Valor UBYTE);
Controlador EPD Los códigos de controlador de EPD se guardan en el directorio: Pico_ePaper_CodeclibePaper Abra el encabezado .h file, puede consultar todas las funciones definidas.
Inicializar papel electrónico, esta función siempre se utiliza al principio y después de activar la pantalla.
//Papel electrónico de 2.13 pulgadas, Papel electrónico V2.13 de 2 pulgadas, Papel electrónico de 2.13 pulgadas (D), Papel electrónico de 2.9 pulgadas, Papel electrónico de 2.9 pulgadas (D) anular EPD_xxx_Init (modo UBYTE); // Modo = 0 actualización completa, Modo = 1 actualización parcial //Otros tipos void EPD_xxx_Init(void);
xxx debe cambiarse por el tipo de papel electrónico, por ej.ampPor ejemplo, si utiliza papel electrónico de 2.13 pulgadas (D), para actualizar completamente, debe ser EPD_2IN13D_Init(0) y EPD_2IN13D_Init(1) para la actualización parcial;
Borrar: esta función se utiliza para borrar la pantalla y dejarla en blanco.
nulo EPD_xxx_Clear(nulo);
xxx debe cambiarse por el tipo de papel electrónico, por ej.ampPor ejemplo, si utiliza ePaper (D) de 2.9 pulgadas, debería ser EPD_2IN9D_Clear();
Envíe los datos de la imagen (un cuadro) a EPD y visualícelos.
//Versión bicolor void EPD_xxx_Display(UBYTE *Imagen); // Versión tricolor void EPD_xxx_Display(const UBYTE *blackimage, const UBYTE *ryimage);
Hay varios tipos que se diferencian de otros.
//Actualización parcial para papel electrónico de 2.13 pulgadas (D), papel electrónico de 2.9 pulgadas (D) void EPD_2IN13D_DisplayPart(UBYTE *Image); void EPD_2IN9D_DisplayPart(UBYTE *Imagen);
//Para papel electrónico V2.13 de 2 pulgadas, primero debe usar EPD_xxx_DisplayPartBaseImage para mostrar un fondo estático y luego una actualización parcial mediante la función EPD_xxx_Dis playPart() void EPD_2IN13_V2_DisplayPart(UBYTE *Image); void EPD_2IN13_V2_DisplayPartBaseImage(UBYTE *Imagen);
Entrar en modo de suspensión
anular EPD_xxx_Sleep(anular);
Nota: solo debe restablecer el hardware o usar la función de inicialización para reactivar ePaper del modo de suspensión xxx es el tipo de e-Paper, por ejemplo.ampPor ejemplo, si utiliza papel electrónico D de 2.13 pulgadas, debería ser EPD_2IN13D_Sleep(). Interfaz de programación de aplicaciones Proporcionamos funciones GUI básicas para pruebas, como puntos de dibujo, líneas, cadenas, etc. La función GUI se puede encontrar en el directorio: RaspberryPi_JetsonNanoclibGUIGUI_Paint.c(.h).
Las fuentes utilizadas se pueden encontrar en el directorio: RaspberryPi_JetsonNanoclibFonts.
Cree una nueva imagen, puede establecer el nombre de la imagen, el ancho, la altura, el ángulo de rotación y el color.
void Paint_NewImage(UBYTE *imagen, ancho UWORD, alto UWORD, rotación UWORD, color UWOR D) Parámetros:
imagen: Nombre del buffer de imágenes, este es un puntero; Ancho: Ancho de la imagen; Alto: Alto de la imagen; Girar: Gira el ángulo de la imagen; Color: El color inicial de la imagen;
Seleccionar búfer de imagen: puede crear múltiples búfer de imagen al mismo tiempo y seleccionar uno determinado y dibujar con esta función.
void Paint_SelectImage(UBYTE *imagen) Parámetros:
imagen: el nombre del búfer de imagen, este es un puntero;
Girar imagen: debe establecer el ángulo de rotación de la imagen; esta función debe usarse después de Paint_SelectImage(). El ángulo puede ser 0, 90, 180 o 270.
void Paint_SetRotate(UWORD Rotate) Parámetros:
Rotar: rota el ángulo de la imagen, el parámetro puede ser ROTATE_0, ROTATE_90, ROTATE_180, ROTATE_270.
Nota Después de rotar, el lugar del primer píxel es diferente, tomamos un 1.54 pulgadas
papel electrónico como exampel.

Espejo de imagen: esta función se utiliza para configurar el espejo de imagen.
void Paint_SetMirroring (espejo UBYTE) Parámetros:
espejo: tipo de espejo si la imagen, el parámetro puede ser MIRROR_NONE, MIR ROR_HORIZONTAL, MIRROR_VERTICAL, MIRROR_ORIGIN.

Establecer la posición y el color de los píxeles: esta es la función básica de la GUI, se utiliza para establecer la posición y el color de un píxel en el búfer.
void Paint_SetPixel(UWORD Xpoint, UWORD Ypoint, UWORD Color) Parámetros:
Xpoint: el valor del eje X del punto en el búfer de imagen. Ypoint: el valor del eje Y del punto en el búfer de imagen. Color: el color del punto.

Borrar pantalla: Para configurar el color de la imagen, esta función siempre se utilizará para borrar la pantalla.
void Paint_Clear(Color UWORD) Parámetros:
Color: El color de la imagen.

Color de las ventanas: esta función se usa para establecer el color de las ventanas, siempre se usa para actualizar áreas parciales como mostrar un reloj.

void Paint_ClearWindows(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, UWO RD Color) Parámetros:
Xpoint: el valor del eje X del punto inicial en el búfer de imagen Ypoint: el valor del eje Y del punto inicial en el búfer de imagen Xend: el valor del eje X del punto final en el búfer de imagen Yend: el valor del eje Y valor del eje del punto final en el búfer de imagen Color: El color de las ventanas

Dibujar punto: dibuja un punto en la posición punto X, punto Y de la imagen.
buffer, puede configurar el color, tamaño y estilo.

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

el, DOT_STYLE Estilo_punto)

Parámetros:

Xpoint: Valor del eje X del punto.

Punto Y: valor del eje Y del punto.

Color: Color del punto

Dot_Pixel: Tamaño del punto, hay 8 tamaños disponibles.

enumeración 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

} PUNTO_PIXEL;

Dot_Style: Estilo del punto, define el modo extendido del punto.

enumeración typedef {

DOT_FILL_AROUND = 1,

DOT_FILL_RIGHTUP,

} PUNTO_ESTILO;

Dibuja la línea: dibuja una línea desde (Xstart, Ystart) hasta (Xend, Yend) en el búfer de imagen, puedes configurar el color, el ancho y el estilo.

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

olor, LINE_STYLE Estilo_línea, LINE_STYLE Estilo_línea)

Parámetros:

Xstart: Xstart de la línea

Ystart: Ystart de la línea

Xend: Xend de la línea

Yend: Yend de la línea

Color: Color de la línea

Line_width: ancho de la línea, hay 8 tamaños disponibles.

enumeración 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

} PUNTO_PIXEL;

Line_Style: Estilo de la línea, Sólida o Punteada.

enumeración typedef {

LINE_STYLE_SOLID = 0,

LINE_STYLE_DOTTED,

} ESTILO_LINEA;

Dibujar un rectángulo: Dibuja un rectángulo desde (Xstart, Ystart) hasta (Xend, Yend), puedes configurar el color, el ancho y el estilo.

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

ORD Color, DOT_PIXEL Ancho_línea, DRAW_FILL Dibujar_Relleno)

Parámetros:

Xstart: Xstart del rectángulo.

Ystart: Ystart del rectángulo.

Xend: Xend del rectángulo.

Yend: Fin del rectángulo.

Color: Color del rectángulo

Line_width: el ancho de los bordes. Hay 8 tamaños disponibles.

enumeración 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

} PUNTO_PIXEL;

Draw_Fill: Estilo del rectángulo, vacío o relleno.

enumeración typedef {

DIBUJAR_FILL_EMPTY = 0,

DIBUJAR_FILL_FULL,

} DIBUJAR_FILL;

Dibujar círculo: dibuja un círculo en el búfer de imagen, usa (X_Center Y_Center) como centro y Radio como radio. Puedes configurar el color, el ancho de la línea y el estilo del círculo.

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

r, DOT_PIXEL Ancho_de_línea, DRAW_FILL Dibujar_Rellenar)

Parámetros:

X_Center: eje X del centro

Y_Center: eje Y del centro

Radio: Radio del círculo

Color: Color del círculo

Line_width: el ancho del arco, hay 8 tamaños disponibles.

enumeración 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

} PUNTO_PIXEL;

Draw_Fill: Estilo del círculo: vacío o relleno.

enumeración typedef {

DIBUJAR_FILL_EMPTY = 0,

DIBUJAR_FILL_FULL,

} DIBUJAR_FILL;

Mostrar carácter Ascii: muestra un carácter en la posición (Xstart, Ystart), puedes
configure la fuente, el primer plano y el fondo.
void Paint_DrawChar(UWORD Xstart, UWORD Ystart, const char Ascii_Char, sFONT* F ont, UWORD Color_Foreground, UWORD Color_Background) Parámetros:
Xstart: Xstart del carácter Ystart: Ystart del carácter Ascii_Char: Ascii char Fuente: cinco fuentes disponibles
font8: 5*8 font12: 7*12 font16: 11*16 font20: 14*20 font24: 17*24 Color_Foreground: color de primer plano Color_Background: color de fondo

Dibuja la cadena: dibuja la cadena en (Xstart Ystart), puedes configurar el
fuentes, primer plano y fondo
void Paint_DrawString_EN(UWORD Xstart, UWORD Ystart, const char * pString, sFON T* Font, UWORD Color_Foreground, UWORD Color_Background) Parámetros:
Xstart: Xstart de la cadena Ystart: Ystart de la cadena pString: String Font: hay cinco fuentes disponibles:
font8: 5*8 font12: 7*12 font16: 11*16 font20: 14*20 font24: 17*24 Color_Foreground: color de primer plano Color_Background: color de fondo

Dibujar cadena china: dibuja la cadena china en (Xstart Ystart) de la imagen.
buffer. Puede configurar fuentes (GB2312), primer plano y fondo.
void Paint_DrawString_CN(UWORD Xstart, UWORD Ystart, const char * pString, fuente cFON T*, UWORD Color_Foreground, UWORD Color_Background) Parámetros:
Xstart: Xstart de cadena Ystart: Ystart de cadena pString: cadena Fuente: fuentes GB2312, hay dos fuentes disponibles
font12CN: ascii 11*21Chino 16*21 font24CN: ascii 24*41Chino 32*41 Color_Foreground: Color de primer plano Color_Background: Color de fondo

Número de sorteo: dibuja números en (Xstart Ystart) del búfer de imagen. Puede
seleccione fuente, primer plano y fondo.
void Paint_DrawNum(UWORD Xpoint, UWORD Ypoint, int32_t Número, sFONT* Fuente, UW ORD Color_Foreground, UWORD Color_Background) Parámetros:
Xstart: Xstart de números Ystart: Ystart de números Número: números mostrados. Admite el tipo int y 2147483647 es la fuente máxima admitida: fuentes Ascii, hay cinco fuentes disponibles:
font8: 5*8 font12: 7*12 font16: 11*16 font20: 14*20 font24: 17*24 Color_Foreground: primer plano Color_Background: fondo

Tiempo de visualización: tiempo de visualización en (Xstart Ystart) del búfer de imagen, puede
configurar fuentes, primer plano y fondo.
Esta función se utiliza para actualizaciones parciales. Tenga en cuenta que algunos de los e-Paper no
admite actualizaciones parciales y no puede usar actualizaciones parciales todo el tiempo, lo que
Tendrá problemas de fantasmas y destruirá la pantalla.
void Paint_DrawTime(UWORD Xstart, UWORD Ystart, PAINT_TIME *pTime, sFONT* Font, UWORD Color_Background, UWORD Color_Foreground) Parámetros:
Xstart: Xstart of time Ystart: Ystart of time pTime: Estructura del tiempo Fuente: Fuente Ascii, hay cinco fuentes disponibles
font8: 5*8 font12: 7*12 font16: 11*16 font20: 14*20 font24: 17*24 Color_Foreground: primer plano Color_Background: fondo

Recurso

Especificación del documento esquemático de papel electrónico de 2.9 pulgadas (B)

Códigos de demostración

Códigos de demostración Enlace Github

Software de desarrollo

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

Inicio rápido de Pico Descargar firmware

Descarga de firmware MicroPython Descarga de firmware C_Blink Video tutorial

[Ampliar] [Ampliar]

Tutorial de Pico I – Introducción básica
Tutorial Pico II – GPIO
Tutorial Pico III – PWM
Tutorial de Pico IV – ADC
Tutorial Pico V – UART
Tutorial de Pico VI – Continuará…
Serie MicroPython
Máquina MicroPython.Función Pin Máquina MicroPython.Función PWM Máquina MicroPython.Función ADC Máquina MicroPython.Función UART Máquina MicroPython.Función I2C Máquina MicroPython.Función SPI MicroPython rp2.StateMachine

[Ampliar] [Ampliar] [Ampliar] [Ampliar] [Ampliar]

Serie C/C++
Tutorial 1 de C/C++ Windows: configuración del entorno Tutorial 1 de C/C++ Windows: Crear nuevo proyecto

Serie Arduino IDE Instalar Arduino IDE 1. Descargue el paquete de instalación de Arduino IDE desde Arduino websitio.

2. Simplemente haga clic en "SOLO DESCARGAR".

3. Haga clic para instalar después de la descarga.
4. Nota: Se le pedirá que instale el controlador durante el proceso de instalación; podemos hacer clic en Instalar.
Instale Arduino-Pico Core en Arduino IDE 1. Abra Arduino IDE, haga clic en File en la esquina izquierda y elija "Preferencias".
2. Agregue el siguiente enlace en el administrador de placa de desarrollo adicional URLy luego haga clic en Aceptar. https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
Nota: Si ya tienes la placa ESP8266 URL, puedes separar el URLs con comas así:
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 -> Buscar pico, aparece instalado ya que mi computadora ya lo tiene instalado.

Cargue la demostración por primera vez
1. Mantenga presionado el botón BOOTSET en la placa Pico, conecte el Pico al puerto USB de la computadora mediante el cable Micro USB y suelte el botón cuando la computadora reconozca un disco duro extraíble (RPI-RP2).

2. Descargue la demostración, abra la ruta arduinoPWMD1-LED en D1LED.ino.
3. Haga clic en Herramientas -> Puerto, recuerde el COM existente, no es necesario hacer clic en este COM (diferentes computadoras muestran diferentes COM, recuerde el COM existente en su computadora).

4. Conecte la placa del controlador a la computadora con un cable USB, luego haga clic en Herramientas -> Puertos, seleccione Placa uf2 para la primera conexión y, una vez completada la carga, la conexión nuevamente generará un puerto COM adicional.

5. Haga clic en Herramienta -> Placa de desarrollo -> Raspberry Pi Pico/RP2040 -> Raspberry Pi Pico.

6. Después de la configuración, haga clic en la flecha derecha para cargar.
Si tiene problemas durante el período, debe reinstalar o reemplazar la versión de Arduino IDE, desinstalar Arduino IDE debe desinstalarse limpiamente, después de desinstalar el software, debe eliminar manualmente todo el contenido de la carpeta C: Usuarios [nombre] AppDataLocalArduino15 (necesita mostrar el oculto files para poder verlo) y luego reinstale. Tutorial de la serie Pico-W (Continuará...)
Demostración de código abierto
Demostración de MicroPython (GitHub) Demostración de MicroPython Firmware/Blink (C) Demostración oficial de Raspberry Pi C/C++ Demostración oficial de Raspberry Pi MicroPython Demostración oficial de Arduino C/C++
Preguntas frecuentes
Pregunta: ¿Cuál es el entorno de uso de la pantalla de tinta electrónica? Respuesta:
Condiciones de funcionamiento Rango de temperatura: 0~50°C; Rango de humedad:
35%~65% de humedad relativa.
Condiciones de almacenamiento Rango de temperatura: inferior a 30°C; Rango de humedad:
por debajo del 55 % de humedad relativa; Tiempo máximo de almacenamiento: 6 meses.
Condiciones de transporte Rango de temperatura: -25~70°C; Máximo
Tiempo de transporte: 10 días.
Después de desembalar Rango de temperatura: 20°C±5°C; Rango de humedad:
50±5% HR; Tiempo máximo de almacenamiento: ensamblar dentro de las 72 horas.
Pregunta: ¿Precauciones para la actualización de la pantalla de tinta electrónica? Respuesta:
Modo de actualización Actualización completa: la pantalla de tinta electrónica parpadeará varias veces durante el proceso de actualización (la cantidad de parpadeos depende del tiempo de actualización) y el parpadeo sirve para eliminar la imagen residual para lograr el mejor efecto de visualización. Actualización parcial: La pantalla de tinta electrónica no tiene ningún efecto de parpadeo durante el proceso de actualización. Los usuarios que utilizan la función de cepillado parcial notan que después de actualizar varias veces, se debe realizar una operación de cepillado completo para eliminar la imagen residual; de lo contrario, el problema de la imagen residual se volverá cada vez más grave o incluso dañará la pantalla (actualmente solo algunos negros y Las pantallas de tinta electrónica blancas admiten un cepillado parcial (consulte la descripción de la página del producto).
Frecuencia de actualización Durante el uso, se recomienda que los clientes establezcan el intervalo de actualización de la pantalla de tinta electrónica en al menos 180 segundos (excepto para productos que admiten la función de cepillo local) Durante el proceso de espera (es decir, después de la operación de actualización), Se recomienda que el cliente configure la pantalla de tinta electrónica en modo de suspensión o apague la operación (la parte de suministro de energía de la pantalla de tinta se puede desconectar con un interruptor analógico) para reducir el consumo de energía y prolongar la vida útil de la tinta electrónica. pantalla. (Si algunas pantallas de tinta electrónica se encienden durante mucho tiempo, la pantalla se dañará sin posibilidad de reparación). Durante el uso de la pantalla de tinta electrónica de tres colores, se recomienda que los clientes actualicen la pantalla al menos una vez cada 24 horas (si la pantalla permanece igual durante mucho tiempo, la quemadura de la pantalla será difícil de reparar).
Escenarios de uso La pantalla de tinta electrónica se recomienda para uso en interiores. Si lo usa al aire libre, debe evitar la luz solar directa sobre la pantalla de tinta electrónica y al mismo tiempo tomar medidas de protección UV. Al diseñar productos de pantalla de tinta electrónica, los clientes deben prestar atención a determinar si el entorno de uso cumple con los requisitos de temperatura y humedad de la pantalla de tinta electrónica.
Pregunta: ¿El chino no se puede mostrar en la pantalla de tinta electrónica? Respuesta: La biblioteca de caracteres chinos de nuestra rutina utiliza el método de codificación GB2312, cambie su xxx_test.c file al formato de codificación GB2312, compílelo y descárguelo, y luego podrá visualizarse normalmente.
Pregunta: Después de usarlo durante un período de tiempo, la actualización de la pantalla (actualización completa) tiene un problema grave de imagen residual que no se puede reparar. Respuesta: Encienda la placa de desarrollo durante mucho tiempo, después de cada operación de actualización, se recomienda configurar la pantalla en modo de suspensión o apagar directamente el procesamiento; de lo contrario, la pantalla puede quemarse cuando la pantalla está en un volumen alto.tage estado durante mucho tiempo.
Pregunta: ¿El papel electrónico muestra un borde negro? Respuesta: El color de visualización del borde se puede configurar a través del registro Border Waveform Control o el registro VCOM AND DATA INTERVAL SETTING.
Pregunta: ¿Cuál es la especificación de la interfaz del cable de pantalla? Respuesta: paso de 0.5 mm, 24 pines.
En este caso, el cliente debe reducir la posición del cepillo redondo y limpiar la pantalla después de 5 rondas de cepillado (increasing el voltage de VCOM puede mejorar el color, pero aumentará la imagen residual).
Pregunta: Después de que la pantalla Ink entre en modo de suspensión profunda, ¿se puede actualizar nuevamente? Respuesta: Sí, pero es necesario reinicializar el papel electrónico con el software.
Pregunta: Cuando el EPD de 2.9 pulgadas está en modo de suspensión profunda, la primera vez que se activa, la actualización de la pantalla no estará limpia. ¿Cómo puedo resolverlo? Respuesta: El proceso de reactivación de la pantalla de tinta electrónica es en realidad el proceso de reactivación, por lo que cuando el EPD se activa, primero se debe limpiar la pantalla para evitar en la mayor medida el fenómeno de imagen residual.
Pregunta: ¿Los productos con pantalla desnuda se envían con un revestimiento de superficie? Respuesta: con película.
Pregunta: ¿El papel electrónico tiene un sensor de temperatura incorporado? Respuesta: Sí, también puede utilizar el sensor de temperatura externo LM75 del pin IIC.
Pregunta: Al probar el programa, ¿el programa se queda atascado en un e-Paper ocupado? Respuesta: Puede deberse a un controlador spi fallido. 1. Verifique si el cableado es correcto. 2. Verifique si el spi está encendido y si los parámetros están configurados correctamente (velocidad de baudios spi, modo spi y otros parámetros).
Pregunta: ¿Cuál es la frecuencia de actualización/vida útil de esta pantalla de tinta electrónica? Respuesta: Idealmente, con un uso normal, se puede actualizar 1,000,000 de veces (1 millón de veces).
Apoyo

Apoyo técnico
Si necesita soporte técnico o tiene algún comentario/review, haga clic en el botón Enviar ahora para enviar un ticket. Nuestro equipo de soporte lo verificará y le responderá dentro de 1 a 2 días hábiles. Tenga paciencia mientras hacemos todo lo posible para ayudarlo a resolver el problema. Horario de trabajo: 9 a. m. – 6 a. m. GMT+8 (de lunes a viernes)

Enviar ahora

Documentos / Recursos

WAVESHARE Pico e-Paper 2.9 B Módulo EPD para Raspberry Pi Pico [pdf] Guía del usuario
Módulo EPD Pico e-Paper 2.9 B 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

Referencias

Deja un comentario

Su dirección de correo electrónico no será publicada. Los campos obligatorios están marcados *