Pico e-Paper 2.9 B Modula EPD ji bo Raspberry Pi Pico

Agahiya hilberê

Specifications

  • Navê Hilberê: Pico e-Paper 2.9 (B)
  • Jîngeha Bikaranînê: Navxweyî tê pêşniyar kirin
  • Jîngeha Bikaranîna Ekrana E-Ink:
    • Nermiya Relatîf Pêşniyar: 35%~65%RH
    • Dema hilanînê ya herî zêde: 6 meh li jêr 55% RH
    • Dema veguhestinê: 10 roj
  • Specification Interface Cable Screen: 0.5mm pitch, 24Pin

Talîmatên Bikaranîna Product

Di Yekem Carê de Demo Barkirin

  1. Bişkojka BOOTSET li ser panela Pico bikirtînin û bigirin.
  2. Pico bi porta USB ya komputerê ve bi Micro ve girêdin
    Kabloya USB.
  3. Dema ku kompîtur jêvekêşek nas dike, bişkojkê berdin
    dîska hişk (RPI-RP2).
  4. Demo dakêşin û rêça arduinoPWMD1-LED di bin de vekin
    D1LED.ino.
  5. Bikirtînin Tools -> Port û COM-ya heyî (cuda
    komputer COM-ya cûda nîşan didin, COM-ya heyî ya li ser xwe bi bîr bînin
    komûter).
  6. Bi kabloyek USB-ê panela ajokerê bi komputerê ve girêdin.
  7. Bikirtînin Tools -> Ports û ji bo yekem Desteya uf2 hilbijêrin
    têkêlî.
  8. Piştî ku barkirin qediya, dê dîsa girêdan encam bide
    portek COM-ê ya zêde.
  9. Bikirtînin Amûr -> Dev Board -> Raspberry Pi Pico/RP2040 ->
    Raspberry Pi Pico.
  10. Piştî sazkirinê, ji bo barkirinê tîra rastê bikirtînin.
  11. Ger hûn bi pirsgirêkan re rû bi rû bimînin, Arduino IDE ji nû ve saz bikin an biguhezînin
    awa.
  12. Ji bo rakirina Arduino IDE, wê bi paqijî rakin.
  13. Hemî naveroka peldankê bi destan jêbirin
    C: Bikarhêner[nav] AppDataLocalArduino15 (hûn hewce ne ku veşartî nîşan bidin
    filedîtina wê).
  14. Arduino IDE ji nû ve saz bikin.

Demo Çavkaniya Vekirî

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

FAQ

Pirs: Jîngeha karanîna e-ink çi ye?
şemsî?

Bersiv: Ji bo dîmendera e-ink nermbûna têkildar a pêşniyarkirî
35% ~ 65% RH ye. Ji bo hilanînê, divê ew li jêr 55% RH be, û ya
dema hilanînê ya herî zêde 6 meh e. Di dema veguhastinê de, divê
ji 10 rojan zêdetir nabe.

Pirs: Tedbîrên ji bo ekrana e-ink çi ne
hênikkirin?

Bersiv: Ekrana e-ink ji bo karanîna hundurîn tê pêşniyar kirin. Ger tê bikaranîn
li derve, divê ew ji tîrêjên tava rasterast û tîrêjên UV were parastin.
Dema ku hilberên bi ekranên e-ink sêwirînin, pê ewle bin ku
hewcedariyên germahî û nermiyê yên ekranê têne bicîh kirin.

Pirs: Çima tîpên Çînî li ser nayên nîşandan
ekrana e-ink?

Bersiv: Pirtûkxaneya tîpên çînî di rûtîniya me de bikar tîne
Rêbaza kodkirina GB2312. Ji kerema xwe re tîpên Çînî nîşan bidin
xxx_test.c xwe biguherîne file bi formata kodkirina GB2312, berhev bikin
û dakêşin.

Pirs: Piştî ku ji bo demek bikar anîn, dîmender nûve dike
(tevahî nûvekirin) pirsgirêkek ciddî ya piştî wêneyê heye ku nabe
tamîr kirin?

Bersiv: Piştî her operasyona nûvekirinê, tê pêşniyar kirin ku were danîn
ekran di moda xewê de an rasterast amûrê jêbirin
pêşî lê bigire ku ekran di dengek bilind de betage dewlet ji bo demeke dirêj
dem, ku dibe sedema şewitandinê.

Pirs: Çima e-Paper sînorê reş nîşan dide?

Bersiv: Rengê nîşana sînor dikare bi Sînor were danîn
Tomara Kontrola Waveformê an jî MÎSA NAVBERA VCOM Û DATA
fêhrist.

Pirs: Taybetmendiya kabloya ekranê çi ye?
interface?

Bersiv: Têkiliya kabloya ekranê 0.5mm piçek û 24 heye
pinî.

Pico e-Paper 2.9 (B)

Serview

Pico e-Paper 2.9 (B)

Modula 2.9inch EPD (Nişandana Kaxeza Elektronîkî) Ji bo Raspberry Pi Pico, 296 × 128 Pixel, Reş / Spî / Sor, Navbera SPI.
Specification

Mezinahî: 2.9 inç Pîvanên xêzkirinê (panela xav): 79.0 mm × 36.7 mm × 1.05 mm Pîvana pêşangehê (desteya ajokar): 82.0 mm × 38.0 mm Mezinahiya dîmenê: 66.89 mm × 29.05 mm Vola xebitandinêtage: Navbera 3.3V/5V: Pişka xala SPI: 0.138 × 0.138 Çareserkirin: 296 × 128 Rengê nîşandanê: Reş, Spî, Sor Pîvana gewr: 2 Dema nûvekirinê ya tevahî: 15s Hêza nûvekirinê: 26.4mW (tîp.) Nihaya rawestanê: <0.01. uA (hema tune) Nîşe:

Modula EPD ya 2.9 inç ji bo Raspberry Pi Pico,
296 × 128, Reş / Spî / Sor, SPI

1. Dema nûvekirinê: Dema nûvekirinê encamên ceribandinê ye, dema nûvekirina rastîn dê xeletî hebe, û bandora rastîn dê serwer bibe. Di pêvajoya nûvekirina gerdûnî de dê bandorek tîrêjê hebe, ev fenomenek normal e.
2. Xerca hêzê: Daneyên xerckirina hêzê encamên ceribandinê ne. Xerca rastîn a hêzê dê ji ber hebûna panelê ajotinê û rewşa karanîna rastîn xwedî xeletiyek diyar be. Bandora rastîn dê bi ser bikeve.

Demjimêra Ragihandina SPI

Ji ber ku tenê pêdivî ye ku dîmendera ink were xuyang kirin, kabloya daneyê (MISO) ku ji makîneyê hatî şandin û ji hêla mêvandar ve hatî wergirtin li vir veşartî ye.
CS: Hilbijartina çîpê xulamê, dema ku CS kêm be, çîp tê çalak kirin. DC: Pîneya kontrolê ya dane/ferman, dema DC=0 fermanê binivîse; dema DC=1 daneyan binivîse. SCLK: Saeta ragihandinê ya SPI. SDIN: Serwerê ragihandinê yê SPI dişîne, xulam distîne. Demjimêr: CPHL=0, CPOL=0 (SPI0)
Nîşan Ji bo agahdariya taybetî ya di derbarê SPI de, hûn dikarin li agahdariya serhêl bigerin. Protokola Xebatê
Ev hilber amûrek E-kaxezê ye ku teknolojiya pêşandana wêneyê ya Nîşandana Elektroforetîk a Microencapsulated, MED qebûl dike. Nêzîkatiya destpêkê ev e ku meriv qadên piçûk biafirîne, ku tê de pîgmentên rengîn ên barkirî di rûnê zelal de têne sekinandin û dê li gorî dravê elektronîkî tevbigerin. Ekrana E-kaxezê bi ronîkirina ronahiya hawîrdorê nîgaran nîşan dide, ji ber vê yekê ew hewcedariya ronahiya paşîn tune. (Bêbînî ku e-Paper nikare rasterast di bin tîrêja rojê de nûvekirina piştgirî bike). Meriv çawa pîxelan pênase dike Di wêneyek monokromê de em pîxelan diyar dikin, 0 reş û 1 spî ye.
Spî: Bit 1
BlackBit 0
Ji xala di wêneyê de pixel tê gotin. Wekî ku em dizanin, 1 û 0 ji bo danasîna rengan têne bikar anîn, ji ber vê yekê em dikarin yek bit bikar bînin da ku rengê yek pixel diyar bikin, û 1 byte = 8 pixel Ji bo berê.ample, Ger em 8 pîxelên pêşîn li ser reş û 8 pîxelên dawîn jî bikin spî, em wê bi kodan nîşan bidin, ew ê wekî jêrîn 16-bit bin:
Ji bo komputerê, daneyên di forma MSB de têne tomar kirin:
Ji ber vê yekê em dikarin ji bo 16 pixelan du byte bikar bînin. Ji bo e-kaxeza 2.13 înç B, rengên xuyangê sor, reş û spî ne. Pêdivî ye ku em wêneyê bikin 2 wêne, yek wêneyek reş û spî ye, ya din jî wêneyek sor û spî ye. Dema ku veguhezîne, ji ber ku qeydek pixelek reş an spî kontrol dike, yek dîmenek Sor an spî kontrol dike. Beşa reş û spî ya 2.13 ji bo kontrolkirina 1 pixel 8 byte bikar tîne, û beşa sor û spî ji bo kontrolkirina 1 pixel 8 byte bikar tîne. Ji bo exampLe, bihesibînin ku 8 pixel hene, 4 yekem sor in, û 4 paş reş in: Pêdivî ye ku ew di wêneyek reş û spî û wêneyek sor û spî de werin veqetandin. Her du wêne xwedî 8 pixel in, lê çar pîxelên yekem ên wêneyê reş û spî spî ne, 4 pîxelên dawîn reş in, û 4 pîxelên yekem ên wêneya sor û spî Yek pixel sor e, û çar pikselên dawî spî ne. .
Ger hûn diyar bikin ku daneyên pîxela spî 1 û ya reş 0 e, wê hingê em dikarin bistînin:
Ji ber vê yekê em dikarin 1 byte bikar bînin da ku her heşt pixel kontrol bikin.

Tewdîr
1. Ji bo dîmendera ku nûvekirina qismî piştgirî dike, ji kerema xwe bala xwe bidin ku hûn nikarin her dem bi moda qismî dîmenderê nû bikin. Piştî çend nûvekirinên qismî, hûn hewce ne ku yek carî ekranê bi tevahî nûve bikin. Wekî din, bandora nîşana ekranê dê ne normal be, ku nayê tamîr kirin!
2. Ji ber ku komên cuda, hinek ji wan aberrations. E-Paper aliyê rastê li jor hilînin dê wê kêm bike. Û eger e-Pêxe ji bo demek dirêj neyê nûkirin, ew ê her ku diçe sor/zer bibe. Ji kerema xwe koda demo-yê bikar bînin ku di vê rewşê de e-kaxezê çend caran nûve bikin.
3. Bala xwe bidinê ku ekran ji bo demek dirêj nayê hêz kirin. Dema ku ekran neyê nûve kirin, ji kerema xwe ekranê li ser moda xewê bicîh bikin, an jî e-Paperê qut bikin. Wekî din, ekran dê di dengek bilind de bimînetagdewletek ji bo demek dirêj, ku dê zirarê bide e-Paper û nayê tamîr kirin!
4. Dema ku e-Paper bikar tînin, tê pêşniyar kirin ku navbera nûvekirinê herî kêm 180s be, û herî kêm her 24 demjimêran carekê nûve bike. Ger e-Paper ji bo demek dirêj neyê bikar anîn, divê dîmendera ink were firçe kirin û hilanîn. (Ji bo hewcedariyên hawîrdora hilanînê ya taybetî serî li danezanê bidin)
5. Piştî ku ekran têkeve moda xewê, dê daneyên wêneya hatî şandin paşguh bibe, û tenê piştî destpêkirina nûvekirinê dikare bi gelemperî were nûve kirin.
6. Tomarkirina 0x3C an 0x50 (ji bo hûragahiyan li pelgeya daneyê binihêrin) kontrol bikin da ku rengê sînor rast bikin. Di rûtîn de, hûn dikarin qeyda Kontrola Pêla Sînor an SETTINGA NAVBERA VCOM Û DATAyê eyar bikin da ku sînor bicîh bikin.
7. Ger hûn bibînin ku daneya wêneya hatî afirandin bi xeletî li ser ekranê têne xuyang kirin, tê pêşniyar kirin ku hûn kontrol bikin ka mîhenga mezinahiya wêneyê rast e, mîhengên firehî û bilindahiya wêneyê biguhezînin û dîsa biceribînin.
8. The work voltage-paper 3.3V e. Heke hûn panela xav bikirin û hûn hewce ne ku ji bo lihevhatina bi volga 5V re qarekterek veguherîna astê lê zêde bikintage. Guhertoya nû ya panela ajokerê (V2.1 û guhertoyên paşîn) pêvek pêvajoyek astê lê zêde kiriye, ku dikare hem hawirdorên xebatê 3.3V û hem jî 5V piştgirî bike. Guhertoya kevn tenê dikare hawîrdorek xebatê 3.3V piştgirî bike. Berî ku hûn bikar bînin, hûn dikarin guhertoyê piştrast bikin. (Ya ku çîpê 20-pin li ser PCB-ê heye bi gelemperî guhertoya nû ye)
9. Kabloya FPC ya ekranê bi nisbeten şikestî ye, dema ku hûn bikar tînin bala xwe bidin kabloyê li ser rêça horizontî ya dîmenderê qut bikin, û kabloyê li ser rêça vertîkal a ekranê nexin
10. Ekrana e-Paper nisbeten şikestî ye, ji kerema xwe hewl bidin ku xwe ji xwarê, hejandinê, û zorê zextê dûr bixin.
11. Em pêşniyar dikin ku mişteriyên bi kar sampbernameya le ku ji hêla me ve hatî peyda kirin ku piştî ku ew dîmenderê bistînin bi panela pêşkeftinê ya têkildar re ceribandin.
RPi Pico

Girêdana Hardware

Ji kerema xwe gava ku Pico ve girêdidin bala xwe bidin rê. Logoyek porta USB-ê tê çap kirin ku pelrêçê nîşan bide, hûn dikarin pîneyan jî kontrol bikin. Heke hûn dixwazin panelê bi kabloyek 8-pin ve girêdin, hûn dikarin li tabloya jêrîn binihêrin:

e-Paper Pico

Terîf

VCC VSYS

Input Power

GND GND

Erd

DIN GP11 MOSI pina pêwendiya SPI, daneya ku ji Master bo Slave ve hatî şandin.

CLK GP10

Pîneya SCK-ê ya pêwendiya SPI, têketina demjimêrê

CS GP9

Pîneya hilbijartî ya çîpê ya navbeynkariya SPI, Low Active

DC GP8

Pîneya kontrolê ya dane/ferman (Bal: Dane; Kêm: Ferman)

RST GP12

Pîneya vesazkirinê, kêm çalak

BUSY GP13

Pîneya hilanînê mijûl

KEY0 GP2

Bişkojka bikarhêner 0

KEY1 GP3

Bişkojka bikarhêner 1

RUN RUN

Reset

Hûn dikarin tenê panelê mîna Pico-ePaper-7.5 bi Pico ve girêdin.

Environment Setup
Hûn dikarin rêbernameyên ji bo Raspberry Pi binihêrin: https://www.raspberrypi.org/documentation/pico/getting-started/ Kodên Demo dakêşin
Termînalek Pi vekin û emrê jêrîn bimeşînin:
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
Her weha hûn dikarin kodên ji Github klon bikin.
cd ~ git clone https://github.com/waveshare/Pico_ePaper_Code.git cd ~/Pico_ePaper_Code
Der barê examples
Rêber li ser Raspberry Pi têne çêkirin. Kodên C
The example pêşkêşkirî bi çend cureyan re hevaheng e, divê hûn ya sereke biguherînin.c file, pênaseyê li gorî celebê nîşana rastîn a ku hûn digirin şîrove bikin. Ji bo example, heke we Pico-ePaper-2.13 heye, ji kerema xwe ya sereke biguhezînin.c file, rêzika 18 bê şîrovekirin (an jî dibe ku ew rêza 19 be).
Projeyê saz bikin:
cd ~/Pico_ePaper_Code/c
Peldanka avakirinê biafirînin û SDK-ê lê zêde bikin. ../../pico-sdk riya xwerû ya SDK-ê ye, ger hûn SDK-ê li pelrêçên din hilînin, ji kerema xwe wê biguhezînin riya rastîn.
mkdir avakirina cd-yê çêkirina hinardekirinê PICO_SDK_PATH=../../pico-sdk
Fermana cmake bimeşînin da ku Make çêbikinfile file.
cmake ..
Ji bo berhevkirina kodan fermana make bimeşîne.
bike -j9
Piştî berhevkirinê, epd.uf2 file tê çêkirin. Dûv re, bişkoja BOOTSEL li ser panela Pico bikirtînin û bigirin, Pico bi Raspberry Pi-yê bi karanîna kabloya Micro USB ve girêdin û bişkojkê berdin. Di vê nuqteyê de, cîhaz dê dîskek jêbirin (RPI-RP2) nas bike. epd.uf2 kopî bikin file ku tenê li ser dîska vekêşanê ya nû hatî nas kirin (RPI-RP2) hatî çêkirin, Pico dê bixweber bernameya xebitandinê ji nû ve bide destpêkirin. Python Pêşî pêl bişkoka BOOTSEL li ser panela Pico bike û bigire, kabloya Micro USB bikar bînin da ku Pico bi Raspberry Pi ve girêdin, dûv re bişkojkê berdin. Di vê nuqteyê de, cîhaz dê dîskek jêbirin (RPI-RP2) nas bike. Rp2-pico-20210418-v1.15.uf2 kopî bikin file di pelrêça python de dîska jêbirin (RPI-RP2) ku tenê hatî nas kirin. Thonny IDE nûve bikin.
sudo apt upgrade thonny
Thonny IDE vekin (li ser logoya Raspberry bikirtînin -> Bername -> Thonny Python IDE ), û wergêr hilbijêrin:
Amûr -> Vebijêrk… -> Wergêr hilbijêre. MicroPython (Raspberry Pi Pico û porta ttyACM0) hilbijêrin. Pico_ePaper-xxx.py vekin file di Thonny IDE de, dûv re skrîpta heyî bimeşînin (sêgoşeya kesk bikirtînin).
C Code Analysis
Navbera Hardware ya jêrîn Em qata hardware pak dikin da ku bi hêsanî berbi platformên hardware yên cihêreng veguhezînin. DEV_Config.c (.h) di pelrêça: Pico_ePaper_CodeclibConfig.
Cureya daneyê:
#define UBYTE uint8_t #define UWORD uint16_t #define UDOUBLE uint32_t
Modulê destpêk bike û derkeve:
void DEV_Module_Init(void); betal DEV_Module_Exit(vala); Nîşe 1. Fonksiyonên li jor ji bo destpêkirina pêşandanê an destikê derketinê têne bikar anîn.
GPIO Binivîse / Bixwîne:
void DEV_Digital_Write(Pîn UWORD, Nirxa UBYTE); UBYTE DEV_Digital_Read(UWORD Pin);
SPI daneyan dişîne:
betal DEV_SPI_WriteByte(Nirxa UBYTE);
Ajokarê EPD Kodên ajokerê EPD di pelrêçayê de têne tomar kirin: Pico_ePaper_CodeclibePaper Sernavê .h veke file, hûn dikarin hemî fonksiyonên diyarkirî kontrol bikin.
E-Paper bidin destpêkirin, ev fonksiyon her gav di destpêkê de û piştî şiyarbûna dîmenderê tê bikar anîn.
// 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 (UBYTE Mode); // Mode = 0 bi tevahî nûvekirin, Mode = 1 nûvekirina qismî e //Cûreyên din void EPD_xxx_Init(void);
Xxx divê ji hêla celebê e-Paper ve were guhertin, Ji bo nimûneample, heke hûn e-Paper (D) 2.13inch bikar bînin, ji bo nûvekirina bi tevahî, divê ew EPD_2IN13D_Init(0) û EPD_2IN13D_Init(1) be ji bo nûvekirina qismî;
Zelal: ev fonksiyon ji bo paqijkirina dîmenderê ji bo spî tê bikar anîn.
void EPD_xxx_Clear(vala);
Xxx divê ji hêla celebê e-Paper ve were guhertin, Ji bo nimûneample, heke hûn ePaper 2.9inch (D) bikar bînin, divê ew EPD_2IN9D_Clear();
Daneyên wêneyê (yek çarçove) ji EPD re bişînin û nîşan bidin
//Guhertoya Dureng betal EPD_xxx_Display(UBYTE *Wêne); //Guhertoya Tricolor betal EPD_xxx_Display(const UBYTE *wêne reş, const UBYTE *ryimage);
Gelek celeb hene ku ji yên din cuda ne
// Nûvekirina qismî ji bo e-kaxiz 2.13 înç (D), e-kaxiz 2.9 înç (D) betal EPD_2IN13D_DisplayPart(UBYTE *Wêne); void EPD_2IN9D_DisplayPart(UBYTE *Wêne);
//Ji bo e-kaxeza 2.13 înç V2, hûn hewce ne ku pêşî EPD_xxx_DisplayPartBaseImage bikar bînin da ku paşxaneyek statîk nîşan bidin û dûv re bi fonksiyona EPD_xxx_Dis playPart() betal bikin, EPD_2IN13_V2_DisplayPart(UBYTE *Wêne); betal EPD_2IN13_V2_DisplayPartBaseImage(UBYTE *Wêne);
Têkeve moda xewê
void EPD_xxx_Sleep(vala);
Nîşe, divê hûn tenê hardware ji nû ve saz bikin an fonksiyona destpêkê bikar bînin da ku ePaper ji moda xewê hişyar bikin xxx celebê e-Paper e, ji bo nimûneample, heke hûn e-Paper D 2.13inch bikar bînin, divê ew EPD_2IN13D_Sleep() be. Navbera Bernamesaziya Serlêdanê Em ji bo ceribandinê fonksiyonên bingehîn ên GUI peyda dikin, mîna xala xêzkirinê, xêz, rêz û hwd. Fonksiyona GUI dikare di pelrêçê de were dîtin: RaspberryPi_JetsonNanoclibGUIGUI_Paint.c(.h).
Curenivîsên ku hatine bikar anîn dikarin di pelrêçê de werin dîtin: RaspberryPi_JetsonNanoclibFonts.
Wêneyek nû biafirînin, hûn dikarin navê wêneyê, firehî, bilindahî, goşeya zivirîn, û reng destnîşan bikin.
void Paint_NewImage (UBYTE *wêne, UWORD Firehiya, UWORD Bilindahî, UWORD Zivirandin, UWOR D Reng) Parametre:
wêne: Navê tampona wêneyê, ev nîşanek e; Width: Firehiya wêneyê; Bilindahî: Bilindahiya wêneyê; Rotate: Bizivire goşeya Wêne; Reng: Rengê destpêkê yê wêneyê;
Hilbijêre tampon wêneyê: Hûn dikarin di heman demê de gelek tamponên wêneyê biafirînin û yeka diyar hilbijêrin û bi vê fonksiyonê xêz bikin.
void Paint_SelectImage(UBYTE *image) Parametre:
wêne: Navê tampona wêneyê, ev nîşanek e;
Zivirandina wêneyê: Pêdivî ye ku hûn goşeya zivirandina wêneyê saz bikin, divê ev fonksiyon piştî Paint_SelectImage() were bikar anîn. Goşe dikare bibe 0, 90, 180, an 270.
void Paint_SetRotate(UWORD Rotate) Parametre:
Bizivire: Kulîlka wêneyê bizivirîne, parametre dikare bibe ROTATE_0, R OTATE_90, ROTATE_180, ROTATE_270.
Nîşe Piştî zivirandinê, cîhê pîxela yekem cûda ye, em 1.54-inch digirin
e-kaxez wekî berêample.

Neynika wêneyê: Ev fonksiyon ji bo danîna neynika wêneyê tê bikar anîn.
void Paint_SetMirroring (neynika UBYTE) Parametre:
neynikê: Ger wêneyê neynikê binivîsîne, pîvan dikare MIRROR_NONE, MIR ROR_HORIZONTAL, MIRROR_VERTICAL, MIRROR_ORIGIN be.

Cih û rengê pîxelan bicîh bikin: Ev fonksiyona bingehîn a GUI ye, ji bo danîna pozîsyon û rengê pîxelek di tamponê de tê bikar anîn.
void Paint_SetPixel(UWORD Xpoint, UWORD Ypoint, UWORD Reng) Parametre:
Xpoint: Nirxa X-xebata xala di tampona wêneyê de Y xal: Nirxa X-ê ya xala di tampona wêneyê de Reng: Rengê xalê

Nîşana paqij: Ji bo danîna rengê wêneyê, ev fonksiyon her gav ji bo paqijkirina dîmenderê tê bikar anîn.
Parametreyên void Paint_Clear (UWORD Reng):
Reng: Rengê wêneyê

Rengê pencereyan: Ev fonksiyon ji bo danîna rengê pencereyan tê bikar anîn, ew her gav ji bo nûvekirina deverên parçeyî mîna nîşankirina demjimêrek tê bikar anîn.

void Paint_ClearWindows(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, UWO RD Reng) Parametre:
Xpoint: Nirxa X-ê ya xala destpêkê ya di tampona wêneyê de Nirxa X-ê ya xala destpêkê ya di tampona wêneyê de Xend: Nirxa X-ê ya xala dawî ya di tampona wêneyê de Yend: Y- nirxa eksê xala dawî ya di tampon wêneyê de Reng: Rengê pencereyan

Xala xêzkirinê: Xalekê li cihê X, xala Y ya wêneyê xêz bikin
tampon, hûn dikarin reng, mezinahî û şêwazê mîheng bikin.

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

el, DOT_STYLE Dot_Style)

Parametre:

Xpoint: Nirxa X-xebata xalê.

Y xal: Nirxa Y-xebata xalê.

Reng: Rengê xalê

Dot_Pixel: Mezinahiya xalê, 8 pîvan hene.

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: Şêweya xalê, moda dirêjkirî ya xalê diyar bike.

typedef enum {

DOT_FILL_AROUND = 1,

DOT_FILL_RIGHTUP,

} DOT_STYLE;

Xetê xêz bikin: Di tampona wêneyê de ji (Xstart, Ystart) heya (Xend, Yend) xêzek xêz bikin, hûn dikarin reng, fireh û şêwazê mîheng bikin.

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

olor, LINE_STYLE Line_Style, LINE_STYLE Line_Style)

Parametre:

Xdestpêk: Xdestpêka rêzê

Ystart: Destpêka rêzê

Xend: Xendê rêzê

Yend: Yend rêzê

Reng: Rengê rêzê

Line_width: Firehiya rêzê, 8 pîvan hene.

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: Şêweya rêzê, Zehf an xalî.

typedef enum {

LINE_STYLE_SOLID = 0,

LINE_STYLE_DOTTED,

} LINE_STYLE;

Çargoşeyekê xêz bikin: Ji (Xstart, Ystart) çargoşeyekê berbi (Xend, Yend) xêz bikin, hûn dikarin reng, firehî û şêwazê mîheng bikin.

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

Rengî ORD, DOT_PIXEL Xêz_fireh, DRAW_FILL Draw_Fill)

Parametre:

Xdestpêk: Xdestpêka çargoşeyê.

Ystart: Destpêka çargoşeyê.

Xend: Xendê çargoşe.

Yend: Yendê çargoşe.

Reng: Rengê çargoşe

Line_width: Firehiya keviyan. 8 pîvan hene.

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: Şêweya çargoşe, vala an dagirtî.

typedef enum {

DRAW_FILL_EMPTY = 0,

DRAW_FILL_FULL,

} DRAW_FILL;

Draw xelekê: Di tampona wêneyê de çemberek xêz bike, (X_Center Y_Center) wekî navend û Radius wekî tîrêjê bikar bîne. Hûn dikarin reng, firehiya rêzê, û şêwaza çemberê mîheng bikin.

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

r, DOT_PIXEL Xêz_fireh, DRAW_FILL Draw_Fill)

Parametre:

X_Center: X-teşeya navendê

Y_Navenda: Y-tevra navendê

Radius: Radyoya çemberê

Reng: Rengê çemberê

Line_width: Firehiya arkê, 8 pîvan hene.

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: Şêweya çemberê: vala an dagirtî.

typedef enum {

DRAW_FILL_EMPTY = 0,

DRAW_FILL_FULL,

} DRAW_FILL;

Karaktera Ascii nîşan bide: karakterek di pozîsyona (Xstart, Ystart) de nîşan bide, hûn dikarin
font, pêşanî û paşxanê mîheng bikin.
void Paint_DrawChar(UWORD Xstart, UWORD Ystart, berdewam char Ascii_Char, sFONT* F ont, UWORD Reng_Pêş, UWORD Reng_Paş) Parametre:
Xstart: Xdestpêka karakterê Ystart: Destpêka karakterê Ascii_Char: Ascii char Font: pênc tîp hene.
font8: 5*8 font12: 7*12 font16: 11*16 font20: 14*20 font24: 17*24 Reng_Pêşi: rengê pêşiyê Reng_Paş: rengê paşxanê

Xêlê xêz bikin: Di (Xstart Ystart) de xêz bikişîne, hûn dikarin mîhengê bikin
fonts, pêşanî, û paş
void Paint_DrawString_K(UWORD Xstart, UWORD Ystart, char const * pString, sFON T* Font, UWORD Reng_Foreground, UWORD Reng_Background) Parametre:
Xstart: Xdestpêka rêzê Ystart: Destpêka rêzê pString: Çîroknivîsa rêzê: pênc tîp hene:
font8: 5*8 font12: 7*12 font16: 11*16 font20: 14*20 font24: 17*24 Reng_Pêşi: rengê pêşiyê Reng_Paş: rengê paşxanê

Rêza Çînî xêz bike: Rêza çînî li (Xstart Ystart) wêneyê xêz bike
tampon. Hûn dikarin tîpan (GB2312), pêşanî û paşxanê mîheng bikin.
void Paint_DrawString_CN(UWORD Xstart, UWORD Ystart, char const * pString, cFON T* font, UWORD Reng_Pêş, UWORD Reng_Background) Parametre:
Xstart: Xdestpêka rêzê Ystart: Destpêka rêzê pString: string Font: tîpên GB2312, du tîp hene
font12CN: ascii 11*21Çînî 16*21 font24CN: ascii 24*41Çînî 32*41 Reng_Pêş: Rengê Pêşî Reng_Paş: Rengê paşxanê

Hejmara xêzkirinê: Hejmaran li (Xstart Ystart) tampona wêneyê xêz bikin. Hûn dikarin
font, pêşanî û paşnavê hilbijêrin.
void Paint_DrawNum(UWORD Xpoint, UWORD Ypoint, Hejmara int32_t, sFONT* Font, UW ORD Reng_Pêş, UWORD Reng_Background) Parametre:
Xdestpêk: Xdestpêka jimareyan Ydestpêk: Destpêka jimareyan Hejmar: hejmarên ku têne xuyang kirin. Ew celebê int piştgirî dike û 2147483647 Font herî zêde piştgirî ye: Fontên Ascii, pênc tîp hene:
font8: 5*8 font12: 7*12 font16: 11*16 font20: 14*20 font24: 17*24 Reng_Pêşiya: pêş Reng_Background: paşxane

Demjimêra Nîşandanê: Demjimêr li (Xstart Ystart) tampona wêneyê nîşan bide, hûn dikarin
fonts, pêşanî û paşnavê mîheng bikin.
Ev fonksiyon ji bo nûvekirina qismî tê bikar anîn. Bala xwe bidinê ku hin e-Paper nagirin
nûvekirinên qismî piştgirî bikin û hûn nekarin her dem nûvekirinên qismî bikar bînin, ku
dê pirsgirêkên ruhan hebin û dîmenderê hilweşînin.
void Paint_DrawTime(UWORD Xstart, UWORD Ystart, PAINT_TIME *pTime, sFONT* Font, UWORD Color_Background, UWORD Reng_Foreground) Parametre:
Xstart: Xdestpêka demê Ystart: Ydestpêka demê pTime: Structure of time Font: Font Ascii, pênc tîp hene
font8: 5*8 font12: 7*12 font16: 11*16 font20: 14*20 font24: 17*24 Reng_Pêşiya: pêş Reng_Background: paşxane

Kanî

Document Schematic 2.9inch e-Paper (B) Specification

Kodên Demo

Kodên demo lînka Github

Software Development

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

Pico Destpêkirina Bilez Daxistina Firmware

MicroPython Firmware Daxistin C_Blink Firmware Daxistina Vîdyoyê Tutorial

[Perfereh] [Perfereh]

Pico Tutorial I - Destpêka Bingehîn
Pico Tutorial II - GPIO
Pico Tutorial III - PWM
Pico Tutorial IV - ADC
Pico Tutorial V - UART
Pico Tutorial VI - Dê berdewam bike…
Rêzeya MicroPython
Makîneya MicroPython.Pin Function Makîneya MicroPython.Fonksiyon PWM Makîneya MicroPython.Fonksiyon ADC Makîneya MicroPython.Fonksiyon UART Makîneya MicroPython.Fonksiyon I2C Makîneya MicroPython.Fonksiyon SPI MicroPython rp2.StateMachine

[Perfereh] [Perfereh] [Perfereh] [Pervekirin] [Pervekirin]

C / C ++ Series
C/C++ Windows Tutorial 1 - Sazkirina Jîngehê C/C++ Windows Tutorial 1 - Projeya Nû Biafirîne

Arduino IDE Series Arduino IDE Saz bike 1. Pakêta sazkirinê ya Arduino IDE ji Arduino dakêşin webmalpera.

2. Tenê li ser "JUST DOWNLOAD" bikirtînin.

3. Ji bo sazkirina piştî dakêşandinê bikirtînin.
4. Nîşe: Ji we tê xwestin ku di pêvajoya sazkirinê de ajokerê saz bikin, em dikarin Saz bikin.
Arduino-Pico Core li ser Arduino IDE 1 saz bikin. Arduino IDE vekin, bikirtînin File li quncikê çepê û "Percihan" hilbijêrin.
2. Zencîreya jêrîn li rêveberê panelê pêşveçûnê zêde bikin URL, paşê OK bitikîne. https://github.com/earlephilhower/arduino-pico/releases/download/globa l/package_rp2040_index.json
Nîşe: Heke we jixwe panela ESP8266 heye URL, hûn dikarin ji hev veqetînin URLs bi komikên bi vî rengî:
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 -> Search for pico, ew wekî sazkirî tê nîşandan ji ber ku komputerê min ew berê saz kiriye.

Di Yekem Carê de Demo Barkirin
1. Bişkojka BOOTSET-ê li ser panela Pico bikirtînin û bihêlin, Pico-yê bi kabloya Micro USB ve bi porta USB-ya kompîturê ve girêdin, û gava ku komputer dîskêşek jêhatî (RPI-RP2) nas bike, bişkojkê berdin.

2. Demo dakêşin, riya arduinoPWMD1-LED di bin D1LED.ino de vekin.
3. Amûran -> Portê bikirtînin, COM-ya heyî bi bîr bînin, ne hewce ye ku vê COM-ê bikirtînin (komputerên cûda COM-ya cûda nîşan didin, COM-a heyî ya li ser komputera xwe bi bîr bînin).

4. Pîvana ajokerê bi kabloyek USB-ê bi komputerê ve girêdin, dûv re bikirtînin Amûr -> Ports, ji bo pêwendiya yekem Board uf2 hilbijêrin, û piştî ku barkirin qediya, dîsa girêdan dê bibe portek COM-ê ya zêde.

5. Tool -> Dev Board -> Raspberry Pi Pico/RP2040 -> Raspberry Pi Pico bikirtînin.

6. Piştî sazkirinê, ji bo barkirinê tîra rastê bikirtînin.
Ger hûn di heyamê de bi pirsgirêkan re rû bi rû bimînin, hûn hewce ne ku guhertoya Arduino IDE ji nû ve saz bikin an biguhezînin, pêdivî ye ku Arduino IDE bi paqijî were rakirin, piştî rakirina nermalavê hûn hewce ne ku hûn bi destan hemî naveroka peldanka C: Bikarhêner [nav] jêbirin. AppDataLocalArduino15 (hûn hewce ne ku veşartî nîşan bidin files da ku wê bibînin) û dûv re ji nû ve saz bikin. Pico-W Series Tutorial (Dê berdewam bike…)
Demo Çavkaniya Vekirî
Demo MicroPython (GitHub) MicroPython Firmware/Blink Demo (C) Fermî Raspberry Pi C/C++ Demo Fermî Raspberry Pi MicroPython Demo Arduino Official C/C++ Demo
FAQ
Pirs: Jîngeha karanîna ekrana e-ink çi ye? Bersiv:
Şertên xebitandinê Rêjeya germê: 0~50°C; Rêjeya nermbûnê:
35%~65%RH.
Şertên hilanînê Rêjeya germahiyê: ji 30°C kêmtir; Rêjeya nermbûnê:
li jêr 55% RH; Dema hilanînê ya herî zêde: 6 meh.
Şertên veguhestinê Rêjeya germê: -25~70°C; Zêdetir
dema veguhestinê: 10 rojan.
Piştî vekêşanê Rêzeya germahiyê: 20°C±5°C; Rêjeya nermbûnê:
50±5%RH; Dema hilanînê ya herî zêde: Di nav 72 demjimêran de kom bibin.
Pirs: Tedbîrên ji bo nûvekirina ekrana e-ink? Bersiv:
Moda nûvekirinê Nûvekirina bêkêmasî: Di pêvajoya nûvekirinê de dîmendera mîhenga elektronîkî dê çend caran bişewite (hejmara felqan bi dema nûvekirinê ve girêdayî ye), û felq ev e ku wêneyê paşde jê bibe da ku bandora pêşandana çêtirîn bi dest bixe. Nûvekirina qismî: Di pêvajoya nûvekirinê de dîmendera mîhenga elektronîkî bandorek felqbûnê tune. Bikarhênerên ku fonksiyona firçekirina qismî bikar tînin, destnîşan dikin ku piştî çend caran nûvekirinê, pêdivî ye ku operasyonek firçeyê ya tam were kirin da ku wêneyê mayî jê bibe, wekî din dê pirsgirêka wêneya bermayî her ku diçe girantir bibe, an jî zirarê bide ekranê (niha tenê hin reş û ekranên spî yên e-ink piştgirî didin firçeya qismî, ji kerema xwe li danasîna rûpelê hilberê binihêrin).
Rêjeya nûvekirinê Di dema karanîna de, tê pêşniyar kirin ku xerîdar navbera nûvekirina dîmendera e-ink bi kêmî ve 180 saniyeyan destnîşan bikin (ji bilî hilberên ku fonksiyona firçeya herêmî piştgirî dikin) Di pêvajoya standby de (ango piştî xebata nûvekirinê) tê pêşnîyar kirin ku xerîdar ekrana e-ink li ser moda xewê, an operasyona qutkirinê saz bike (beşê dabînkirina hêzê ya dîmendera ink dikare bi guhezek analog were qut kirin) da ku xerckirina hêzê kêm bike û jiyana e-ink dirêj bike. parêzî. (Heke hin ekranên e-ink ji bo demek dirêj ve werin xebitandin, dê ekran ji tamîrkirinê bêtir zirarê bibîne.) Di dema karanîna ekrana sê-reng e-ink de, tê pêşniyar kirin ku xerîdar bi kêmanî her carek dîmenderê nûve bikin. 24 demjimêr (heke ekran ji bo demek dirêj heman ekran bimîne, şewitandina ekranê dê tamîrkirina dijwar be).
Senaryoyên Bikaranînê Ekrana e-ink ji bo karanîna hundurîn tê pêşniyar kirin. Ger hûn wê li derve bikar bînin, hûn hewce ne ku ji tîrêja tavê ya rasterast li ser ekrana e-ink dûr bikevin û di heman demê de tedbîrên parastina UV bigirin. Dema ku sêwirana hilberên ekrana eink-ê, xerîdar divê bala xwe bidin diyar kirin ka hawîrdora karanîna pêdiviya germahî û şilbûnê ya ekrana e-ink bicîh tîne yan na.
Pirs: Çînî li ser ekrana e-ink nayê xuyang kirin? Bersiv: Pirtûkxaneya tîpên Çînî ya rûtîn rêbaza şîfrekirina GB2312 bikar tîne, ji kerema xwe xxx_test.c xwe biguherînin file bi formata şîfrekirina GB2312, wê berhev bikin û dakêşin, û dûv re ew dikare bi gelemperî were xuyang kirin.
Pirs:Piştî ku ji bo demekê bikar anîn, nûvekirina ekranê (tevahî nûvekirina) pirsgirêkek ciddî ya wêneyê heye ku nayê tamîr kirin? Bersiv: Hêza li ser panela pêşkeftinê ji bo demek dirêj ve, piştî her karûbarê nûvekirinê, tê pêşniyar kirin ku dîmenderê li ser moda xewê were danîn an rasterast pêvajoyê qut bike, wekî din, dema ku ekran di dengek bilind de be dibe ku ekran bişewite.tage dewlet ji bo demeke dirêj.
Pirs: e-Paper sînorê reş nîşan dide? Bersiv: Rengê nîşana sînor dikare bi navgîniya Tomara Kontrola Pêla Sînor an jî qeyda SETTINGA NAVBERA VCOM Û DANÊ were danîn.
Pirs: Taybetmendiya pêwendiya kabloya ekranê çi ye? Bersiv: 0.5mm piçik, 24Pin.
Di vê rewşê de, pêdivî ye ku xerîdar pozîsyona firçeya dor kêm bike û piştî 5 tûrên firçekirinê (zêdekirina volqê) ekranê paqij biketage ya VCOM dikare reng çêtir bike, lê ew ê paşê wêneyê zêde bike).
Pirs: Piştî ku dîmendera mîkrokê bikeve moda xewê ya kûr, gelo ew dikare dîsa were nûve kirin? Bersiv: Belê, lê hûn hewce ne ku kaxeza elektronîkî bi nermalavê ji nû ve bidin destpêkirin.
Pirs: Gava ku EPD 2.9-inch di moda xewa kûr de ye, gava yekem ku ew hişyar dibe, nûvekirina ekranê dê nepaqij be. Ez çawa dikarim wê çareser bikim? Bersiv: Pêvajoya ji nû ve şiyarbûna dîmendera e-ink bi rastî pêvajoya nûvekirina hêzê ye, ji ber vê yekê dema ku EPD hişyar dibe, divê pêşî ekran were paqij kirin, da ku ji diyardeya paşnavê heya herî zêde dûr bisekine.
Pirs: Ma hilberên dîmendera tazî bi pêçek rûkal têne şandin? Bersiv: bi fîlm.
Pirs: Ma e-Paper senzorek germahiyê ya çêkirî heye? Bersiv: Erê, hûn dikarin senzora germahiya LM75 ya derveyî IIC jî bikar bînin.
Pirs: Dema ceribandina bernameyê, bername li ser e-Paper mijûl dimîne? Bersiv: Dibe ku ji ber ajokara spi ya neserkeftî 1. Kontrol bikin ka têl rast e 2. Kontrol bikin ka spi vekirî ye û parameter rast hatine mîheng kirin (rêjeya baudê ya spi, moda spi, û pîvanên din).
Pirs: Rêjeya nûvekirinê/jiyana vê ekrana e-ink çi ye? Bersiv: Bi îdeal, bi karanîna normal, ew dikare 1,000,000 carî (1 mîlyon carî) were nûve kirin.
Alîkarî

Piştgiriya Teknîkî
Ger hewcedariya we bi piştgiriya teknîkî hebe an bersivek/reş hebeview, ji kerema xwe bişkojka Bişîne Niha bikirtînin da ku bilêtek bişînin, Tîma meya piştevaniyê dê di nav 1 û 2 rojên xebatê de we kontrol bike û bersivê bide. Ji kerema xwe sebir bin ji ber ku em her hewl didin ku ji we re bibin alîkar da ku pirsgirêkê çareser bikin. Dema Kar: 9 AM - 6 PM GMT + 8 (Duşem heta Înî)

Niha bişînin

Belge / Çavkanî

WAVESHARE Pico e-Paper 2.9 B Modula EPD ji bo Raspberry Pi Pico [pdf] Rehbera bikaranînê
Pico e-Paper 2.9 B Modula EPD ji bo Raspberry Pi Pico, Pico e-Paper 2.9 B, Modula EPD ji bo Raspberry Pi Pico, Modula ji bo Raspberry Pi Pico, ji bo Raspberry Pi Pico, Raspberry Pi Pico, Pi Pico, Pico

Çavkanî

Bihêle şîroveyek

Navnîşana e-nameya we nayê weşandin. Zeviyên pêwîst têne nîşankirin *