Pico e-Paper 2.9 B EPD Module foar Raspberry Pi Pico

Produkt ynformaasje

Spesifikaasjes

  • Produktnamme: Pico e-Paper 2.9 (B)
  • Brûksomjouwing: Binnen oanrikkemandearre
  • E-Ink Screen Usage Omjouwing:
    • Oanrikkemandearre Relative Feuchte: 35% ~ 65% RH
    • Maksimum opslachtiid: 6 moannen ûnder 55% RH
    • Ferfier Tiid: 10 dagen
  • Skermkabelynterface spesifikaasje: 0.5 mm pitch, 24Pin

Produkt Usage Ynstruksjes

Upload demo by de earste kear

  1. Druk en hâld de BOOTSET knop op it Pico board.
  2. Ferbine de Pico mei de USB-poarte fan 'e kompjûter fia de Micro
    USB-kabel.
  3. Los de knop los as de kompjûter in útnimbere herkent
    hurde skiif (RPI-RP2).
  4. Download de demo en iepenje arduinoPWMD1-LED-paad ûnder de
    D1LED.ino.
  5. Klikje Tools -> Poarte en ûnthâld de besteande COM (ferskillende
    kompjûters litte ferskillende COM, tink de besteande COM op jo
    kompjûter).
  6. Ferbine de bestjoerder board oan 'e kompjûter mei in USB kabel.
  7. Klik Tools -> Ports en selektearje uf2 Board foar de earste
    ferbining.
  8. Nei it uploaden is foltôge, sil it opnij ferbinen resultearje yn
    in ekstra COM haven.
  9. Klik Tool -> Dev Board -> Raspberry Pi Pico/RP2040 ->
    Raspberry Pi Pico.
  10. Klikje nei it ynstellen op de rjochter pylk om te uploaden.
  11. As jo ​​​​problemen tsjinkomme, ynstallearje of ferfange de Arduino IDE opnij
    ferzje.
  12. Om de Arduino IDE te ferwiderjen, wiskje it skjin.
  13. Alle ynhâld fan 'e map manuell wiskje
    C:Users[namme]AppDataLocalArduino15 (jo moatte ferburgen sjen litte
    files om it te sjen).
  14. Ynstallearje de Arduino IDE opnij.

Iepen Boarne Demo

  • MicroPython Demo (GitHub)
  • MicroPython Firmware/Blink Demo (C)
  • Offisjele Raspberry Pi C/C++ Demo
  • Offisjele Raspberry Pi MicroPython Demo
  • Arduino Offisjele C / C ++ Demo

FAQ

Fraach: Wat is de gebrûksomjouwing fan 'e e-ink
skerm?

Antwurd: De rekommandearre relative vochtigheid foar de e-ink skerm
is 35% ~ 65% RH. Foar opslach, it moat wêze ûnder 55% RH, en de
maksimum opslach tiid is 6 moannen. By it ferfier moat it
net mear as 10 dagen.

Fraach: Wat binne de foarsoarchsmaatregels foar e-ink skerm
opfrisse?

Antwurd: It e-ink-skerm wurdt oanrikkemandearre foar gebrûk binnen. As brûkt
outdoors, it moat wurde beskerme tsjin direkte sinneljocht en UV-strielen.
By it ûntwerpen fan produkten mei e-ink skermen, soargje derfoar dat de
temperatuer en vochtigheid easken fan it skerm wurdt foldien.

fraach: Wêrom kin net Sineeske karakters wurde werjûn op de
e-ink skerm?

Antwurd: De Sineeske karakter bibleteek yn ús routine brûkt de
GB2312 kodearring metoade. Om Sineeske karakters wer te jaan, asjebleaft
feroarje jo xxx_test.c file nei it GB2312-kodearringsformaat, kompilearje
en download it.

Fraach: Nei it brûken fan in perioade fan tiid, ferfarskje it skerm
(folsleine ferfarsking) hat in serieus afterimage probleem dat kin net wêze
reparearre?

Antwurd: Nei elke ferfarskingsoperaasje is it oan te rieden om te setten
it skerm nei sliepmodus of it apparaat direkt útskeakelje nei
foarkomme dat it skerm yn in hege voltage steat foar in lange
tiid, dat kin feroarsaakje burn-out.

Fraach: Wêrom lit it e-Paper in swarte râne sjen?

Antwurd: De kleur foar it werjaan fan 'e râne kin ynsteld wurde fia de Border
Waveform Control register of de VCOM EN DATA INTERVAL SETTING
register.

Fraach: Wat is de spesifikaasje fan 'e skermkabel
ynterface?

Antwurd: De skermkabelynterface hat in 0.5mm pitch en 24
pinnen.

Pico e-Paper 2.9 (B)

Oerview

Pico e-Paper 2.9 (B)

2.9inch EPD (elektroanyske papier werjefte) Module Foar Raspberry Pi Pico, 296 × 128 piksels, Swart / Wyt / Red, SPI Interface.
Spesifikaasje

Grutte: 2.9inch Outline ôfmjittings (raw paniel): 79.0mm × 36.7mm × 1.05mm Outline diminsje (driver board): 82.0mm × 38.0mm Display grutte: 66.89mm × 29.05mm Bedriuwsvolumtage: 3.3V/5V Ynterface: SPI Dot pitch: 0.138 × 0.138 Resolúsje: 296 × 128 Displaykleur: Swart, Wyt, Read Grijskala: 2 folsleine ferfarskingstiid: 15s Ferfarskrêft: 26.4mW (typ.) Standbystroom: <0.01 uA (hast gjin) Opmerking:

2.9inch EPD-module foar Raspberry Pi Pico,
296 × 128, Swart / Wyt / Read, SPI

1. Ferfarskje tiid: De ferfarskingstiid is de eksperimintele resultaten, de eigentlike ferfarskingstiid sil flaters hawwe, en it eigentlike effekt sil oerhearskje. D'r sil in flikkerend effekt wêze tidens it globale ferfarskingsproses, dit is in normaal ferskynsel.
2. Stromverbrauch: De gegevens foar enerzjyferbrûk binne de eksperimintele resultaten. It eigentlike enerzjyferbrûk sil in bepaalde flater hawwe fanwege it bestean fan it bestjoeringsboerd en de feitlike gebrûkssituaasje. It eigentlike effekt sil oerhearskje.

SPI Kommunikaasje Timing

Om't it inketskerm allinich werjûn wurde moat, is de gegevenskabel (MISO) ferstjoerd fan 'e masine en ûntfongen troch de host hjir ferburgen.
CS: Slave chip selektearje, doe't CS is leech, de chip is ynskeakele. DC: data / kommando kontrôle pin, skriuw kommando doe't DC = 0; skriuw gegevens as DC = 1. SCLK: SPI kommunikaasje klok. SDIN: SPI kommunikaasje master stjoert, de slaaf ûntfangt. Timing: CPHL=0, CPOL=0 (SPI0)
Remarks Foar spesifike ynformaasje oer SPI, kinne jo sykje foar ynformaasje online. Wurkprotokol
Dit produkt is in apparaat foar e-papier dat de ôfbyldingswerjeftetechnology oannimt fan Microencapsulated Electrophoretic Display, MED. De earste oanpak is om lytse sfearen te meitsjen, wêryn de opladen kleurpigmenten yn 'e transparante oalje wurde ophongen en ôfhinklik fan de elektroanyske lading sille bewege. It E-papier skerm toant patroanen troch it reflektearjen fan it ambient ljocht, dus it hat gjin eftergrûn ljocht eask. (Tink derom dat it e-Paper it bywurkjen net direkt ûnder sinneljocht kin stypje). Hoe piksels definiearje Yn in monochrome ôfbylding definiearje wy de piksels, 0 is swart en 1 is wyt.
Wit: Bit 1
BlackBit 0
De stip yn 'e figuer wurdt in piksel neamd. Lykas wy witte, wurde 1 en 0 brûkt om de kleur te definiearjen, dêrom kinne wy ​​ien bit brûke om de kleur fan ien piksel te definiearjen, en 1 byte = 8pikselsample, As wy de earste 8 piksels op swart sette en de lêste 8 piksels op wyt, litte wy it sjen troch koades, se sille 16-bit wêze lykas hjirûnder:
Foar de kompjûter wurde de gegevens bewarre yn MSB-formaat:
Sa kinne wy ​​twa bytes brûke foar 16 piksels. Foar 2.13inch e-papier B binne de displaykleuren read, swart en wyt. Wy moatte splitst de foto yn 2 plaatsjes, ien is in swart en wyt foto, en in oar is in reade en wyt foto. By it útstjoeren, om't ien register in swarte of wyt piksel kontrolearret, kontrolearret men in Reade of wyt display. It swart-wyt diel fan 2.13 brûkt 1 byte om 8 piksels te kontrolearjen, en it reade en wite diel brûkt 1 byte om 8 piksels te kontrolearjen. Bygelyksample, stel dat der 8 piksels, de earste 4 binne read, en de rêch 4 binne swart: Se moatte wurde útinoar yn in swart en wyt foto en in read en wyt foto. Beide foto's hawwe 8 piksels, mar de earste fjouwer piksels fan 'e swart-wite ôfbylding binne wyt, de lêste 4 piksels binne swart, en de earste 4 piksels fan' e reade en wite ôfbylding Ien piksel is read, en de lêste fjouwer piksels binne wyt .
As jo ​​beskiede dat de gegevens fan 'e wite piksel 1 binne en de swarte 0, dan kinne wy ​​krije:
Sa kinne wy ​​​​1 byte brûke om elke acht piksels te kontrolearjen.

Foarsoarchsmaatregels
1. Foar it skerm dat stipet in part update, nim dan rekken mei dat jo kinne net ferfarskje it skerm mei de parsjele modus de hiele tiid. Nei ferskate parsjele bywurking moatte jo it skerm ien kear folslein ferfarskje. Oars, it skerm werjefte effekt sil wêze abnormaal, dat kin net wurde reparearre!
2. Fanwegen de ferskillende batches hawwe guon fan harren ôfwikingen. Bewarje it e-Paper rjochts nei boppe sil it ferminderje. En as it e-Paper foar in lange tiid net ferfarske waard, wurdt it hieltyd reader/gieler. Brûk asjebleaft de demokoade om it e-paper yn dit gefal ferskate kearen te ferfarskjen.
3. Tink derom dat it skerm kin net oandreaun foar in lange tiid. As it skerm net ferfarske is, set it skerm dan yn 'e sliepmodus, of skeakelje it e-Paper út. Oars, it skerm sil bliuwe yn in hege voltage steat foar in lange tiid, dat sil beskeadigje it e-Paper en kin net wurde reparearre!
4. By it brûken fan it e-Paper is it oan te rieden dat it ferfarsk ynterval op syn minst 180s is, en op syn minst ien kear elke 24 oeren ferfarskje. As it e-Paper foar in lange tiid net brûkt wurdt, moat it inketskerm wurde boarstele en opslein. (Ferwize nei it gegevensblêd foar spesifike easken foar opslachomjouwing)
5. Neidat it skerm komt yn sliep modus, de ferstjoerde ôfbylding gegevens wurde negearre, en it kin wurde ferfarske normaal allinnich nei inisjalisaasje wer.
6. Kontrolearje de 0x3C of 0x50 (ferwize nei de datasheet foar details) registrearje te passen de grins kleur. Yn 'e routine kinne jo it register fan Border Waveform Control of VCOM AND DATA INTERVAL SETTING oanpasse om de grins yn te stellen.
7. As jo ​​fine dat de oanmakke ôfbylding gegevens wurdt werjûn ferkeard op it skerm, is it oan te rieden om te kontrolearjen oft de ôfbylding grutte ynstelling is goed, feroarje de breedte en hichte ynstellings fan de ôfbylding en besykje it nochris.
8. De wurkjende voltage fan it e-Paper is 3.3V. As jo ​​​​it rau paniel keapje en jo moatte in nivo-konvertearkring taheakje foar kompatibiliteit mei 5V voltage. De nije ferzje fan de bestjoerder board (V2.1 en folgjende ferzjes) hat tafoege in nivo ferwurkjen circuit, dat kin stypje sawol 3.3V en 5V wurkomjouwings. De âlde ferzje kin allinich in 3.3V-wurkomjouwing stypje. Jo kinne de ferzje befêstigje foardat jo it brûke. (De iene mei de 20-pin-chip op 'e PCB is oer it algemien de nije ferzje)
9. De FPC kabel fan it skerm is relatyf kwetsber, betelje omtinken oan it bûgen fan de kabel lâns de horizontale rjochting fan it skerm by it brûken fan it, en net bûge de kabel lâns de fertikale rjochting fan it skerm
10. It skerm fan e-Paper is relatyf kwetsber, besykje asjebleaft te foarkommen dat jo falle, stompen en hurd drukke.
11. Wy riede oan dat klanten brûke de sample programma levere troch ús om te testen mei de oerienkommende ûntwikkeling board neidat se krije it skerm.
RPi Pico

Hardware Ferbining

Soargje asjebleaft de rjochting by it ferbinen fan Pico. In logo fan 'e USB-poarte wurdt printe om de map oan te jaan, jo kinne ek de pinnen kontrolearje. As jo ​​​​it board wolle ferbine mei in 8-pins kabel, kinne jo ferwize nei de tabel hjirûnder:

e-Paper Pico

Beskriuwing

VCC VSYS

Power input

GND GND

Grûn

DIN GP11 MOSI pin fan SPI ynterface, gegevens oerdroegen fan Master nei Slave.

CLK GP10

SCK pin fan SPI ynterface, klok input

CS GP9

Chip selektearje pin fan SPI ynterface, Low Active

DC GP8

Gegevens-/kommandokontrôlepin (heech: gegevens; leech: kommando)

RST GP12

Weromsette pin, leech aktyf

DRUKKE GP13

Drokke útfier pin

KEY0 GP2

Brûkerskaai 0

KEY1 GP3

Brûkerskaai 1

RINNE RINNE

Weromsette

Jo kinne gewoan it boerd oan Pico heakje lykas de Pico-ePaper-7.5.

Setup Omjouwing
Jo kinne ferwize nei de hantliedingen foar Raspberry Pi: https://www.raspberrypi.org/documentation/pico/getting-started/ Download Demo koades
Iepenje in terminal fan Pi en fier it folgjende kommando út:
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
Jo kinne ek de koades klone fan Github.
cd ~ git kloon https://github.com/waveshare/Pico_ePaper_Code.git cd ~/Pico_ePaper_Code
Oer de eksamples
De gidsen binne basearre op Raspberry Pi. C koades
De eksample foarsjoen is kompatibel mei ferskate soarten, jo moatte feroarje de main.c file, uncomment de definysje neffens it eigentlike type werjefte dat jo krije. Bygelyksample, as jo de Pico-ePaper-2.13, nim dan wizigje de main.c file, unkommentearje rigel 18 (of miskien is it rigel 19).
Stel it projekt yn:
cd ~/Pico_ePaper_Code/c
Meitsje bouwmap en foegje de SDK ta. ../../pico-sdk is it standertpaad fan de SDK, as jo de SDK opslaan yn oare mappen, feroarje it dan nei it eigentlike paad.
mkdir build cd build eksport PICO_SDK_PATH=../../pico-sdk
Run cmake kommando om Make te generearjenfile file.
cmke..
Laad it kommando make om de koades te kompilearjen.
meitsje j9
Nei it gearstallen is de epd.uf2 file wurdt generearre. Druk dêrnei op en hâld de BOOTSEL-knop op it Pico-boerd, ferbine de Pico mei de Raspberry Pi mei de Micro USB-kabel, en lit de knop los. Op dit punt sil it apparaat in útnimbere skiif (RPI-RP2) werkenne. Kopiearje de epd.uf2 file krekt oanmakke nei de nij erkende útnimbere skiif (RPI-RP2), Pico sil automatysk werstart it rinnende programma. Python Druk earst en hâld de BOOTSEL-knop op it Pico-boerd, brûk de Micro USB-kabel om de Pico te ferbinen mei de Raspberry Pi, lit dan de knop los. Op dit punt sil it apparaat in útnimbere skiif (RPI-RP2) werkenne. Kopiearje de rp2-pico-20210418-v1.15.uf2 file yn 'e python-map nei de útnimbere skiif (RPI-RP2) krekt identifisearre. Update Thonny IDE.
sudo apt upgrade thonny
Iepenje Thonny IDE (klik op it Raspberry-logo -> Programming -> Thonny Python IDE ), en selektearje de tolk:
Selektearje Tools -> Opsjes ... -> Interpreter. Selektearje MicroPython (Raspberry Pi Pico en ttyACM0-poarte). Iepenje de Pico_ePaper-xxx.py file yn Thonny IDE, rinne dan it hjoeddeiske skript (klik op de griene trijehoek).
C Code Analysis
Underste hardware-ynterface Wy ferpakke de hardware-laach foar maklik portearjen nei de ferskate hardware-platfoarms. DEV_Config.c(.h) yn de map: Pico_ePaper_CodeclibConfig.
Gegevenstype:
#define UBYTE uint8_t #define UWORD uint16_t #define UDOUBLE uint32_t
Module inisjalisearje en útgean:
void DEV_Module_Init (void); void DEV_Module_Exit(void); Opmerking 1. De funksjes hjirboppe wurde brûkt om de werjefte of útgongshandtak te inisjalisearjen.
GPIO skriuwe/lêze:
void DEV_Digital_Write(UWORD Pin, UBYTE wearde); UBYTE DEV_Digital_Read(UWORD Pin);
SPI stjoert gegevens oer:
void DEV_SPI_WriteByte(UBYTE-wearde);
EPD stjoerprogramma De stjoerprogramma koades fan EPD wurde bewarre yn de map: Pico_ePaper_CodeclibePaper Iepenje de .h header file, kinne jo kontrolearje alle funksjes definiearre.
Inisjalisearje e-Paper, dizze funksje wurdt altyd brûkt oan it begjin en nei it wekkerjen fan it display.
// 2.13 inch e-Paper, 2.13 inch e-Paper V2, 2.13 inch e-Paper (D), 2.9 inch e-Paper, 2.9 inch e-Paper (D) void EPD_xxx_Init (UBYTE Mode); // Mode = 0 folslein update, Mode = 1 parsjele update e // Oare typen void EPD_xxx_Init (void);
xxx moat wurde feroare troch it type e-Paper, Bygelyksample, as jo brûke 2.13inch e-Paper (D), foar in folslein update, it moat wêze EPD_2IN13D_Init (0) en EPD_2IN13D_Init (1) foar de parsjele update;
Clear: dizze funksje wurdt brûkt om it display nei wyt te wiskjen.
void EPD_xxx_Clear(void);
xxx moat wurde feroare troch it type e-Paper, Bygelyksample, as jo brûke 2.9inch ePaper (D), it moat wêze EPD_2IN9D_Clear ();
Stjoer de ôfbyldingsgegevens (ien frame) nei EPD en werjaan
// Bicolor ferzje void EPD_xxx_Display (UBYTE *Image); // Tricolor ferzje void EPD_xxx_Display (const UBYTE *blackimage, const UBYTE *ryimage);
D'r binne ferskate soarten dy't ferskille fan oaren
// Diellike fernijing foar 2.13inch e-papier (D), 2.9inch e-papier (D) void EPD_2IN13D_DisplayPart (UBYTE *Image); void EPD_2IN9D_DisplayPart(UBYTE *Ofbylding);
// Foar 2.13inch e-papier V2, moatte jo earst useEPD_xxx_DisplayPartBaseImage foar in werjaan in statyske eftergrûn en dan in part update troch de funksje EPD_xxx_Dis playPart () void EPD_2IN13_V2_DisplayPart (UBYTE *Image); void EPD_2IN13_V2_DisplayPartBaseImage(UBYTE *Image);
Slaapmodus yngean
void EPD_xxx_Sleep(void);
Opmerking, jo moatte allinich hardware weromsette of inisjalisearjende funksje brûke om ePaper wekker te meitsjen fan sliepmodus xxx is it type e-Paper, bygelyksample, as jo brûke 2.13inch e-Paper D, it moat wêze EPD_2IN13D_Sleep (). Applikaasje-programmearring-ynterface Wy leverje basis GUI-funksjes foar testen, lykas tekenpunt, line, tekenrige, ensfh. De GUI funksje is te finen yn de map: RaspberryPi_JetsonNanoclibGUIGUI_Paint.c (.h).
De brûkte lettertypen kinne fûn wurde yn de map: RaspberryPi_JetsonNanoclibFonts.
Meitsje in nije ôfbylding, jo kinne de ôfbyldingsnamme, breedte, hichte, draaihoeke en kleur ynstelle.
void Paint_NewImage(UBYTE *ôfbylding, UWORD Width, UWORD Height, UWORD Rotate, UWOR D Color) Parameters:
image: Namme fan de ôfbylding buffer, dit is in oanwizer; Breedte: Breedte fan it byld; Hichte: Hichte fan it byld; Rotearje: Rotearje de hoeke fan 'e ôfbylding; Kleur: De earste kleur fan 'e ôfbylding;
Selektearje ôfbyldingsbuffer: Jo kinne tagelyk meardere ôfbyldingsbuffers oanmeitsje en de bepaalde selektearje en tekenje troch dizze funksje.
void Paint_SelectImage(UBYTE *ôfbylding) Parameters:
image: De namme fan de ôfbylding buffer, dit is in oanwizer;
Rotate image: Jo moatte ynstelle de rotaasje hoeke fan de ôfbylding, dizze funksje moat brûkt wurde nei Paint_SelectImage (). De hoeke kin 0, 90, 180 of 270 wêze.
void Paint_SetRotate(UWORD Rotate) Parameters:
Rotearje: Rotearje de hoeke fan 'e ôfbylding, de parameter kin ROTATE_0, R OTATE_90, ROTATE_180, ROTATE_270 wêze.
Opmerking Nei it rotearjen is it plak fan 'e earste piksel oars, wy nimme in 1.54-inch
e-paper as in eksample.

Ofbyldingsspegel: Dizze funksje wurdt brûkt om de ôfbyldingsspegel yn te stellen.
void Paint_SetMirroring(UBYTE mirror) Parameters:
mirror: Mirror type as de ôfbylding, de parameter kin wêze MIRROR_NONE, MIR ROR_HORIZONTAL, MIRROR_VERTICAL, MIRROR_ORIGIN.

Stel de posysje en kleur fan piksels: Dit is de basisfunksje fan GUI, it wurdt brûkt om de posysje en kleur fan in piksel yn 'e buffer yn te stellen.
void Paint_SetPixel(UWORD Xpoint, UWORD Ypoint, UWORD Color) Parameters:
Xpoint: De X-as wearde fan it punt yn de ôfbylding buffer Ypoint: De Y-as wearde fan it punt yn de ôfbylding buffer Kleur: De kleur fan it punt

Clear display: Om de kleur fan 'e ôfbylding yn te stellen, wurdt dizze funksje altyd brûkt om it display te wiskjen.
void Paint_Clear(UWORD-kleur) parameters:
Kleur: De kleur fan 'e ôfbylding

Kleur fan 'e finsters: Dizze funksje wurdt brûkt om de kleur fan finsters yn te stellen, it wurdt altyd brûkt foar it bywurkjen fan dielgebieten lykas it werjaan fan in klok.

void Paint_ClearWindows(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, UWO RD Color) Parameters:
Xpoint: De X-as wearde fan it begjinpunt yn de ôfbylding buffer Ypoint: De Y-as wearde fan it begjinpunt yn de ôfbylding buffer Xend: De X-as wearde fan it einpunt yn de ôfbylding buffer Yend: De Y- as wearde fan it einpunt yn de ôfbylding buffer Kleur: De kleur fan de finsters

Tekenpunt: tekenje in punt op 'e posysje X-punt, Y-punt fan 'e ôfbylding
buffer, kinne jo de kleur, grutte en styl ynstelle.

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

el, DOT_STYLE Dot_Style)

Parameters:

Xpoint: X-as wearde fan it punt.

Ypoint: Y-as wearde fan it punt.

Kleur: Kleur fan it punt

Dot_Pixel: Grutte fan it punt, 8 maten binne beskikber.

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: Styl fan it punt, definiearje de útwreide modus fan it punt.

typedef enum {

DOT_FILL_AROUND = 1,

DOT_FILL_RIGHTUP,

} DOT_STYLE;

Tekenje de line: tekenje in line fan (Xstart, Ystart) nei (Xend, Yend) yn 'e ôfbyldingsbuffer, jo kinne de kleur, breedte en styl ynstelle.

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

olor, LINE_STYLE Line_Style , LINE_STYLE Line_Style)

Parameters:

Xstart: Xstart fan de line

Ystart: Ystart fan de line

Xend: Xend fan 'e line

Yend: Yend fan 'e line

Kleur: Kleur fan 'e line

Line_width: Breedte fan 'e line, 8 maten binne beskikber.

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: Styl fan 'e line, solid of dotted.

typedef enum {

LINE_STYLE_SOLID = 0,

LINE_STYLE_DOTTED,

} LINE_STYLE;

In rjochthoek tekenje: in rjochthoek tekenje fan (Xstart, Ystart) nei (Xend, Yend), jo kinne de kleur, breedte en styl ynstelle.

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

ORD-kleur, DOT_PIXEL Line_width, DRAW_FILL Draw_Fill)

Parameters:

Xstart: Xstart fan it rjochthoeke.

Ystart: Ystart fan it rjochthoeke.

Xend: Xend fan it rjochthoeke.

Yend: Yend fan it rjochthoeke.

Kleur: Kleur fan it rjochthoeke

Line_width: De breedte fan 'e rânen. 8 maten binne beskikber.

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: Styl fan it rjochthoeke, leech as ynfolle.

typedef enum {

DRAW_FILL_EMPTY = 0,

DRAW_FILL_FULL,

} DRAW_FILL;

Draw sirkel: Teken in sirkel yn de ôfbylding buffer, brûk (X_Center Y_Center) as it sintrum en Radius as de radius. Jo kinne de kleur, breedte fan 'e line en de styl fan' e sirkel ynstelle.

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

r, DOT_PIXEL Line_width, DRAW_FILL Draw_Fill)

Parameters:

X_Center: X-as fan sintrum

Y_Center: Y-as fan sintrum

Radius: Radius fan sirkel

Kleur: Kleur fan 'e sirkel

Line_width: De breedte fan bôge, 8 maten binne beskikber.

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: Styl fan 'e sirkel: leech as fol.

typedef enum {

DRAW_FILL_EMPTY = 0,

DRAW_FILL_FULL,

} DRAW_FILL;

Ascii karakter sjen litte: Lit in karakter sjen yn (Xstart, Ystart) posysje, do kinst
konfigurearje it lettertype, foargrûn en eftergrûn.
void Paint_DrawChar(UWORD Xstart, UWORD Ystart, const char Ascii_Char, sFONT* F ont, UWORD Color_Foreground, UWORD Color_Background) Parameters:
Xstart: Xstart fan it karakter Ystart: Ystart fan it karakter Ascii_Char: Ascii char Lettertype: fiif lettertypen binne beskikber
lettertype8: 5*8 lettertype12: 7*12 lettertype16: 11*16 lettertype20: 14*20 lettertype24: 17*24 Color_Foargrûn: foargrûnkleur Color_Background: eftergrûnkleur

Tekenje de tekenrige: Tekenje de tekenrige by (Xstart Ystart), kinne jo ynstelle de
lettertypen, foargrûn en de eftergrûn
void Paint_DrawString_EN(UWORD Xstart, UWORD Ystart, const char * pString, sFON T* Font, UWORD Color_Foreground, UWORD Color_Background) Parameters:
Xstart: Xstart fan de tekenrige Ystart: Ystart fan de tekenrige pString: String Lettertype: fiif lettertypen binne beskikber:
lettertype8: 5*8 lettertype12: 7*12 lettertype16: 11*16 lettertype20: 14*20 lettertype24: 17*24 Color_Foargrûn: foargrûnkleur Color_Background: eftergrûnkleur

Sineeske tekenrige tekenje: Tekenje de Sineeske tekenrige by (Xstart Ystart) fan de ôfbylding
buffer. Jo kinne lettertypen (GB2312), foargrûn en eftergrûn ynstelle.
void Paint_DrawString_CN(UWORD Xstart, UWORD Ystart, const char * pString, cFON T* lettertype, UWORD Color_Foreground, UWORD Color_Background) Parameters:
Xstart: Xstart fan string Ystart: Ystart fan string pString: string Lettertype: GB2312 lettertypen, twa lettertypen binne beskikber
lettertype12CN: ascii 11*21Sineesk 16*21 lettertype24CN: ascii 24*41Sineesk 32*41 Kleur_Foargrûn: Foargrûnkleur Color_Background: Eftergrûnkleur

Draw number: Teken nûmers by (Xstart Ystart) fan de ôfbylding buffer. Do kinst
selektearje lettertype, foargrûn en eftergrûn.
void Paint_DrawNum(UWORD Xpoint, UWORD Ypoint, int32_t Nummer, sFONT* Font, UW ORD Color_Foreground, UWORD Color_Background) Parameters:
Xstart: Xstart fan nûmers Ystart: Ystart fan nûmers Nûmer: nûmers werjûn. It stipet int-type en 2147483647 is it maksimum stipe lettertype: Ascii-lettertypen, fiif lettertypen binne beskikber:
lettertype8: 5*8 lettertype12: 7*12 lettertype16: 11*16 lettertype20: 14*20 lettertype24: 17*24 Kleur_foargrûn: foargrûn Kleur_eftergrûn: eftergrûn

Display tiid: Display tiid by (Xstart Ystart) fan de ôfbylding buffer, do kinst
konfigurearje lettertypen, foargrûn en eftergrûn.
Dizze funksje wurdt brûkt foar in part bywurkje. Tink derom dat guon fan 'e e-Paper dat net dogge
stypje parsjele updates en do kinst net brûke in part updates hiele tiid, hokker
sil hawwe spoeken problemen en ferneatigje it display.
void Paint_DrawTime(UWORD Xstart, UWORD Ystart, PAINT_TIME *pTime, sFONT* Font, UWORD Color_Background, UWORD Color_Foreground) Parameters:
Xstart: Xstart fan tiid Ystart: Ystart fan tiid pTiid: Struktuer fan tiid Lettertype: Ascii lettertype, fiif lettertypen binne beskikber
lettertype8: 5*8 lettertype12: 7*12 lettertype16: 11*16 lettertype20: 14*20 lettertype24: 17*24 Kleur_foargrûn: foargrûn Kleur_eftergrûn: eftergrûn

Helpmiddel

Document Schematic 2.9inch e-Paper (B) Spesifikaasje

Demo koades

Demo koades Github keppeling

Untwikkeling Software

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

[Utwreidzje] [Utwreidzje]

Pico Tutorial I - Basisyntroduksje
Pico Tutorial II - GPIO
Pico Tutorial III - PWM
Pico Tutorial IV - ADC
Pico Tutorial V - UART
Pico Tutorial VI - Troch te gean ...
MicroPython Series
MicroPython machine.Pin Funksje MicroPython machine.PWM Funksje MicroPython machine.ADC Funksje MicroPython machine.UART Funksje MicroPython machine.I2C Funksje MicroPython machine.SPI Funksje MicroPython rp2.StateMachine

[Utwreidzje] [Utwreidzje] [Utwreidzje] [Utwreidzje] [Utwreidzje]

C/C++ Searje
C/C++ Windows Tutorial 1 – Omjouwingsynstelling C/C++ Windows Tutorial 1 – Nij projekt oanmeitsje

Arduino IDE Series Ynstallearje Arduino IDE 1. Download it Arduino IDE-ynstallaasjepakket fan Arduino website.

2. Klik gewoan op "JUST DOWNLOAD".

3. Klik om te ynstallearjen nei it ynladen.
4. Opmerking: Jo wurde frege om de bestjoerder te ynstallearjen by it ynstallaasjeproses, wy kinne klikke Ynstallearje.
Ynstallearje Arduino-Pico Core op Arduino IDE 1. Iepenje Arduino IDE, klik op de File op de linker hoeke en kies "Foarkar".
2. Foegje de folgjende keppeling ta yn de ekstra ûntwikkeling board manager URL, klik dan op OK. https://github.com/earlephilhower/arduino-pico/releases/download/globa l/package_rp2040_index.json
Opmerking: As jo ​​​​al it ESP8266-boerd hawwe URL, kinne jo skiede de URLs mei komma's lykas dit:
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 -> Sykje nei pico, it lit sjen dat it ynstalleare is, om't myn kompjûter it al ynstalleare hat.

Upload demo by de earste kear
1. Druk en hâld de BOOTSET knop op it Pico board, ferbine de Pico oan de USB haven fan de kompjûter fia de Micro USB kabel, en loslitte de knop as de kompjûter werkent in útnimbere hurde skiif (RPI-RP2).

2. Download de demo, iepen arduinoPWMD1-LED paad ûnder de D1LED.ino.
3. Klik Tools -> Poarte, tink oan de besteande COM, net nedich te klikken op dizze COM (ferskillende kompjûters litte ferskillende COM, tink de besteande COM op jo kompjûter).

4. Ferbine de bestjoerder board oan 'e kompjûter mei in USB kabel, klik dan op Tools -> Ports, selektearje uf2 Board foar de earste ferbining, en neidat de upload is foltôge, ferbining opnij sil resultearje yn in ekstra COM haven.

5. Klik Tool -> Dev Board -> Raspberry Pi Pico/RP2040 -> Raspberry Pi Pico.

6. Nei it ynstellen, klikje op de rjochter pylk om te uploaden.
As jo ​​​​problemen yn 'e perioade tsjinkomme, moatte jo de Arduino IDE-ferzje opnij ynstallearje of ferfange, de Arduino IDE moat skjin wurde de-ynstalleare, nei it deinstallearjen fan de software moatte jo alle ynhâld fan' e map C: Brûkers [namme] manuell wiskje. AppDataLocalArduino15 (jo moatte de ferburgen files om it te sjen) en dan opnij ynstalleare. Pico-W Series Tutorial (Wurd trochset ...)
Iepen Boarne Demo
MicroPython Demo (GitHub) MicroPython Firmware/Blink Demo (C) Official Raspberry Pi C/C++ Demo Official Raspberry Pi MicroPython Demo Arduino Official C/C++ Demo
FAQ
Fraach: Wat is de gebrûksomjouwing fan it e-ink-skerm? Antwurd:
Bedriuwsbetingsten Temperatuer berik: 0 ~ 50 ° C; Feuchte berik:
35% ~ 65% RH.
Opslach betingsten Temperatuer berik: ûnder 30 ° C; Feuchte berik:
ûnder 55% RH; Maksimum opslach tiid: 6 moannen.
Transportbetingsten Temperatuerberik: -25~70°C; Maksimum
ferfier tiid: 10 dagen.
Nei it útpakken temperatuer berik: 20 ° C ± 5 ° C; Feuchte berik:
50±5%RH; Maksimum opslachtiid: Sammelje binnen 72 oeren.
Fraach: Foarsoarchsmaatregels foar it ferfarskje fan e-ink-skerm? Antwurd:
Ferfarskje modus Folsleine ferfarsking: it skerm mei elektroanyske inket sil ferskate kearen flikkerje tidens it ferfarsingsproses (it oantal flikkeringen hinget ôf fan 'e ferfarskingstiid), en it flikkerjen is om it neibyld te ferwiderjen om it bêste werjaaneffekt te berikken. Diellike ferfarsking: it skerm mei elektroanyske inket hat gjin flikkerend effekt tidens it ferfarsingsproses. Brûkers dy't de funksje foar dielen fan poetsen brûke, merken op dat nei it ferfarskjen fan ferskate kearen in folsleine boarsteloperaasje moat wurde útfierd om it oerbliuwende byld te ferwiderjen, oars sil it probleem fan 'e oerbleaune ôfbylding hieltyd serieuzer wurde, of sels it skerm beskeadige (op it stuit allinich wat swart en wite e-ink-skermen stypje foar in part poetsen, ferwize asjebleaft nei produktsidebeskriuwing).
Ferfarskingsfrekwinsje Tidens gebrûk wurdt it oanrikkemandearre dat klanten it ferfarskingsynterval fan it e-ink-skerm op syn minst 180 sekonden ynstelle (útsein produkten dy't de lokale borstelfunksje stypje) Tidens it standbyproses (dat is, nei de ferfarskingsoperaasje), it is oan te rieden dat de klant it e-ink-skerm yn 'e sliepmodus sette, of de operaasje útskeakelje (it diel fan' e stroomfoarsjenning fan it inketskerm kin loskeppele wurde mei in analoge switch) om enerzjyferbrûk te ferminderjen en it libben fan 'e e-ink te ferlingjen skerm. (As guon e-ink skermen wurde oandreaun foar in lange tiid, it skerm wurdt skansearre sûnder reparaasje.) Tidens it brûken fan de trije-kleur e-ink skerm, is it oan te rieden dat klanten bywurkje it display skerm op syn minst ien kear elke 24 oeren (as it skerm bliuwt itselde skerm foar in lange tiid, it skerm burn sil wêze lestich te reparearjen).
Gebrûksscenario's It e-ink-skerm wurdt oanrikkemandearre foar gebrûk binnen. As jo ​​​​it bûten brûke, moatte jo direkte sinneljocht op it e-ink-skerm foarkomme en tagelyk UV-beskermingsmaatregels nimme. By it ûntwerpen fan eink-skermprodukten moatte klanten omtinken jaan oan it bepalen oft de gebrûksomjouwing foldocht oan de temperatuer- en vochtigheidseasken fan it e-ink-skerm.
Fraach: Sineesk kin net werjûn wurde op it e-ink-skerm? Antwurd: De Sineeske karakterbibleteek fan ús routine brûkt de GB2312-kodearringmetoade, feroarje asjebleaft jo xxx_test.c file to GB2312 kodearring opmaak, kompilearje en download it, en dan kin wurde werjûn normaal.
Fraach: Nei it gebrûk fan in perioade fan tiid, hat de skermferfarsking (folsleine ferfarsking) in serieus efterôfbyldprobleem dat net kin wurde reparearre? Antwurd: Strom op it ûntwikkelingsboerd foar in lange tiid, nei elke ferfarskingsoperaasje, is it oan te rieden om it skerm yn te setten yn 'e sliepmodus of de ferwurking direkt út te skeakeljen, oars kin it skerm útbaarne as it skerm yn in hege volum istage steat foar in lange tiid.
Fraach: e-Paper toant swarte râne? Antwurd: De kleur fan 'e grinsdisplay kin ynsteld wurde fia it register fan Border Waveform Control of it register VCOM EN DATA INTERVAL SETTING.
Fraach: Wat is de spesifikaasje fan 'e skermkabelynterface? Antwurd: 0.5mm pitch, 24Pin.
Yn dit gefal moat de klant de posysje fan 'e rûne boarstel ferminderje en it skerm wiskje nei 5 rondes fan poetsen (ferheging fan it volum)tage fan VCOM kin ferbetterje de kleur, mar it sil tanimme de afterimage).
Fraach: kin it wer ferfarske wurde neidat it inketskerm yn djippe sliepmodus komt? antwurdzje: Ja, mar jo moatte opnij inisjalisearje de elektroanyske papier mei software.
Fraach: As de 2.9-inch EPD yn djippe sliepmodus is, de earste kear dat it wekker wurdt, sil it skermferfarsking ûnrein wêze. Hoe kin ik it oplosse? Antwurd: It proses fan it opnij wekkerjen fan it e-ink-skerm is eins it proses fan it opnij oanmeitsjen, dus as de EPD wekker wurdt, moat it skerm earst wiske wurde, om it ferskynsel nei de ôfbylding yn 'e grutste mjitte te foarkommen.
Fraach: Binne bleate skermprodukten ferstjoerd mei in oerflakcoating? Antwurd: mei film.
Fraach: Hat e-Paper in ynboude temperatuersensor? Antwurd: Ja, jo kinne ek de IIC pin eksterne LM75 temperatuer sensor brûke.
Fraach: By it testen fan it programma bliuwt it programma fêst op in e-Paper dwaande? antwurdzje: It kin wurde feroarsake troch de mislearre spi bestjoerder 1. Kontrolearje oft de bedrading is korrekt 2. Kontrolearje oft de spi is ynskeakele en oft de parameters binne ynsteld goed (spi baud rate, spi modus, en oare parameters).
Fraach: Wat is de ferfarskingsfrekwinsje/libbenslange fan dit e-ink-skerm? Antwurd: By normaal gebrûk kin it ideaal 1,000,000 kear (1 miljoen kear) wurde ferfarske.
Stypje

Technyske stipe
As jo ​​nedich technyske stipe of hawwe gjin feedback / review, klikje asjebleaft de knop No yntsjinje om in kaartsje yn te tsjinjen, Us stipeteam sil jo binnen 1 oant 2 wurkdagen kontrolearje en antwurdzje. Wês asjebleaft geduld, om't wy alles dogge om jo te helpen it probleem op te lossen. Wurktiid: 9 AM - 6 AM GMT + 8 (moandei oant freed)

No yntsjinje

Dokuminten / Resources

WAVESHARE Pico e-Paper 2.9 B EPD-module foar Raspberry Pi Pico [pdf] Brûkersgids
Pico e-Paper 2.9 B EPD-module foar Raspberry Pi Pico, Pico e-Paper 2.9 B, EPD-module foar Raspberry Pi Pico, Module foar Raspberry Pi Pico, foar Raspberry Pi Pico, Raspberry Pi Pico, Pi Pico, Pico

Referinsjes

Lit in reaksje efter

Jo e-mailadres sil net publisearre wurde. Ferplichte fjilden binne markearre *