1.9 düymlük LCD Mini Ekran Modulu
"
Xüsusiyyətlər:
- Ekran ölçüsü: 1.9 düym
- İnterfeys: GH1.25 8PIN
- Rabitə Protokolu: SPI
- Uyğundur: Raspberry Pi
Məhsuldan İstifadə Təlimatları:
Aparat Bağlantısı:
Lütfən, təqdim olunanlardan istifadə edərək LCD-ni Raspberry Pi-yə qoşun
8PIN kabel. Aşağıdakı pin konfiqurasiya cədvəlinə əməl edin:
| LCD | VCC | GND | DIN | CLK | ||
|---|---|---|---|---|---|---|
| Raspberry Pi | BCM2835 | 3.3V | GND | MOSI | SCLK | CE0 |
SPI interfeysini aktivləşdirin:
Raspberry Pi-də SPI interfeysini aktivləşdirmək üçün:
- Terminalı açın və əmri daxil edin: sudo raspi-config
- Aktivləşdirmək üçün İnterfeys Seçimləri -> SPI -> Bəli seçin
SPI - Sudo reboot əmrindən istifadə edərək Raspberry Pi-ni yenidən başladın
C Demo:
C demosunu işə salmaq üçün:
- Təqdim olunan əmrləri işlətməklə BCM2835 kitabxanasını quraşdırın
terminal - Əmrlərdən istifadə edərək wiringPi kitabxanasını (isteğe bağlı) quraşdırın
təmin edilmişdir - Demo yükləyin files, tərtib edin və veriləndən istifadə edərək işə salın
təlimatlar
Python Demo:
Python demosunu işə salmaq üçün:
- Python2 və ya Python3 üçün lazımi Python kitabxanalarını quraşdırın
tələbinizə görə - Demo yükləyin files təmin edilir
təlimatlar
Tez-tez verilən suallar (FAQ):
S: SPI interfeysinin aktiv olub olmadığını necə yoxlaya bilərəm?
Cavab: 'dtparam=spi=on'u yoxlayaraq SPI-nin aktiv olub olmadığını yoxlaya bilərsiniz
/boot/config.txt-də və SPI-nin olub olmadığını görmək üçün ls /dev/spi* istifadə edərək
işğal olunub.
S: SPI işğal olunubsa, mən nə etməliyəm?
A: Əgər SPI işğal olunubsa, müvəqqəti bağlanması tövsiyə olunur
SPI-ni boşaltmaq üçün digər sürücü örtükləri. ls /dev/spi* istifadə edə bilərsiniz
işğal edilmiş SPI nümunələrini yoxlayın.
S: Bütün ekran ölçüləri üçün sınaq demolarını necə işlədə bilərəm?
Cavab: Siz uyğun olanı daxil etməklə test demolarına zəng edə bilərsiniz
terminalda ekran ölçüsü. məsələnample, sudo ./main 1.9 üçün
1.9 düymlük ekran.
“`
1.9 düymlük LCD modul
Bitdiview
1.9 düymlük LCD modul
Spesifikasiyalar
Əməliyyat həcmitage: 3.3V / 5V (Lütfən, enerji təchizatının voltage məntiq cildinə uyğundurtage, əks halda normal işləməyəcək.) Rabitə interfeysi: SPI Ekran Paneli: IPS Sürücü: ST7789V2 Çözünürlük: 170 (H) RGB × 320 (V) Ekran Ölçüləri: 22.70 × 42.72mm Piksel aralığı: 0.1335 × 0.1335 mm Ölçü: 27.3 × 51.2 mms. XNUMX × XNUMX mm
1.9 düym 170 × 320, SPI
LCD və nəzarətçi
1.9 düymlük LCD Modulun daxili sürücüsü ST7789V2-dir ki, bu da 240 x RGB x 320 ölçülü LCD nəzarətçidir və LCD-nin təsvir ölçüsü 170 (H) RGB × 320 (V) təşkil edir. Bundan əlavə, LCD-nin daxili operativ yaddaşı tam istifadə edilmir, çünki onu portret və üfüqi ekran kimi işə salmaq olar. Bu LCD 12 bit, 16 bit və 18 bitlik RGB giriş formatını, yəni RGB444, RGB565 və RGB666 formatını dəstəkləyir. Burada istifadə edilən demo, ümumiyyətlə istifadə etdiyimiz RGB formatı olan RGB565-dir. LCD 4 telli SPI-ni qəbul etdiyi üçün o, nəinki ünsiyyətdə daha sürətli olur, həm də daha çox GPIO başlıqlarını saxlayır.
Rabitə Protokolu
Qeyd: Ənənəvi SPI protokolu ilə fərq, kölə cihazdan host cihazına məlumat pininin gizlədilməsidir, çünki onu yalnız göstərmək lazımdır. Zəhmət olmasa Data Cədvəli Səhifə 66-a baxın. RESX sıfırlanır, modul işə salındıqda aşağı çəkilir və adətən 1-ə təyin edilir. CSX kölə cihaz çip seçimidir, aşağı aktivlikdir. D/CX çipin məlumat/komanda idarəetmə pinidir. DC=0 olduqda əmr yazın, DC=1 olduqda məlumat yazın. SDA ötürülən məlumatlar, yəni RGB məlumatlarıdır. SCL SPI rabitə saatıdır. SPI rabitəsi üçün məlumatlar ardıcıllıqla, yəni CPHA (Clock Phase) və CPOL (Clock Polarite) birləşməsindən ötürülür. CPHA məlumatların SCLK-nin 1-ci və ya 2-ci kənarında toplanmasını nəzarət edir. CPHA = 0 olduqda, məlumat SCLK-nin 1-ci kənarında əldə edilir. CPOL SCLK-nin boş vəziyyət səviyyəsinə nəzarət edir. CPOL = 0 olduqda, aşağı səviyyədədir. Yuxarıdakı şəkildən SCLK-nin 1-ci kənarında məlumat ötürməyə başladığını görə bilərsiniz. 8 bitlik məlumatlar bir saat dövründə ötürülür və SPI0 ilə məlumatlar bitlərdə yüksəkdən aşağıya ötürülür.
Raspberry Pi
Aparat Bağlantısı
Aşağıdakı cədvələ uyğun olaraq LCD-ni 8PIN kabel ilə Raspberry Pi-yə qoşun.
Raspberry Pi-yə qoşulun
LCD
VCC GND DIN CLK
CS DS RST BL
BCM2835 3.3V GND MOSI SCLK CE0 25 27 18
Raspberry Pi
Lövhə 3.3V GND
19 23 24 22 13 12
1.9 düymlük LCD yuxarıdakı cədvələ uyğun olaraq Raspberry Pi-yə qoşula bilən GH1.25 8PIN interfeysindən istifadə edir: (Lütfən, pin tərifi cədvəlinə uyğun qoşulun. Şəkildəki naqillərin rəngi yalnız istinad üçündür və faktiki rəng üstünlük təşkil edəcək.)
SPI interfeysini aktivləşdirin
Terminalı açın və konfiqurasiya səhifəsinə daxil olmaq üçün aşağıdakı əmrdən istifadə edin:
sudo raspi-config SPI interfeysini aktivləşdirmək üçün İnterfeys Seçimləri -> SPI -> Bəli seçin
Raspberry Pi-ni yenidən başladın
sudo yenidən başladın
/boot/config.txt faylını yoxlayın və 'dtparam=spi=on' yazıldığını görə bilərsiniz.
SPI-nin işğal edilmədiyinə əmin olmaq üçün digər sürücü əhatə dairəsini müvəqqəti bağlamaq tövsiyə olunur. SPI-nin tutulduğunu yoxlamaq üçün “ls /dev/spi*” istifadə edə bilərsiniz. Terminal “/dev/spidev0.0″ və ” /dev/spidev0.1″ çıxışlarını verirsə, bu, SPI-nin normal vəziyyətdə olduğunu bildirir.
C Demo
BCM2835 quraşdırın
#Raspberry Pi terminalını açın və aşağıdakı əmri işlədin wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.71.tar.gz tar zxvf bcm2835-1.71.tar.gz cd bcm2835-1.71/ sudo ./ konfiqurasiya && sudo make && sudo make check && sudo make install # Əlavə məlumat üçün rəsmi müraciət edin websayt: http://www.a irspayce.com/mikem/bcm2835/
WiringPi quraşdırın (isteğe bağlı)
#Raspberry Pi terminalını açın və aşağıdakı əmrləri yerinə yetirin: sudo apt-get install wiringpi #2019-cu ilin may ayından sonra Raspberry Pi sistemləri üçün (əvvəlkilərin icrasına ehtiyac yoxdur), təkmilləşdirmə tələb oluna bilər: wget https://project -downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v # Run gpio -v və 2.52 versiyası görünəcək. Əgər görünmürsə, bu, quraşdırmada bir səhv olduğunu bildirir.
#Bullseye budaqlama sistemi aşağıdakı əmrlərdən istifadə edir: git clone https://github.com/WiringPi/WiringPi cd WiringPi ./build gpio -v # Run gpio -v və 2.60 versiyası görünəcək. Əgər görünmürsə, bu, quraşdırmada bir səhv olduğunu bildirir.
Demo yükləmə
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/
Yenidən tərtib edin və bir neçə saniyə çəkə bilər.
cd c sudo make clean sudo make -j 8
Bütün ekranlar üçün test demoları müvafiq ölçü daxil etməklə birbaşa çağırıla bilər:
sudo ./main 1.9
Python Demo
Kitabxanaları quraşdırın
#python2 sudo apt-get yeniləmə sudo apt-get quraşdırma python-pip sudo apt-get quraşdırma python-pil sudo apt-get quraşdırma python-numpy sudo pip quraşdırma RPi.GPIO sudo pip quraşdırma spidev #python3 sudo apt-get yeniləmə sudo apt -get quraşdırma python3-pip sudo apt-get quraşdırma python3-pil sudo apt-get quraşdırma python3-numpy sudo pip3 quraşdırma RPi.GPIO sudo pip3 quraşdırma spidev
Demo yükləmə
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/
Python demo qovluğuna daxil olun və “ls -l” əmrini işə salın
cd python/examples ls -l
Siz LCD-lər üçün bütün test demolarını görə bilərsiniz və onlar ölçülərə görə təsnif edilir.
0inch96_LCD_test.py 1inch14_LCD_test.py 1inch28_LCD_test.py 1inch3_LCD_test.py 1inch47_LCD_test.py 1inch54_LCD_test.py 1inch8_LCD_test.py 1inch9_LCD_test.py 2inch_LCD_test.py 2inch4_LCD_test.py
0.96 düym LCD test nümayişi 1.14 düym LCD test nümayişi 1.28 düym LCD test nümayişi 1.3 düym LCD test nümayişi 1.47 düym LCD test nümayişi 1.54 düym LCD test nümayişi 1.8 düym LCD test nümayişi 1.9 düym LCD test nümayişi 2 düym LCD test nümayişi 2.4 düym LCD test nümayişi
Müvafiq demonu işə salın və o, python2/3-ü dəstəkləyir.
# python2 sudo python 1inch9_LCD_test.py # python3 sudo python3 1inch9_LCD_test.py
FBCP Portinqi
Framebuffer tam kadr məlumatlarını ehtiva edən yaddaş buferindən video göstərmə cihazını idarə etmək üçün video çıxış cihazından istifadə edir. Sadə dillə desək, displey məzmununu saxlamaq üçün yaddaş sahəsi istifadə olunur və yaddaşdakı məlumatların dəyişdirilməsi ilə ekran məzmunu dəyişdirilə bilər. Github-da açıq mənbəli bir layihə var: fbcp-ili9341. Digər fbcp layihələri ilə müqayisədə, bu layihə saniyədə 60 kadr sürətinə çatmaq üçün qismən yeniləmə və DMA istifadə edir.
Sürücüləri yükləyin
sudo apt-get install cmake -y cd ~ wget https://www.waveshare.com/w/upload/1/18/Waveshare_fbcp.zip arxivini açın Waveshare_fbcp.zip cd Waveshare_fbcp/ sudo chmod +x ./shell/*
Metod 1: Skriptdən istifadə edin (tövsiyə olunur)
Burada biz istifadəçilərə fbcp-dən tez istifadə etməyə və öz ekranlarına uyğun olaraq müvafiq əmrləri işə salmağa imkan verən bir neçə skript yazmışıq. Əgər skriptdən istifadə edirsinizsə və onu dəyişdirməyə ehtiyac yoxdursa, aşağıdakı ikinci metodu nəzərdən qaçıra bilərsiniz. Qeyd: Skript müvafiq /boot/config.txt və /etc/rc.local-ı əvəz edəcək və istifadəçiyə lazım olarsa, müvafiq faylın ehtiyat nüsxəsini çıxarın. files əvvəlcədən.
#0.96inch LCD modul sudo ./shell/waveshare-0inch96 #1.14inch LCD modul sudo ./shell/waveshare-1inch14 #1.3inch LCD modul sudo ./shell/waveshare-1inch3 #1.44inch LCD modul sudosha ./shell/ -1inch44 #1.54inch LCD modul sudo ./shell/waveshare-1inch54 #1.8inch LCD modul sudo ./shell/waveshare-1inch8 #2inch LCD modul sudo ./shell/waveshare-2inch #2.4inch LCD modul sudo ./shell/ dalğa payı - 2 düym 4
Metod 2: Əl ilə konfiqurasiya
Ətraf Mühitin Konfiqurasiyası
Raspberry Pi-nin vc4-kms-v3d fbcp-nin uğursuzluğuna səbəb olacaq, ona görə də fbcp-də quraşdırmadan əvvəl vc4-kms-v3d-ni bağlamalıyıq.
sudo nano /boot/config.txt
Sadəcə aşağıdakı şəkilə uyğun ifadəni bloklayın:
Yenidən başladın:
sudo yenidən başladın
Kompilyasiya edin və işləyin
mkdir build cd build cmake [seçimlər] .. sudo make -j sudo ./fbcp
İstifadə etdiyiniz LCD Moduluna uyğun olaraq onu özünüz dəyişdirin, yuxarıda cmake [seçimlər] ..
#0.96 düymlük LCD modul sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_0INCH96_LCD=ON -DBACKLIG HT_CONTROL=ON -DSTATISTICS=0 .. #1.14inch LCD Modul sudo cmake -DSPI_BUS_CLOCK_BÖLÜCÜ=20 -DWAVESHARE_1INCH14_LCD=ON LCD=ON -ARB LIGHT HT_CONTROL=ON -DSTATISTICS=0 .. #1.3inch LCD Modul sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_1INCH3_LCD=ON -DBACKLIGH T_CONTROL=ON -DSTATISTICS=0 .. #1.54inch LCD Modul sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_1INCH54_LCD=ON _LCD=ON -DBACKLIG HT_CONTROL=ON -DSTATISTICS =0 .. #1.8inch LCD Modulu sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_1INCH8_LCD=ON -DBACKLIGH T_CONTROL=ON -DSTATISTICS=0 .. #2inch LCD Modulu sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_2INCH0_LCD=ON =ON -ARKA İŞIQ _NƏZARƏT=ON - DSTATISTICS=2.4 .. #20inch LCD Modul sudo cmake -DSPI_BUS_CLOCK_BÖLƏNİCİ=2 -DWAVESHARE_4INCH0_LCD=ON -BACKLIGH T_CONTROL=ON -DSTATISTICS=XNUMX ..
Avtomatik başlamaq üçün qurun
sudo cp ~/Waveshare_fbcp/buil d/fbcp /usr/local/bin/fbcp sudo nano /etc/rc.local
0-dan çıxmazdan əvvəl fbcp& əlavə edin. Nəzərə alın ki, arxa fonda işləmək üçün “&” əlavə etməlisiniz, əks halda sistem başlaya bilməyəcək.
Ekranın qətnaməsini təyin edin
/boot/config.txt-də istifadəçi interfeysinin ekran ölçüsünü təyin edin file.
sudo nano /boot/config.txt
Sonra config.txt-in sonuna aşağıdakı sətirləri əlavə edin.
hdmi_force_hotplug=1 hdmi_cvt=[seçimlər] hdmi_group=2 hdmi_mode=1 hdmi_mode=87 display_rotate=0
Yuxarıdakı hdmi_cvt=[seçimləri] istifadə etdiyiniz LCD Moduluna uyğun olaraq dəyişdirin.
#2.4 düym LCD modul və 2 düym LCD modul hdmi_cvt=640 480 60 1 0 0 0
#1.8inch LCD Modul hdmi_cvt=400 300 60 1 0 0 0
#1.3inch LCD modul və 1.54inch LCD modul hdmi_cvt=300 300 60 1 0 0 0
#1.14inch LCD Modul hdmi_cvt=300 170 60 1 0 0 0
#0.96inch LCD Modul hdmi_cvt=300 150 60 1 0 0 0
Və sonra sistemi yenidən başladın:
sudo yenidən başladın
Sistemi yenidən işə saldıqdan sonra Raspberry Pi OS istifadəçi interfeysi görünəcək.
STM32
Aparat Bağlantısı
Təqdim etdiyimiz demo STM32F103RBT6-a əsaslanır və o, STM32F103RBT6 pinlərinə uyğun olaraq qoşulub. Proqramı porta köçürmək lazımdırsa, onu faktiki pinlərə uyğun olaraq birləşdirə bilərsiniz.
STM32F103ZET Pin Əlaqəsi Yazışmaları
LCD VCC GND DIN CLK
CS DC RST BL
STM32 3.3V GND PA7 PA5 PB6 PA8 PA9 PC7
Şirkətimiz tərəfindən hazırlanmış XNUCLEO-F103RB-ni keçmiş olaraq götürünample, əlaqə aşağıdakı kimidir:
Demo işləyin
Demo yükləyin və STM32-ni tapın file STM32STM32F103RBT6MDK-ARM kataloqunda LCD_demo.uvprojx faylını açın, sonra demonu görə bilərsiniz.
main.c-ni açın və siz bütün test demolarını görə bilərsiniz. 1.9 düymlük LCD Moduldan istifadə etdiyimiz üçün “LCD_1in9_test();” qarşısındakı şərhi silməliyik. və yenidən tərtib edin və endirin.
Demo Təsviri
Əsas Hardware İnterfeysi
Məlumat növü
#UBYTE-ni təyin edin #UWORD-u təyin edin #UDOUBLE-ı təyin edin
uint8_t uint16_t uint32_t
Modulun işə salınması və çıxması
void DEV_Module_Init(boş); void DEV_Module_Exit(boş); Qeyd: 1. Budur LCD ekrandan istifadə etməzdən əvvəl və sonra bəzi GPIO-ların işlənməsi; 2. DEV_Module_Exit funksiyasından istifadə edildikdən sonra LCD displey söndürüləcək;
GPIO yazın və oxuyun
void DEV_Digital_Write(UWORD Pin, UBYTE Dəyəri); UBYTE DEV_Digital_Read(UWORD Pin);
SPI məlumatları yazır
etibarsız DEV_SPI_WRITE(UBYTE _dat);
Üst tətbiq
LCD-lər üçün şəkilləri çəkən, Çin dili/İngilis simvollarını göstərən, şəkilləri göstərən və s. yuxarı proqramdır. Bir çox dostlar bəzi qrafiklərin işlənməsi haqqında soruşdular. Biz burada bəzi əsas funksiyaları təqdim edirik. Siz GUI-ni aşağıdakı kataloqda tapa bilərsiniz: STM32STM32F103RBUserGUI_DEVGUI_Paint.c(.h) Qeyd: STM32 və Arduino-nun RAM məhdudiyyətlərinə görə GUI birbaşa LCD RAM-da yazılır.
Aşağıdakı kataloq GUI asılılıqları üçün şriftlərdir: STM32STM32F103RBUserFonts
Yeni şəkil xüsusiyyətləri: şəkil xassələrinə aşağıdakılar daxildir: şəkil önbelleğinin adı, eni, hündürlüyü, fırlanma bucağı və rəngi.
void Paint_NewImage(UWORD Eni, UWORD Hündürlüyü, UWORD Döndürmə, UWORD Rəngi); Parametrlər:
En: şəkil önbelleğinin eni Hündürlüyü: şəkil önbelleğinin hündürlüyü Döndür: şəkil önbelleğinin fırlanma bucağı Rəng: şəkil önbelleğinin rəngi
Adətən LCD-nin aydın funksiyasını çağıran ekranın təmizlənməsi funksiyasını təyin edin;
void Paint_SetClearFuntion(void (*Clear)(UWORD)); Parametrlər:
Clear: Ekranı tez bir zamanda müəyyən rəngə təmizləmək üçün istifadə edilən ekranın təmizlənməsi funksiyasına işarədir;
Adətən LCD-nin DrawPaint funksiyasını çağıran piksellərin çəkilməsi funksiyasını təyin edin;
void Paint_SetDisplayFuntion(etibarsız (*Display)(UWORD,UWORD,UWORD)); Parametrlər:
Ekran: LCD daxili RAM-ın müəyyən edilmiş yerinə məlumat yazmaq üçün istifadə olunan piksellərin çəkilməsi funksiyasına göstərici;
Şəkil önbelleğini seçin: şəkil önbelleğini seçin, seçimin məqsədi ondan ibarətdir ki, siz çoxlu şəkil xassələri yarada bilərsiniz, şəkil önbelleği birdən çox ola bilər və siz yaratdığınız hər şəkli seçə bilərsiniz.
void Paint_SelectImage(UBYTE *image) Parametrləri:
şəkil: Şəkil önbelleğinin adı, əslində şəkil önbelleğinin ilk ünvanını göstərən göstəricidir;
Şəklin fırlanması: seçilmiş şəklin fırlanma bucağını təyin edin və onu “Paint_SelectImage()”dən sonra istifadə etmək tövsiyə olunur və siz 0, 90, 180, 270 çevirməyi seçə bilərsiniz.
void Paint_SetRotate(UWORD Rotate) Parametrləri:
Döndürün: şəkil seçim bucağı, müvafiq olaraq 0, 90, 180 və 270 dərəcəyə uyğun olaraq ROTATE_0, ROTATE_90, ROTAT E_180 və ROTATE_270 seçə bilərsiniz
Qeyd: Müxtəlif seçim bucaqları altında koordinatlar müxtəlif başlanğıc piksellərinə uyğun gəlir. Burada keçmiş olaraq 1.14 alırıqample və dörd şəkil sıra ilə 0°, 90°, 180° və 270°-dir. yalnız istinad üçün:
Şəkil güzgüsü çevirmə: seçilmiş təsvirin güzgü çevirməsini təyin edin, heç bir güzgü, üfüqi güzgü, şaquli güzgü və ya görüntünün mərkəzi güzgüsünü seçə bilərsiniz.
void Paint_SetMirroring(UBYTE güzgü) Parametrləri:
güzgü: MIRROR_NONEMIRROR_HORIZONTALMIRROR_VERTICALMIRROR_ORI GIN heç bir güzgüyə uyğun gəlmir, üfüqi güzgü, və rtical güzgü, görüntü mərkəzi güzgü
Keşdəki nöqtənin ekran mövqeyini və rəngini təyin edin: burada keşdəki nöqtələrin mövqeyini və rəngini emal etmək üçün GUI-nin əsas funksiyası var.
void Paint_SetPixel(UWORD Xpoint, UWORD Ypoint, UWORD Color) Parametrləri:
Xpoint: şəkil keşindəki nöqtənin X mövqeyi Ypoint: şəkil keşindəki nöqtənin Y mövqeyi Rəng: nöqtə ekranının rəngi
Şəkil önbelleği rəngi doldurur: şəkil önbelleğini müəyyən bir rənglə doldurun, ümumiyyətlə ekranı boş yerə yandırmaq üçün.
void Paint_Clear(UWORD Color) Parametrləri:
Rəng: doldurma rəngi
Şəkil önbelleği pəncərəsinin bir hissəsinin rənginin doldurulması: şəkil önbelleğinin pəncərəsinin müəyyən bir hissəsini müəyyən bir rənglə doldurun, ümumiyyətlə pəncərə ağardıcı funksiya kimi istifadə olunur, tez-tez vaxtın göstərilməsi, bir saniyə üçün ağardılması üçün istifadə olunur.
void Paint_ClearWindows(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yen d, UWORD Color) Parametr:
Xstart: Pəncərənin X başlanğıc koordinatları Ystart: Y pəncərənin başlanğıc koordinatları Xend: Pəncərənin X sonu koordinatları Yend: Pəncərənin Y sonu koordinatları Rəng: Doldurma rəngi
Nöqtələrin çəkilməsi: Şəkil ön yaddaşında (Xpoint, Ypoint) üzərində nöqtələr çəkin, siz rəng, nöqtə ölçüsü və nöqtə üslubunu seçə bilərsiniz.
etibarsız Paint_DrawPoint(UWORD Xpoint, UWORD Ypoint, UWORD Color, DOT_PIXEL Do
t_Pixel, DOT_STYLE Nöqtə_Stil)
Parametrlər:
Xpoint: nöqtənin X koordinatı
Y nöqtəsi: Nöqtənin Y koordinatı
Rəng: doldurma rəngi
Dot_Pixel: Defolt 8 ölçülü nöqtəni təmin edən nöqtə ölçüsü
typedef nömrə {
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: Nöqtənin üslubu, ölçüsünü genişləndirmə yolu
mərkəz kimi nöqtə ilə genişləyin və ya aşağı nöqtə ilə genişləyin
sol küncdən yuxarı sağa.
typedef nömrə {
DOT_FILL_AROUND = 1,
DOT_FILL_RIGHTUP,
} DOT_STYLE;
Xətt çəkin: şəkil önbelleğinde (Xstart, Ystart) ilə (Xend, Yend) xətt çəkin, siz rəngi, xəttin enini və xətt üslubunu seçə bilərsiniz.
boş Paint_DrawLine(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, UW
ORD Rəngi, LINE_STYLE Line_Style , LINE_STYLE Line_Style)
Parametrlər:
Xstart: Xəttin başlanğıc nöqtəsinin X koordinatı
Ystart: Xəttin başlanğıc nöqtəsinin Y koordinatı
Xend: Xəttin son nöqtəsi koordinatı
Yend: Xəttin Y son nöqtəsi koordinatı
Rəng: Doldurma rəngi
Line_width: Xəttin eni, 8 standart eni təmin edir
typedef nömrə {
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: Xətt üslubu, xətlərin qoşulub-qoşulmadığını seçin
düz xətt və ya nöqtəli xətt.
typedef nömrə {
LINE_STYLE_SOLID = 0,
LINE_STYLE_DOTTED,
} LINE_STYLE;
Düzbucaqlı çəkin: Şəkil önbelleğinde (Xstart, Ystart) -dən (Xend, Yend) düzbucaqlı çəkin, siz rəngini, xəttin enini və düzbucaqlının içini doldurub-doldurmayacağınızı seçə bilərsiniz.
void Paint_DrawRectangle(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yen
d, UWORD Rəngi, DOT_PIXEL Line_width, DRAW_FILL Draw_Fill)
Parametrlər:
Xstart: Düzbucaqlının başlanğıc nöqtəsinin X koordinatı
Ystart: Düzbucaqlının başlanğıc nöqtəsinin Y koordinatı
Xend: Düzbucaqlının son nöqtəsinin X koordinatı
Yend: Düzbucaqlının son nöqtəsinin Y koordinatı
Rəng: Doldurulmuş rəng
Xətt_eni: Düzbucaqlının dörd tərəfinin eni təmin edilir
g 8 standart genişlik
typedef nömrə {
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: doldurun, düzbucaqlının içini doldurub-doldurmamaq
typedef nömrə {
DRAW_FILL_EMPTY = 0,
DRAW_FILL_FULL,
} DRAW_FILL;
Dairə çəkin: Şəkil ön yaddaşında (X_Center Y_Center) mərkəz olaraq, Radius ilə bir dairə çəkin, siz rəngi, xəttin enini və dairənin içini doldurub-doldurmayacağınızı seçə bilərsiniz.
boş Paint_DrawCircle(UWORD X_Center, UWORD Y_Center, UWORD Radius, UWORD
Rəng, DOT_PIXEL Line_width, DRAW_FILL Draw_Fill)
Parametrlər:
X_Center: Dairənin mərkəzinin X koordinatı
Y_Mərkəz: Dairənin mərkəzinin Y koordinatı Radius Dairə radiusu
Rəng: doldurma rəngi
Line_width: Qövsün eni, 8 standart eni təmin edir
typedef nömrə {
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: doldurun, dairənin içini doldurub-doldurmamaq
typedef nömrə {
DRAW_FILL_EMPTY = 0,
DRAW_FILL_FULL,
} DRAW_FILL;
Ascii simvollarını yazın: şəkil buferində (Xstart Ystart) sol təpə kimi Ascii simvolunu yazın, siz Ascii kodunun vizual simvol şrift kitabxanasını, şriftin ön plan rəngini və fontun fon rəngini seçə bilərsiniz.
void Paint_DrawChar(UWORD Xstart, UWORD Ystart, const char Ascii_Char, sFO NT* Font, UWORD Color_Foreground, UWORD Color_Background) Parametrlər:
Xstart: Simvolun sol təpəsinin X koordinatı Ystart: Ascii_Char simvolunun sol təpəsinin Y koordinatı Ascii simvolları Şrift: Ascii kodunun vizual simvol şrift kitabxanası Fonts qovluğunda aşağıdakı şriftləri təmin edir:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: font color Color_Fon: fon rəngi
İngilis simvol sətirlərini yazın: şəkil önbelleğinde (Xstart Ystart) sol təpə kimi ingilis simvolları sətrini yazın, Ascii kodu vizual simvol şrift kitabxanasını, şriftin ön plan rəngini, şriftin fon rəngini seçə bilərsiniz;
void Paint_DrawString_EN(UWORD Xstart, UWORD Ystart, const char * pString, sFONT* Font, UWORD Color_Foreground, UWORD Color_Background) Parametrlər:
Xstart: Simvolun sol təpəsinin X koordinatı Ystart: Şriftin sol təpəsinin Y koordinatı pString: string, string bir göstəricidir Şrift: Ascii kodunun vizual simvol şrift kitabxanası Şriftlər qovluğunda aşağıdakı şriftləri təmin edir. :
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: font color Color_Fon: fon rəngi
Çin simvol sətirlərini yazın: şəkil önbelleğinde (Xstart Ystart) sol təpə kimi Çin simvollarından ibarət sətir yazın, siz GB2312 kodlu simvol şriftini, şriftin ön plan rəngini, fontun fon rəngini seçə bilərsiniz;
void Paint_DrawString_CN(UWORD Xstart, UWORD Ystart, const char * pString, cFONT* font, UWORD Color_Foreground, UWORD Color_Background) Parametrlər:
Xstart: Simvolun sol təpəsinin X koordinatı Ystart: Simvolun sol təpəsinin Y koordinatı pString: sətir, sətir göstəricidir Şrift: GB2312 kodlu simvol şrift kitabxanası Şriftlər qovluğunda aşağıdakı şriftləri təmin edir:
font12CNascii simvol şrifti 11*21, Çin şrifti 16*21 şrift24CNascii simvol şrifti 24*41, Çin şrifti 32*41 Rəng_Ön plan: şriftin rəngi Rəng_Arxa fon: fon rəngi
Rəqəmləri yazın: Şəkil önbelleğinde (Xstart Ystart) sol təpə kimi rəqəmlər sətrini yazın, Ascii kodu vizual simvol şrift kitabxanasını, şriftin ön plan rəngini, şriftin fon rəngini seçə bilərsiniz.
void Paint_DrawNum(UWORD Xpoint, UWORD Ypoint, int32_t Number, sFONT* Fon t, UWORD Color_Foreground, UWORD Color_Background) Parametrlər:
Xstart: Simvolun sol təpəsinin X koordinatı Ystart: Simvolun sol təpəsinin Y koordinatı Nömrə: Burada göstərilən nömrə 32-ə qədər göstərilə bilən 2147483647 bit uzunluğunda int tipində saxlanılır Şrift: Ascii kodu vizual simvol şrift kitabxanası Fonts qovluğunda aşağıdakı şriftləri təmin edir:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: font color Color_Fon: fon rəngi
Nömrələri ondalıklarla yazın: şəkil önbelleğinde, (Xstart Ystart) sol təpədir, ondalık ədədləri ola bilən ədədlər sətrini yazın, Ascii kodu vizual simvol şrift kitabxanasını, şriftin ön plan rəngini, şriftin fon rəngini seçə bilərsiniz.
void Paint_DrawFloatNum(UWORD Xpoint, UWORD Ypoint, qoşa Nömrə, UBYTE Ondalıq_Nöqtə, sFONT* Şrift, UWORD Rəng_Ön plan, UWORD Rəng_Arxa dairəsi); Parametrlər:
Xstart: Simvolun sol təpəsinin X koordinatı Ystart: Simvolun sol təpəsinin Y koordinatı Nömrə: Burada göstərilən nömrə ikiqat tipdə saxlanılır, bu ümumi ehtiyaclar üçün kifayətdir Ondalıq_Nöqtə: Rəqəmlərin sayını göstərin. ondalık nöqtə t Şrift: Ascii kodunun vizual simvol şrift kitabxanası Şriftlər qovluğunda aşağıdakı şriftləri təmin edir:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: font color Color_Fon: fon rəngi
Göstərilmə vaxtı: Şəkil önbelleğinde (Xstart Ystart) sol zirvədir və o, müəyyən müddət ərzində göstəriləcək və siz Ascii kodu vizual simvol şrift kitabxanasını, şriftin ön plan rəngini və fontun fon rəngini seçə bilərsiniz;
void Paint_DrawTime(UWORD Xstart, UWORD Ystart, PAINT_TIME *pTime, sFONT* Font, UWORD Color_Background, UWORD Color_Foreground) Parametrlər:
Xstart: Simvolun sol təpəsinin X koordinatı Ystart: Simvolun sol təpəsinin Y koordinatı pTime: Göstərilən vaxt, saat, dəqiqə və saniyə rəqəmləri keçdiyi müddətcə burada vaxt strukturu müəyyən edilir. parametrlərə; Şrift: Ascii kodunun vizual simvol şrift kitabxanası Fonts qovluğunda aşağıdakı şriftləri təmin edir:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: font color Color_Fon: fon rəngi
Arduino
Qeyd: bütün demolar Arduino uno-da sınaqdan keçirilmişdir. Arduino-nun başqa növlərinə ehtiyacınız varsa, əlaqə sancaqlarının düzgün olub olmadığını müəyyən etməlisiniz.
IDE quraşdırılması
Arduino IDE quraşdırma addımları
Aparat Bağlantısı
Arduino UNO Pin Əlaqəsi Yazışmaları
LCD VCC GND DIN CLK
CS DC RST BL
Bağlantı diaqramı aşağıdakı kimidir (böyütmək üçün klikləyin):
UNO 5V
GND D11 D13 D10 D7 D8 D9
Demo işləyin
Demo yükləyin və onu açın. Arduino demosu ~/Arduino/…-dadır. 1.9inch LCD Moduldan istifadə etdiyimiz üçün LCD_1inch9-u açmalıyıq file qovluğuna daxil olun və LCD_1inch9.ino-nu işə salın file qovluq.
Demo açın və Arduino UNO olaraq inkişaf lövhəsi modelini seçin.
Müvafiq COM portunu seçin.
Sonra kompilyasiya edin və yükləyin.
Demo Təsviri File Giriş
Arduino UNO-nu idarə edən 1.54 düymlük LCD-ni keçmiş olaraq götürünample, ArduinoLCD_1inch54 qovluğunu açın.
LCD_1inch54.ino: Arduino IDE ilə açın. LCD_Driver.cpp(.h): LCD ekranın sürücüsüdür. DEV_Config.cpp(.h): Oxuma və yazma pin səviyyəsini, SPI ötürülmə məlumatlarını və pin başlanğıcını əhatə edən aparat interfeysi tərifidir. font8.cpp, font12.cpp, font16.cpp, font20.cpp, font24.cpp, font24CN.cpp, fonts.h: müxtəlif ölçülü simvollar üçün şriftlər. image.cpp(.h): Bu, hər hansı BMP şəklini Img16Lcd vasitəsilə 2 bitlik həqiqi rəngli təsvir massivinə çevirə bilən şəkil verilənləridir (#Resursda endirilə bilər). Demo əsas aparat interfeysinə, orta səviyyəli LCD sürücüsünə və yuxarı qat tətbiqinə bölünür.
Əsas aparat interfeysi
Aparat interfeysi ikidə müəyyən edilir files DEV_Config.cpp (.h) və oxuma və yazma pin səviyyələri, gecikmələr və SPI ötürülməsi kimi funksiyalar əhatə olunub.
Pin səviyyəsini yazın
void DEV_Digital_Write(int pin, int dəyər)
Birinci parametr pin, ikincisi isə yüksək və aşağı səviyyədir. Pin səviyyəsini yazın
int DEV_Digital_Read(int pin)
Parametr pindir, qaytarılan dəyər isə oxunan pin səviyyəsidir. Gecikmə
DEV_Delay_ms(imzasız int gecikmə vaxtı)
Millisaniyə səviyyəli gecikmə. SPI çıxış məlumatları
DEV_SPI_WRITE(imzasız simvol datası)
Parametr simvol növüdür, 8 bit tutur.
Üst tətbiq
LCD-lər üçün şəkilləri çəkən, Çin dili/İngilis simvollarını göstərən, şəkilləri göstərən və s. yuxarı proqramdır. Bir çox dostlar bəzi qrafiklərin işlənməsi haqqında soruşdular. Biz burada bəzi əsas funksiyaları GUI_Paint.c(.h) təqdim edirik. Qeyd: STM32 və Arduino-nun RAM məhdudiyyətlərinə görə GUI birbaşa LCD RAM-da yazılır.
GUI tərəfindən istifadə edilən şriftlərin hamısı şriftdən asılıdır*.cpp(h) file eyni altında file.
Yeni şəkil xüsusiyyətləri: şəkil xassələrinə aşağıdakılar daxildir: şəkil önbelleğinin adı, eni, hündürlüyü, fırlanma bucağı və rəngi.
void Paint_NewImage(UWORD Eni, UWORD Hündürlüyü, UWORD Döndürmə, UWORD Rəngi); Parametrlər:
En: şəkil önbelleğinin eni Hündürlüyü: şəkil önbelleğinin hündürlüyü Döndür: şəkil önbelleğinin fırlanma bucağı Rəng: şəkil önbelleğinin rəngi
Adətən LCD-nin aydın funksiyasını çağıran ekranın təmizlənməsi funksiyasını təyin edin;
void Paint_SetClearFuntion(void (*Clear)(UWORD)); Parametrlər:
Clear: Ekranı tez bir zamanda müəyyən rəngə təmizləmək üçün istifadə edilən ekranın təmizlənməsi funksiyasına işarədir;
Adətən LCD-nin DrawPaint funksiyasını çağıran piksellərin çəkilməsi funksiyasını təyin edin;
void Paint_SetDisplayFuntion(etibarsız (*Display)(UWORD,UWORD,UWORD)); Parametrlər:
Ekran: LCD daxili RAM-ın müəyyən edilmiş yerinə məlumat yazmaq üçün istifadə olunan piksellərin çəkilməsi funksiyasına göstərici;
Şəkil önbelleğini seçin: şəkil önbelleğini seçin, seçimin məqsədi ondan ibarətdir ki, siz çoxlu şəkil xassələri yarada bilərsiniz, şəkil önbelleği birdən çox ola bilər və siz yaratdığınız hər şəkli seçə bilərsiniz.
void Paint_SelectImage(UBYTE *image) Parametrləri:
şəkil: Şəkil önbelleğinin adı, əslində şəkil önbelleğinin ilk ünvanını göstərən göstəricidir;
Şəklin fırlanması: seçilmiş şəklin fırlanma bucağını təyin edin və onu “Paint_SelectImage()”dən sonra istifadə etmək tövsiyə olunur və siz 0, 90, 180, 270 çevirməyi seçə bilərsiniz.
void Paint_SetRotate(UWORD Rotate) Parametrləri:
Döndürün: şəkil seçim bucağı, müvafiq olaraq 0, 90, 180 və 270 dərəcəyə uyğun olaraq ROTATE_0, ROTATE_90, ROTAT E_180 və ROTATE_270 seçə bilərsiniz
Qeyd: Müxtəlif seçim bucaqları altında koordinatlar müxtəlif başlanğıc piksellərinə uyğun gəlir. Burada keçmiş olaraq 1.14 alırıqample və dörd şəkil sıra ilə 0°, 90°, 180° və 270°-dir. yalnız istinad üçün:
Şəkil güzgüsü çevirmə: seçilmiş təsvirin güzgü çevirməsini təyin edin, heç bir güzgü, üfüqi güzgü, şaquli güzgü və ya görüntünün mərkəzi güzgüsünü seçə bilərsiniz.
void Paint_SetMirroring(UBYTE güzgü) Parametrləri:
güzgü: MIRROR_NONEMIRROR_HORIZONTALMIRROR_VERTICALMIRROR_ORI GIN heç bir güzgüyə uyğun gəlmir, üfüqi güzgü, və rtical güzgü, görüntü mərkəzi güzgü
Keşdəki nöqtənin ekran mövqeyini və rəngini təyin edin: burada keşdəki nöqtələrin mövqeyini və rəngini emal etmək üçün GUI-nin əsas funksiyası var.
void Paint_SetPixel(UWORD Xpoint, UWORD Ypoint, UWORD Color) Parametrləri:
Xpoint: şəkil keşindəki nöqtənin X mövqeyi Ypoint: şəkil keşindəki nöqtənin Y mövqeyi Rəng: nöqtə ekranının rəngi
Şəkil önbelleği rəngi doldurur: şəkil önbelleğini müəyyən bir rənglə doldurun, ümumiyyətlə ekranı boş yerə yandırmaq üçün.
void Paint_Clear(UWORD Color) Parametrləri:
Rəng: doldurma rəngi
Şəkil önbelleği pəncərəsinin bir hissəsinin rənginin doldurulması: şəkil önbelleğinin pəncərəsinin müəyyən bir hissəsini müəyyən bir rənglə doldurun, ümumiyyətlə pəncərə ağardıcı funksiya kimi istifadə olunur, tez-tez vaxtın göstərilməsi, bir saniyə üçün ağardılması üçün istifadə olunur.
void Paint_ClearWindows(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yen d, UWORD Color) Parametrlər:
Xstart: Pəncərənin X başlanğıc koordinatları Ystart: Y pəncərənin başlanğıc koordinatları Xend: Pəncərənin X sonu koordinatları Yend: Pəncərənin Y sonu koordinatları Rəng: Doldurma rəngi
Nöqtələrin çəkilməsi: Şəkil ön yaddaşında (Xpoint, Ypoint) üzərində nöqtələr çəkin, siz rəng, nöqtə ölçüsü və nöqtə üslubunu seçə bilərsiniz.
etibarsız Paint_DrawPoint(UWORD Xpoint, UWORD Ypoint, UWORD Color, DOT_PIXEL Do
t_Pixel, DOT_STYLE Nöqtə_Stil)
Parametrlər:
Xpoint: nöqtənin X koordinatı
Y nöqtəsi: Nöqtənin Y koordinatı
Rəng: doldurma rəngi
Dot_Pixel: Defolt 8 ölçülü nöqtəni təmin edən nöqtə ölçüsü
typedef nömrə {
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: Nöqtənin üslubu, ölçüsünü genişləndirmə yolu
mərkəz kimi nöqtə ilə genişləyin və ya aşağı nöqtə ilə genişləyin
sol küncdən yuxarı sağa.
typedef nömrə {
DOT_FILL_AROUND = 1,
DOT_FILL_RIGHTUP,
} DOT_STYLE;
Xətt çəkin: şəkil önbelleğinde (Xstart, Ystart) ilə (Xend, Yend) xətt çəkin, siz rəngi, xəttin enini və xətt üslubunu seçə bilərsiniz.
boş Paint_DrawLine(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, UW
ORD Rəngi, LINE_STYLE Line_Style , LINE_STYLE Line_Style)
Parametrlər:
Xstart: Xəttin başlanğıc nöqtəsinin X koordinatı
Ystart: Xəttin başlanğıc nöqtəsinin Y koordinatı
Xend: Xəttin son nöqtəsi koordinatı
Yend: Xəttin Y son nöqtəsi koordinatı
Rəng: Doldurma rəngi
Line_width: Xəttin eni, 8 standart eni təmin edir
typedef nömrə {
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: Xətt üslubu, xətlərin qoşulub-qoşulmadığını seçin
düz xətt və ya nöqtəli xətt.
typedef nömrə {
LINE_STYLE_SOLID = 0,
LINE_STYLE_DOTTED,
} LINE_STYLE;
Düzbucaqlı çəkin: Şəkil önbelleğinde (Xstart, Ystart) -dən (Xend, Yend) düzbucaqlı çəkin, siz rəngini, xəttin enini və düzbucaqlının içini doldurub-doldurmayacağınızı seçə bilərsiniz.
void Paint_DrawRectangle(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yen
d, UWORD Rəngi, DOT_PIXEL Line_width, DRAW_FILL Draw_Fill)
Parametrlər:
Xstart: Düzbucaqlının başlanğıc nöqtəsinin X koordinatı
Ystart: Düzbucaqlının başlanğıc nöqtəsinin Y koordinatı
Xend: Düzbucaqlının son nöqtəsinin X koordinatı
Yend: Düzbucaqlının son nöqtəsinin Y koordinatı
Rəng: Doldurulmuş rəng
Xətt_eni: Düzbucaqlının dörd tərəfinin eni təmin edilir
g 8 standart genişlik
typedef nömrə {
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: doldurun, düzbucaqlının içini doldurub-doldurmamaq
typedef nömrə {
DRAW_FILL_EMPTY = 0,
DRAW_FILL_FULL,
} DRAW_FILL;
Dairə çəkin: Şəkil ön yaddaşında (X_Center Y_Center) mərkəz olaraq, Radius ilə bir dairə çəkin, siz rəngi, xəttin enini və dairənin içini doldurub-doldurmayacağınızı seçə bilərsiniz.
boş Paint_DrawCircle(UWORD X_Center, UWORD Y_Center, UWORD Radius, UWORD
Rəng, DOT_PIXEL Line_width, DRAW_FILL Draw_Fill)
Parametrlər:
X_Center: Dairənin mərkəzinin X koordinatı
Y_Center: Dairənin mərkəzinin Y koordinatı
Radius: Dairə radiusu
Rəng: doldurma rəngi
Line_width: Qövsün eni, 8 standart eni təmin edir
typedef nömrə {
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: doldurun, dairənin içini doldurub-doldurmamaq
typedef nömrə {
DRAW_FILL_EMPTY = 0,
DRAW_FILL_FULL,
} DRAW_FILL;
Ascii simvollarını yazın: şəkil buferində (Xstart Ystart) sol təpə kimi Ascii simvolunu yazın, Ascii kodunun vizual simvol şrift kitabxanasını, şriftin ön plan rəngini, fontun fon rəngini seçə bilərsiniz.
void Paint_DrawChar(UWORD Xstart, UWORD Ystart, const char Ascii_Char, sFO NT* Font, UWORD Color_Foreground, UWORD Color_Background) Parametrlər:
Xstart: Simvolun sol təpəsinin X koordinatı Ystart: simvolun sol təpəsinin Y koordinatı Ascii_Char: Ascii simvolları Şrift: Ascii kodunun vizual simvol şrift kitabxanası Fonts qovluğunda aşağıdakı şriftləri təmin edir:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: font color Color_Fon: fon rəngi
İngilis simvol sətirlərini yazın: şəkil önbelleğinde (Xstart Ystart) sol təpə kimi ingilis simvolları sətrini yazın, Ascii kodu vizual simvol şrift kitabxanasını, şriftin ön plan rəngini, şriftin fon rəngini seçə bilərsiniz;
void Paint_DrawString_EN(UWORD Xstart, UWORD Ystart, const char * pString, sFONT* Font, UWORD Color_Foreground, UWORD Color_Background) Parametrlər:
Xstart: Simvolun sol təpəsinin X koordinatı Ystart: Şriftin sol təpəsinin Y koordinatı pStringstring, string göstəricidir Font: Ascii kodunun vizual simvol şrift kitabxanası Fonts qovluğunda aşağıdakı şriftləri təmin edir:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: font color Color_Fon: fon rəngi
Çin simvol sətirlərini yazın: şəkil önbelleğinde (Xstart Ystart) sol təpə kimi Çin simvollarından ibarət sətir yazın, siz GB2312 kodlu simvol şriftini, şriftin ön plan rəngini, fontun fon rəngini seçə bilərsiniz;
void Paint_DrawString_CN(UWORD Xstart, UWORD Ystart, const char * pString, cFONT* font, UWORD Color_Foreground, UWORD Color_Background) Parametrlər:
Xstart: Simvolun sol təpəsinin X koordinatı Ystart: pStringstring simvolunun sol təpəsinin Y koordinatı, sətir göstəricidir Şrift: GB2312 kodlu simvol şrift kitabxanası Şriftlər qovluğunda aşağıdakı şriftləri təmin edir:
font12CNascii simvol şrifti 11*21, Çin şrifti 16*21 şrift24CNascii simvol şrifti 24*41, Çin şrifti 32*41 Rəng_Ön plan: şriftin rəngi Rəng_Arxa fon: fon rəngi
Rəqəmləri yazın: Şəkil önbelleğinde (Xstart Ystart) sol təpə kimi rəqəmlər sətrini yazın, Ascii kodu vizual simvol şrift kitabxanasını, şriftin ön plan rəngini, şriftin fon rəngini seçə bilərsiniz.
void Paint_DrawNum(UWORD Xpoint, UWORD Ypoint, int32_t Number, sFONT* Fon t, UWORD Color_Foreground, UWORD Color_Background) Parametrlər:
Xstart: Simvolun sol təpəsinin X koordinatı Ystart: Simvolun sol təpəsinin Y koordinatı Nömrə: Burada göstərilən nömrə 32 Şriftlə göstərilə bilən 2147483647 bit uzunluğunda int t tipində saxlanılır. : Ascii kodu vizual simvol şrift kitabxanası Şriftlər qovluğunda aşağıdakı şriftləri təmin edir:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: font color Color_Fon: fon rəngi
Nömrələri ondalıklarla yazın: şəkil önbelleğinde, (Xstart Ystart) sol təpədir, ondalık ədədləri ola bilən ədədlər sətrini yazın, Ascii kodu vizual simvol şrift kitabxanasını, şriftin ön plan rəngini, şriftin fon rəngini seçə bilərsiniz.
void Paint_DrawFloatNum(UWORD Xpoint, UWORD Ypoint, qoşa Nömrə, UBYTE Ondalıq_Nöqtə, sFONT* Şrift, UWORD Rəng_Ön plan, UWORD Rəng_Arxa dairəsi); Parametrlər:
Xstart: Simvolun sol təpəsinin X koordinatı Ystart: Simvolun sol təpəsinin Y koordinatı Nömrə: Burada göstərilən nömrə ikiqat tipdə saxlanılır, bu ümumi ehtiyaclar üçün kifayətdir Ondalık_Nöqtə: Rəqəmlərin sayını göstərin. ondalık nöqtə t Şrift: Ascii kodunun vizual simvol şrift kitabxanası Şriftlər qovluğunda aşağıdakı şriftləri təmin edir:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: font color Color_Fon: fon rəngi
Göstərilmə vaxtı: Şəkil önbelleğinde (Xstart Ystart) sol zirvədir və o, müəyyən müddət ərzində göstəriləcək və siz Ascii kodu vizual simvol şrift kitabxanasını, şriftin ön plan rəngini və fontun fon rəngini seçə bilərsiniz;
void Paint_DrawTime(UWORD Xstart, UWORD Ystart, PAINT_TIME *pTime, sFONT* Font, UWORD Color_Background, UWORD Color_Foreground) Parametrlər:
Xstart: Simvolun sol təpəsinin X koordinatı Ystart: Simvolun sol təpəsinin Y koordinatı pTimeDisplayed time, burada saat, dəqiqə və saniyə rəqəmləri ötürülən zaman quruluşu müəyyən edilir. parametrlər; Şrift: Ascii kodunun vizual simvol şrift kitabxanası Fonts qovluğunda aşağıdakı şriftləri təmin edir:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: font color Color_Fon: fon rəngi
Şəkilləri göstərin: (Xstart Ystart) sol təpə olduqda, eni W_Image və hündürlüyü H_Image olan şəkli göstərin.
void Paint_DrawImage(const unsigned char *image, UWORD xStart, UWORD yStar t, UWORD W_Image, UWORD H_Image) Parametrlər:
image: təsvirin ünvanı, göstərmək istədiyiniz şəkil məlumatına işarə edir
Xstart: simvolun sol təpəsinin X koordinatı Ystart: W_Image şriftinin sol təpəsinin Y koordinatı: təsvirin eni H_Image: təsvirin hündürlüyü
Resurs
Sənəd
Sxematik diaqram
3D Rəsm
1.9 düymlük LCD Modul 3D Rəsm
1.9 düymlük LCD modul 3D preview file
Demo
LCD Modul kodu.zip
Proqram təminatı
Zimo221.7z
Image2Lcd2.9.zip
Şəkillərin çıxarılması Turtorial
Tez-tez verilən suallar
Sual: 1.9 düymlük LCD-nin maksimum enerji istehlakı nə qədərdir
Modul?
Cavab: 3.3V 40mA
Sual: 1.9 düymlük LCD modulun maksimum parlaqlığı nə qədərdir? Cavab:
3.3V 380cd/
Dəstək
Texniki dəstəyə ehtiyacınız varsa, səhifəyə daxil olun və bilet açın.
Sənədlər / Resurslar
![]() |
WAVESHARE 1.9 düymlük LCD Mini Ekran Modulu [pdf] İstifadəçi təlimatı 1.9 düym LCD Mini Ekran Modulu, 1.9 düym, LCD Mini Ekran Modulu, Mini Ekran Modulu, Ekran Modulu |
