Pico e-Paper 2.9 B Modulu EPD per Raspberry Pi Pico
Informazione di u produttu
Specificazioni
- Nom du produit : Pico e-Paper 2.9 (B)
- Ambiente d'usu: Internu cunsigliatu
- Ambiente d'utilizazione di u screnu E-Ink:
- Umidità Relativa Consigliata: 35% ~ 65% RH
- Tempu Massimu di Conservazione: 6 mesi sottu 55% RH
- Tempu di trasportu: 10 ghjorni
- Specifiche di l'interfaccia di u cable di u screnu: 0.5mm pitch, 24Pin
Istruzzioni per l'usu di u produttu
Caricate Demo À a Prima Volta
- Mantene premutu u buttone BOOTSET nantu à u pianu Pico.
- Cunnette vi u Pico à u portu USB di l 'urdinatore via u Micro
Cavu USB. - Rilascia u buttone quandu l'urdinatore ricunnosce un removable
discu duru (RPI-RP2). - Scaricate a demo è apre u percorsu arduinoPWMD1-LED sottu u
D1LED.ino. - Cliccate Strumenti -> Port è ricordate u COM esistente (different
computers mostra COM differente, ricordate u COM esistenti nant'à u vostru
computer). - Cunnette vi a scheda di cunduttore à l'urdinatore cù un cable USB.
- Cliccate Strumenti -> Ports è selezziunate uf2 Board per u primu
cunnessione. - Dopu chì u caricamentu hè cumpletu, a cunnessione di novu hà da esse
un portu COM supplementu. - Cliccate Tool -> Dev Board -> Raspberry Pi Pico/RP2040 ->
Raspberry Pi Pico. - Dopu l'impostazione, cliccate nantu à a freccia diritta per carica.
- Se avete prublemi, reinstallate o rimpiazzate l'IDE Arduino
versione. - Per disinstallare l'IDE Arduino, disinstallà in modu pulitu.
- Sguassà manualmente tuttu u cuntenutu di u cartulare
C:Users[name]AppDataLocalArduino15 (avete bisognu di vede nascostu
files per vede). - Reinstalla l'IDE Arduino.
Demo Open Source
- Demo MicroPython (GitHub)
- MicroPython Firmware/Blink Demo (C)
- Demo ufficiale di Raspberry Pi C/C++
- Demo ufficiale di Raspberry Pi MicroPython
- Demo ufficiale C/C++ di Arduino
FAQ
Quistione: Chì ghjè l'ambiente di usu di e-ink
schermu?
Risposta: L'umidità relativa cunsigliata per a pantalla e-ink
hè 35% ~ 65% RH. Per u almacenamentu, deve esse sottu à 55% RH, è u
u tempu massimu di almacenamento hè di 6 mesi. Durante u trasportu, deve esse
micca più di 10 ghjorni.
Quistione: Chì sò e precauzioni per a pantalla di e-ink
rinfriscà?
Risposta: U screnu e-ink hè cunsigliatu per l'usu interni. Sè usatu
fora, deve esse prutetta da u sole direttu è i raghji UV.
Quandu cuncepisce prudutti cù schermi e-ink, assicuratevi chì u
i requisiti di temperatura è umidità di u screnu sò soddisfatti.
Quistione: Perchè i caratteri chinesi ùn ponu micca esse affissati nantu à u
schermu e-ink?
Risposta: A biblioteca di caratteri chinesi in a nostra rutina usa u
Metudu di codificazione GB2312. Per vede caratteri chinesi, per piacè
cambia u vostru xxx_test.c file à u formatu di codificazione GB2312, compile
è scaricallu.
Quistione: Dopu à aduprà per un periudu di tempu, u screnu rinfrescà
(Full Refresh) hà un seriu prublema di afterimage chì ùn pò micca esse
riparatu ?
Risposta: Dopu ogni operazione di rinfrescante, hè cunsigliatu di stabilisce
u screnu à u modu di sonnu o direttamente spegne u dispusitivu à
impediscenu u screnu da esse in un altu voltagu statu per un bellu pezzu
tempu, chì pò causà burnout.
Quistione: Perchè l'e-Paper mostra un bordu neru?
Risposta: U culore di visualizazione di u cunfini pò esse stabilitu attraversu u Border
Registru di cuntrollu di forma d'onda o VCOM AND DATA INTERVAL SETTING
iscrizzione.
Quistione: Chì hè a specificazione di u cable di u screnu
interfaccia?
Risposta: L'interfaccia di u cable di u screnu hà un pitch di 0.5 mm è 24
pins.
Pico e-Paper 2.9 (B)
Overview
Pico e-Paper 2.9 (B)
Modulu 2.9inch EPD (Electronic Paper Display) Per Raspberry Pi Pico, 296 × 128 Pixel, Neru / Bianco / Rossu, Interfaccia SPI.
Specificazione
Dimensioni: 2.9 pollici Dimensioni di contorno (pannello grezzo): 79.0 mm × 36.7 mm × 1.05 mm Dimensione di contorno (pannello di guida): 82.0 mm × 38.0 mm Dimensioni di visualizzazione: 66.89 mm × 29.05 mm Vol.tage: 3.3V / 5V Interfaccia: SPI Dot pitch: 0.138 × 0.138 Risoluzione: 296 × 128 Culore di visualizazione: Neru, biancu, rossu Scala di grigi: 2 tempu di rinfrescante cumpletu: 15s Potenza di rinfrescante: 26.4mW (tip.) Corrente in standby: <0.01 uA (quasi nimu) Nota:
Modulu EPD da 2.9 pollici per Raspberry Pi Pico,
296 × 128, Neru / Biancu / Rossu, SPI
1. Tempu di rinfrescante: U tempu di rinfrescante hè i risultati spirimintali, u tempu di rinfrescante attuale avarà errori, è l'effettu propiu prevalerà. Ci sarà un effettu flickering durante u prucessu di rinfrescante globale, questu hè un fenomenu normale.
2. U cunsumu di energia: I dati di cunsumu di energia sò i risultati spirimintali. U cunsumu di energia attuale averà un certu errore per l'esistenza di u bordu di u driver è a situazione d'usu attuale. L'effettu propiu prevalerà.
SPI Communication Timing
Siccomu a schermu d'inchiostro solu deve esse affissatu, u cable di dati (MISO) mandatu da a macchina è ricevutu da l'ospite hè oculatu quì.
CS: Selezzione di chip Slave, quandu CS hè bassu, u chip hè attivatu. DC: pin di cuntrollu di dati / cumanda, scrive u cumandamentu quandu DC = 0; scrivite dati quandu DC = 1. SCLK: clock di cumunicazione SPI. SDIN: U maestru di cumunicazione SPI manda, u slave riceve. Timing: CPHL = 0, CPOL = 0 (SPI0)
Rimarche Per infurmazione specifica nantu à SPI, pudete circà l'infurmazioni in linea. Protocolu di travagliu
Stu pruduttu hè un dispusitivu E-paper aduttà a tecnulugia di visualizazione di l'imaghjini di Microencapsulated Electrophoretic Display, MED. L'approcciu iniziale hè di creà sfere chjuche, in quale i pigmenti di culore caricati sò suspesi in l'oliu trasparente è si movenu secondu a carica elettronica. U screnu E-paper mostra mudelli riflettendu a luce ambientale, cusì ùn hà micca bisognu di luce di fondo. (Nota chì l'e-Paper ùn pò micca sustene l'aghjurnamentu direttamente sottu a luce di u sole). Cumu definisce i pixel In una stampa monocroma, definiscemu i pixel, 0 hè neru è 1 hè biancu.
Biancu : Bit 1
BlackBit 0
U puntu in a figura hè chjamatu pixel. Comu sapemu, 1 è 0 sò usati per definisce u culore, dunque pudemu usà un bit per definisce u culore di un pixel, è 1 byte = 8pixels Per ex.ample, Sè avemu stabilitu i primi 8 pixels in neru è l'ultimi 8 pixels in biancu, mustramu per codici, seranu 16-bit cum'è quì sottu:
Per l'urdinatore, i dati sò salvati in furmatu MSB:
Allora pudemu usà dui bytes per 16 pixel. Per 2.13inch e-paper B, i culori di visualizazione sò rossi, neri è bianchi. Avemu bisognu di split the picture in 2 stampi, unu hè un ritrattu biancu è neru, è un altru hè un ritrattu rossu è biancu. Quandu trasmette, perchè un registratu cuntrolla un pixel neru o biancu, unu cuntrola un display Rossu o biancu. A parte bianca è negra di 2.13 usa 1 byte per cuntrullà 8 pixel, è a parte rossa è bianca usa 1 byte per cuntrullà 8 pixel. Per esample, supponi chì ci sò 8 pixel, i primi 4 sò rossi, è i 4 di daretu sò neri: Hanu bisognu à esse disassemblatu in una stampa bianca è nera è una stampa rossa è bianca. E duie foto anu 8 pixel, ma i primi quattru pixel di a stampa bianca è nera sò bianchi, l'ultimi 4 pixel sò neri, è i primi 4 pixel di u quadru rossu è biancu Un pixel hè rossu, è l'ultimi quattru pixel sò bianchi. .
Se definisce chì i dati di u pixel biancu hè 1 è u neru hè 0, allora pudemu avè:
Cusì pudemu usà 1 byte per cuntrullà ogni ottu pixel.
Precauzioni
1. Per u screnu chì sustene l'aghjurnamentu parziale, per piacè nutate chì ùn pudete micca rinfriscà u screnu cù u modu parziale tuttu u tempu. Dopu parechji aghjurnamentu parziale, avete bisognu di rinfriscà cumplettamente a pantalla una volta. Altrimenti, l'effettu di a visualizazione di u screnu serà anormale, chì ùn pò micca esse riparatu!
2. Per via di e diverse lotte, certi di elli anu aberrazioni. Mantene l'e-Paper a destra in sopra u riduce. È se l'e-Paper ùn hè micca rinfriscatu per un bellu pezzu, diventerà più è più rossu / giallu. Per piacè aduprate u codice demo per rinfriscà u e-paper parechje volte in questu casu.
3. Nota chì u screnu ùn pò esse powered on per un longu tempu. Quandu a schermu ùn hè micca rinfrescata, fate a schermu in u modu di sonnu, o spegne l'e-Paper. Altrimenti, u screnu ferma in un altu voltage statu per un bellu pezzu, chì dannu u e-Paper è ùn pò esse riparatu!
4. Quandu si usa l'e-Paper, hè cunsigliatu chì l'intervallu di rinfrescante sia almenu 180s, è rinfriscà almenu una volta ogni 24 ore. Se l'e-Paper ùn hè micca usatu per un bellu pezzu, a pantalla di tinta deve esse spazzolata è almacenata. (Consultate a datasheet per i requisiti specifici di l'ambiente di almacenamento)
5. Dopu à u screnu entre in modu di sonnu, i dati maghjina mandatu sarà ignoratu, è si pò esse rinfrescata nurmalmente solu dopu à initializing novu.
6. Cuntrolla u 0x3C o 0x50 (riferite à a datasheet per i dettagli) registrate per aghjustà u culore di u cunfini. In a rutina, pudete aghjustà u registru di cuntrollu di a forma d'onda di cunfini o VCOM AND DATA INTERVAL SETTING per stabilisce a fruntiera.
7. Se truvate chì i dati di l'imaghjini creati sò visualizati in modu incorrectu nantu à u screnu, hè cunsigliatu di verificà se a paràmetra di dimensione di l'imaghjini hè curretta, cambia a larghezza è l'altezza di l'imaghjini è pruvate di novu.
8. U travagliu voltage di l'e-Paper hè 3.3V. Sè vo cumprà u pannellu crudu è vi tocca à aghjunghje un circuitu cunvertisce livellu di cumpatibulità cù 5V voltage. A nova versione di u bordu di u driver (V2.1 è e versioni successive) hà aghjustatu un circuitu di prucessu di livellu, chì pò sustene l'ambienti di travagliu 3.3V è 5V. A versione vechja pò sustene solu un ambiente di travagliu 3.3V. Pudete cunfirmà a versione prima di aduprà. (Quellu cù u chip 20-pin nantu à u PCB hè in generale a nova versione)
9. U cable FPC di u screnu hè relativamente fragile, fate attenzione à piegà u cable in a direzzione horizontale di u screnu quandu l'utilizate, è ùn curvate micca u cable in a direzzione verticale di u screnu.
10. A schermu di e-Paper hè relativamente fragile, per piacè pruvate d'evità a caduta, u bumping è a pressione dura.
11. Ricumandemu chì i clienti aduprà u sample prugramma furnitu da noi per pruvà cù u bordu di sviluppu currispundenti dopu avè u screnu.
RPi Picu
Cunnessione Hardware
Per piacè fate cura di a direzzione quandu cunnette Pico. Un logu di u portu USB hè stampatu per indicà u repertoriu, pudete ancu verificà i pins. Se vulete cunnette a scheda cù un cable 8-pin, pudete riferite à a tabella sottu:
e-Paper Pico
Descrizzione
VCC VSYS
Input di putenza
GND GND
Terra
Pin DIN GP11 MOSI di l'interfaccia SPI, dati trasmessi da Master à Slave.
CLK GP10
Pin SCK di l'interfaccia SPI, input clock
CS GP9
Chip select pin di l'interfaccia SPI, Low Active
DC GP8
Pin di cuntrollu di Dati / Cumandamentu (Altu: Dati; Bassu: Cumandamentu)
RST GP12
Reset pin, bassa attiva
BUSY GP13
Pin di output occupatu
KEY0 GP2
Chjave d'utilizatore 0
KEY1 GP3
Chjave d'utilizatore 1
CORRI CORRI
Resettate
Pudete solu aghjunghje u bordu à Pico cum'è u Pico-ePaper-7.5.
Ambiente di setup
Pudete riferite à e guide per Raspberry Pi: https://www.raspberrypi.org/documentation/pico/getting-started/ Scaricate i codici Demo
Aprite un terminal di Pi è eseguite u cumandimu seguente:
cd ~ sudo wget https://files.waveshare.com/upload/2/27/Pico_ePaper_Code.zip unzip Pico_ePaper_Code.zip -d Pico_ePaper_Code cd ~/Pico_ePaper_Code
Pudete ancu clone i codici da Github.
cd ~ git clone https://github.com/waveshare/Pico_ePaper_Code.git cd ~/Pico_ePaper_Code
Circa l'examples
I guide sò basati nantu à Raspberry Pi. codici C
L'example furnitu hè compatible cù parechji tippi, vi tocca à mudificà u main.c file, sguassate a definizione secondu u tipu attuale di visualizazione chì avete. Per esample, s'è vo avete u Pico-ePaper-2.13, per piacè mudificà u main.c file, uncomment line 18 (o forse hè a linea 19).
Pone u prugettu:
cd ~/Pico_ePaper_Code/c
Crea un cartulare di creazione è aghjunghje u SDK. ../../pico-sdk hè u percorsu predeterminatu di u SDK, se salvate u SDK in altri cartulari, cambiate à u percorsu propiu.
mkdir build cd build export PICO_SDK_PATH=../../pico-sdk
Eseguite u cumandamentu cmake per generà Makefile file.
fà ..
Eseguite u cumandamentu make per compilà i codici.
fà -j9
Dopu a compilazione, u epd.uf2 file hè generatu. Dopu, appughjà è mantene u buttone BOOTSEL nantu à u pianu Pico, cunnette u Pico à u Raspberry Pi cù u cable Micro USB, è liberate u buttone. À questu puntu, u dispusitivu ricunnosce un discu removable (RPI-RP2). Copia u epd.uf2 file appena generatu à u discu removable appena ricunnisciutu (RPI-RP2), Pico riavvia automaticamente u prugramma in esecuzione. Python Prima appughjà è mantene u buttone BOOTSEL nantu à u pianu Pico, aduprate u cable Micro USB per cunnette u Pico à u Raspberry Pi, poi liberate u buttone. À questu puntu, u dispusitivu ricunnosce un discu removable (RPI-RP2). Copia u rp2-pico-20210418-v1.15.uf2 file in u repertoriu python à u discu removable (RPI-RP2) ghjustu identificatu. Aghjurnate l'IDE di Thonny.
sudo apt upgrade thonny
Aprite Thonny IDE (cliccate nantu à u logu Raspberry -> Programming -> Thonny Python IDE ), è selezziunate l'interprete:
Sceglite Strumenti -> Opzioni ... -> Interprete. Selezziunate MicroPython (Raspberry Pi Pico è u portu ttyACM0). Aprite u Pico_ePaper-xxx.py file in Thonny IDE, poi eseguite u script attuale (cliccate u triangulu verde).
C Analisi di codice
Interfaccia Hardware Bottom Imballemu a strata di hardware per portà facilmente à e diverse piattaforme hardware. DEV_Config.c(.h) in u cartulare: Pico_ePaper_CodeclibConfig.
Tipu di dati:
#define UBYTE uint8_t #define UWORD uint16_t #define UDOUBLE uint32_t
Inizializà u modulu è esce:
void DEV_Module_Init (void); void DEV_Module_Exit (void); Nota 1. E funzioni sopra sò aduprate per inizializà a visualizazione o u manicu di uscita.
GPIO Scrive / Lettu:
void DEV_Digital_Write (UWORD Pin, UBYTE Value); UBYTE DEV_Digital_Read (UWORD Pin);
SPI trasmette dati:
void DEV_SPI_WriteByte (Valore UBYTE);
Driver EPD I codici di driver di EPD sò salvati in u cartulare: Pico_ePaper_CodeclibePaper Aprite l'intestazione .h file, pudete verificà tutte e funzioni definite.
Initialize e-Paper, sta funzione hè sempre aduprata à u principiu è dopu à svegliate a visualizazione.
//2.13inch e-Paper, 2.13inch e-Paper V2, 2.13inch e-Paper (D), 2.9inch e-Paper, 2.9inch e-Paper (D) void EPD_xxx_Init (Mode UBYTE); // Mode = 0 aghjurnamentu cumpletu, Mode = 1 aghjurnamentu parziale // Altri tipi void EPD_xxx_Init (void);
xxx deve esse cambiatu da u tipu di e-Paper, Per esempiuample, sè vo aduprate 2.13inch e-Paper (D), per aghjurnà cumplettamente, deve esse EPD_2IN13D_Init(0) è EPD_2IN13D_Init(1) per l'aghjurnamentu parziale;
Clear: sta funzione hè aduprata per sguassà a visualizazione in biancu.
void EPD_xxx_Clear (void);
xxx deve esse cambiatu da u tipu di e-Paper, Per esempiuample, sè vo aduprate 2.9inch ePaper (D), deve esse EPD_2IN9D_Clear ();
Mandate i dati di l'imaghjini (un quadru) à EPD è mostra
// Versione bicolore void EPD_xxx_Display (UBYTE *Image); //Versione tricolore void EPD_xxx_Display (const UBYTE *blackimage, const UBYTE *ryimage);
Ci sò parechji tippi chì sò diffirenti di l'altri
//Aggiornamentu parziale per 2.13inch e-paper (D), 2.9inch e-paper (D) void EPD_2IN13D_DisplayPart (UBYTE * Image); void EPD_2IN9D_DisplayPart (UBYTE * Image);
//Per 2.13inch e-paper V2, avete bisognu di prima aduprà EPD_xxx_DisplayPartBaseImage per vede un fondo staticu è dopu aghjurnà parziale da a funzione EPD_xxx_Dis playPart() void EPD_2IN13_V2_DisplayPart(UBYTE *Image); void EPD_2IN13_V2_DisplayPartBaseImage (UBYTE * Image);
Entra in u modu di sonnu
void EPD_xxx_Sleep (void);
Nota, duvete solu resettà hardware o aduprà a funzione di inizializazione per svegliate ePaper da u modu di dorme xxx hè u tipu di e-Paper, per ex.ample, sè vo aduprate 2.13inch e-Paper D, deve esse EPD_2IN13D_Sleep (). Interfaccia di prugrammazione di l'applicazioni Furnemu funzioni GUI di basa per a prova, cum'è punti di disegnu, linea, stringa, è cusì. A funzione GUI pò esse truvata in u cartulare: RaspberryPi_JetsonNanoclibGUIGUI_Paint.c(.h).
I fonts utilizati ponu esse truvati in u cartulare: RaspberryPi_JetsonNanoclibFonts.
Crea una nova maghjina, pudete stabilisce u nome di l'imaghjini, a larghezza, l'altezza, l'angolo di rotazione è u culore.
void Paint_NewImage(UBYTE *image, UWORD Width, UWORD Height, UWORD Rotate, UWOR D Color) Parametri:
image: Nome di u buffer di l'imaghjini, questu hè un puntatore; Width: Larghezza di l'imaghjini; Altezza: Altezza di l'imaghjini; Rotate: Rotate l'angolo di l'Image; Culore: U culore iniziale di l'imaghjini;
Selezziunà u buffer di l'imaghjini: Pudete creà parechje buffer di l'imaghjini à u stessu tempu è selezziunate quellu certu è disegnà da questa funzione.
void Paint_SelectImage (UBYTE * image) Parametri:
image: U nome di u buffer di l'imaghjini, questu hè un puntatore;
Rotate image: Avete bisognu di stabilisce l'angolo di rotazione di l'imaghjini, sta funzione deve esse usata dopu Paint_SelectImage (). L'angolo pò esse 0, 90, 180 o 270.
void Paint_SetRotate (UWORD Rotate) Parametri:
Rotate: Rotate l'angolo di l'imaghjini, u paràmetru pò esse ROTATE_0, R OTATE_90, ROTATE_180, ROTATE_270.
Nota Dopu a rotazione, u locu di u primu pixel hè diversu, piglià un 1.54-inch
e-paper cum'è example.
Image mirror: Sta funzione hè usata per stabilisce u specchiu di l'imaghjini.
void Paint_SetMirroring (specchi UBYTE) Parametri:
specchiu: tipu Mirror se l'imaghjini, u paràmetru pò esse MIRROR_NONE, MIR ROR_HORIZONTAL, MIRROR_VERTICAL, MIRROR_ORIGIN.
Pone a pusizione è u culore di pixel: Questa hè a funzione basica di GUI, hè utilizata per stabilisce a pusizione è u culore di un pixel in u buffer.
void Paint_SetPixel (UWORD Xpoint, UWORD Ypoint, UWORD Color) Parametri:
Xpoint: U valore di l'assi X di u puntu in u buffer di l'imaghjini Ypoint: U valore di l'assi Y di u puntu in u buffer di l'imaghjini Color: U culore di u puntu
Clear display: Per stabilisce u culore di l'imaghjini, sta funzione sempre esse aduprata per sguassà a visualizazione.
void Paint_Clear (UWORD Color) Parametri:
Culore: U culore di l'imaghjini
Culore di e finestre: Questa funzione hè aduprata per stabilisce u culore di e finestre, hè sempre utilizata per aghjurnà e zone parziali cum'è a visualizazione di un clock.
void Paint_ClearWindows (UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, UWO RD Color) Parametri:
Xpoint: U valore di l'assi X di u puntu di partenza in u buffer di l'imaghjini Ypoint: U valore di l'assi Y di u puntu di partenza in u buffer di l'imaghjini Xend: U valore di l'assi X di u puntu finale in u buffer di l'imaghjini Yend: U Y- valore di l'assi di u puntu finale in u buffer di l'imaghjini Colore: U culore di e finestre
Disegna un puntu: Disegna un puntu à a pusizione X, puntu Y di l'imaghjini
buffer, pudete cunfigurà u culore, a dimensione è u stile.
void Paint_DrawPoint (UWORD Xpoint, UWORD Ypoint, UWORD Color, DOT_PIXEL Dot_Pix
el, DOT_STYLE Dot_Style)
Parametri:
Xpoint: valore di l'assi X di u puntu.
Puntu Y: valore di l'assi Y di u puntu.
Culore: Culore di u puntu
Dot_Pixel: Dimensione di u puntu, 8 dimensioni sò dispunibuli.
typedef enum {
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: Stile di u puntu, definisce u modu allargatu di u puntu.
typedef enum {
DOT_FILL_AROUND = 1,
DOT_FILL_RIGHTUP,
} DOT_STYLE;
Disegna a linea: Disegna una linea da (Xstart, Ystart) à (Xend, Yend) in u buffer di l'imaghjini, pudete cunfigurà u culore, a larghezza è u stile.
void Paint_DrawLine (UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, UWORD C
olor, LINE_STYLE Line_Style , LINE_STYLE Line_Style)
Parametri:
Xstart: Xstart di a linea
Ystart: Ystart di a linea
Xend: Xend di a linea
Yend: Yend di a linea
Culore: Culore di a linea
Line_width: Larghezza di a linea, 8 dimensioni sò dispunibili.
typedef enum {
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: Stile di a linea, Solidu o Punteggiatu.
typedef enum {
LINE_STYLE_SOLID = 0,
LINE_STYLE_DOTTED,
} LINE_STYLE;
Disegna un rettangulu: Disegna un rectangulu da (Xstart, Ystart) à (Xend, Yend), pudete cunfigurà u culore, a larghezza è u stile.
void Paint_DrawRectangle (UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, UW
ORD Color, DOT_PIXEL Line_width, DRAW_FILL Draw_Fill)
Parametri:
Xstart: Xstart di u rectangulu.
Ystart: Ystart di u rectangulu.
Xend: Xend di u rectangulu.
Yend: Yend di u rectangulu.
Culore: Culore di u rectangulu
Line_width: A larghezza di i bordi. 8 dimensioni sò dispunibili.
typedef enum {
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: Stile di u rettangulu, viotu o pienu.
typedef enum {
DRAW_FILL_EMPTY = 0,
DRAW_FILL_FULL,
} DRAW_FILL;
Draw circle: Disegna un cercolu in u buffer di l'imaghjini, utilizate (X_Center Y_Center) cum'è u centru è Radius cum'è u raghju. Pudete cunfigurà u culore, a larghezza di a linea è u stilu di u circhiu.
void Paint_DrawCircle (UWORD X_Center, UWORD Y_Center, UWORD Radius, UWORD Colo
r, DOT_PIXEL Line_width, DRAW_FILL Draw_Fill)
Parametri:
X_Center : assi X di u centru
Y_Center : assi Y di u centru
Radius : Radius of circle
Culore: Culore di u circulu
Line_width: A larghezza di l'arcu, 8 dimensioni sò dispunibili.
typedef enum {
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 : Stile di u circulu : viotu o pienu.
typedef enum {
DRAW_FILL_EMPTY = 0,
DRAW_FILL_FULL,
} DRAW_FILL;
Mostra u caratteru Ascii: Mostra un caratteru in a pusizione (Xstart, Ystart), pudete
cunfigurà u font, u primu pianu è u fondu.
void Paint_DrawChar(UWORD Xstart, UWORD Ystart, const char Ascii_Char, sFONT* F ont, UWORD Color_Foreground, UWORD Color_Background) Parametri:
Xstart: Xstart di u caratteru Ystart: Ystart di u caratteru Ascii_Char: Ascii char Font: cinque fonts sò dispunibuli
font8: 5*8 font12: 7*12 font16: 11*16 font20: 14*20 font24: 17*24 Color_Foreground: culore di primu pianu Color_Background: culore di fondu
Disegna a stringa: Disegna a stringa à (Xstart Ystart), pudete cunfigurà u
fonti, primu pianu è u fondu
void Paint_DrawString_EN(UWORD Xstart, UWORD Ystart, const char * pString, sFON T* Font, UWORD Color_Foreground, UWORD Color_Background) Parametri:
Xstart: Xstart di a stringa Ystart: Ystart di a stringa pString: String Font: cinque fonti sò dispunibili:
font8: 5*8 font12: 7*12 font16: 11*16 font20: 14*20 font24: 17*24 Color_Foreground: culore di primu pianu Color_Background: culore di fondu
Draw Chinese string: Disegna a string Chinese à (Xstart Ystart) di l'imaghjini
buffer. Pudete cunfigurà fonti (GB2312), in primu pianu è in fondu.
void Paint_DrawString_CN(UWORD Xstart, UWORD Ystart, const char * pString, cFON T* font, UWORD Color_Foreground, UWORD Color_Background) Parametri:
Xstart: Xstart di stringa Ystart: Ystart di stringa pString: stringa Font: GB2312 fonts, sò dispunibuli dui fonti
font12CN: ascii 11*21Chinese 16*21 font24CN: ascii 24*41Chinese 32*41 Color_Foreground: Primu pianu Color_Background: Colore di fondo
Draw number: Draw numbers at (Xstart Ystart) di u buffer di l'imaghjini. Poi
sceglite u carattere, u primu pianu è u fondu.
void Paint_DrawNum(UWORD Xpoint, UWORD Ypoint, int32_t Numeru, sFONT* Font, UW ORD Color_Foreground, UWORD Color_Background) Parametri:
Xstart: Xstart di i numeri Ystart: Ystart di i numeri Numeru: numeri affissati. Supporta u tipu int è 2147483647 hè u Font massimu supportatu: Fonts Ascii, cinque fonts sò dispunibili:
font8: 5*8 font12: 7*12 font16: 11*16 font20: 14*20 font24: 17*24 Color_Foreground: primo piano Color_Background: fondo
Tempu di visualizazione: Mostra u tempu à (Xstart Ystart) di u buffer di l'imaghjini, pudete
cunfigurà i caratteri, u primu pianu è u fondu.
Questa funzione hè aduprata per l'aghjurnamentu parziale. Nota chì alcuni di e-Paper ùn sò micca
sustene l'aghjurnamenti parziali è ùn pudete micca aduprà l'aghjurnamenti parziali tuttu u tempu, chì
averà prublemi di fantasmi è distrughjenu a visualizazione.
void Paint_DrawTime (UWORD Xstart, UWORD Ystart, PAINT_TIME *pTime, sFONT* Font, UWORD Color_Background, UWORD Color_Foreground) Parametri:
Xstart: Xstart di u tempu Ystart: Ystart di u tempu pTime: Struttura di u tempu Font: Font Ascii, cinque fonts sò dispunibili
font8: 5*8 font12: 7*12 font16: 11*16 font20: 14*20 font24: 17*24 Color_Foreground: primo piano Color_Background: fondo
Risorsa
Document Schematic 2.9inch e-Paper (B) Specification
Codici Demo
Codici Demo Github link
Software di sviluppu
Thonny Python IDE (Windows V3.3.3) Zimo221.7z Image2Lcd.7z
Pico Quick Start Download Firmware
MicroPython Firmware Download C_Blink Firmware Download Video Tutorial
[Espandi] [Espandi]Pico Tutorial I - Introduzione basica
Pico Tutorial II – GPIO
Pico Tutorial III - PWM
Pico Tutorial IV - ADC
Pico Tutorial V - UART
Pico Tutorial VI - À cuntinuà...
Serie MicroPython
MicroPython machine.Pin Funzione MicroPython machine.PWM Funzione MicroPython machine.ADC Funzione MicroPython machine.UART Funzione MicroPython machine.I2C Funzione MicroPython machine.SPI Funzione MicroPython rp2.StateMachine
Serie C/C++
C/C++ Windows Tutorial 1 - Ambiente Setting C/C++ Windows Tutorial 1 - Crea New Project
Serie Arduino IDE Installa Arduino IDE 1. Scaricate u pacchettu di installazione Arduino IDE da Arduino websitu.
2. Just cliccate nant'à "JUST DOWNLOAD".
3. Clicca à stallà dopu à scaricà.
4. Nota: Vi sarà dumandatu à stallà u driver durante u prucessu di stallazione, pudemu cliccà Installa.
Installa Arduino-Pico Core nantu à l'IDE Arduino 1. Aprite l'IDE Arduino, cliccate nantu File nant'à u cantonu manca è sceglie "Preferenze".
2. Aghjunghjite u ligame seguente in u manager di u cunsigliu di sviluppu supplementu URL, dopu cliccate OK. https://github.com/earlephilhower/arduino-pico/releases/download/globa l/package_rp2040_index.json
Nota: Se avete digià a scheda ESP8266 URL, pudete separà u URLs cù virgule cum'è questu:
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 -> Cerca pico, it shows installed since my computer has already installed it.
Caricate Demo À a Prima Volta
1. Appughjà è tene u buttone BOOTSET nant'à u bordu Pico, cunnette u Pico à u portu USB di l'urdinatore via u cavu Micro USB, è liberate u buttone quandu l'urdinatore ricunnosce un discu duru removable (RPI-RP2).
2. Scaricate a demo, apre a strada arduinoPWMD1-LED sottu u D1LED.ino.
3. Clicca Strumenta -> Port, ricordate u COM esistenti, ùn bisognu di cliccà stu COM (different computers mostra COM differente, ricurdà u COM esistenti nant'à u vostru urdinatore).
4. Cunnette vi u bordu di cunduttore à l'urdinatore cù un cavu USB, dopu cliccate Strumenta -> Ports, selezziunà uf2 Board per a prima cunnessione, è dopu chì u upload hè cumpletu, a cunnessione di novu hà da esse un portu COM supplementu.
5. Cliccate Tool -> Dev Board -> Raspberry Pi Pico/RP2040 -> Raspberry Pi Pico.
6. Dopu à stallà, cliccate nant'à a freccia dritta à upload.
Sè avete scontru prublemi durante u periodu, avete bisognu di reinstallà o rimpiazzà a versione Arduino IDE, disinstallate l'Arduino IDE deve esse disinstallatu in modu pulitu, dopu avè disinstallatu u software, avete bisognu di sguassà manualmente tutti i cuntenuti di u cartulare C: Users [name] AppDataLocalArduino15 (avete bisognu di mostrà u hidden files per vede) è poi reinstallate. Tutorial Pico-W Series (Da cuntinuà ...)
Demo Open Source
Demo MicroPython (GitHub) Demo MicroPython Firmware/Blink Demo (C) Demo Ufficiale Raspberry Pi C/C++ Demo Ufficiale Raspberry Pi MicroPython Demo Arduino Ufficiale C/C++
FAQ
Quistione: Chì ghjè l'ambiente di usu di u screnu di e-ink? Risposta:
Cundizioni di funziunamentu Gamma di temperatura: 0 ~ 50 ° C; Gamma di umidità:
35% ~ 65% RH.
Cundizioni di almacenamentu Gamma di temperatura: sottu à 30 ° C; Gamma di umidità:
sottu 55% RH; Tempu massimu di almacenamiento: 6 mesi.
Cundizioni di trasportu Gamma di temperatura: -25 ~ 70 ° C; Massimu
tempu di trasportu: 10 ghjorni.
Dopu à unpacking Range Temperature: 20 ° C ± 5 ° C; Gamma di umidità:
50±5% RH; Tempu massimu di almacenamento: Assembla in 72 ore.
Quistione: Precauzioni per u rinfrescante di u screnu di e-ink? Risposta:
Modu di rinfrescante Refrescante cumpletu: A schermu di l'inchiostru elettronicu lamperà parechje volte durante u prucessu di rinfrescante (u numeru di flickers dipende da u tempu di rinfrescante), è u flicker hè di caccià l'immagine posteriore per ottene u megliu effettu di visualizazione. Refresh parziale: U screnu di l'inchiostru elettronicu ùn hà micca effettu di sfarfallu durante u prucessu di rinfrescante. L'utilizatori chì utilizanu a funzione di spazzola parziale notanu chì dopu à rinfrescante parechje volte, deve esse realizatu un'operazione di spazzola cumpleta per sguassà l'imaghjini residuali, altrimenti u prublema di l'imaghjini residuali diventerà sempre più seriu, o ancu dannu u screnu (attualmente solu qualchi neru è neru). I schermi bianchi di e-ink supportanu a spazzolatura parziale, per piacè riferite à a descrizzione di a pagina di u produttu).
Frequenza di rinfrescante Durante l'usu, hè cunsigliatu chì i clienti stabiliscenu l'intervallu di rinfrescante di a pantalla di e-ink à almenu 180 seconde (eccettu per i prudutti chì supportanu a funzione di spazzola lucale) Durante u prucessu di standby (vale à dì, dopu l'operazione di rinfrescante), Hè ricumandemu chì u cliente mette a schermu di e-ink à u modu di dorme, o spegne l'operazione (a parte di l'alimentazione di u screnu di l'inchiostro pò esse disconnected with an analog switch) per riduce u cunsumu di energia è allargà a vita di l'e-ink. schermu. (Se certi schermi di e-ink sò alimentati per un bellu pezzu, a schermu serà dannatu fora di riparazione.) Durante l'usu di a schermu di e-ink di trè culori, hè cunsigliatu chì i clienti aghjurnà u screnu almenu una volta ogni volta. 24 ore (se a schermu ferma a stessa schermu per un bellu pezzu, a schermu brusgiatu serà difficiule di riparà).
Scenarii d'utilizazione U screnu e-ink hè cunsigliatu per l'usu interni. Se l'utilizate fora, avete bisognu di evità a luce diretta di u sole nantu à a pantalla di e-ink è piglià misure di prutezzione UV in u stessu tempu. Quandu cuncepisce i prudutti di e-ink screen, i clienti devenu attentu à determinà se l'ambiente d'usu risponde à i requisiti di temperatura è umidità di u screnu e-ink.
Quistione: U Cinese ùn pò micca esse affissatu nantu à a pantalla di e-ink? Risposta: A biblioteca di caratteri chinesi di a nostra rutina usa u metudu di codificazione GB2312, cambiate u vostru xxx_test.c file à u furmatu di codifica GB2312, compile è scaricà lu, è tandu pò esse mustratu nurmalmente.
Quistione: Doppu l'utilizazione per un periudu di tempu, u rinfrescante di u screnu (rinfrescante cumpletu) hà un prublema seriu dopu l'imaghjini chì ùn pò micca esse riparatu? Risposta: Power nantu à u bordu di sviluppu per un bellu pezzu, dopu à ogni operazione di rinfrescante, hè cunsigliatu di mette a schermu in u modu di sonnu o direttamente u prucessu di spegnimentu, altrimenti, u screnu pò brusgià quandu u screnu hè in un altu vol.tagu statu per un bellu pezzu.
Quistione: e-Paper mostra bordu neru? Risposta: U culore di visualizazione di u cunfini pò esse stabilitu attraversu u registru di cuntrollu di a forma d'onda di u cunfini o u registru VCOM AND DATA INTERVAL SETTING.
Quistione: Chì hè a specificazione di l'interfaccia di u cable di u screnu? Risposta: 0.5mm pitch, 24Pin.
In questu casu, u cliente hà bisognu di riduce a pusizione di a spazzola tonda è sguassate u screnu dopu à 5 volte di spazzola (aumentendu u vol.tage di VCOM pò migliurà u culore, ma hà da cresce u afterimage).
Quistione: Dopu chì a pantalla di tinta entra in u modu di sonnu prufondu, pò esse rinfrescata di novu? Risposta: Iè, ma avete bisognu di riinizializà a carta elettronica cù u software.
Quistione: Quandu l'EPD 2.9-inch hè in modu di sonnu profondu, a prima volta chì si sveglia, u rinfrescante di u screnu serà impuru. Cumu possu risolve? Risposta: U prucessu di riattivazione di a schermu e-ink hè in realtà u prucessu di repowering, cusì quandu l'EPD si sveglia, u screnu deve esse sbulicatu prima, per evità u fenomenu afterimage à a maiò parte.
Quistione: I prudutti di u screnu nudu sò spediti cù un revestimentu di superficia? Risposta: cù film.
Quistione: E-Paper hà un sensoru di temperatura integratu? Risposta: Iè, pudete ancu aduprà u sensoru di temperatura LM75 esternu IIC pin.
Quistione: Quandu teste u prugramma, u prugramma si ferma in un e-Paper occupatu? Risposta: Puderà esse causatu da u driver spi senza successu 1. Verificate se u cablaggio hè currettu 2. Verificate se u spi hè attivatu è se i paràmetri sò cunfigurati currettamente (spi baud rate, spi mode, è altri paràmetri).
Quistione: Chì ghjè a freccia di rinfrescante / a vita di sta schermu e-ink? Risposta: Ideale, cù l'usu normale, pò esse rinfriscatu 1,000,000 volte (1 milione di volte).
Supportu
Assistenza tecnica
Sè avete bisognu di supportu tecnicu o avete qualchì feedback / review, per piacè cliccate nantu à u buttone Invia avà per mandà un bigliettu, U nostru squadra di supportu verificarà è risponde à voi in 1 à 2 ghjorni di travagliu. Per piacè siate pazienti cum'è facemu ogni sforzu per aiutà vi risolve u prublema. Tempu di travagliu: 9 AM - 6 AM GMT + 8 (Luni à Venneri)
Mandate avà
Documenti / Risorse
![]() |
Modulu EPD WAVESHARE Pico e-Paper 2.9 B per Raspberry Pi Pico [pdfGuida di l'utente Pico e-Paper 2.9 B Modulu EPD per Raspberry Pi Pico, Pico e-Paper 2.9 B, Modulu EPD per Raspberry Pi Pico, Modulu per Raspberry Pi Pico, per Raspberry Pi Pico, Raspberry Pi Pico, Pi Pico, Pico |