IL9341 2.4inch LCD TFT Display Mojule
Lintlha tsa Sehlahisoa:
2.4inch LCD Module ke mojule oa ponts'o ea TFT o nang le qeto
ea 240 * 320. E sebelisa sebopeho sa SPI bakeng sa puisano mme e na le
molaoli oa ka hare ea nang le mesebetsi ea mantlha. LCD e khona ho hula
lintlha, mela, selikalikoe, le likhutlo li lekana, 'me li ka hlahisa Senyesemane,
Sechaena, hammoho le litšoantšo. Mojule o tla ka botlalo
e tšehetsa li-demos tsa Raspberry Pi (laeborari ea BCM2835, laeborari ea WiringPi,
le li-demos tsa python), li-demos tsa STM32, le li-demos tsa Arduino.
Litlhaloso:
- Tshebetso voltagE: 3.3V / 5V
- Sebopeho: SPI
- Mofuta oa LCD: TFT
- Motsamaisi: IL9341
- Qeto: 240(V) x 320(H)RGB
- Boholo ba Pontšo: 36.72Hx 48.96Vmm
- Boholo ba Pixel: 0.153Hx 0.153Vmm
- Boholo: 70.5 x 43.3(mm)
Litaelo tsa Tšebeliso ea Sehlahisoa:
Khokahano ea Raspberry Pi Hardware:
Ka kopo, hokela LCD ho Raspberry Pi ea hau u sebelisa thapo ea 8PIN
ho latela tafole e ka tlase:
LCD | VCC | GND | DIN | CLK | CS | DS | RST | BL |
---|---|---|---|---|---|---|---|---|
Raspberry Pi | 3.3V | GND | MOSI | LEKHOTLA | CE0 | 25 | 27 | 18 |
Raspberry Pi Board | 3.3V | GND | 19 | 23 | 24 | 22 | 13 | 12 |
LCD ea 2.4inch e sebelisa sebopeho sa PH2.0 8PIN, se ka
e hokahane le Raspberry Pi ho latela tafole e kaholimo. Ka kopo
hokela ho ya ka phini tlhaloso tafole. 'Mala oa
wiring setšoantšong ke bakeng sa litšupiso feela, le 'mala oa sebele
e ka fapana.
Khokahano ea Hardware ea STM32:
Example fanoeng e thehiloe ho STM32F103RBT6. Ka kopo, hokela
ho latela phini ea sebele.
LCD | VCC | GND | DIN | CLK | CS | DC | RST | BL |
---|---|---|---|---|---|---|---|---|
STM32 | 3.3V | GND | PA7 | PA5 | PB6 | PA8 | PA9 | PC7 |
Nka boto ea ntlafatso ea XNUCLEO-F103RB e ntlafalitsoeng ke rona
khampani e le example, khokahano e ka tsela e latelang:
Khokahano ea Hardware ea Arduino:
Hokela LCD ho Arduino UNO ho latela pinana
tafole ea ngollano e ka tlase:
LCD | VCC | GND | DIN | CLK | CS | DC | RST | BL |
---|---|---|---|---|---|---|---|---|
Arduino UNO | 5V | GND | D11 | D13 | D10 | D7 | D8 | D9 |
Ho sebetsa le Raspberry Pi:
Ho nolofalletsa sebopeho sa SPI ho Raspberry Pi, latela tsena
mehato:
- Bula terminal 'me u sebelise taelo ea ho kenya
leqephe la tlhophiso: sudo raspi-config - Khetha Likhetho tsa Interfacing -> SPI -> E ho nolofalletsa SPI
segokahanyi. - Qala hape Raspberry Pi: sudo reboot.
- Ka kopo etsa bonnete ba hore SPI ha e sebelisoe ke lisebelisoa tse ling ka
ho sheba bohareng ba /boot/config.txt.
Ho kenya lilaebrari tse hlokahalang ho Raspberry Pi:
Kenya lilaebrari tsa BCM2835:
# Bula terminal ea Raspberry Pi 'me u tsamaise taelo e latelang wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.71.tar.gz tar zxvf bcm2835-1.71.tar.gz cd bcm2835-1.71/ sudo. configure && sudo make && sudo make check && sudo make install # Ho fumana lintlha tse ling, ka kopo sheba ofisiri. webSebaka: http://www.airspayce.com/mikem/bcm2835/
Kenya lilaebrari tsa wiringPi:
# Bula setsi sa Raspberry Pi 'me u tsamaise taelo e latelang ea sudo apt-get install wiringpi # Bakeng sa lisebelisoa tsa Raspberry Pi ka mor'a May 2019, u ka hloka ho ntlafatsa: wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v # Run gpio -v le version 2.52 e tla hlaha. Haeba e sa hlahe, ho kenya ho fosahetse.
LBH:
Q: ke qeto ea 2.4inch LCD Module seo?
A: Qeto ea 2.4inch LCD Module ke 240 x 320.
Q: Ke li-interfaces life tseo LCD Module e li tšehetsang?
A: LCD Module e tšehetsa sebopeho sa SPI bakeng sa
puisano.
P: Ke lipuo life tsa lenaneo tse tšehetsoeng ke LCD Module
li-demos?
A: Li-demos tsa LCD Module li tšehetsa Python, laebrari ea BCM2835,
Laebrari ea WiringPi, STM32, le Arduino.
2.4inch LCD module
Fetileview
2.4inch LCD module
Selelekela
E le module ea 2.4inch TFT e nang le qeto ea 240 * 320,
e sebelisa sebopeho sa SPI bakeng sa puisano. LCD e na le molaoli oa kahare ea nang le mesebetsi ea mantlha, e ka sebelisoang ho taka
240 x 320
lintlha, mela, selikalikoe, le likhutlo li tharo, 'me e ka hlahisa Senyesemane, Sechaena hammoho le litšoantšo.
Re fana ka li-demos tsa Raspberry Pi tse felletseng (laeborari ea BCM2835, laeborari ea WiringPi,
le li-demos tsa python), li-demos tsa STM32, le li-demos tsa Arduino.
Tlhaloso
Tshebetso voltage: 3.3V/5V (Ha o sebelisa matla a 5V, molumo oa logictage ke 5V; Ha o sebelisa matla a 3.3V, logic voltage ke 3.3V) Sehokelo: SPI LCD Mofuta: TFT Controller: IL9341 Resolution: 240(V) x 320(H)RGB
Boholo ba Pontšo: 36.72Hx 48.96Vmm Pixel Boholo: 0.153Hx 0.153Vmm
Boholo: 70.5 x 43.3(mm)
Sehokelo Tlhaloso Khokahanyo ea lisebelisoa tsa Raspberry Pi
Ka kopo, hokela LCD ho Raspberry Pi ea hau ka thapo ea 8PIN ho latela tafole e ka tlase Haeba u sebelisa hlooho ea phini kapa PH2.0 8PIN interface, u hloka ho hokela ho latela tafole e latelang.
Hokela ho Raspberry Pi
LCD
VCC GND DIN CLK
CS DS RST BL
BCM2835 3.3V GND MOSI SCLK CE0 25 27 18
Raspberry Pi
Boto ea 3.3V GND
19 23 24 22 13 12
LCD ea 2.4inch e sebelisa sebopeho sa PH2.0 8PIN, se ka hokahanang le Raspberry Pi ho latela tafole e kaholimo: (Ka kopo, ikopanye ho latela tafole ea tlhaloso ea pin. Mmala oa lithapo tse setšoantšong ke oa litšupiso feela, le 'mala oa sebele o tla ba teng.)
Khokahano ea lisebelisoa tsa STM32
Exampeo re fanang ka eona e thehiloe ho STM32F103RBT6, 'me mokhoa oa ho hokahanya o fanoeng hape ke pinana e lumellanang ea STM32F103RBT6. Haeba o hloka ho fetisetsa lenaneo, ka kopo ikopanye ho ea ka phini ea sebele.
STM32F103ZET lengolo la pini la kgokelo
LCD VCC GND DIN CLK
CS DC RST BL
STM32 3.3V GND PA7 PA5 PB6 PA8 PA9 PC7
Nka boto ea ntlafatso ea XNUCLEO-F103RB e ntlafalitsoeng ke k'hamphani ea rona joalo ka example, khokahano e ka tsela e latelang:
Khokahano ea lisebelisoa tsa Arduino
Arduino UNO Connection pin ngollano LCD VCC GND DIN CLK CS DC RST BL
Setšoantšo sa khokahano ke se latelang (tobetsa ho holisa):
UNO 5V
GND D11 D13 D10 D7 D8 D9
Tlhaloso ea Hardware LCD le molaoli
LCD e ts'ehetsa lifomate tsa mebala ea 12-bit, 16-bit le 18-bit input color per pixel, e leng RGB444, RGB565, le RGB666 mefuta e meraro ea mebala, demo ena e sebelisa sebopeho sa mebala sa RGB565, seo hape e leng sebopeho sa RGB se sebelisoang hangata. Bakeng sa balaoli ba bangata ba LCD, mokhoa oa puisano oa molaoli o ka lokisoa, hangata ka sebopeho se tšoanang sa 8080, SPI ea terata e meraro, SPI ea terata e mene, le mekhoa e meng ea puisano. LCD ena e sebelisa sebopeho sa puisano sa SPI se nang le terata e mene, se ka bolokang haholo sekepe sa GPIO, 'me lebelo la puisano le tla potlaka. Phatlalatso Protocol
Tlhokomeliso: Ho fapana le protocol e tloaelehileng ea SPI, mohala oa data ho tloha ho lekhoba ho ea ho monghali o patiloe kaha sesebelisoa se na le tlhokahalo ea pontšo feela. RESX: pini ea reset, e lokela ho ba tlaase ha e matlafatsa module mme e be e phahameng ka linako tse ling; CSX: khetha chip ea makhoba, ha CS e le tlase, chip e ea sebetsa. D / CX: phini ea taolo ea data / taelo, ha DC = 0, ngola taelo, ha DC = 1, ngola data SDA: pin ea data bakeng sa ho fetisetsa data ea RGB, e sebetsa e le pin ea MOSI ea SPI interface; SCL e sebetsa joalo ka likhoele tsa SCLK tsa SPI interface. Puisano ea SPI e na le nako ea phetisetso ea data, e kopantsoeng ke CPHA le CPOL. CPOL e khetha boemo ba oache ea serial synchronous boemong bo sa sebetseng. Ha CPOL = 0, boemo bo tlase. Leha ho le joalo, CPOL ha e na phello e nyane phetisong. CPHA e etsa qeto ea hore na data e bokelloa moeling oa oache ea pele kapa moeling oa oache ea bobeli ea oache ea serial synchronous; ha CPHL = 0, data e bokelloa moeling oa pele oa oache. Ho na le mekhoa e 4 ea puisano ea SPI. SPI0 e sebelisoa hangata, moo CPHL = 0, CPOL = 0.
Ho sebetsa le Raspberry Pi
Lumella sebopeho sa SPI
PS: Haeba u sebelisa tsamaiso ea lekala la Bullseye, u lokela ho fetola "apt-get" ho "apt", tsamaiso ea lekala la Bullseye e tšehetsa Python3 feela.
Bula terminal, sebelisa taelo ho kenya leqephe la tlhophiso
sudo raspi-config Khetha Likhetho tsa Interfacing -> SPI -> E ho nolofalletsa SPI interface
Qala hape Raspberry Pi
sudo reboot
Ka kopo etsa bonnete ba hore SPI ha e sebelisoe ke lisebelisoa tse ling, u ka sheba bohareng ba /boot/config.txt
Kenya Lilaebrari
Kenya lilaebrari tsa BCM2835
#Bula terminal ea Raspberry Pi 'me u tsamaise taelo e latelang wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.71.tar.gz tar zxvf bcm2835-1.71.tar.gz cd bcm2835-1.71/ sudo . configure && sudo make && sudo make check && sudo make install # Ho fumana lintlha tse ling, ka kopo sheba ofisiri. webSebaka: http://www.a irspayce.com/mikem/bcm2835/
Kenya lilaebrari tsa wiringPi
#Bula setsi sa Raspberry Pi 'me u tsamaise taelo e latelang ea sudo apt-get install wiringpi #For Raspberry Pi systems ka mor'a May 2019 (pejana ho feta pele, u ka' na ua hloka ho e etsa), u ka 'na ua hloka ho ntlafatsa: wget https://project -downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v # Run gpio -v le version 2.52 e tla hlaha. Haeba e sa hlahe, ins talation e fosahetse
Sistimi ea lekala ea #Bullseye e sebelisa taelo e latelang: git clone https://github.com/WiringPi/WiringPi cd WiringPi ./build gpio -v # Run gpio -v mme mofuta oa 2.60 o tla hlaha. Haeba e sa hlahe, ho bolela hore ho na le phoso ea ho kenya
Kenya lilaebrari tsa Python
# python2 sudo apt-fumana ntjhafatso sudo apt-get install python-pip sudo apt-get install python-pil sudo apt-get install python-numpy sudo pip kenya RPi.GPIO sudo pip kenya spidev #python3 sudo apt-get update sudo apt -kenya python3-pip sudo apt-get install python3-pil sudo apt-get install python3-numpy sudo pip3 kenya RPi.GPIO sudo pip3 kenya spidev
Khoasolla Examples
Bula terminal ea Raspberry Pi 'me u tsamaise taelo e latelang
sudo apt-get install unzip -y sudo wget https://www.waveshare.com/w/upload/8/8d/LCD_Module_RPI_code.zip sudo unzip ./LCD_Module_RPI_code.zip cd LCD_Module_RPI_code/RaspberryPi/
Kenya likhoutu tsa demo
Ka kopo, kena bukeng ea RaspberryPi (likhoutu tsa demo) pele 'me u tsamaise litaelo ho terminal
C likhoutu
Kopanya hape likhoutu tsa demo
cd c sudo etsa hore sudo e hloeke -j 8
Lenaneo la teko la li-skrini tsohle le ka bitsoa ka ho toba ka ho kenya boholo bo lekanang
sudo ./main Screen Size
Ho latela LCD, e 'ngoe ea litaelo tse latelang e lokela ho kenngoa:
#0.96inch LCD Module sudo ./main 0.96 #1.14inch LCD Module sudo ./main 1.14 #1.28inch LCD Module sudo ./main 1.28 #1.3inch LCD Module sudo ./main 1.3 #1.47inch .1.47inch LCD/ma #1.54inch LCD Module sudo ./main 1.54 #1.8inch LCD Module sudo ./main 1.8 #2inch LCD Module sudo ./main 2 #2.4inch LCD Module sudo ./main 2.4
python
Kenya lenane la lenaneo la python 'me u tsamaise taelo ls -l
cd python/examptlase ls -l
Mananeo a liteko bakeng sa li-skrini tsohle li ka ba viewed, hlophisoa ka boholo: 0inch96_LCD_test.py: 0.96inch LCD test programme 1inch14_LCD_test.py: 1.14inch LCD test programme 1inch28_LCD_test.py: 1.28inch LCD test program 1inch3_LCD_test.py: LCD 1.3inchtest1inch LCD program 47inch1.47_LCD_test.py: 1inchLCD test program 54inch1.54_LCD_test.py: 1inch LCD test programme 8inch_LCD_test.py: 1.8inch LCD test program 2inch2_LCD_test.py: 2inch4 LCD test program
Tsamaisa feela lenaneo le lumellanang le skrine, lenaneo le tšehetsa python2/3
# python2 sudo python 0inch96_LCD_test.py sudo python 1inch14_LCD_test.py sudo python 1inch28_LCD_test.py sudo python 1inch3_LCD_test.py sudo python 1inch47_LCD_test_pythonLCD_test_LCD_test.py LCD_test.py sudo python 1inch_LCD_test.py sudo python 54inch1_LCD_test.py # python8 sudo python2 2inch4_LCD_test.py sudo python3 3inch0_LCD_test.py sudo python96 3inch1_LCD_test.py sudo python14 3inch1_LCD_test.py sudo python28 3inch1_LCD_test.pyLCD python3 LCD 3 LCD _test.py sudo python1 47inch_LCD_test.py sudo python3 1inch54_LCD_test.py
FBCP Porting
PS: FBCP hajoale ha e tsamaellane le sistimi ea 64-bit Raspberry Pi, ho khothaletsoa ho sebelisa sistimi ea 32-bit.
Framebuffer e sebelisa sesebelisoa sa tlhahiso ea video ho khanna sesebelisoa sa ponts'o ea video ho tsoa polokelong ea memori e nang le data e felletseng ea foreimi. Ka mantsoe a bonolo feela, sebaka sa memori se sebelisoa ho boloka litaba tsa ponts'o, 'me litaba tsa ponts'o li ka fetoloa ka ho fetola data mohopolong. Ho na le projeke ea mohloli o bulehileng ho github: fbcp-ili9341. Ha ho bapisoa le merero e meng ea fbcp, morero ona o sebelisa khatholoho e sa fellang le DMA ho fihlela lebelo la ho fihla ho 60fps.
Khoasolla Bakhanni
sudo apt-get install cmake -y cd ~ wget https://www.waveshare.com/w/upload/1/18/Waveshare_fbcp.zip unzip Waveshare_fbcp.zip cd Waveshare_fbcp/ sudo chmod +x ./shell/*
Mokhoa oa 1: Sebelisa script (e khothalelitsoe)
Mona re ngotse mangolo a 'maloa a lumellang basebedisi ho sebelisa fbcp ka potlako le ho tsamaisa litaelo tse tsamaellanang ho latela skrine ea bona Haeba u sebelisa script 'me u sa hloke ho e fetola, u ka hlokomoloha mokhoa oa bobeli o ka tlase. Tlhokomeliso: Sengoloa se tla nkela sebaka se lumellanang sa /boot/config.txt le /etc/rc.local ebe se qala bocha, haeba mosebelisi a se hloka, ka kopo boloka se nepahetseng. files esale pele.
#0.96inch LCD Module sudo ./shell/waveshare-0inch96 #1.14inch LCD Module sudo ./shell/waveshare-1inch14 #1.3inch LCD Module sudo ./shell/waveshare-1inch3 #1.44inch LCD Module sudo ./shell/waveshare -1inch44 #1.54inch LCD Module sudo ./shell/waveshare-1inch54 #1.8inch LCD Module sudo ./shell/waveshare-1inch8 #2inch LCD Module sudo ./shell/waveshare-2inch #2.4inch LCD Module sudo ./shell/ waveshare-2inch4
Mokhoa oa 2: Tlhophiso ea Matsoho
Tlhophiso ea Tikoloho
Raspberry Pi's vc4-kms-v3d e tla etsa hore fbcp e hlolehe, kahoo re hloka ho koala vc4-kms-v3d pele re e kenya fbcp.
sudo nano /boot/config.txt
Feela thibela polelo e lumellanang le setšoantšo se ka tlase.
Joale ho tla hlokahala reboot.
sudo reboot
Kopanya le ho matha
mkdir haha cd haha cmake [likgetho] .. sudo make -j sudo ./fbcp
E nkele sebaka u le mong ho latela LCD Module eo u e sebelisang, kaholimo ho cmake [likhetho] ..
#0.96inch LCD Module sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_0INCH96_LCD=ON -DBACKLIG HT_CONTROL=ON -DSTATISTICS=0 .. #1.14inch LCD Module sudo cmake -DSPI_BUS_SHARE_20INCH1_LCD=ON -DBACKLIG HT_CONTROL=ON -DSTATISTICS=14 .. #0inch LCD Module sudo cmake -DSPI_BUS_SHARE_1.3INCH20_LCD=ON -DBACKLIG HT_CONTROL=ON -DSTATISTICS=1 .. TAOLO=ON -DSTATISTICS=3 .. #0inch LCD Module sudo cmake -DSPI_BUS_CLOCK_DIVISOR=1.54 -DWAVESHARE_20INCH1_LCD=ON -DBACKLIGH T_CONTROL=ON -DSTATISTICS=54 .. #0inch LCD Module sudo cmake -DSPI_BUS_SHARE_1.8INCH20_LCD=ON -DBACKLIGH T_CONTROL=ON -DSTATISTICS=1 .. #8inch LCD Module sudo cmake -DSPI_BUS_SHARE_0INCH2_LCD=ON -DBACKLIGH T_CONTROL=ON -DSTATISTICS=20 .. TAOLO=ON -DSTATISTICS = 2 .. #0inch LCD Module -dspi_bus_clock_Doavespi_bus_clony Mokokotlo _control = ho - DSTATISTICS=2.4 .. #20inch LCD Mojule sudo cmake -DSPI_BUS_CLOCK_DIVISOR=2 -DWAVESHARE_4INCH0_LCD=ON -DBACKLIGH T_CONTROL=ON -DSTATISTICS=XNUMX ..
Hlophisa ho qala ka bo eona
sudo cp ~/Waveshare_fbcp/buil d/fbcp /usr/local/bin/fbcp sudo nano /etc/rc.local
Kenya fbcp& pele u tsoa 0. Hlokomela hore u tlameha ho eketsa "&" ho sebetsa ka morao, ho seng joalo sistimi e kanna ea se khone ho qala.
Beha Qeto ea Pontšo
Beha boholo ba sebopeho sa sebopeho sa mosebelisi ho /boot/config.txt file.
sudo nano /boot/config.txt
Ebe u eketsa mela e latelang qetellong ea config.txt.
hdmi_force_hotplug=1 hdmi_cvt=[likhetho] hdmi_group=2 hdmi_mode=1 hdmi_mode=87 display_rotate=0
Kenya sebaka sa hdmi_cvt=[likhetho] tse kaholimo ho latela LCD Module eo u e sebelisang.
#2.4inch LCD Mojule & 2inch LCD Mojule hdmi_cvt=640 480 60 1 0 0 0
#1.8inch LCD Mojule hdmi_cvt=400 300 60 1 0 0 0
#1.3inch LCD Mojule & 1.54inch LCD Mojule hdmi_cvt=300 300 60 1 0 0 0
#1.14inch LCD Mojule hdmi_cvt=300 170 60 1 0 0 0
#0.96inch LCD Mojule hdmi_cvt=300 150 60 1 0 0 0
Ebe o qala sistimi hape
sudo reboot
Kamora ho qala sistimi hape, sebopeho sa mosebelisi sa Raspberry Pi OS se tla hlahisoa.
Tlhaloso ea API
Letoto la RaspberryPi le ka arolelana mananeo a mangata, hobane kaofela ke litsamaiso tse kentsoeng, 'me ho lumellana ho batla ho le matla. Lenaneo le arotsoe ka segokanyimmediamentsi sa sebolokigolo sa tlase-tlase, mokhanni oa skrineng sa LCD se bohareng, le ts'ebeliso ea lera le kaholimo;
C
Sesebelisoa sa Hardware
Re entse encapsulation ea boemo bo tlaase, haeba u hloka ho tseba ts'ebetsong ea ka hare u ka ea bukeng e tsamaisanang le eona ho hlahloba, ka lebaka leo sethala sa hardware le ts'ebetsong ea ka hare li fapane. O ka bula DEV_Config.c(.h) ho bona ditlhaloso, tse bukeng ya RaspberryPiclibConfig.
1. Ho na le mekhoa e meraro ea hore C ea ho khanna: laebrari ea BCM2835, laebrari ea WiringPi, le laebrari ea Dev ka ho latellana 2. Re sebelisa lilaebrari tsa Dev ka mokhoa oa kamehla. Haeba o hloka ho fetohela ho lilaeborari tsa BCM2835 kapa Wi ringPi, ka kopo bula RaspberryPicMakefile 'me u fetole mela ea 13-1 5 ka tsela e latelang:
Mofuta oa data:
#define UBYTE #define UWORD #define UDOUBLE
uint8_t uint16_t uint32_t
Ho qala mojule le ts'ebetso ea ho tsoa.
lefeela DEV_Module_Init(feela); lefeela DEV_Module_Exit(lefela); Hlokomela:
Mona ke ts'ebetso ea GPIO pele le ka mor'a ho sebelisa skrine ea LCD.
GPIO bala le ho ngola:
lefeela DEV_Digital_Write(UWORD Pin, UBYTE Boleng); UBYTE DEV_Digital_Read(UWORD Pin);
SPI ngola lintlha:
lefeela DEV_SPI_WriteByte(UBYTE Boleng);
Tšebeliso e ka holimo
Haeba o hloka ho taka litšoantšo kapa ho hlahisa litlhaku tsa Sechaena le Senyesemane, re fana ka lits'ebetso tsa mantlha mona mabapi le ts'ebetso ea litšoantšo bukeng ea RaspberryPclibGUIGUI_Paint.c(.h).
Lifonti li ka fumanoa bukeng ea RaspberryPclibFonts.
Thepa e Ncha ea Sets'oants'o: Theha "buffer" e ncha ea setšoantšo, thepa ena e kenyelletsa lebitso la buffer ea setšoantšo, bophara, bophahamo, Flip Angle, le mebala.
Void Paint_NewImage(UBYTE *setšoantšo, Bophara ba UWORD, Bophahamo ba UWORD, UWORD Rotate, UWORD Color) Litekanyetso:
Setšoantšo: lebitso la buffer ea setšoantšo, eo ha e le hantle e leng sesupo sa aterese ea pele ea buffer ea setšoantšo;
Bophara: buffer ea setšoantšo Bophara; Bophahamo: Bophahamo ba buffer ea setšoantšo; Potoloha: E bonts'a Angle ea ho potoloha ea setšoantšo Mmala: 'Mala oa pele oa setšoantšo;
Khetha buffer ea litšoantšo: Sepheo sa khetho ke hore u ka etsa litšoaneleho tse ngata tsa litšoantšo, ho ka ba le buffer ea litšoantšo tse ngata, u ka khetha setšoantšo ka seng seo u se etsang.
Void Paint_SelectImage(UBYTE *setšoantšo) Parameters:
Setšoantšo: lebitso la buffer ea setšoantšo, eo ha e le hantle e leng sesupo sa aterese ea pele ea buffer ea setšoantšo;
Phetoho ea setšoantšo: Beha Angle ea ho potoloha ea setšoantšo se khethiloeng, ka ho khetheha ka mor'a Paint_SelectImage (), u ka khetha ho potoloha 0, 90, 180, 270.
void Paint_SetRotate(UWORD Rotate) Parameters:
Fetola: ROTATE_0, ROTATE_90, ROTATE_180, le ROTATE_270 li tsamaisana le 0, 90, 180, le 270 degrees.
Flip seipone sa setšoantšo: Beha seiponeng se phetholang setšoantšo se khethiloeng. U ka khetha ha ho seipone, seipone se otlolohileng, seipone se otlolohileng, kapa seipone sa bohareng ba setšoantšo.
Void Paint_SetMirroring(UBYTE seipone) Parameters:
Seipone: e bontša mokhoa oa seipone sa setšoantšo. MIRROR_NONE, MIRROR_HO RIZONTAL, MIRROR_VERTICAL, MIRROR_ORIGIN li tsamaisana le seipone se se nang letho, seipone se otlolohileng, seipone se otlolohileng, le seipone sa bohareng ba setšoantšo ka ho latellana.
Beha lintlha tsa boemo ba ponts'o le 'mala ka har'a buffer: mona ke ts'ebetso ea mantlha ea GUI, lintlha tsa ts'ebetso li bonts'a boemo le mmala ka har'a buffer.
Void Paint_SetPixel(UWORD Xpoint, UWORD Ypoint, UWORD Color) Liparamente:
Xpoint: boemo ba X ba ntlha sebakeng sa buffer ea setšoantšo Ypoint: Y boemo ba ntlha ho buffer ea setšoantšo Mmala: e bontša 'Mala oa letheba.
'Mala oa ho tlatsa "buffer" ea setšoantšo: E tlatsa "buffer" ka 'mala, hangata e sebelisoang ho khantša skrine hore e be sekheo.
Void Paint_Clear(UWORD Color) Parameters:
Mmala: tlatsa Mmala
'Mala o tlatsitsoeng oa fensetere e itseng ka har'a "buffer" ea setšoantšo: karolo ea "buffer" ea fensetere e nang le 'mala o itseng, hangata e sebelisetsoang ho nchafatsa skrini hore e se be letho, e sebelisoang hangata bakeng sa pontšo ea nako, e ncha motsotsong oa ho qetela oa skrini.
Void Paint_ClearWindows(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yen d, UWORD Color) Parameters:
Xstart: khokahanyo ea x-ho qala ea fensetere Ystart: khokahanyo ea y-ho qala ea fensetere Xend: khokahanyo ea x-qetellong ea fensetere Yend: khokahanyo ea y-qetellong ea fensetere Mmala: tlatsa Mmala.
Thala ntlha: Ka har'a buffer ea setšoantšo, taka lintlha ho (Xpoint, Ypoint), u ka khetha 'mala, boholo ba ntlha, mokhoa oa ntlha.
void Paint_DrawPoint(UWORD Xpoint, UWORD Ypoint, UWORD Color, DOT_PIXEL Do
t_Pixel, DOT_STYLE Dot_Style)
Litlhophiso:
Xpoint: e bontša khokahanyo ea X ea ntlha.
Ypoint: e bontša khokahanyo ea Y ea ntlha.
Mmala: tlatsa Mmala
Dot_Pixel: Boholo ba letheba, demo e fana ka lintlha tsa boholo ba 8 b
y ea kamehla.
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: boholo ba ntlha e atolohang ho tloha bohareng ba
ntlha kapa ho tloha sekgutlong se ka tlase se leqeleng ho ya ho le letona le hodimo.
typedef enum {
DOT_FILL_AROUND = 1,
DOT_FILL_RIGHTUP,
} DOT_STYLE;
Thala mola: Buffer ea setšoantšo, hula mola ho tloha (Xstart, Ystart) ho ea ho (Xend, Yend), u ka khetha 'mala, bophara le mokhoa oa mohala.
void Paint_DrawLine(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, UW
ORD Mmala, LINE_STYLE Line_Style , LINE_STYLE Line_Style)
Litlhophiso:
Xstart: khokahanyo ea x-start ea mola
Ystart: khokahanyo ea y ea mola
Xend: khokahanyo ea x-qetellong ea mola
Yend: khokahanyo ea y ea mola
Mmala: tlatsa Mmala
Line_width: Bophara ba mola, demo e fana ka boholo ba 8 ba wi
dth ka ho sa feleng.
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: mokhoa oa line. Khetha hore na mela e kopantsoe joalo ka
tsela e otlolohileng kapa e tsoetsoeng.
typedef enum {
LINE_STYLE_SOLID = 0,
LINE_STYLE_DOTTED,
} LINE_STYLE;
Thala khutlonnetsepa: Ka har'a buffer ea setšoantšo, taka khutlonnetsepa ho tloha (Xstart, Ystart) ho ea ho (Xend, Yend), u ka khetha 'mala, bophara ba mola, hore na ho tlatsa bokahare ba khutlonnetsepa.
void Paint_DrawRectangle(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yen
d, UWORD Mmala, DOT_PIXEL Bophara ba Mola, DRAW_FILL Draw_Fill)
Litlhophiso:
Xstart: ho qala X khokahanyo ea khutlonnetsepa
Ystart: khokahanyo ea Y e qalang ea khutlonnetsepa
Xend: khokahanyo ea x-qetellong ea khutlonnetsepa
Yend: khokahanyo ea y ea khutlonnetsepa
Mmala: tlatsa Mmala
Line_width: Bophara ba mahlakore a mane a khutlonnetsepa. Le de
mo e fana ka boholo ba 8 ba bophara ka ho sa feleng.
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: Tlatsa, hore na ho tlatsa bokahare ba khutlonnetsepa
typedef enum {
DRAW_FILL_EMPTY = 0,
QALA_TLOA_E FULL,
} TLA_TLATSA;
Thala selikalikoe: Ka har'a buffer ea setšoantšo, taka selikalikoe sa Radius ka (X_Center Y_Center) joalo ka bohareng. U ka khetha 'mala, bophara ba mola, le hore na ho tlatsa ka hare ho selikalikoe.
void Paint_DrawCircle(UWORD X_Center, UWORD Y_Center, UWORD Radius, UWORD
Mmala, DOT_PIXEL Mola_bophara, DRAW_FILL Draw_Fill)
Litlhophiso:
X_Center: x-coordinate ea bohareng ba selikalikoe
Y_Center: khokahanyo ea y ea bohareng ba selikalikoe
Radius: e bontša Radius ea selikalikoe
Mmala: tlatsa Mmala
Line_width: Bophara ba arc, e nang le bophara ba 8 bophara
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: tlatsa, hore na ho tlatsa bokahare ba selikalikoe
typedef enum {
DRAW_FILL_EMPTY = 0,
QALA_TLOA_E FULL,
} TLA_TLATSA;
Ngola litlhaku tsa Ascii: Buffer ea setšoantšo, sebelisa (Xstart Ystart) joalo ka vertex e ka letsohong le letšehali, ngola
Sebapali sa Ascii, o ka khetha laeborari ea libapali tsa Ascii, 'mala oa bokapele ba fonte, fonte
mmala wa bokamorao.
void Paint_DrawChar(UWORD Xstart, UWORD Ystart, const char Ascii_Char, sFO NT* Font, UWORD Color_Foreground, UWORD Color_Background) Mekhatlo:
Xstart: khokahanyo ea x ea vertex e ka letsohong le letšehali la tlhaku Ystart: khokahanyo ea Y ea vertex e ka letsohong le letšehali la tlhaku Ascii_Char: e bonts'a Fonte ea litlhaku tsa Ascii: Laeborari ea litlhaku tse bonoang tsa Ascii, foldareng ea Fonts demo e fana ka Fonts tse latelang:
Font8: 5*8 fonte Font12: 7*12 font Font16: 11*16 font Font20: 14*20 font Font24: 17*24 fonte Colour_Foreground: Mmala oa fonte Mmala_Bokamora: e bonts'a bokamorao
Ngola khoele ea Senyesemane: Buffer ea setšoantšo, sebelisa (Xstart Ystart) joalo ka vertex e ka letsohong le letšehali, ngola a
Letoto la litlhaku tsa Senyesemane, o ka khetha laebrari ea libapali tsa Ascii, fonte
mmala wa bokapele, bokamorao ba mmala wa fonte.
void Paint_DrawString_EN(UWORD Xstart, UWORD Ystart, const char * pString, sFONT* Font, UWORD Color_Foreground, UWORD Color_Background) Mekhatlo:
Xstart: khokahanyo ea x ea vertex e ka letsohong le letšehali la tlhaku Ystart: khokahanyo ea Y ea vertex e ka letsohong le letšehali PString: khoele, khoele ke Mongolo oa pointer: Laebrari ea litlhaku tse bonoang tsa Ascii, foldareng ea Fonts demo e fana ka Fonts tse latelang:
Font8: 5*8 fonte Font12: 7*12 font Font16: 11*16 font Font20: 14*20 font Font24: 17*24 fonte Colour_Foreground: Mmala oa fonte Mmala_Bokamora: e bonts'a bokamorao
Ngola khoele ea Sechaena: ka har'a buffer ea setšoantšo, sebelisa (Xstart Ystart) joalo ka vertex e ka letsohong le letšehali, ngola mohala oa litlhaku tsa Sechaena, u ka khetha fonte ea litlhaku, 'mala oa bokapele ba fonte,' mala oa bokamorao ba fonte oa khouto ea GB2312.
void Paint_DrawString_CN(UWORD Xstart, UWORD Ystart, const char * pString, cFONT* font, UWORD Color_Foreground, UWORD Color_Background) Parameters:
Xstart: khokahanyo ea x ea vertex e ka letsohong le letšehali la sebopeho sa Ystart: khokahanyo ea Y ea vertex e ka letsohong le letšehali la fonte PString: khoele, khoele ke Mongolo oa pointer: Laeborari ea encoding ea GB2312 Font, foldareng ea Fonts demo e fana ka Fonts tse latelang:
Font12CN: ASCII fonte 11*21, Sechaena fonte 16*21 Font24CN: ASCII font24 *41, Sechaena fonte 32*41 Color_Foreground: Mmala oa fonte Mmala_Bokamora: e bonts'a bokamorao
Ngola linomoro: Buffer ea setšoantšo, sebelisa (Xstart Ystart) joalo ka vertex e ka letsohong le letšehali, ngola khoele
ea linomoro, o ka khetha laeborari ea litlhaku tse bonoang tsa Ascii, 'mala o ka pele oa fonte, fonte
mmala wa bokamorao.
void Paint_DrawNum(UWORD Xpoint, UWORD Ypoint, Palo e habeli, sFONT* Fon t, UWORD Digit, UWORD Color_Foreground, UWORD Color_Background) Mekhatlo:
Xpoint: khokahanyo ea x ea vertex ea leqele la tlhaku Ypoint: khokahanyo ea Y ea vertex ea leqele la fonte Nomoro: e bontša palo e bonts'itsoeng, e ka bang Decimal Digit: Ke nomoro ea decimal Font: Laebrari ea litlhaku tse bonahalang tsa Ascii, ho Fonts foldareng demo e fana ka Fonts tse latelang:
Font8: 5*8 fonte Font12: 7*12 font Font16: 11*16 font Font20: 14*20 font Font24: 17*24 fonte Colour_Foreground: Mmala oa fonte Mmala_Bokamora: e bonts'a bokamorao
Nako ea ho bonts'a: ka har'a buffer ea setšoantšo, sebelisa (Xstart Ystart) joalo ka vertex e letšehali, nako ea pontšo, uena
o ka khetha fonte ea sebopeho sa Ascii, 'mala oa bokapele ba fonte,' mala oa bokamorao ba fonte.
void Paint_DrawTime(UWORD Xstart, UWORD Ystart, PAINT_TIME *pTime, sFONT* Font, UWORD Color_Background, UWORD Color_Foreground) Mekhatlo:
Xstart: khokahanyo ea x ea vertex ea leqele la tlhaku Ystart: khokahanyo ea Y ea vertex ea leqele la fonte PTime: nako ea ponts'o, Sebopeho sa nako se hlalosoa mona, ha feela lihora, metsotso le metsotsoana li fetisetsoa ho paramethara. ; Fonte: Laeborari ea litlhaku tse bonoang tsa Ascii, foldareng ea Fonts demo e fana ka Fonts tse latelang:
Font8: 5*8 fonte Font12: 7*12 font Font16: 11*16 font Font20: 14*20 font Font24: 17*24 fonte Colour_Foreground: Mmala oa fonte Mmala_Bokamora: e bonts'a bokamorao
Bala sets'oants'o sa bmp sa lehae 'me u se ngolle ho cache.
Bakeng sa lits'ebetso tsa Linux tse kang Raspberry Pi, o ka bala le ho ngola litšoantšo. Bakeng sa
Raspberry Pi, bukeng: RaspberryPiclibGUIGUI_BMPfile.c(.h).
UBYTE GUI_ReadBmp(const char *path, UWORD Xstart, UWORD Ystart) paramethara:
tsela: tsela e lekanyelitsoeng ea setšoantšo sa BMP Xstart: Khokahano ea X ea vertex e ka letsohong le letšehali la setšoantšo, hangata 0 e fetisoa ke Ystart ea kamehla: Khokahano ea Y ea vertex e letšehali ea setšoantšo, ka kakaretso ly 0 ka ho sa feleng.
Khoutu ea Teko bakeng sa Basebelisi ba Raspberry Pi, bukeng: RaspberryPicexamples, bakeng sa khoutu eohle ea teko;
Haeba o hloka ho tsamaisa lenaneo la tlhahlobo ea LCD ea 0.96-inch, o hloka ho eketsa 0.96 joalo ka parameter ha o tsamaisa demo ea mantlha. Phetha hape ka mokhoa oa taelo oa Linux ka tsela e latelang:
hloekisa etsa sudo ./main 0.96
Python (bakeng sa Raspberry Pi) E sebetsa le python le python3. Bakeng sa python, mehala ea hae ha e thata joaloka C. Raspberry Pi: RaspberryPipythonlib
lcdconfig.py Ho qala mojule le ho tsoa ho sebetsa.
def module_init() def module_exit() Hlokomela: 1. Mona ke ts'ebetso ea GPIO pele le ka mor'a ho sebelisa skrine ea LCD. 2. Mosebetsi oa module_init () o bitsoa ka ho toba ho INIT () initi alizer ho LCD, empa mosebetsi oa module_exit () o hloka ho bitsoa ke oona.
GPIO bala le ho ngola:
def digital_write(pin, value) def digital_read(pin)
SPI ngola data.
def spi_writebyte(data)
xxx_LCD_test.py (xxx e supa boholo, haeba ke LCD ea 0.96inch, ke 0inch96_LCD_test.py, joalo-joalo) python e bukeng e latelang: Raspberry Pi: RaspberryPipythonexamples
Haeba mofuta oa hau oa python e le python2 mme o hloka ho tsamaisa lenaneo la tlhahlobo la 0.96inch LCD, le phete hape ka tsela e latelang ka mokhoa oa taelo oa linux:
sudo python 0inch96_LCD_test.py
Haeba mofuta oa hau oa python e le python3 mme o hloka ho tsamaisa lenaneo la tlhahlobo la 0.96inch LCD, phethisa se latelang ka mokhoa oa taelo oa linux:
sudo python3 0inch96_LCD_test.py
Mabapi le Litlhophiso tsa Rotation Haeba o hloka ho beha potoloho ea skrine lenaneong la python, u ka e beha ka polelo im_r= image1.rotate(270).
im_r= setšoantšo1.rotate(270)
Phello ea ho potoloha, nka 1.54 joalo ka example, odara ke 0°, 90°, 180°, 270°
GUI Functions Python e na le laeborari ea litšoantšo PIL sehokelo sa semmuso sa laeborari , ha ho hlokahale hore e ngole khoutu ho tsoa ho lera le utloahalang joalo ka C mme e ka letsetsa ka ho toba laebraring ea litšoantšo bakeng sa ts'ebetso ea litšoantšo. Tse latelang li tla nka LCD ea 1.54-inch e le example, re fana ka tlhaloso e khutšoanyane ea demo.
E hloka ho sebelisa laebrari ea litšoantšo le ho kenya laebrari.
sudo apt-fumana kenya python3-pil
Ebe u kenya laebrari
ho tsoa ho PIL import Image, ImageDraw, ImageFont.
Har'a tsona, Setšoantšo ke laebrari ea mantlha, ImageDraw ke mosebetsi oa ho taka, 'me ImageFont ke mosebetsi oa mongolo.
Hlalosa cache ea setšoantšo ho thusa ho taka, ho ngola, le mesebetsi e meng setšoantšong.
setšoantšo1 = Image.ncha(“RGB”, (disp.width, disp.height), “WHITE”)
Paramethara ea pele e hlalosa botebo ba 'mala oa setšoantšo, bo hlalosoang e le "1" ho bontša "bitmap" ea botebo bo le bong. Paramethara ea bobeli ke tuple e hlalosang bophara le bophahamo ba setšoantšo. Paramethara ea boraro e hlalosa 'mala oa kamehla oa buffer, o hlalosoang e le "WHITE".
Theha ntho ea ho taka e ipapisitseng le Image1 eo mesebetsi eohle ea ho taka e tla etsoa mona.
hula = ImageDraw.Thala(setšoantšo1)
Thala mola.
draw.line([(20, 10),(70, 60)], tlatsa = “RED”,bophara = 1)
Paramethara ea pele ke tuple ea lintlha tse 'ne e qalang ho (0, 0) le ho fella ho (127,0). Thala mola. Tlatsa =”0″ e bolela hore 'mala oa mola o tšoeu.
Thala khutlonnetsepa.
thala.rectangle([(20,10),(70,60)],tlatsa = “THOE”, kemiso=”Mntsho”)
Khang ea pele ke likarolo tse 'nè. (20,10) ke boleng ba coordinate k'honeng e kaholimo ho le letšehali la khutlonnetsepa, 'me (70,60) ke boleng ba coordinate hukung e ka tlase ho le letona la khutlonnetsepa. Tlatsa =” TSHWEU” e bolela BOTSHWANE ka hare, mme tlhakisetso=“Mntsho” e bolela hore mmala wa moralo ke o motsho.
Etsa selikalikoe.
draw.arc((150,15,190,55),0, 360, tlatsa =(0,255,0)
Thala selikalikoe se ngotsoeng ka lisekoere, paramethara ea pele ke tuple ea likarolo tse 4, 'me (150, 15) e le vertex e ka holimo ka letsohong le letšehali la lisekoere, (190, 55) e le vertex e ka tlaase e ka letsohong le letona la lisekoere. moeli oa bohareng ba foreimi e nang le mahlakore a mabeli ke sekhahla sa likhato tse 0, parameter ea bobeli e bontša sebaka sa ho qala, parameter ea boraro e bontša sebaka sa ho qetela, 'me ho tlatsa = 0 ho bontša hore' mala oa mola o tšoeu. Haeba palo e se na lisekoere ho ea ka khokahanyo, u tla fumana ellipse. Ntle le ts'ebetso ea arc, o ka sebelisa ts'ebetso ea chord ho taka selikalikoe se tiileng.
draw.ellipse((150,65,190,105), tlatsa = 0)
Paramethara ea pele ke ho hokahanya ha khutlonnetsepa e koetsoeng. Mekhahlelo ea bobeli le ea boraro ke likhato tse qalang le tsa ho qetela tsa selikalikoe. Parameter ea bone ke 'mala o tlatsitsoeng oa selikalikoe.
Sebopeho. Mojule oa ImageFont o hloka ho romelloa kantle ho naha le ho netefatsoa:
Font1 = ImageFont.truetype(“../Font/Font01.ttf”,25) Font2 = ImageFont.truetype(“../Font/Font01.ttf”,35) Font3 = ImageFont.truetype(“../Font/ Font02.ttf”,32)
U ka sebelisa lifonte tsa Windows kapa tse ling tse ka sebopeho sa ttc. Ela hloko: Laebrari ka 'ngoe ea litlhaku e na le litlhaku tse fapaneng; Haeba litlhaku tse ling li sa khone ho hlaha, ho khothaletsoa hore u ka bua ka sete ea khouto e sebelisitsoeng. Ho hula litlhaku tsa Senyesemane, o ka sebelisa mehala ka kotloloho; bakeng sa litlhaku tsa Sechaena, o hloka ho kenyelletsa letšoao u:
hula. mongolo((40, 50), 'WaveShare', tlatsa = (128,255,128), font=Font2) text= u” draw.text((74, 150), mongolo, tlatsa = “WHITE”,font=Font3 )
Paramethara ea pele ke tuple ea likarolo tse 2, tse nang le (40, 50) joalo ka vertex e ka letsohong le letšehali, fonte ke Font2, 'me tlatso ke' mala oa fonte. U ka etsa ka ho toba ho tlatsa = "WHITE", hobane boleng bo tloaelehileng ba 'mala bo se bo hlalositsoe Hantle, ehlile, u ka sebelisa tlatsa = (128,255,128), li-parentheses li lumellana le litekanyetso tsa mebala e meraro ea RGB e le hore u tsebe ho laola ka nepo. mmala oo o o batlang. Polelo ea bobeli e bontša Micro Snow Electronics, e sebelisa Font3, 'mala oa fonte o tšoeu.
bala setšoantšo sa lehae
setšoantšo = Image.open('../pic/LCD_1inch28.jpg')
Paramethara ke tsela ea setšoantšo. Mesebetsi e meng.
Ho fumana lintlha tse ling, u ka sheba ho http://effbot.org/imagingbook pil
E sebelisana le STM32
Tlhaloso ea software
Demo e ntlafalitsoe ho latela laeborari ea HAL. Khoasolla demo, fumana lenaneo la STM32 file directory, 'me u bule LCD_demo.uvprojx bukeng ea STM32STM32F103RBT6MDK-ARM ho hlahloba lenaneo.
Bula main.c, o ka bona mananeo ohle a liteko, tlosa maikutlo ka pel'a mananeo a teko skrineng se lumellanang, 'me u boele u boele u jarolle.
LCD_0in96_test() 0.96inch LCD tlhahlobo LCD_1in14_test() 1.14inch LCD tekolo ea tekolo LCD_1in28_test() 1.28inch LCD tekolo ea tekolo LCD_1in3_test() 1.3 inch LCD tekolo ea tekolo LCD_1in54 LCD_test1.54 LCD_1in8 LCD_test. inch LCD test program LCD_1.8in_test( ) Lenaneo la tlhahlobo ea LCD ea 2inch
Tlhaloso ea lenaneo
Sehokelo sa Hardware se ka tlase
Mofuta oa data
#define UBYTE #define UWORD #define UDOUBLE
uint8_t uint16_t uint32_t
Ho qala mojule le ts'ebetso ea ho tsoa
UBYTE System_Init(feela); lefeela System_Exit(feela); Tlhokomeliso: 1.mona ke ts'ebetso ea GPIO pele le ka mor'a ho sebelisa skrine ea LCD. 2.Ka mor'a hore ts'ebetso ea System_Exit(void) e sebelisoe, pontšo ea OLED e tla tima;
Ngola 'me u bale GPIO
lefeela UBYTE
DEV_Digital_Write(UWORD Pin, UBYTE Boleng); DEV_Digital_Read(UWORD Pin);
SPI ngola data
UBYTE SPI4W_Write_Byte(uint8_t boleng);
Tšebeliso e ka holimo
Bakeng sa skrine, haeba u hloka ho taka litšoantšo, ho hlahisa litlhaku tsa Sechaena le Senyesemane, ho hlahisa litšoantšo, joalo-joalo, u ka sebelisa lisebelisoa tse ka holimo ho etsa, 'me re fana ka mesebetsi ea mantlha mona mabapi le ts'ebetso ea litšoantšo bukeng ea STM32STM32F103RBUserGUI_DEVGUI_Paint.c( .h) Tlhokomeliso: Ka lebaka la boholo ba RAM ea ka hare ea STM32 le arduino, GUI e ngotsoe ka ho toba ho RAM ea LCD.
Fonte ea litlhaku eo GUI e itšetlehileng ka eona e le bukeng STM32STM32F103RBUserFonts
Thepa e Ncha ea Sets'oants'o: Theha sets'oants'o se secha, thepa ena e kenyelletsa lebitso la buffer ea setšoantšo, bophara, bophahamo, Flip Angle, mmala.
Void Paint_NewImage(UWORD Width, UWORD Height, UWORD Rotate, UWORD Color) Litekanyetso:
Bophara: buffer ea setšoantšo Bophara; Bophahamo: Bophahamo ba buffer ea setšoantšo; Potoloha: E bonts'a Angle ea ho potoloha ea setšoantšo Mmala: 'Mala oa pele oa setšoantšo;
Beha ts'ebetso e hlakileng ea skrine, hangata bitsa mosebetsi o hlakileng oa LCD ka kotloloho.
void Paint_SetClearFuntion(lefela (* Hlakileng)(UWORD)); paramethara:
Hlakola : Pontšo ea ts'ebetso e hlakileng ea skrine, e sebelisetsoang ho hlakola skrine kapele ho 'mala o itseng;
Beha mosebetsi oa pixel oa ho taka
void Paint_SetDisplayFuntion(lefela (*Display)(UWORD,UWORD,UWORD)); paramethara:
Pontšo: Pontšo ea ts'ebetso ea ho taka pixel, e sebelisetsoang ho ngola data sebakeng se boletsoeng ho RAM e ka hare ea LCD;
Khetha buffer ea setšoantšo: sepheo sa khetho ke hore o ka etsa litšobotsi tse ngata tsa litšoantšo, buffer ea litšoantšo e ka ba teng ka bongata, o ka khetha setšoantšo se seng le se seng seo u se etsang.
Void Paint_SelectImage(UBYTE *setšoantšo) Parameters:
Setšoantšo: lebitso la cache ea setšoantšo, eo ha e le hantle e leng sesupo sa aterese ea pele ea buffer ea setšoantšo
Phetoho ea setšoantšo: Beha Angle ea ho potoloha ea setšoantšo, ka ho khetheha ka mor'a Paint_SelectImage (), u ka khetha ho potoloha 0, 90, 180, 270.
void Paint_SetRotate(UWORD Rotate) Parameters:
Fetola: ROTATE_0, ROTATE_90, ROTATE_180, le ROTATE_270 li tsamaisana le 0, 90, 180, le 270 degrees ka ho latellana;
Flip seipone sa setšoantšo: Beha seiponeng se phetholang setšoantšo se khethiloeng. U ka khetha ha ho seipone, seipone se otlolohileng, seipone se otlolohileng, kapa seipone sa bohareng ba setšoantšo.
Void Paint_SetMirroring(UBYTE seipone) Parameters:
Seipone: e bontša mokhoa oa seipone sa setšoantšo. MIRROR_NONE, MIRROR_HORIZO NTAL, MIRROR_VERTICAL, MIRROR_ORIGIN ha e tsamaisane le seipone se se nang seipone, m irror e tshekaletseng, seipone se otlolohileng, le seipone sa bohareng ba setšoantšo ka ho latellana.
Beha lintlha tsa boemo ba ponts'o le 'mala ka har'a buffer: mona ke ts'ebetso ea mantlha ea GUI, lintlha tsa ts'ebetso li bonts'a boemo le mmala ka har'a buffer.
Void Paint_SetPixel(UWORD Xpoint, UWORD Ypoint, UWORD Color) Liparamente:
Xpoint: boemo ba X ba ntlha sebakeng sa buffer ea setšoantšo Ypoint: Y boemo ba ntlha ho buffer ea setšoantšo Mmala: e bontša 'Mala oa letheba.
'Mala oa ho tlatsa "buffer" ea setšoantšo: E tlatsa "buffer" ka 'mala, hangata e sebelisoang ho khantša skrine hore e be sekheo.
Void Paint_Clear(UWORD Color) Parameters:
Mmala: tlatsa Mmala
Karolo ea "buffer" ea 'mala oa ho tlatsa fensetere: karolo ea "buffer" ea fensetere e nang le 'mala o itseng, hangata e le ts'ebetso e soeufatsang ea fensetere, e sebelisoang hangata bakeng sa pontšo ea nako, e soeufala motsotsoana.
Void Paint_ClearWindows(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yen d, UWORD Color) Parameters:
Xstart: khokahanyo ea x-ho qala ea fensetere Ystart: e bonts'a sebaka sa Y sa fensetere Xend: khokahanyo ea x-qetellong ea fensetere Yend: e bonts'a khokahanyo ea y-qetellong ea fensetere Mmala: tlatsa Mobala.
Thala lintlha: Buffer ea setšoantšo, hula lintlha ho (Xpoint, Ypoint), u ka khetha 'mala, boholo ba ntlha, mokhoa oa ntlha.
void Paint_DrawPoint(UWORD Xpoint, UWORD Ypoint, UWORD Color, DOT_PIXEL Do
t_Pixel, DOT_STYLE Dot_Style)
Litlhophiso:
Xpoint: e bontša khokahanyo ea X ea ntlha
Ypoint: e bontša khokahanyo ea Y ea ntlha
Mmala: tlatsa Mmala
Dot_Pixel: Boholo ba letheba, bo fana ka ponts'o ea boholo bo robeli
ts
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: boholo ba ntlha e holang ho tloha bohareng ba poi
nt kapa ho tloha hukung e ka tlase ho leqele la ntlha ho ya ho le letona le hodimo
typedef enum {
DOT_FILL_AROUND = 1,
DOT_FILL_RIGHTUP,
} DOT_STYLE;
Ho taka line: Ka har'a buffer ea setšoantšo, mola ho tloha (Xstart, Ystart) ho ea (Xend, Yend), u ka khetha 'mala, bophara ba mela, mokhoa oa line.
void Paint_DrawLine(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, UW
ORD Mmala, LINE_STYLE Line_Style , LINE_STYLE Line_Style)
Litlhophiso:
Xstart: khokahanyo ea x-start ea mola
Ystart: e bonts'a sebaka sa Y sa ho qala mola
Xend: x-terminus ea mola
Yend: khokahanyo ea y ea mola
Mmala: tlatsa Mmala
Line_width: Bophara ba mola, bo fanang ka maemo a sa feleng a w
idths
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: mokhoa oa line. Khetha hore na mela e kopantsoe ka strai
tsela e thata kapa e tsoetsoeng
typedef enum {
LINE_STYLE_SOLID = 0,
LINE_STYLE_DOTTED,
} LINE_STYLE;
Thala khutlonnetsepa: Ka har'a buffer ea setšoantšo, taka khutlonnetsepa ho tloha (Xstart, Ystart) ho ea ho (Xend, Yend), u ka khetha 'mala, bophara ba mola, hore na ho tlatsa bokahare ba khutlonnetsepa.
void Paint_DrawRectangle(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yen
d, UWORD Mmala, DOT_PIXEL Bophara ba Mola, DRAW_FILL Draw_Fill)
Litlhophiso:
Xstart: ho qala X khokahanyo ea khutlonnetsepa
Ystart: e bontsha sebaka sa ho qala sa kgutlonne
Xend: X terminus ea khutlonnetsepa
Yend: e totobatsa khokahanyo ea y ea khutlonnetsepa
Mmala: tlatsa Mmala
Line_width: Bophara ba mahlakore a mane a khutlonnetsepa. Ea kamehla ei
bophara ba gh bo fanoe
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: Tlatsa, hore na ho tlatsa bokahare ba khutlonnetsepa
typedef enum {
DRAW_FILL_EMPTY = 0,
QALA_TLOA_E FULL,
} TLA_TLATSA;
Thala selikalikoe: Ka har'a buffer ea setšoantšo, taka selikalikoe sa Radius ka (X_Center Y_Center) joalo ka bohareng. U ka khetha 'mala, bophara ba mola, le hore na ho tlatsa ka hare ho selikalikoe.
void Paint_DrawCircle(UWORD X_Center, UWORD Y_Center, UWORD Radius, UWORD
Mmala, DOT_PIXEL Mola_bophara, DRAW_FILL Draw_Fill)
Litlhophiso:
X_Center: x-coordinate ea bohareng ba selikalikoe
Y_Center: Khokahano ea Y ea bohareng ba selikalikoe
Radius: e bontša Radius ea selikalikoe
Mmala: tlatsa Mmala
Line_width: Bophara ba arc, e nang le bophara ba 8 bophara
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: tlatsa, hore na ho tlatsa bokahare ba selikalikoe
typedef enum {
DRAW_FILL_EMPTY = 0,
QALA_TLOA_E FULL,
} TLA_TLATSA;
Ngola tlhaku ea Ascii: Buffer ea setšoantšo, ho (Xstart Ystart) joalo ka vertex e ka letsohong le letšehali, ngola
Sebapali sa Ascii, o ka khetha laeborari ea libapali tsa Ascii, 'mala oa bokapele ba fonte, fonte
mmala wa bokamorao.
void Paint_DrawChar(UWORD Xstart, UWORD Ystart, const char Ascii_Char, sFO NT* Font, UWORD Color_Foreground, UWORD Color_Background) Mekhatlo:
Xstart: khokahanyo ea x ea vertex e ka letsohong le letšehali la tlhaku Ystart: khokahanyo ea Y ea vertex e ka letsohong le letšehali Ascii_Char: e bonts'a Fonte ea litlhaku tsa Ascii: Laeborari ea litlhaku tse bonoang tsa Ascii, foldareng ea Fonts e fana ka Fonts tse latelang:
Font8: 5*8 fonte Font12: 7*12 font Font16: 11*16 font Font20: 14*20 font Font24: 17*24 fonte Colour_Foreground: Mmala oa fonte Mmala_Bokamora: e bonts'a bokamorao
Ngola khoele ea Senyesemane: Buffer ea setšoantšo, sebelisa (Xstart Ystart) joalo ka vertex e ka letsohong le letšehali, ngola a
letoto la litlhaku tsa Senyesemane, o ka khetha laebrari ea libapali tsa pono ea Ascii, bokapele ba fonte
mmala, bokamorao ba mmala wa fonte.
void Paint_DrawString_EN(UWORD Xstart, UWORD Ystart, const char * pString, sFONT* Font, UWORD Color_Foreground, UWORD Color_Background) Mekhatlo:
Xstart: khokahanyo ea x ea vertex e ka letsohong le letšehali la tlhaku Ystart: khokahanyo ea Y ea vertex e ka letsohong le letšehali PString: khoele, khoele ke Mongolo oa pointer: Laeborari ea litlhaku tse bonoang tsa Ascii, foldareng ea Fonts e fana ka Fonts tse latelang:
Font8: 5*8 fonte Font12: 7*12 font Font16: 11*16 font Font20: 14*20 font Font24: 17*24 fonte Colour_Foreground: Mmala oa fonte Mmala_Bokamora: e bonts'a bokamorao
Ngola khoele ea Sechaena: ka har'a buffer ea setšoantšo, sebelisa (Xstart Ystart) joalo ka vertex e ka letsohong le letšehali, ngola mohala oa litlhaku tsa Sechaena, u ka khetha fonte ea litlhaku tsa encoding ea GB2312, 'mala oa bokapele ba fonte,' mala oa bokamorao ba fonte.
void Paint_DrawString_CN(UWORD Xstart, UWORD Ystart, const char * pString, cFONT* font, UWORD Color_Foreground, UWORD Color_Background) Parameters:
Xstart: khokahanyo ea x ea vertex e ka letsohong le letšehali la tlhaku ea Ystart: khokahanyo ea Y ea vertex e ka letsohong le letšehali la mohala PString: khoele, khoele ke Mongolo oa pointer: Laeborari ea encoding ea GB2312 ea Fonte, foldareng ea Fonts e fana ka lintlha tse latelang:
Font12CN: ASCII fonte 11*21, Sechaena fonte 16*21 Font24CN: ASCII font24 *41, Sechaena fonte 32*41 Color_Foreground: Mmala oa fonte Mmala_Bokamora: e bonts'a bokamorao
Ngola linomoro: Buffer ea setšoantšo, sebelisa (Xstart Ystart) joalo ka vertex e ka letsohong le letšehali, ngola khoele
ea linomoro, o ka khetha laeborari ea litlhaku tse bonoang tsa Ascii, 'mala o ka pele oa fonte, fonte
mmala wa bokamorao.
void Paint_DrawNum(UWORD Xpoint, UWORD Ypoint, Palo e habeli, sFONT* Fon t, UWORD Digit, UWORD Color_Foreground, UWORD Color_Background) Mekhatlo:
Xpoint: khokahanyo ea x ea vertex ea leqele la tlhaku Ypoint: khokahanyo ea Y ea vertex ea leqele la fonte Nomoro: e bontša palo e bonts'itsoeng, e ka bang decimal Digit: Ke nomoro ea decimal Fonte: laebrari ea litlhaku tse bonoang ea Ascii, ho foldara ea Fonts e fana ka Fonts tse latelang:
Font8: 5*8 fonte Font12: 7*12 font Font16: 11*16 font Font20: 14*20 font Font24: 17*24 fonte Colour_Foreground: Mmala oa fonte Mmala_Bokamora: e bonts'a bokamorao
Nako ea ho bonts'a: ka har'a buffer ea setšoantšo, sebelisa (Xstart Ystart) joalo ka vertex e letšehali, nako ea pontšo, uena
o ka khetha fonte ea sebopeho sa Ascii, 'mala oa bokapele ba fonte,' mala oa bokamorao ba fonte.
void Paint_DrawTime(UWORD Xstart, UWORD Ystart, PAINT_TIME *pTime, sFONT* Font, UWORD Color_Background, UWORD Color_Foreground) Mekhatlo:
Xstart: khokahanyo ea x ea vertex e ka letsohong le letšehali la sebopeho sa Ystart: khokahanyo ea Y ea vertex e ka letsohong le letšehali la mohala PTime: nako ea ponts'o, mona e hlalositse sebopeho se setle sa nako, ha feela hora, motsotso le lintlha tsa bobeli tsa data ho parameter; Fonte: Laeborari ea litlhaku tse bonoang tsa Ascii, foldareng ea Fonts e fana ka Mehala e latelang:
Font8: 5*8 fonte Font12: 7*12 font Font16: 11*16 font Font20: 14*20 font Font24: 17*24 fonte Colour_Foreground: Mmala oa fonte Mmala_Bokamora: e bonts'a bokamorao
Tlhaloso ea software ea Arduino
Tlhokomeliso: Li-demos kaofela li lekoa ho Arduino uno. Haeba o hloka mefuta e meng ea Arduino, o hloka ho tseba hore na lithakhisa tse hokahaneng li nepahetse.
Tsamaisa lenaneo
Ka har'a sebopeho sa encyclopedia sa sehlahisoa khoasolla lenaneo , ebe u le bula. Lenaneo la Arduino le fumaneha ~/Arduino/…
Ka kopo, khetha lenaneo le lumellanang ho latela mohlala oa skrine oa LCD ho bula.
U ka khona view mananeo a teko bakeng sa boholo bohle ba skrine, a hlophisoa ka boholo:
Bakeng sa mohlalaample, 1.54inch LCD Module. Bula sephutheli sa LCD_1inch54 'me u tsamaise LCD_1inch54.ino file. Bula lenaneo, khetha mofuta oa boto ea nts'etsopele ea Arduino UNO.
Khetha sebaka se lumellanang sa COM
Ebe o tobetsa ho bokella le ho jarolla
Tlhaloso ea Lenaneo Selelekela sa Tokomane
Nka Arduino UNO e laolang LCD ea 1.54-inch e le example, bula bukana ea ArduinoLCD_1inch54:
Ho tsona: LCD_1inch54.ino: bula ka Arduino IDE; LCD_Driver.cpp(.h): ke mokhanni oa skrine ea LCD; DEV_Config.cpp(.h): Ke tlhaloso ea segokanyimmediamentsi sa sebolokigolo, se akaretsang maemo a ho bala le ho ngola phini, data ya phetiso ya SPI, le ho qalwa ha diphini; font8.cpp, font12.cpp, font16.cpp, font20.cpp, font24.cpp, font24CN.cpp, fonts.h: mengolo bakeng sa litlhaku tsa boholo bo fapaneng; image.cpp(.h): ke data ea setšoantšo, e ka fetolang setšoantšo leha e le sefe sa BMP ho sesa sa 'mala oa 'nete oa 16-bit ka Img2Lcd (e ka khoasolloa ho data ea nts'etsopele). Lenaneo le arotsoe ka segokanyimmediamentsi sa sebolokigolo sa tlase-tlase, mokhanni oa skrineng sa LCD se bohareng, le ts'ebeliso ea lera le kaholimo;
Sehokelo sa Hardware se ka tlase
Sebopeho sa hardware se hlalosoa ka bobeli files DEV_Config.cpp(.h), le mesebetsi e joalo ka boemo ba phini ea ho bala le ho ngola, tieho, le phetiso ea SPI li kentsoe.
ngola boemo ba phini
lefeela DEV_Digital_Write(int pin, int value)
Parameter ea pele ke pinana, 'me ea bobeli ke maemo a phahameng le a tlaase. Bala boemo ba phini
int DEV_Digital_Read(int pin)
Paramethara ke phini, 'me boleng ba ho khutla ke boemo ba phini e baloang. tieho
DEV_Delay_ms(nako ea ho lieha e sa saenang)
ho lieha ha boemo ba millisecond. Lintlha tse hlahisoang ke SPI
DEV_SPI_WRITE(boitsebiso ba char bo sa tekenoang)
Paramethara ke mofuta oa char, o nka likotoana tse 8. Kopo e ka holimo
Bakeng sa skrine, haeba u hloka ho taka litšoantšo, ho hlahisa litlhaku tsa Sechaena le Senyesemane, ho hlahisa litšoantšo, joalo-joalo, u ka sebelisa ts'ebeliso e ka holimo ho etsa, 'me re fana ka mesebetsi ea mantlha mona mabapi le ts'ebetso ea litšoantšo bukeng ea GUI_Paint.c( .h) Tlhokomeliso: Ka lebaka la boholo ba RAM ea ka hare ea STM32 le Arduino, GUI e ngotsoe ka ho toba ho RAM ea LCD.
Mehala e sebelisoang ke GUI kaofela e itšetlehile ka fonte*.cpp(h) files tlas'a se tšoanang file
Thepa e Ncha ea Sets'oants'o: Theha sets'oants'o se secha, thepa ena e kenyelletsa lebitso la buffer ea setšoantšo, bophara, bophahamo, Flip Angle, le mebala.
Void Paint_NewImage(UWORD Width, UWORD Height, UWORD Rotate, UWORD Color) Litekanyetso:
Bophara: buffer ea setšoantšo Bophara; Bophahamo: Bophahamo ba buffer ea setšoantšo; Potoloha: E bonts'a Angle ea ho potoloha ea setšoantšo Mmala: 'Mala oa pele oa setšoantšo;
Beha ts'ebetso e hlakileng ea skrine, hangata bitsa mosebetsi o hlakileng oa LCD ka kotloloho.
void Paint_SetClearFuntion(lefela (* Hlakileng)(UWORD)); paramethara:
Hlakola: Pontšo ea ts'ebetso e hlakileng ea skrine, e sebelisetsoang ho hlakola skrine kapele ho 'mala o itseng;
Beha mosebetsi oa pixel oa ho taka.
void Paint_SetDisplayFuntion(lefela (*Display)(UWORD,UWORD,UWORD)); paramethara:
Pontšo: Pontšo ea ts'ebetso ea ho taka pixel, e sebelisetsoang ho ngola data sebakeng se boletsoeng ho RAM e ka hare ea LCD;
Khetha "buffer" ea setšoantšo: sepheo sa khetho ke hore o ka etsa litšoaneleho tse ngata tsa litšoantšo, buffer ea litšoantšo e ka ba teng ka bongata, 'me u ka khetha setšoantšo se seng le se seng seo u se etsang.
Void Paint_SelectImage(UBYTE *setšoantšo) Parameters:
Setšoantšo: lebitso la cache ea setšoantšo, eo ha e le hantle e leng sesupo sa aterese ea pele ea buffer ea setšoantšo
Phetoho ea setšoantšo: Beha Angle ea ho potoloha ea setšoantšo, ka ho khetheha ka mor'a Paint_SelectImage (), u ka khetha ho potoloha 0, 90, 180, 270.
void Paint_SetRotate(UWORD Rotate) Parameters:
Fetola: ROTATE_0, ROTATE_90, ROTATE_180, le ROTATE_270 li tsamaisana le 0, 90, 180, le 270 degrees ka ho latellana;
Flip seipone sa setšoantšo: Beha seiponeng se phetholang setšoantšo se khethiloeng. U ka khetha ha ho seipone, seipone se otlolohileng, seipone se otlolohileng, kapa seipone sa bohareng ba setšoantšo.
Void Paint_SetMirroring(UBYTE seipone) Parameters:
Seipone: e bontša mokhoa oa seipone sa setšoantšo. MIRROR_NONE, MIRROR_HORIZO NTAL, MIRROR_VERTICAL, MIRROR_ORIGIN ha e tsamaisane le seipone se se nang seipone, m irror e tshekaletseng, seipone se otlolohileng, le seipone sa bohareng ba setšoantšo ka ho latellana.
Beha lintlha tsa boemo ba ponts'o le 'mala ka har'a buffer: mona ke ts'ebetso ea mantlha ea GUI, lintlha tsa ts'ebetso li bonts'a boemo le mmala ka har'a buffer.
Void Paint_SetPixel(UWORD Xpoint, UWORD Ypoint, UWORD Color) Liparamente:
Xpoint: boemo ba X ba ntlha sebakeng sa buffer ea setšoantšo Ypoint: Y boemo ba ntlha ho buffer ea setšoantšo Mmala: e bontša 'Mala oa letheba.
'Mala oa ho tlatsa "buffer" ea setšoantšo: E tlatsa "buffer" ka 'mala, hangata e sebelisoang ho khantša skrine hore e be sekheo.
Void Paint_ClearWindows(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yen d, UWORD Color) Parameters:
Xstart: khokahanyo ea x-ho qala ea fensetere Ystart: e bonts'a sebaka sa Y sa fensetere Xend: khokahanyo ea x-qetellong ea fensetere Yend: e bonts'a khokahanyo ea y-qetellong ea fensetere Mmala: tlatsa Mobala.
Thala lintlha: Buffer ea setšoantšo, hula lintlha ho (Xpoint, Ypoint), u ka khetha 'mala, boholo ba ntlha, mokhoa oa ntlha.
void Paint_DrawPoint(UWORD Xpoint, UWORD Ypoint, UWORD Color, DOT_PIXEL Do
t_Pixel, DOT_STYLE Dot_Style)
Litlhophiso:
Xpoint: e bontša khokahanyo ea X ea ntlha
Ypoint: e bontša khokahanyo ea Y ea ntlha
Mmala: tlatsa Mmala
Dot_Pixel: Boholo ba letheba, bo fana ka ponts'o ea boholo bo robeli
ts
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: boholo ba ntlha e holang ho tloha bohareng ba poi
nt kapa ho tloha hukung e ka tlase ho leqele la ntlha ho ya ho le letona le hodimo
typedef enum {
DOT_FILL_AROUND = 1,
DOT_FILL_RIGHTUP,
} DOT_STYLE;
Ho taka line: Ka har'a buffer ea setšoantšo, mola ho tloha (Xstart, Ystart) ho ea (Xend, Yend), u ka khetha 'mala, bophara ba mela, mokhoa oa line.
void Paint_DrawLine(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, UW
ORD Mmala, LINE_STYLE Line_Style , LINE_STYLE Line_Style)
Litlhophiso:
Xstart: khokahanyo ea x-start ea mola
Ystart: e bonts'a sebaka sa Y sa ho qala mola
Xend: x-terminus ea mola
Yend: khokahanyo ea y ea mola
Mmala: tlatsa Mmala
Line_width: Bophara ba mola, e fanang ka kamehla ea eig
ht bophara
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: mokhoa oa line. Khetha hore na mela e kopantsoe joalo ka
tsela e otlolohileng kapa e tsoetsoeng
typedef enum {
LINE_STYLE_SOLID = 0,
LINE_STYLE_DOTTED,
} LINE_STYLE;
Thala khutlonnetsepa: Buffer ea setšoantšo, taka khutlonnetsepa ho tloha (Xstart, Ystart) ho ea ho (Xend, Yend), u ka khetha 'mala, bophara ba mola, le hore na u tlatse bokahare ba khutlonnetsepa.
void Paint_DrawRectangle(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yen
d, UWORD Mmala, DOT_PIXEL Bophara ba Mola, DRAW_FILL Draw_Fill)
Litlhophiso:
Xstart: ho qala X khokahanyo ea khutlonnetsepa
Ystart: e bontsha sebaka sa ho qala sa kgutlonne
Xend: X terminus ea khutlonnetsepa
Yend: e totobatsa khokahanyo ea y ea khutlonnetsepa
Mmala: tlatsa Mmala
Line_width: Bophara ba mahlakore a mane a khutlonnetsepa. Ea kamehla ei
bophara ba gh bo fanoe
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: Tlatsa, hore na ho tlatsa bokahare ba khutlonnetsepa
typedef enum {
DRAW_FILL_EMPTY = 0,
QALA_TLOA_E FULL,
} TLA_TLATSA;
Thala selikalikoe: Ka har'a buffer ea setšoantšo, taka selikalikoe sa Radius ka (X_Center Y_Center) joalo ka bohareng. U ka khetha 'mala, bophara ba mola, le hore na ho tlatsa ka hare ho selikalikoe.
void Paint_DrawCircle(UWORD X_Center, UWORD Y_Center, UWORD Radius, UWORD
Mmala, DOT_PIXEL Mola_bophara, DRAW_FILL Draw_Fill)
Litlhophiso:
X_Center: x-coordinate ea bohareng ba selikalikoe
Y_Center: Khokahano ea Y ea bohareng ba selikalikoe
Radius: e bontša Radius ea selikalikoe
Mmala: tlatsa Mmala
Line_width: Bophara ba arc, e nang le bophara ba 8 bophara
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: tlatsa, hore na ho tlatsa bokahare ba selikalikoe
typedef enum {
DRAW_FILL_EMPTY = 0,
QALA_TLOA_E FULL,
} TLA_TLATSA;
Ngola tlhaku ea Ascii: Buffer ea setšoantšo, ho (Xstart Ystart) joalo ka vertex e ka letsohong le letšehali, ngola
Sebapali sa Ascii, o ka khetha laeborari ea libapali tsa Ascii, 'mala oa bokapele ba fonte, fonte
mmala wa bokamorao.
void Paint_DrawChar(UWORD Xstart, UWORD Ystart, const char Ascii_Char, sFO NT* Font, UWORD Color_Foreground, UWORD Color_Background) Mekhatlo:
Xstart: khokahanyo ea x ea vertex e ka letsohong le letšehali la tlhaku Ystart: khokahanyo ea Y ea vertex e ka letsohong le letšehali Ascii_Char: e bonts'a Fonte ea litlhaku tsa Ascii: Laeborari ea litlhaku tse bonoang tsa Ascii, foldareng ea Fonts e fana ka Fonts tse latelang:
Font8: 5*8 fonte Font12: 7*12 font Font16: 11*16 font Font20: 14*20 font Font24: 17*24 fonte Colour_Foreground: Mmala oa fonte Mmala_Bokamora: e bonts'a bokamorao
Ngola khoele ea Senyesemane: Buffer ea setšoantšo, sebelisa (Xstart Ystart) joalo ka vertex e ka letsohong le letšehali, ngola a
letoto la litlhaku tsa Senyesemane, o ka khetha laebrari ea libapali tsa pono ea Ascii, bokapele ba fonte
mmala, bokamorao ba mmala wa fonte.
void Paint_DrawString_EN(UWORD Xstart, UWORD Ystart, const char * pString, sFONT* Font, UWORD Color_Foreground, UWORD Color_Background) Mekhatlo:
Xstart: khokahanyo ea x ea vertex e ka letsohong le letšehali la tlhaku Ystart: khokahanyo ea Y ea vertex e ka letsohong le letšehali PString: khoele, khoele ke Mongolo oa pointer: Laeborari ea litlhaku tse bonoang tsa Ascii, foldareng ea Fonts e fana ka Fonts tse latelang:
Font8: 5*8 fonte Font12: 7*12 font Font16: 11*16 font Font20: 14*20 font Font24: 17*24 fonte Colour_Foreground: Mmala oa fonte Mmala_Bokamora: e bonts'a bokamorao
Ngola khoele ea Sechaena: ka har'a buffer ea setšoantšo, sebelisa (Xstart Ystart) joalo ka vertex e ka letsohong le letšehali, ngola mohala oa litlhaku tsa Sechaena, u ka khetha fonte ea litlhaku tsa encoding ea GB2312, 'mala oa bokapele ba fonte,' mala oa bokamorao ba fonte.
void Paint_DrawString_CN(UWORD Xstart, UWORD Ystart, const char * pString, cFONT* font, UWORD Color_Foreground, UWORD Color_Background) Parameters:
Xstart: khokahanyo ea x ea vertex e ka letsohong le letšehali la sebopeho sa Ystart: khokahanyo ea Y ea vertex e ka letsohong le letšehali PString: khoele, khoele ke Mongolo oa pointer: Laeborari ea encoding ea GB2312 Fonte, foldareng ea Fonts e fana ka Fonts tse latelang:
Font12CN: ASCII fonte 11*21, Sechaena fonte 16*21 Font24CN: ASCII font24 *41, Sechaena fonte 32*41 Color_Foreground: Mmala oa fonte Mmala_Bokamora: e bonts'a bokamorao
Ngola linomoro: Buffer ea setšoantšo, sebelisa (Xstart Ystart) joalo ka vertex e ka letsohong le letšehali, ngola khoele
ea linomoro, o ka khetha laeborari ea litlhaku tse bonoang tsa Ascii, 'mala o ka pele oa fonte, fonte
mmala wa bokamorao.
void Paint_DrawNum(UWORD Xpoint, UWORD Ypoint, Palo e habeli, sFONT* Fon t, UWORD Digit, UWORD Color_Foreground, UWORD Color_Background) Mekhatlo:
Xpoint: khokahanyo ea x ea vertex ea leqele la tlhaku Ypoint: khokahanyo ea Y ea vertex ea leqele la fonte Nomoro: e bontša palo e bonts'itsoeng, e ka bang decimal Digit: Ke nomoro ea decimal Fonte: laebrari ea litlhaku tse bonoang ea Ascii, ho foldara ea Fonts e fana ka Fonts tse latelang:
Font8: 5*8 fonte Font12: 7*12 font Font16: 11*16 font Font20: 14*20 font Font24: 17*24 fonte Colour_Foreground: Mmala oa fonte Mmala_Bokamora: e bonts'a bokamorao
Ngola linomoro tse nang le decimals: ho (Xstart Ystart) joalo ka vertex e ka ho le letšehali, ngola khoele ea
linomoro tse nang le li-decimals, u ka khetha fonte ea litlhaku tse bonoang tsa khoutu ea Ascii, bokapele ba mohala
mmala, bokamorao ba mmala wa fonte
void Paint_DrawFloatNum(UWORD Xpoint, UWORD Ypoint, Palo e habeli, UBYTE Decimal_Point, sFONT* Fonte, UWORD Color_Foreground, UWORD Color_Backgroun d); paramethara:
Xstart: khokahanyo ea X ea vertex e ka letsohong le letšehali la sebopeho sa Ystart: Y khokahanyo ea vertex ea leqele la fonte Nomoro: nomoro e bonts'itsoeng, e bolokiloeng ka mefuta e 'meli mona Decimal_Point: E bonts'a palo ea linomoro ka mor'a decimal po int Font: Laebrari ea litlhaku tsa Ascii tse bonts'itsoeng, lifono tse latelang li fanoe ka har'a foldara ea Fonts:
Font8: 5*8 fonte Fonte12: 7*12 fonte Fonte16: 11*16 fonte Font20: 14*20 fonte Font24: 17*24 fonte Color_Foreground: mmala wa fonte Mmala_Bokamora: mmala wa bokamorao
Nako ea ho bonts'a: ka har'a buffer ea setšoantšo, sebelisa (Xstart Ystart) joalo ka vertex e ka letsohong le letšehali, nako ea pontšo, uena.
o ka khetha fonte ea sebopeho sa Ascii, 'mala oa bokapele ba fonte,' mala oa bokamorao ba fonte.
void Paint_DrawTime(UWORD Xstart, UWORD Ystart, PAINT_TIME *pTime, sFONT* Font, UWORD Color_Background, UWORD Color_Foreground) Mekhatlo:
Xstart: khokahanyo ea x ea vertex e ka letsohong le letšehali la sebopeho sa Ystart: khokahanyo ea Y ea vertex e ka letsohong le letšehali PTime: nako ea ponts'o, mona e hlalositse sebopeho se setle sa nako, ha feela hora, motsotso le lintlha tsa bobeli tsa data ho paramethara. ; Fonte: Laeborari ea litlhaku tse bonoang tsa Ascii, foldareng ea Fonts e fana ka Mehala e latelang:
Font8: 5*8 fonte Font12: 7*12 font Font16: 11*16 font Font20: 14*20 font Font24: 17*24 fonte Colour_Foreground: Mmala oa fonte Mmala_Bokamora: e bonts'a bokamorao
Bontša setšoantšo: ho (Xstart Ystart) e le vertex e ka ho le letšehali, hlahisa setšoantšo seo bophara ba sona e leng W_Image le bophahamo ba H_Image;
Paint_DrawImage e se nang letho(sets'oants'o sa char e sa saenang, UWORD xStart, UWORD yStar t, UWORD W_Image, UWORD H_Image) paramethara:
setšoantšo: aterese ea setšoantšo, e supang tlhahisoleseling eo u batlang ho e hlahisa
Xstart: khokahanyo ea X ea vertex ea leqele la tlhaku Ystart: Y khokahanyo ea vertex ea leqele la fonte W_Image: Bophara ba setšoantšo H_Setšoantšo: Bophahamo ba setšoantšo
VisionFive2
Adaptive Model
0.96inch LCD Mojule 1.14inch LCD 1.28inch LCD Mojule 1.3inch LCD 1.54inch LCD Mojule 1.8inch LCD 2inch LCD Mojule 2.4inch LCD
Khokahano ea Hardware
Khokelo ea VisionFive2 Pin
LCD VCC GND DIN CLK
CS DC RST BL
VisionFive2 Board Pin No. 3.3V GND 19 23 24 22 13 12
Kenya Lilaebrari tse Tšoanang
apt-get install pip pip kenya VisionFive.gpio apt-get install python3-numpy apt-get install python3-pil
Demo Download
apt-fumana kenya p7zip-full wget https://www.waveshare.com/w/upload/e/e9/LCD_Module_code.7z 7z x LCD_Module_code.7z -o./LCD_Module_code cd LCD_Module_code/VisionFive/python/example /
Matha Demo e Tšoanang ho ea ka Skrine eo U e Rekileng
python3 0inch96_LCD_test.py python3 1inch14_LCD_test.py python3 1inch28_LCD_test.py python3 1inch3_LCD_test.py python3 1inch54_LCD_test.py python3 1inchpyte8_LCD_test _LCD_test.py
Mohlodi
Litokomane
Lethathamo la lintlha tsa IL9341
Software
Image2Lcd
Likhoutu tsa demo
Likhoutu tsa demo
Setšoantšo sa 3D
2.4inch LCD Module 3D Drawing
Setšoantšo sa 2D
2.4inch LCD Module 2D Drawing
LBH
'Potso:' 1. LCD ha e na letho ha e sebelisoa le Raspberry Pi? Karabo:
a) Etsa bonnete ba hore u nolofalitse sebopeho sa SPI b)Sheba tlhahiso ea BL pin, haeba e se na boleng, ka kopo leka ho e khaola.
'Potso:' 2. Mokhoa oa ho fetola sebopeho sa ponts'o
Karabo: Haeba u sebelisa likhoutu tsa C, u ka sebelisa mosebetsi oa Paint_SetRotate(Rotate) ho seta sebopeho sa ponts'o, ke 0 °, 90 °, 180 °, le 270 ° feela tse fumanehang.
Haeba u sebelisa likhoutu tsa Python, u ka sebelisa ts'ebetso ea rotate(Rotate) ho fetola sebopeho ka lehlakoreng le leng le le leng.
'Potso:'3.Python Image libraries
Karabo: Haeba u fumana phoso ea lilaeborari ha u tsamaisa python example, ka kopo leka ho kenya lilaebrari tsa PIL ka taelo: sudo apt-get install python-imaging
'Potso:' 4. Ke hobane'ng ha skrine e sa bontše hantle ha e hokahane le Arduino?
Karabo: Ha u sebelisa Arduino, ka kopo etsa bonnete ba hore e hokahane le motlakase oa 5v.
'Potso:' 5. Tšebeliso e fosahetseng ea li-control tsa Raspberry Pi e ka baka?
Karabo: Haeba ho sebelisa mokhoa oa wiringPi ho tloaelehile, joale ho sebelisa python kapa BCM2835 ho ka etsa hore skrine e hlolehe ho khatholla ka mokhoa o tloaelehileng, hobane laebrari ea bcm2835 ke mosebetsi oa laebrari oa Raspberry Pi cpu chip, 'me karolo e ka tlaase ke ho sebetsa ka ho toba ho ngolisa. , ha karolo e ka tlase ea laebrari ea wiringPi le python li baloa le ho ngoloa ka ho bala le ho ngola. Sesebelisoa file ea sistimi ea linux e sebetsa sesebelisoa, se ka etsang hore boema-kepe ba GPIO bo be bo sa tloaelehang. Ho qala hape Raspberry Pi ho ka e rarolla hantle.
Tšehetso
Haeba o hloka tšehetso ea tekheniki, ka kopo, e-ea leqepheng 'me u bule tekete.
Litokomane / Lisebelisoa
![]() |
WAVESHARE IL9341 2.4inch LCD TFT Display Module [pdf] Litaelo IL9341 2.4inch LCD TFT Display Module, IL9341, 2.4inch LCD TFT Display Module, LCD TFT Display Module, TFT Display Module, Display Module, Mojule |