1.9 इंच LCD मिनी डिस्प्ले मॉड्यूल
“
तपशील:
- प्रदर्शन आकार: 1.9 इंच
- इंटरफेस: GH1.25 8PIN
- कम्युनिकेशन प्रोटोकॉल: SPI
- सह सुसंगत: रास्पबेरी पाई
उत्पादन वापर सूचना:
हार्डवेअर कनेक्शन:
कृपया प्रदान केलेला वापरून LCD ला तुमच्या रास्पबेरी पाईशी कनेक्ट करा
8PIN केबल. खालील पिन कॉन्फिगरेशन टेबलचे अनुसरण करा:
एलसीडी | VCC | GND | DIN | सीएलके | ||
---|---|---|---|---|---|---|
रास्पबेरी पाई | बीसीएम 2835 | 3.3V | GND | मोसी | एससीएलके | CE0 |
SPI इंटरफेस सक्षम करा:
तुमच्या रास्पबेरी पाई वर SPI इंटरफेस सक्षम करण्यासाठी:
- टर्मिनल उघडा आणि कमांड एंटर करा: sudo raspi-config
- सक्षम करण्यासाठी इंटरफेसिंग पर्याय -> SPI -> होय निवडा
SPI - सुडो रीबूट कमांड वापरून तुमचा रास्पबेरी पाई रीबूट करा
C डेमो:
सी डेमो चालविण्यासाठी:
- मध्ये प्रदान केलेल्या आदेश चालवून BCM2835 लायब्ररी स्थापित करा
टर्मिनल - कमांड वापरून वायरिंगपीआय लायब्ररी (पर्यायी) स्थापित करा
प्रदान केले - डेमो डाउनलोड करा files, संकलित करा आणि दिलेला वापरून चालवा
सूचना
पायथन डेमो:
पायथन डेमो चालविण्यासाठी:
- Python2 किंवा Python3 साठी आवश्यक Python लायब्ररी स्थापित करा
आपल्या गरजेनुसार - डेमो डाउनलोड करा fileप्रदान केलेले अनुसरण करत आहे
सूचना
वारंवार विचारले जाणारे प्रश्न (FAQ):
प्रश्न: SPI इंटरफेस सक्षम आहे की नाही हे मी कसे तपासू?
A: 'dtparam=spi=on' सत्यापित करून SPI सक्षम आहे का ते तुम्ही तपासू शकता.
/boot/config.txt मध्ये आणि SPI आहे की नाही हे पाहण्यासाठी ls /dev/spi* वापरून
व्यापलेले
प्रश्न: SPI व्यापलेले असल्यास मी काय करावे?
A: SPI व्यापलेले असल्यास, ते तात्पुरते बंद करण्याची शिफारस केली जाते
SPI मुक्त करण्यासाठी इतर ड्रायव्हर कव्हरेज. तुम्ही ls /dev/spi* वापरू शकता
व्यापलेल्या SPI उदाहरणांसाठी तपासा.
प्रश्न: मी सर्व स्क्रीन आकारांसाठी चाचणी डेमो कसे चालवू शकतो?
उ: तुम्ही संबंधित इनपुट करून चाचणी डेमो कॉल करू शकता
टर्मिनलमधील स्क्रीनचा आकार. उदाample, sudo ./main 1.9 साठी
1.9-इंच स्क्रीन.
"`
1.9 इंच LCD मॉड्यूल
ओव्हरview
1.9 इंच LCD मॉड्यूल
तपशील
संचालन खंडtage: 3.3V / 5V (कृपया खात्री करा की वीज पुरवठा व्हॉल्यूमtage हे लॉजिक व्हॉल्यूमशी सुसंगत आहेtage, अन्यथा ते सामान्यपणे कार्य करणार नाही.) कम्युनिकेशन इंटरफेस: SPI डिस्प्ले पॅनेल: IPS ड्रायव्हर: ST7789V2 रिझोल्यूशन: 170 (H) RGB × 320 (V) डिस्प्ले आयाम: 22.70 × 42.72mm पिक्सेल पिच: 0.1335 मिमी × Dile0.1335 मिमी 27.3 × 51.2 मिमी
1.9 इंच 170 × 320, SPI
एलसीडी आणि कंट्रोलर
1.9-इंच LCD मॉड्यूलचा बिल्ट-इन ड्रायव्हर ST7789V2 आहे, जो 240 x RGB x 320 सह LCD कंट्रोलर आहे आणि LCD चे रिझोल्यूशन 170 (H) RGB × 320 (V) आहे. शिवाय, LCD ची अंतर्गत रॅम पूर्णपणे वापरली जात नाही कारण ती पोर्ट्रेट आणि क्षैतिज स्क्रीन म्हणून आरंभ केली जाऊ शकते. हा LCD इनपुट RGB फॉरमॅट 12 बिट, 16 बिट्स आणि 18 बिट्स, म्हणजेच RGB444, RGB565, आणि RGB666 चे समर्थन करते. येथे वापरलेला डेमो RGB565 आहे, जे आम्ही सामान्यतः वापरलेले RGB स्वरूप आहे. एलसीडी 4-वायर SPI स्वीकारत असल्याने, ते केवळ संप्रेषणात जलद नाही तर अधिक GPIO शीर्षलेख वाचवते.
कम्युनिकेशन प्रोटोकॉल
टीप: पारंपारिक SPI प्रोटोकॉलमधील फरक म्हणजे स्लेव्ह डिव्हाइसपासून ते यजमान डिव्हाइसपर्यंतचा डेटा पिन लपलेला आहे कारण तो केवळ प्रदर्शित करण्याची आवश्यकता आहे. कृपया डेटाशीट पृष्ठ 66 चा संदर्भ घ्या. RESX रीसेट केले जाते, जेव्हा मॉड्यूल चालू केले जाते तेव्हा खाली खेचले जाते आणि सामान्यतः 1 वर सेट केले जाते. CSX हे स्लेव्ह डिव्हाइस चिप निवड आहे, कमी सक्रिय आहे. D/CX हा चिपचा डेटा/कमांड कंट्रोल पिन आहे. DC=0 असताना कमांड लिहा, DC=1 असताना डेटा लिहा. SDA हा प्रसारित केलेला डेटा आहे, म्हणजेच RGB डेटा. SCL हे SPI संप्रेषण घड्याळ आहे. एसपीआय संप्रेषणासाठी, डेटा अनुक्रमाने प्रसारित केला जातो, म्हणजे, सीपीएचए (घड्याळ फेज) आणि सीपीओएल (घड्याळ ध्रुवीयता) यांचे संयोजन. CPHA डेटा SCLK च्या 1ल्या किंवा 2ऱ्या काठावर संकलित केला जातो की नाही हे नियंत्रित करते. जेव्हा CPHA = 0, डेटा SCLK च्या 1ल्या काठावर मिळवला जातो. CPOL SCLK च्या निष्क्रिय राज्य स्तरावर नियंत्रण ठेवते. जेव्हा CPOL = 0, तेव्हा ते कमी पातळीवर असते. वरील आकृतीवरून, तुम्ही पाहू शकता की ते SCLK च्या 1ल्या काठावर डेटा हस्तांतरित करण्यास सुरुवात करते. 8-बिट डेटा एका घड्याळ चक्रात हस्तांतरित केला जातो आणि SPI0 सह, डेटा उच्च ते निम्न बिटमध्ये प्रसारित केला जातो.
रास्पबेरी पाई
हार्डवेअर कनेक्शन
कृपया खालील सारणीनुसार 8PIN केबलसह LCD ला तुमच्या Raspberry Pi शी कनेक्ट करा.
रास्पबेरी पाईशी कनेक्ट करा
एलसीडी
VCC GND DIN CLK
CS DS RST BL
BCM2835 3.3V GND MOSI SCLK CE0 25 27 18
रास्पबेरी पाई
बोर्ड 3.3V GND
19 23 24 22 13 12
1.9 इंच LCD GH1.25 8PIN इंटरफेस वापरते, जे वरील सारणीनुसार रास्पबेरी Pi शी कनेक्ट केले जाऊ शकते: (कृपया पिन व्याख्या सारणीनुसार कनेक्ट करा. चित्रातील वायरिंगचा रंग केवळ संदर्भासाठी आहे आणि वास्तविक रंग प्रबल असेल.)
SPI इंटरफेस सक्षम करा
टर्मिनल उघडा, आणि कॉन्फिगरेशन पृष्ठ प्रविष्ट करण्यासाठी खालील आदेश वापरा:
sudo raspi-config SPI इंटरफेस सक्षम करण्यासाठी इंटरफेसिंग पर्याय -> SPI -> होय निवडा
रास्पबेरी पाई रीबूट करा
sudo रीबूट
/boot/config.txt तपासा, आणि तुम्ही 'dtparam=spi=on' लिहिलेले पाहू शकता.
SPI व्यापलेले नाही याची खात्री करण्यासाठी, इतर ड्रायव्हर कव्हरेज तात्पुरते बंद करण्याची शिफारस केली जाते. SPI व्यापलेले आहे की नाही हे तपासण्यासाठी तुम्ही “ls /dev/spi*” वापरू शकता. जर टर्मिनल "/dev/spidev0.0″ आणि " /dev/spidev0.1″ आउटपुट करत असेल, तर याचा अर्थ SPI सामान्य स्थितीत आहे.
सी डेमो
BCM2835 स्थापित करा
#रास्पबेरी पाई टर्मिनल उघडा आणि खालील कमांड wget चालवा http://www.airspayce.com/mikem/bcm2835/bcm2835-1.71.tar.gz tar zxvf bcm2835-1.71.tar.gz cd bcm2835-1.71/ sudo. कॉन्फिगर करा && sudo make && sudo make check && sudo make install # अधिक माहितीसाठी, कृपया अधिकृत पहा webसाइट: http://www.a irspayce.com/mikem/bcm2835/
वायरिंगपीआय स्थापित करा (पर्यायी)
#रास्पबेरी पाई टर्मिनल उघडा आणि खालील आदेश चालवा: sudo apt-get install wiringpi #मे 2019 नंतर रास्पबेरी पाई सिस्टीमसाठी (पूर्वीचे कार्यान्वित करण्याची आवश्यकता नाही), अपग्रेडची आवश्यकता असू शकते: wget https://project -downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v # रन gpio -v आणि आवृत्ती 2.52 दिसेल. जर ते दिसत नसेल, तर याचा अर्थ असा आहे की इंस्टॉलेशनमध्ये त्रुटी आहे.
#The Bullseye branching system खालील आदेश वापरते: git clone https://github.com/WiringPi/WiringPi cd WiringPi ./build gpio -v # रन gpio -v आणि आवृत्ती 2.60 दिसेल. जर ते दिसत नसेल, तर याचा अर्थ असा आहे की इंस्टॉलेशनमध्ये त्रुटी आहे.
डेमो डाउनलोड
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/
पुन्हा संकलित करा आणि यास काही सेकंद लागू शकतात.
cd c sudo make clean sudo make -j 8
सर्व स्क्रीनसाठी चाचणी डेमो संबंधित आकार इनपुट करून थेट कॉल केला जाऊ शकतो:
sudo ./main 1.9
पायथन डेमो
लायब्ररी स्थापित करा
#python2 sudo apt-get update sudo apt-get install python-pip sudo apt-get install python-pil sudo apt-get install python-numpy sudo pip install RPi.GPIO sudo pip install spidev #python3 sudo apt-suptge अद्यतन -पायथॉन3-पीप स्थापित करा sudo apt-प्राप्त करा python3-pil sudo apt-get install python3-numpy sudo pip3 स्थापित करा RPi.GPIO sudo pip3 स्थापित करा spidev
डेमो डाउनलोड
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/
पायथन डेमो डिरेक्टरी एंटर करा आणि "ls -l" चालवा.
cd python/examples ls -l
तुम्ही एलसीडीसाठी सर्व चाचणी डेमो पाहू शकता आणि ते आकारांनुसार वर्गीकृत केले आहेत.
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.96inch LCD चाचणी डेमो 1.14inch LCD चाचणी डेमो 1.28inch LCD चाचणी डेमो 1.3inch LCD चाचणी डेमो 1.47inch LCD चाचणी डेमो 1.54inchLCD चाचणी डेमो 1.8inch LCD चाचणी डेमो 1.9inch LCD चाचणी डेमो 2inch LCD चाचणी डेमो 2.4inch LCD चाचणी डेमो
संबंधित डेमो चालवा आणि तो python2/3 ला सपोर्ट करतो.
# python2 sudo python 1inch9_LCD_test.py # python3 sudo python3 1inch9_LCD_test.py
FBCP पोर्टिंग
फ्रेमबफर संपूर्ण फ्रेम डेटा असलेल्या मेमरी बफरमधून व्हिडिओ डिस्प्ले डिव्हाइस चालविण्यासाठी व्हिडिओ आउटपुट डिव्हाइस वापरतो. सोप्या भाषेत सांगायचे तर, डिस्प्ले सामग्री साठवण्यासाठी मेमरी क्षेत्राचा वापर केला जातो आणि मेमरीमधील डेटा बदलून प्रदर्शन सामग्री बदलली जाऊ शकते. github वर एक मुक्त स्रोत प्रकल्प आहे: fbcp-ili9341. इतर fbcp प्रकल्पांच्या तुलनेत, हा प्रकल्प 60fps पर्यंतचा वेग मिळविण्यासाठी आंशिक रिफ्रेश आणि DMA वापरतो.
ड्रायव्हर्स डाउनलोड करा
sudo apt-get install cmake -y cd ~ wget https://www.waveshare.com/w/upload/1/18/Waveshare_fbcp.zip अनझिप Waveshare_fbcp.zip cd Waveshare_fbcp/ sudo chmod +x ./shell/*
पद्धत 1: स्क्रिप्ट वापरा (शिफारस केलेले)
येथे आम्ही अनेक स्क्रिप्ट्स लिहिल्या आहेत ज्या वापरकर्त्यांना त्यांच्या स्वतःच्या स्क्रीननुसार त्वरीत fbcp वापरण्यास आणि संबंधित कमांड्स चालवण्याची परवानगी देतात जर तुम्ही स्क्रिप्ट वापरत असाल आणि त्यात बदल करण्याची आवश्यकता नसेल, तर तुम्ही खालील दुसऱ्या पद्धतीकडे दुर्लक्ष करू शकता. टीप: स्क्रिप्ट संबंधित /boot/config.txt आणि /etc/rc.local पुनर्स्थित करेल आणि रीस्टार्ट करेल, जर वापरकर्त्याला गरज असेल तर, कृपया संबंधित बॅकअप घ्या files अगोदर.
#0.96inch LCD मॉड्यूल sudo ./shell/waveshare-0inch96 #1.14inch LCD मॉड्यूल sudo ./shell/waveshare-1inch14 #1.3inch LCD मॉड्यूल sudo ./shell/waveshare-1inch3 #1.44inch LCD/waveshare-1inch44 #1.54inch -1inch54 #1.8inch LCD मॉड्यूल sudo ./shell/waveshare-1inch8 #2inch LCD मॉड्यूल sudo ./shell/waveshare-2inch2.4 #2inch LCD मॉड्यूल sudo ./shell/waveshare-4inch #XNUMXinch LCD/sudo LCD. waveshare-XNUMXinchXNUMX
पद्धत 2: मॅन्युअल कॉन्फिगरेशन
पर्यावरण कॉन्फिगरेशन
Raspberry Pi च्या vc4-kms-v3d मुळे fbcp अयशस्वी होईल, म्हणून आम्हाला fbcp मध्ये स्थापित करण्यापूर्वी vc4-kms-v3d बंद करणे आवश्यक आहे.
sudo nano /boot/config.txt
फक्त खालील चित्राशी संबंधित विधान अवरोधित करा:
रीबूट करा:
sudo रीबूट
संकलित करा आणि चालवा
mkdir बिल्ड cd cmake [options] .. sudo make -j sudo ./fbcp
cmake [पर्याय] वर, तुम्ही वापरत असलेल्या एलसीडी मॉड्यूलनुसार ते स्वतः बदला.
#0.96 इंच एलसीडी मॉड्यूल sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_0INCH96_LCD=ON -DBACKLIG HT_CONTROL=ON -DSTATISTICS=0 .. #1.14 इंच एलसीडी मॉड्यूल sudo cmake -. 20_LCD=चालू -DBACKLIG HT_CONTROL=ON -DSTATISTICS=1 .. #14इंच एलसीडी मॉड्यूल sudo cmake -DSPI_BUS_CLOCK_DIVISOR=0 -DWAVESHARE_1.3INCH20_LCD=ON -DBACKLIGH T_CONTROL=ON -DSTATISTICS=1 .. #3 इंच एलसीडी मॉड्यूल sudo cmake -.. 0 इंच एलसीडी मॉड्यूल sudo cmake -. 1.54_LCD=चालू -DBACKLIG HT_CONTROL=चालू -DSTATISTICS =20 .. #1 इंच एलसीडी मॉड्यूल sudo cmake -DSPI_BUS_CLOCK_DIVISOR=54 -DWAVESHARE_0INCH1.8_LCD=ON -DBACKLIGH T_CONTROL=ON -DSTATISTICS=20 .. #1 इंच एलसीडी मॉड्यूल sudo cmake -DWACK_VC_8 LCD=चालू -DBACKLIGHT _CONTROL=चालू - DSTATISTICS=0 .. #2inch LCD मॉड्यूल sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_2INCH0_LCD=ON -DBACKLIGH T_CONTROL=ON -DSTATISTICS=2.4 ..
स्वयंचलितपणे प्रारंभ करण्यासाठी सेट करा
sudo cp ~/Waveshare_fbcp/buil d/fbcp /usr/local/bin/fbcp sudo nano /etc/rc.local
० मधून बाहेर पडण्यापूर्वी fbcp& जोडा. लक्षात ठेवा की पार्श्वभूमीत चालण्यासाठी तुम्ही “&” जोडणे आवश्यक आहे, अन्यथा सिस्टम सुरू होऊ शकणार नाही.
डिस्प्ले रिझोल्यूशन सेट करा
वापरकर्ता इंटरफेस डिस्प्ले आकार /boot/config.txt मध्ये सेट करा file.
sudo nano /boot/config.txt
नंतर config.txt च्या शेवटी खालील ओळी जोडा.
hdmi_force_hotplug=1 hdmi_cvt=[options] hdmi_group=2 hdmi_mode=1 hdmi_mode=87 display_rotate=0
तुम्ही वापरत असलेल्या LCD मॉड्यूलनुसार वरील hdmi_cvt=[options] बदला.
#2.4इंच एलसीडी मॉड्यूल आणि 2इंच एलसीडी मॉड्यूल hdmi_cvt=640 480 60 1 0 0 0
#1.8 इंच एलसीडी मॉड्यूल hdmi_cvt=400 300 60 1 0 0 0
#1.3 इंच एलसीडी मॉड्यूल आणि 1.54 इंच एलसीडी मॉड्यूल hdmi_cvt=300 300 60 1 0 0 0
#1.14 इंच एलसीडी मॉड्यूल hdmi_cvt=300 170 60 1 0 0 0
#0.96 इंच एलसीडी मॉड्यूल hdmi_cvt=300 150 60 1 0 0 0
आणि नंतर सिस्टम रीबूट करा:
sudo रीबूट
सिस्टम रीबूट केल्यानंतर, रास्पबेरी Pi OS वापरकर्ता इंटरफेस प्रदर्शित होईल.
एसटीएम 32
हार्डवेअर कनेक्शन
आम्ही प्रदान केलेला डेमो STM32F103RBT6 वर आधारित आहे आणि तो STM32F103RBT6 पिनशी संबंधित आहे. जर तुम्हाला प्रोग्राम पोर्ट करायचा असेल तर तुम्ही ते प्रत्यक्ष पिननुसार कनेक्ट करू शकता.
STM32F103ZET पिन कनेक्शन पत्रव्यवहार
LCD VCC GND DIN CLK
CS DC RST BL
STM32 3.3V GND PA7 PA5 PB6 PA8 PA9 PC7
आमच्या कंपनीने माजी म्हणून विकसित केलेले XNUCLEO-F103RB घ्याample, कनेक्शन खालीलप्रमाणे आहे:
डेमो चालवा
डेमो डाउनलोड करा आणि STM32 शोधा file निर्देशिका, STM32STM32F103RBT6MDK-ARM च्या निर्देशिकेत LCD_demo.uvprojx उघडा, त्यानंतर तुम्ही डेमो पाहू शकता.
main.c उघडा आणि तुम्ही सर्व चाचणी डेमो पाहू शकता. आम्ही 1.9-इंच एलसीडी मॉड्यूल वापरत असताना, आम्हाला “LCD_1in9_test();” समोरील टिप्पणी काढून टाकणे आवश्यक आहे. आणि पुन्हा कंपाइल आणि डाउनलोड करा.
डेमो वर्णन
अंतर्निहित हार्डवेअर इंटरफेस
डेटा प्रकार
#UBYTE परिभाषित करा #UWORD परिभाषित करा #UDOUBLE परिभाषित करा
uint8_t uint16_t uint32_t
मॉड्यूल आरंभ आणि निर्गमन प्रक्रिया
void DEV_Module_Init(void); void DEV_Module_Exit(void); टीप: 1. LCD scre en वापरण्यापूर्वी आणि नंतर काही GPIO ची प्रक्रिया येथे आहे; 2. DEV_Module_Exit फंक्शन वापरल्यानंतर, LCD डिस्प्ले बंद केला जाईल;
GPIO लिहा आणि वाचा
void DEV_Digital_Write(UWORD पिन, UBYTE मूल्य); UBYTE DEV_Digital_Read(UWORD पिन);
SPI डेटा लिहितो
void DEV_SPI_WRITE(UBYTE _dat);
वरचा अर्ज
LCD साठी, हे वरचे ॲप्लिकेशन आहे जे चित्रे काढते, चायनीज/इंग्रजी अक्षरे दाखवते, चित्रे दाखवते, इ. अनेक मित्रांनी काही ग्राफिक्स प्रोसेसिंगबद्दल विचारले आहे. आम्ही येथे काही मूलभूत कार्ये प्रदान करतो. तुम्ही खालील निर्देशिकेत GUI शोधू शकता: STM32STM32F103RBUserGUI_DEVGUI_Paint.c(.h) टीप: STM32 आणि Arduino च्या RAM मर्यादांमुळे GUI थेट LCD RAM मध्ये लिहिलेले आहे.
GUI अवलंबनांसाठी खालील निर्देशिका फॉन्ट आहे: STM32STM32F103RBUserFonts
नवीन प्रतिमा गुणधर्म: प्रतिमेच्या गुणधर्मांमध्ये हे समाविष्ट आहे: प्रतिमा कॅशेचे नाव, रुंदी, उंची, फिरणारा कोन आणि रंग.
void Paint_NewImage(UWORD रुंदी, UWORD उंची, UWORD फिरवा, UWORD रंग); पॅरामीटर्स:
रुंदी: इमेज कॅशेची रुंदी उंची: इमेज कॅशेची उंची फिरवा: इमेज कॅशेचा फिरणारा कोन रंग: इमेज कॅशेचा रंग
स्क्रीन क्लिअरिंग फंक्शन सेट करा, सामान्यतः एलसीडीच्या स्पष्ट फंक्शनला कॉल करा;
void Paint_SetClearFuntion(void (*Clear)(UWORD)); पॅरामीटर्स:
साफ करा: स्क्रीन क्लिअरिंग फंक्शनचा एक पॉइंटर, जो स्क्रीनला एका विशिष्ट रंगात द्रुतपणे साफ करण्यासाठी वापरला जातो;
ड्रॉइंग पिक्सेलचे कार्य सेट करा, सामान्यतः एलसीडीचे ड्रॉपेंट फंक्शन कॉल करा;
void Paint_SetDisplayFuntion(void (*Display)(UWORD,UWORD,UWORD)); पॅरामीटर्स:
डिस्प्ले: ड्रॉइंग पिक्सेलच्या कार्यासाठी पॉइंटर, ज्याचा वापर एलसीडी अंतर्गत रॅमच्या निर्दिष्ट स्थानावर डेटा लिहिण्यासाठी केला जातो;
प्रतिमा कॅशे निवडा: प्रतिमा कॅशे निवडा, निवडीचा उद्देश असा आहे की आपण एकाधिक प्रतिमा गुणधर्म तयार करू शकता, प्रतिमा कॅशे एकाधिक अस्तित्वात असू शकतात आणि आपण तयार केलेली प्रत्येक प्रतिमा निवडू शकता.
void Paint_SelectImage(UBYTE *इमेज) पॅरामीटर्स:
इमेज: इमेज कॅशेचे नाव, जे प्रत्यक्षात इमेज कॅशेच्या पहिल्या पत्त्यासाठी पॉइंटर आहे;
इमेज रोटेशन: निवडलेल्या प्रतिमेचा फिरणारा कोन सेट करा आणि "Paint_SelectImage()" नंतर वापरण्याची शिफारस केली जाते आणि तुम्ही 0, 90, 180, 270 फिरवणे निवडू शकता.
void Paint_SetRotate(UWORD रोटेट) पॅरामीटर्स:
फिरवा: प्रतिमा निवड कोन, तुम्ही ROTATE_0, ROTATE_90, ROTAT E_180, आणि ROTATE_270 निवडू शकता जे अनुक्रमे 0, 90, 180 आणि 270 अंशांशी संबंधित आहेत
टीप: भिन्न निवड कोनांतर्गत, निर्देशांक वेगवेगळ्या प्रारंभिक पिक्सेलशी संबंधित असतात. येथे आपण 1.14 एक्स म्हणून घेतोample, आणि चार चित्रे क्रमाने 0°, 90°, 180° आणि 270° आहेत. फक्त संदर्भासाठी:
प्रतिमा मिरर फ्लिप: निवडलेल्या प्रतिमेचा मिरर फ्लिप सेट करा, तुम्ही आरसा, क्षैतिज आरसा, उभा आरसा किंवा प्रतिमा केंद्र मिरर निवडू शकता.
void Paint_SetMirroring(UBYTE मिरर) पॅरामीटर्स:
आरसा: MIRROR_NONEMIRROR_HORIZONTALMIRROR_VERTICALMIRROR_ORI GIN अनुक्रमे कोणत्याही मिररिंगशी संबंधित नाही, क्षैतिज मिररिंग, ve rtical मिररिंग, प्रतिमा केंद्र मिररिंग
कॅशेमध्ये पॉईंटची डिस्प्ले पोझिशन आणि रंग सेट करा: कॅशेमधील पॉइंट्सची स्थिती आणि रंग प्रक्रिया करण्यासाठी GUI चे मुख्य कार्य येथे आहे.
void Paint_SetPixel(UWORD Xpoint, UWORD Ypoint, UWORD Color) पॅरामीटर्स:
Xpoint: इमेज कॅशेमधील बिंदूची X स्थिती Ypoint: इमेज कॅशेमधील बिंदूची Y स्थिती रंग : पॉइंट डिस्प्लेचा रंग
इमेज कॅशे रंग भरते: स्क्रीनला रिकाम्यामध्ये फ्लॅश करण्यासाठी, इमेज कॅशे विशिष्ट रंगाने भरा.
void Paint_Clear(UWORD रंग) पॅरामीटर्स:
रंग: भरा रंग
इमेज कॅशे विंडोच्या काही भागाचा रंग भरणे: इमेज कॅशेच्या विंडोचा ठराविक भाग एका विशिष्ट रंगाने भरा, सामान्यत: विंडो व्हाइटिंग फंक्शन म्हणून वापरला जातो, बहुतेक वेळा वेळ प्रदर्शनासाठी वापरला जातो, एका सेकंदासाठी पांढरा करणे.
void Paint_ClearWindows(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD येन d, UWORD रंग) पॅरामीटर:
Xstart: विंडोचे X प्रारंभ निर्देशांक Ystart: विंडोचे Y प्रारंभ निर्देशांक Xend: विंडोचे X एंड कोऑर्डिनेट्स Yend: विंडोचे Y एंड कोऑर्डिनेट्स रंग: रंग भरा
बिंदू काढा: प्रतिमा कॅशेमध्ये, (Xpoint, Ypoint) वर बिंदू काढा, तुम्ही रंग, बिंदू आकार आणि बिंदू शैली निवडू शकता.
void Paint_DrawPoint(UWORD Xpoint, UWORD Ypoint, UWORD Color, DOT_PIXEL Do
t_Pixel, DOT_STYLE डॉट_शैली)
पॅरामीटर्स:
Xpoint: बिंदूचा X समन्वय
Ypoint: बिंदूचा Y समन्वय
रंग: भरा रंग
Dot_Pixel: पॉइंट साइज, डीफॉल्ट 8 साइज पॉइंट प्रदान करते
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;
डॉट_स्टाइल: बिंदूची शैली, आकार विस्ताराचा मार्ग आहे
बिंदू केंद्र म्हणून विस्तृत करा किंवा बिंदू कमी म्हणून विस्तृत करा
डाव्या कोपऱ्यात वरच्या उजवीकडे.
typedef enum {
DOT_FILL_AROUND = 1,
DOT_FILL_RIGHTUP,
} DOT_STYLE;
रेषा काढा: इमेज कॅशेमध्ये (Xstart, Ystart) पासून (Xend, Yend) पर्यंत एक रेषा काढा, तुम्ही रंग, रेषेची रुंदी आणि रेखा शैली निवडू शकता.
void Paint_DrawLine(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, UW
ORD रंग, LINE_STYLE रेखा_शैली , LINE_STYLE रेखा_शैली)
पॅरामीटर्स:
Xstart: रेषेच्या प्रारंभ बिंदूचा X समन्वय
Ystart: रेषेच्या सुरुवातीच्या बिंदूचा Y समन्वय
Xend: रेषेचा X एंडपॉइंट समन्वय
येंड: रेषेचा Y शेवटचा बिंदू समन्वय
रंग: रंग भरा
Line_width: ओळीची रुंदी, 8 डीफॉल्ट रुंदी प्रदान करते
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;
रेखा_शैली: रेखा शैली, ओळी कनेक्ट केल्या आहेत का ते निवडा
सरळ रेषा किंवा ठिपके असलेली रेषा.
typedef enum {
LINE_STYLE_SOLID = 0,
LINE_STYLE_DOTTED,
} LINE_STYLE;
एक आयत काढा: इमेज कॅशेमध्ये, (Xstart, Ystart) पासून (Xend, Yend) पर्यंत एक आयत काढा, तुम्ही रंग, रेषेची रुंदी आणि आयताच्या आतील भाग भरायचा की नाही हे निवडू शकता.
void Paint_DrawRectangle(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD येन
d, UWORD रंग, DOT_PIXEL रेखा_रुंदी, DRAW_FILL Draw_Fill)
पॅरामीटर्स:
Xstart: आयताच्या सुरुवातीच्या बिंदूचा X समन्वय
Ystart: आयताच्या सुरुवातीच्या बिंदूचा Y समन्वय
Xend: आयताच्या शेवटच्या बिंदूचा X समन्वय
Yend: आयताच्या शेवटच्या बिंदूचा Y समन्वय
रंग: भरलेला रंग
रेषा_रुंदी: आयताच्या चार बाजूंची रुंदी, प्रदान करते
g 8 डीफॉल्ट रुंदी
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: भरणे, आयताच्या आतील भाग भरायचे की नाही
typedef enum {
DRAW_FILL_EMPTY = 0,
DRAW_FILL_FULL,
} DRAW_FILL;
वर्तुळ काढा: प्रतिमा कॅशेमध्ये, (X_Center Y_Center) मध्यभागी ठेवून, त्रिज्या असलेले वर्तुळ काढा, तुम्ही रंग, रेषेची रुंदी आणि वर्तुळाच्या आत भरायचे की नाही हे निवडू शकता.
void Paint_DrawCircle(UWORD X_Center, UWORD Y_Center, UWORD त्रिज्या, UWORD
रंग, DOT_PIXEL रेखा_रुंदी, DRAW_FILL Draw_Fill)
पॅरामीटर्स:
X_Center: वर्तुळाच्या केंद्राचा X समन्वय
Y_Center: वर्तुळाच्या केंद्राचा Y समन्वय त्रिज्या वर्तुळ त्रिज्या
रंग: भरा रंग
रेषा_रुंदी: कमानीची रुंदी, 8 डीफॉल्ट रुंदी प्रदान करते
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: भरा, वर्तुळाच्या आत भरायचे की नाही
typedef enum {
DRAW_FILL_EMPTY = 0,
DRAW_FILL_FULL,
} DRAW_FILL;
Ascii अक्षरे लिहा: इमेज बफरमध्ये, (Xstart Ystart) वर एक Ascii अक्षर डाव्या शिरोबिंदू म्हणून लिहा, तुम्ही Ascii कोड व्हिज्युअल कॅरेक्टर फॉन्ट लायब्ररी, फॉन्ट फोरग्राउंड रंग आणि फॉन्ट बॅकग्राउंड रंग निवडू शकता.
void Paint_DrawChar(UWORD Xstart, UWORD Ystart, const char Ascii_Char, sFO NT* फॉन्ट, UWORD Color_Foreground, UWORD Color_Background) पॅरामीटर्स:
Xstart: Ystart वर्णाच्या डाव्या शिरोबिंदूचा X समन्वय: Ascii_Char Ascii वर्णांच्या डाव्या शिरोबिंदूचा Y समन्वय फॉन्ट: Ascii कोड व्हिज्युअल कॅरेक्टर फॉन्ट लायब्ररी फॉन्ट फोल्डरमध्ये फॉन्ट प्रदान करते:
font85*8 फॉन्ट font127*12 फॉन्ट 1611*16 फॉन्ट फॉन्ट2014*20 फॉन्ट फॉन्ट2417*24 फॉन्ट Color_Foreground: फॉन्ट रंग Color_Background: पार्श्वभूमी रंग
इंग्रजी कॅरेक्टर स्ट्रिंग्स लिहा: इमेज कॅशेमध्ये, (Xstart Ystart) डाव्या शिरोबिंदूप्रमाणे, इंग्रजी वर्णांची स्ट्रिंग लिहा, तुम्ही Ascii कोड व्हिज्युअल कॅरेक्टर फॉन्ट लायब्ररी, फॉन्ट फोरग्राउंड रंग, फॉन्ट बॅकग्राउंड रंग निवडू शकता;
void Paint_DrawString_EN(UWORD Xstart, UWORD Ystart, const char * pString, sFONT* फॉन्ट, UWORD Color_Foreground, UWORD Color_Background) पॅरामीटर्स:
Xstart: Ystart अक्षराच्या डाव्या शिरोबिंदूचा X समन्वय: pString फॉन्टच्या डाव्या शिरोबिंदूचा Y समन्वय: स्ट्रिंग, स्ट्रिंग हा पॉइंटर फॉन्ट आहे: Ascii कोड व्हिज्युअल कॅरेक्टर फॉन्ट लायब्ररी फॉन्ट फोल्डरमध्ये फॉन्ट प्रदान करते. :
font85*8 फॉन्ट font127*12 फॉन्ट 1611*16 फॉन्ट फॉन्ट2014*20 फॉन्ट फॉन्ट2417*24 फॉन्ट Color_Foreground: फॉन्ट रंग Color_Background: पार्श्वभूमी रंग
चिनी वर्ण स्ट्रिंग्स लिहा: इमेज कॅशेमध्ये, (Xstart Ystart) डाव्या शिरोबिंदूप्रमाणे, चिनी वर्णांची एक स्ट्रिंग लिहा, तुम्ही GB2312 कोडेड वर्ण फॉन्ट, फॉन्ट फोरग्राउंड रंग, फॉन्ट पार्श्वभूमी रंग निवडू शकता;
void Paint_DrawString_CN(UWORD Xstart, UWORD Ystart, const char * pString, cFONT* फॉन्ट, UWORD Color_Foreground, UWORD Color_Background) पॅरामीटर्स:
Xstart: Ystart अक्षराच्या डाव्या शिरोबिंदूचा X समन्वय: pString अक्षराच्या डाव्या शिरोबिंदूचा Y समन्वय: स्ट्रिंग, स्ट्रिंग हा पॉइंटर फॉन्ट आहे: GB2312 कोडेड वर्ण फॉन्ट लायब्ररी फॉन्ट फोल्डरमध्ये खालील एनजी फॉन्ट प्रदान करते:
font12CNascii वर्ण फॉन्ट 11*21, चीनी फॉन्ट 16*21 फॉन्ट24CNascii वर्ण फॉन्ट 24*41, चीनी फॉन्ट 32*41 Color_Foreground: फॉन्ट रंग Color_Background: पार्श्वभूमी रंग
क्रमांक लिहा: इमेज कॅशेमध्ये, (Xstart Ystart) वर डाव्या शिरोबिंदू म्हणून संख्यांची स्ट्रिंग लिहा, तुम्ही Ascii कोड व्हिज्युअल कॅरेक्टर फॉन्ट लायब्ररी, फॉन्ट फोरग्राउंड रंग, फॉन्ट बॅकग्राउंड रंग निवडू शकता.
void Paint_DrawNum(UWORD Xpoint, UWORD Ypoint, int32_t क्रमांक, sFONT* फॉन t, UWORD Color_Foreground, UWORD Color_Background) पॅरामीटर्स:
Xstart: Ystart अक्षराच्या डाव्या शिरोबिंदूचा X समन्वय: वर्ण क्रमांकाच्या डाव्या शिरोबिंदूचा Y समन्वय: येथे प्रदर्शित केलेला क्रमांक 32-बिट लांब इंट प्रकारात संग्रहित केला जातो, जो 2147483647 फॉन्ट पर्यंत प्रदर्शित केला जाऊ शकतो: Ascii कोड व्हिज्युअल कॅरेक्टर फॉन्ट लायब्ररी फॉन्ट फोल्डरमध्ये फॉन्ट फॉन्ट प्रदान करते:
font85*8 फॉन्ट font127*12 फॉन्ट 1611*16 फॉन्ट फॉन्ट2014*20 फॉन्ट फॉन्ट2417*24 फॉन्ट Color_Foreground: फॉन्ट रंग Color_Background: पार्श्वभूमी रंग
दशांशांसह संख्या लिहा: इमेज कॅशेमध्ये, (Xstart Ystart) हा डावा शिरोबिंदू आहे, दशांश संख्या असलेल्या संख्यांची स्ट्रिंग लिहा, तुम्ही Ascii कोड व्हिज्युअल कॅरेक्टर फॉन्ट लायब्ररी, फॉन्ट फोरग्राउंड रंग, फॉन्ट बॅकग्राउंड रंग निवडू शकता.
void Paint_DrawFloatNum(UWORD Xpoint, UWORD Ypoint, दुहेरी संख्या, UBYTE दशांश_बिंदू, sFONT* फॉन्ट, UWORD Color_Foreground, UWORD Color_Backg राउंड); पॅरामीटर्स:
Xstart: Ystart अक्षराच्या डाव्या शिरोबिंदूचा X समन्वय: वर्ण क्रमांकाच्या डाव्या शिरोबिंदूचा Y समन्वय: येथे प्रदर्शित केलेली संख्या दुहेरी प्रकारात जतन केली आहे, जी सामान्य गरजांसाठी पुरेशी आहे Decimal_Point: नंतर अंकांची संख्या प्रदर्शित करा दशांश बिंदू t फॉन्ट: Ascii कोड व्हिज्युअल कॅरेक्टर फॉन्ट लायब्ररी फॉन्ट फोल्डरमध्ये फॉन्ट फॉन्ट प्रदान करते:
font85*8 फॉन्ट font127*12 फॉन्ट 1611*16 फॉन्ट फॉन्ट2014*20 फॉन्ट फॉन्ट2417*24 फॉन्ट Color_Foreground: फॉन्ट रंग Color_Background: पार्श्वभूमी रंग
डिस्प्ले वेळ: इमेज कॅशेमध्ये, (Xstart Ystart) डाव्या बाजूस आहे, आणि ते ठराविक कालावधीसाठी प्रदर्शित केले जाईल, आणि तुम्ही Ascii कोड व्हिज्युअल कॅरेक्टर फॉन्ट लायब्ररी, फॉन्ट फोरग्राउंड रंग आणि फॉन्ट बॅकग्राउंड रंग निवडू शकता;
void Paint_DrawTime(UWORD Xstart, UWORD Ystart, PAINT_TIME *pTime, sFONT* फॉन्ट, UWORD Color_Background, UWORD Color_Foreground) पॅरामीटर्स:
Xstart: Ystart या वर्णाच्या डाव्या शिरोबिंदूचा X समन्वय: pTime वर्णाच्या डाव्या शिरोबिंदूचा Y समन्वय: तास, मिनिटे आणि सेकंदांचे अंक पार केले जातात तोपर्यंत, वेळ रचना येथे परिभाषित केली जाते. पॅरामीटर्ससाठी; फॉन्ट: Ascii कोड व्हिज्युअल कॅरेक्टर फॉन्ट लायब्ररी फॉन्ट फोल्डरमध्ये फॉलोइंग फॉन्ट प्रदान करते:
font85*8 फॉन्ट font127*12 फॉन्ट 1611*16 फॉन्ट फॉन्ट2014*20 फॉन्ट फॉन्ट2417*24 फॉन्ट Color_Foreground: फॉन्ट रंग Color_Background: पार्श्वभूमी रंग
अर्डिनो
टीप: सर्व डेमोची Arduino uno मध्ये चाचणी केली गेली आहे. तुम्हाला इतर प्रकारचे Arduino हवे असल्यास, तुम्हाला कनेक्शन पिन योग्य आहेत की नाही हे निर्धारित करणे आवश्यक आहे.
IDE स्थापना
Arduino IDE स्थापना चरण
हार्डवेअर कनेक्शन
Arduino UNO पिन कनेक्शन पत्रव्यवहार
LCD VCC GND DIN CLK
CS DC RST BL
कनेक्शन आकृती खालीलप्रमाणे आहे (मोठा करण्यासाठी क्लिक करा):
UNO 5V
GND D11 D13 D10 D7 D8 D9
डेमो चालवा
डेमो डाउनलोड करा आणि अनझिप करा. Arduino डेमो ~/Arduino/…. मध्ये आहे. जसे आपण 1.9inch LCD मॉड्यूल वापरतो, आपल्याला LCD_1inch9 उघडणे आवश्यक आहे file फोल्डर आणि LCD_1inch9.ino चालवा file फोल्डर
डेमो उघडा आणि Arduino UNO म्हणून डेव्हलपमेंट बोर्ड मॉडेल निवडा.
संबंधित COM पोर्ट निवडा.
आणि नंतर compile आणि Download वर क्लिक करा.
डेमो वर्णन File परिचय
माजी म्हणून Arduino UNO कंट्रोलिंग 1.54inch LCD घ्याample, ArduinoLCD_1inch54 निर्देशिका उघडा.
LCD_1inch54.ino: ते Arduino IDE ने उघडा. LCD_Driver.cpp(.h): हा LCD स्क्रीनचा चालक आहे. DEV_Config.cpp(.h): ही हार्डवेअर इंटरफेस व्याख्या आहे, जी वाचन आणि लेखन पिन पातळी, SPI ट्रान्समिशन डेटा आणि पिन इनिशिएलायझेशन समाविष्ट करते. font8.cpp, font12.cpp, font16.cpp, font20.cpp, font24.cpp, font24CN.cpp, fonts.h: वेगवेगळ्या आकारांच्या वर्णांसाठी फॉन्ट. image.cpp(.h): हा इमेज डेटा आहे, जो कोणत्याही BMP इमेजला 16-बिट ट्रू-कलर इमेज ॲरेमध्ये Img2Lcd (#Resource मध्ये डाउनलोड करता येतो) रूपांतरित करू शकतो. डेमो अंतर्निहित हार्डवेअर इंटरफेस, मिडल-लेयर एलसीडी ड्रायव्हर आणि अप्पर-लेयर ऍप्लिकेशनमध्ये विभागलेला आहे.
अंतर्निहित हार्डवेअर इंटरफेस
हार्डवेअर इंटरफेस दोन मध्ये परिभाषित केले आहे files DEV_Config.cpp (.h), आणि फंक्शन्स जसे की वाचन आणि लेखन पिन स्तर, विलंब आणि SPI ट्रान्समिशन एन्कॅप्स्युलेट केलेले आहेत.
पिन पातळी लिहा
void DEV_Digital_Write(int pin, int value)
पहिला पॅरामीटर पिन आहे आणि दुसरा उच्च आणि निम्न स्तर आहे. पिन पातळी लिहा
int DEV_Digital_Read(इंट पिन)
पॅरामीटर पिन आहे आणि रिटर्न व्हॅल्यू हे रीड पिनचे स्तर आहे. विलंब
DEV_Delay_ms (साइन न केलेला int विलंब वेळ)
मिलीसेकंद पातळी विलंब. SPI आउटपुट डेटा
DEV_SPI_WRITE(साइन न केलेला चार डेटा)
पॅरामीटर चार प्रकारचे आहे, 8 बिट व्यापलेले आहे.
वरचा अर्ज
LCD साठी, हे वरचे ऍप्लिकेशन आहे जे चित्रे काढते, चायनीज/इंग्रजी अक्षरे दाखवते, चित्रे दाखवते, इ. अनेक मित्रांनी काही ग्राफिक्स प्रोसेसिंगबद्दल विचारले आहे. आम्ही येथे काही मूलभूत कार्ये GUI_Paint.c(.h) प्रदान करतो. टीप: STM32 आणि Arduino च्या RAM मर्यादांमुळे GUI थेट LCD RAM मध्ये लिहिलेले आहे.
GUI द्वारे वापरलेले फॉन्ट सर्व font*.cpp(h) वर अवलंबून असतात file त्याच अंतर्गत file.
नवीन प्रतिमा गुणधर्म: प्रतिमेच्या गुणधर्मांमध्ये हे समाविष्ट आहे: प्रतिमा कॅशेचे नाव, रुंदी, उंची, फिरणारा कोन आणि रंग.
void Paint_NewImage(UWORD रुंदी, UWORD उंची, UWORD फिरवा, UWORD रंग); पॅरामीटर्स:
रुंदी: इमेज कॅशेची रुंदी उंची: इमेज कॅशेची उंची फिरवा: इमेज कॅशेचा फिरणारा कोन रंग: इमेज कॅशेचा रंग
स्क्रीन क्लिअरिंग फंक्शन सेट करा, सामान्यतः एलसीडीच्या स्पष्ट फंक्शनला कॉल करा;
void Paint_SetClearFuntion(void (*Clear)(UWORD)); पॅरामीटर्स:
साफ करा: स्क्रीन क्लिअरिंग फंक्शनचा एक पॉइंटर, जो स्क्रीनला एका विशिष्ट रंगात द्रुतपणे साफ करण्यासाठी वापरला जातो;
ड्रॉइंग पिक्सेलचे कार्य सेट करा, सामान्यतः एलसीडीचे ड्रॉपेंट फंक्शन कॉल करा;
void Paint_SetDisplayFuntion(void (*Display)(UWORD,UWORD,UWORD)); पॅरामीटर्स:
डिस्प्ले: ड्रॉइंग पिक्सेलच्या कार्यासाठी पॉइंटर, ज्याचा वापर एलसीडी अंतर्गत रॅमच्या निर्दिष्ट स्थानावर डेटा लिहिण्यासाठी केला जातो;
प्रतिमा कॅशे निवडा: प्रतिमा कॅशे निवडा, निवडीचा उद्देश असा आहे की आपण एकाधिक प्रतिमा गुणधर्म तयार करू शकता, प्रतिमा कॅशे एकाधिक अस्तित्वात असू शकतात आणि आपण तयार केलेली प्रत्येक प्रतिमा निवडू शकता.
void Paint_SelectImage(UBYTE *इमेज) पॅरामीटर्स:
इमेज: इमेज कॅशेचे नाव, जे प्रत्यक्षात इमेज कॅशेच्या पहिल्या पत्त्यासाठी पॉइंटर आहे;
इमेज रोटेशन: निवडलेल्या प्रतिमेचा फिरणारा कोन सेट करा आणि "Paint_SelectImage()" नंतर वापरण्याची शिफारस केली जाते आणि तुम्ही 0, 90, 180, 270 फिरवणे निवडू शकता.
void Paint_SetRotate(UWORD रोटेट) पॅरामीटर्स:
फिरवा: प्रतिमा निवड कोन, तुम्ही ROTATE_0, ROTATE_90, ROTAT E_180, आणि ROTATE_270 निवडू शकता जे अनुक्रमे 0, 90, 180 आणि 270 अंशांशी संबंधित आहेत
टीप: भिन्न निवड कोनांतर्गत, निर्देशांक वेगवेगळ्या प्रारंभिक पिक्सेलशी संबंधित असतात. येथे आपण 1.14 एक्स म्हणून घेतोample, आणि चार चित्रे क्रमाने 0°, 90°, 180° आणि 270° आहेत. फक्त संदर्भासाठी:
प्रतिमा मिरर फ्लिप: निवडलेल्या प्रतिमेचा मिरर फ्लिप सेट करा, तुम्ही आरसा, क्षैतिज आरसा, उभा आरसा किंवा प्रतिमा केंद्र मिरर निवडू शकता.
void Paint_SetMirroring(UBYTE मिरर) पॅरामीटर्स:
आरसा: MIRROR_NONEMIRROR_HORIZONTALMIRROR_VERTICALMIRROR_ORI GIN अनुक्रमे कोणत्याही मिररिंगशी संबंधित नाही, क्षैतिज मिररिंग, ve rtical मिररिंग, प्रतिमा केंद्र मिररिंग
कॅशेमध्ये पॉईंटची डिस्प्ले पोझिशन आणि रंग सेट करा: कॅशेमधील पॉईंट पोझिशन आणि कलर प्रक्रिया करण्यासाठी GUI चे मुख्य कार्य येथे आहे.
void Paint_SetPixel(UWORD Xpoint, UWORD Ypoint, UWORD Color) पॅरामीटर्स:
Xpoint: इमेज कॅशेमधील बिंदूची X स्थिती Ypoint: इमेज कॅशेमधील बिंदूची Y स्थिती रंग : पॉइंट डिस्प्लेचा रंग
इमेज कॅशे रंग भरते: स्क्रीनला रिकाम्यामध्ये फ्लॅश करण्यासाठी, इमेज कॅशे विशिष्ट रंगाने भरा.
void Paint_Clear(UWORD रंग) पॅरामीटर्स:
रंग: भरा रंग
इमेज कॅशे विंडोच्या काही भागाचा रंग भरणे: इमेज कॅशेच्या विंडोचा ठराविक भाग एका विशिष्ट रंगाने भरा, सामान्यत: विंडो व्हाइटिंग फंक्शन म्हणून वापरला जातो, बहुतेक वेळा वेळ प्रदर्शनासाठी वापरला जातो, एका सेकंदासाठी पांढरा करणे.
void Paint_ClearWindows(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD येन d, UWORD रंग) पॅरामीटर्स:
Xstart: विंडोचे X प्रारंभ निर्देशांक Ystart: विंडोचे Y प्रारंभ निर्देशांक Xend: विंडोचे X एंड कोऑर्डिनेट्स Yend: विंडोचे Y एंड कोऑर्डिनेट्स रंग: रंग भरा
बिंदू काढा: प्रतिमा कॅशेमध्ये, (Xpoint, Ypoint) वर बिंदू काढा, तुम्ही रंग, बिंदू आकार आणि बिंदू शैली निवडू शकता.
void Paint_DrawPoint(UWORD Xpoint, UWORD Ypoint, UWORD Color, DOT_PIXEL Do
t_Pixel, DOT_STYLE डॉट_शैली)
पॅरामीटर्स:
Xpoint: बिंदूचा X समन्वय
Ypoint: बिंदूचा Y समन्वय
रंग: भरा रंग
Dot_Pixel: पॉइंट साइज, डीफॉल्ट 8 साइज पॉइंट प्रदान करते
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;
डॉट_स्टाइल: बिंदूची शैली, आकार विस्ताराचा मार्ग आहे
बिंदू केंद्र म्हणून विस्तृत करा किंवा बिंदू कमी म्हणून विस्तृत करा
डाव्या कोपऱ्यात वरच्या उजवीकडे.
typedef enum {
DOT_FILL_AROUND = 1,
DOT_FILL_RIGHTUP,
} DOT_STYLE;
रेषा काढा: इमेज कॅशेमध्ये (Xstart, Ystart) पासून (Xend, Yend) पर्यंत एक रेषा काढा, तुम्ही रंग, रेषेची रुंदी आणि रेखा शैली निवडू शकता.
void Paint_DrawLine(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, UW
ORD रंग, LINE_STYLE रेखा_शैली , LINE_STYLE रेखा_शैली)
पॅरामीटर्स:
Xstart: रेषेच्या प्रारंभ बिंदूचा X समन्वय
Ystart: रेषेच्या सुरुवातीच्या बिंदूचा Y समन्वय
Xend: रेषेचा X अंत बिंदू समन्वय
येंड: रेषेचा Y शेवटचा बिंदू समन्वय
रंग: रंग भरा
Line_width: ओळीची रुंदी, 8 डीफॉल्ट रुंदी प्रदान करते
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;
रेखा_शैली: रेखा शैली, ओळी कनेक्ट केल्या आहेत का ते निवडा
सरळ रेषा किंवा ठिपके असलेली रेषा.
typedef enum {
LINE_STYLE_SOLID = 0,
LINE_STYLE_DOTTED,
} LINE_STYLE;
एक आयत काढा: इमेज कॅशेमध्ये, (Xstart, Ystart) पासून (Xend, Yend) पर्यंत एक आयत काढा, तुम्ही रंग, रेषेची रुंदी आणि आयताच्या आतील भाग भरायचा की नाही हे निवडू शकता.
void Paint_DrawRectangle(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD येन
d, UWORD रंग, DOT_PIXEL रेखा_रुंदी, DRAW_FILL Draw_Fill)
पॅरामीटर्स:
Xstart: आयताच्या सुरुवातीच्या बिंदूचा X समन्वय
Ystart: आयताच्या सुरुवातीच्या बिंदूचा Y समन्वय
Xend: आयताच्या शेवटच्या बिंदूचा X समन्वय
Yend: आयताच्या शेवटच्या बिंदूचा Y समन्वय
रंग: भरलेला रंग
रेषा_रुंदी: आयताच्या चार बाजूंची रुंदी, प्रदान करते
g 8 डीफॉल्ट रुंदी
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: भरणे, आयताच्या आतील भाग भरायचे की नाही
typedef enum {
DRAW_FILL_EMPTY = 0,
DRAW_FILL_FULL,
} DRAW_FILL;
वर्तुळ काढा: प्रतिमा कॅशेमध्ये, (X_Center Y_Center) मध्यभागी ठेवून, त्रिज्या असलेले वर्तुळ काढा, तुम्ही रंग, रेषेची रुंदी आणि वर्तुळाच्या आत भरायचे की नाही हे निवडू शकता.
void Paint_DrawCircle(UWORD X_Center, UWORD Y_Center, UWORD त्रिज्या, UWORD
रंग, DOT_PIXEL रेखा_रुंदी, DRAW_FILL Draw_Fill)
पॅरामीटर्स:
X_Center: वर्तुळाच्या केंद्राचा X समन्वय
Y_Center: वर्तुळाच्या केंद्राचा Y समन्वय
त्रिज्या: वर्तुळ त्रिज्या
रंग: भरा रंग
रेषा_रुंदी: कमानीची रुंदी, 8 डीफॉल्ट रुंदी प्रदान करते
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: भरा, वर्तुळाच्या आत भरायचे की नाही
typedef enum {
DRAW_FILL_EMPTY = 0,
DRAW_FILL_FULL,
} DRAW_FILL;
Ascii अक्षरे लिहा: इमेज बफरमध्ये, (Xstart Ystart) वर एक Ascii अक्षर डाव्या शिरोबिंदू म्हणून लिहा, तुम्ही Ascii कोड व्हिज्युअल कॅरेक्टर फॉन्ट लायब्ररी, फॉन्ट फोरग्राउंड रंग, फॉन्ट बॅकग्राउंड रंग निवडू शकता.
void Paint_DrawChar(UWORD Xstart, UWORD Ystart, const char Ascii_Char, sFO NT* फॉन्ट, UWORD Color_Foreground, UWORD Color_Background) पॅरामीटर्स:
Xstart: Ystart वर्णाच्या डाव्या शिरोबिंदूचा X समन्वय: Ascii_Char वर्णाच्या डाव्या शिरोबिंदूचा Y समन्वय: Ascii वर्ण फॉन्ट: Ascii कोड व्हिज्युअल कॅरेक्टर फॉन्ट लायब्ररी फॉन्ट फोल्डरमध्ये फॉन्ट प्रदान करते:
font85*8 फॉन्ट font127*12 फॉन्ट 1611*16 फॉन्ट फॉन्ट2014*20 फॉन्ट फॉन्ट2417*24 फॉन्ट Color_Foreground: फॉन्ट रंग Color_Background: पार्श्वभूमी रंग
इंग्रजी कॅरेक्टर स्ट्रिंग्स लिहा: इमेज कॅशेमध्ये, (Xstart Ystart) डाव्या शिरोबिंदूप्रमाणे, इंग्रजी वर्णांची स्ट्रिंग लिहा, तुम्ही Ascii कोड व्हिज्युअल कॅरेक्टर फॉन्ट लायब्ररी, फॉन्ट फोरग्राउंड रंग, फॉन्ट बॅकग्राउंड रंग निवडू शकता;
void Paint_DrawString_EN(UWORD Xstart, UWORD Ystart, const char * pString, sFONT* फॉन्ट, UWORD Color_Foreground, UWORD Color_Background) पॅरामीटर्स:
Xstart: Ystart अक्षराच्या डाव्या शिरोबिंदूचा X समन्वय: pStringstring या फॉन्टच्या डाव्या शिरोबिंदूचा Y समन्वय, स्ट्रिंग हा पॉइंटर फॉन्ट आहे: Ascii कोड व्हिज्युअल कॅरेक्टर फॉन्ट लायब्ररी फॉन्ट फोल्डरमध्ये फॉन्ट फॉन्ट प्रदान करते:
font85*8 फॉन्ट font127*12 फॉन्ट 1611*16 फॉन्ट फॉन्ट2014*20 फॉन्ट फॉन्ट2417*24 फॉन्ट Color_Foreground: फॉन्ट रंग Color_Background: पार्श्वभूमी रंग
चिनी वर्ण स्ट्रिंग्स लिहा: इमेज कॅशेमध्ये, (Xstart Ystart) डाव्या शिरोबिंदूप्रमाणे, चिनी वर्णांची एक स्ट्रिंग लिहा, तुम्ही GB2312 कोडेड वर्ण फॉन्ट, फॉन्ट फोरग्राउंड रंग, फॉन्ट पार्श्वभूमी रंग निवडू शकता;
void Paint_DrawString_CN(UWORD Xstart, UWORD Ystart, const char * pString, cFONT* फॉन्ट, UWORD Color_Foreground, UWORD Color_Background) पॅरामीटर्स:
Xstart: Ystart अक्षराच्या डाव्या शिरोबिंदूचा X समन्वय: pStringstring या वर्णाच्या डाव्या शिरोबिंदूचा Y समन्वय, स्ट्रिंग हा एक पॉइंटर फॉन्ट आहे: GB2312-कोडेड वर्ण फॉन्ट लायब्ररी फॉन्ट फोल्डरमध्ये खालील एनजी फॉन्ट प्रदान करते:
font12CNascii वर्ण फॉन्ट 11*21, चीनी फॉन्ट 16*21 फॉन्ट24CNascii वर्ण फॉन्ट 24*41, चीनी फॉन्ट 32*41 Color_Foreground: फॉन्ट रंग Color_Background: पार्श्वभूमी रंग
क्रमांक लिहा: इमेज कॅशेमध्ये, (Xstart Ystart) वर डाव्या शिरोबिंदू म्हणून संख्यांची स्ट्रिंग लिहा, तुम्ही Ascii कोड व्हिज्युअल कॅरेक्टर फॉन्ट लायब्ररी, फॉन्ट फोरग्राउंड रंग, फॉन्ट बॅकग्राउंड रंग निवडू शकता.
void Paint_DrawNum(UWORD Xpoint, UWORD Ypoint, int32_t क्रमांक, sFONT* फॉन t, UWORD Color_Foreground, UWORD Color_Background) पॅरामीटर्स:
Xstart: Ystart अक्षराच्या डाव्या शिरोबिंदूचा X समन्वय: वर्ण क्रमांकाच्या डाव्या शिरोबिंदूचा Y समन्वय: येथे प्रदर्शित केलेला क्रमांक 32-बिट लांब इंट टी प्रकारात संग्रहित केला जातो, जो 2147483647 फॉन्ट पर्यंत प्रदर्शित केला जाऊ शकतो. : Ascii कोड व्हिज्युअल कॅरेक्टर फॉन्ट लायब्ररी फॉन्ट फोल्डरमध्ये फॉलोइंग फॉन्ट प्रदान करते:
font85*8 फॉन्ट font127*12 फॉन्ट 1611*16 फॉन्ट फॉन्ट2014*20 फॉन्ट फॉन्ट2417*24 फॉन्ट Color_Foreground: फॉन्ट रंग Color_Background: पार्श्वभूमी रंग
दशांशांसह संख्या लिहा: इमेज कॅशेमध्ये, (Xstart Ystart) हा डावा शिरोबिंदू आहे, दशांश संख्या असलेल्या संख्यांची स्ट्रिंग लिहा, तुम्ही Ascii कोड व्हिज्युअल कॅरेक्टर फॉन्ट लायब्ररी, फॉन्ट फोरग्राउंड रंग, फॉन्ट बॅकग्राउंड रंग निवडू शकता.
void Paint_DrawFloatNum(UWORD Xpoint, UWORD Ypoint, दुहेरी संख्या, UBYTE दशांश_बिंदू, sFONT* फॉन्ट, UWORD Color_Foreground, UWORD Color_Backg राउंड); पॅरामीटर्स:
Xstart: Ystart वर्णाच्या डाव्या शिरोबिंदूचा X समन्वय: वर्ण क्रमांकाच्या डाव्या शिरोबिंदूचा Y समन्वय: येथे प्रदर्शित केलेली संख्या दुहेरी प्रकारात जतन केली आहे, जी सामान्य गरजांसाठी पुरेशी आहे Decimal_Point: नंतर अंकांची संख्या प्रदर्शित करा दशांश बिंदू t फॉन्ट: Ascii कोड व्हिज्युअल कॅरेक्टर फॉन्ट लायब्ररी फॉन्ट फोल्डरमध्ये फॉन्ट फॉन्ट प्रदान करते:
font85*8 फॉन्ट font127*12 फॉन्ट 1611*16 फॉन्ट फॉन्ट2014*20 फॉन्ट फॉन्ट2417*24 फॉन्ट Color_Foreground: फॉन्ट रंग Color_Background: पार्श्वभूमी रंग
डिस्प्ले वेळ: इमेज कॅशेमध्ये, (Xstart Ystart) डाव्या बाजूस आहे, आणि ते ठराविक कालावधीसाठी प्रदर्शित केले जाईल, आणि तुम्ही Ascii कोड व्हिज्युअल कॅरेक्टर फॉन्ट लायब्ररी, फॉन्ट फोरग्राउंड रंग आणि फॉन्ट बॅकग्राउंड रंग निवडू शकता;
void Paint_DrawTime(UWORD Xstart, UWORD Ystart, PAINT_TIME *pTime, sFONT* फॉन्ट, UWORD Color_Background, UWORD Color_Foreground) पॅरामीटर्स:
Xstart: Ystart या वर्णाच्या डाव्या शिरोबिंदूचा X समन्वय: pTime या वर्णाच्या डाव्या शिरोबिंदूचा Y निर्देशांक, वेळ रचना येथे परिभाषित केली आहे, जोपर्यंत तास, मिनिटे आणि सेकंदांचे अंक पाठवले जातात. मापदंड; फॉन्ट: Ascii कोड व्हिज्युअल कॅरेक्टर फॉन्ट लायब्ररी फॉन्ट फोल्डरमध्ये फॉलोइंग फॉन्ट प्रदान करते:
font85*8 फॉन्ट font127*12 फॉन्ट 1611*16 फॉन्ट फॉन्ट2014*20 फॉन्ट फॉन्ट2417*24 फॉन्ट Color_Foreground: फॉन्ट रंग Color_Background: पार्श्वभूमी रंग
प्रतिमा प्रदर्शित करा: जेव्हा (Xstart Ystart) डावा शिरोबिंदू असेल, तेव्हा W_Image च्या रुंदीची आणि H_Image ची उंची असलेली प्रतिमा प्रदर्शित करा.
void Paint_DrawImage(const unsigned char *image, UWORD xStart, UWORD yStar t, UWORD W_Image, UWORD H_Image) पॅरामीटर्स:
इमेज: इमेज ॲड्रेस, तुम्हाला जी इमेज माहिती डिस्प्ले करायची आहे त्याकडे निर्देश करत आहे
Xstart: Ystart अक्षराच्या डाव्या शिरोबिंदूचा X समन्वय: W_Image फॉन्टच्या डाव्या शिरोबिंदूचा Y समन्वय: प्रतिमा रुंदी H_Image: प्रतिमेची उंची
संसाधन
दस्तऐवज
योजनाबद्ध आकृती
3D रेखाचित्र
1.9 इंच LCD मॉड्यूल 3D रेखाचित्र
1.9 इंच LCD मॉड्यूल 3D प्रीview file
डेमो
LCD मॉड्यूल code.zip
सॉफ्टवेअर
Zimo221.7z
Image2Lcd2.9.zip
इमेज एक्सट्रॅक्शन टर्टोरियल
वारंवार विचारले जाणारे प्रश्न
प्रश्न: 1.9-इंच LCD चा जास्तीत जास्त वीज वापर किती आहे
मॉड्यूल?
उत्तर: 3.3V 40mA
प्रश्न: 1.9 इंच एलसीडी मॉड्यूलची कमाल ब्राइटनेस किती आहे? उत्तर:
3.3V 380cd/
सपोर्ट
तुम्हाला तांत्रिक सहाय्य हवे असल्यास, कृपया पृष्ठावर जा आणि तिकीट उघडा.
कागदपत्रे / संसाधने
![]() |
WAVESHARE 1.9 इंच LCD मिनी डिस्प्ले मॉड्यूल [pdf] वापरकर्ता मार्गदर्शक 1.9inch LCD Mini Display Module, 1.9inch, LCD Mini Display Module, Mini Display Module, Display Module |