IL9341 2.4 इंच LCD TFT डिस्प्ले मॉड्यूल
उत्पादन माहिती:
2.4 इंच एलसीडी मॉड्यूल हे रिझोल्यूशनसह टीएफटी डिस्प्ले मॉड्यूल आहे
240 * 320 चे. ते संवादासाठी SPI इंटरफेस वापरते आणि आहे
मूलभूत कार्यांसह अंतर्गत नियंत्रक. एलसीडी काढू शकतो
बिंदू, रेषा, वर्तुळे आणि आयत, आणि इंग्रजी प्रदर्शित करू शकतात,
चीनी, तसेच चित्रे. मॉड्यूल पूर्ण सह येतो
रास्पबेरी पाई डेमोस सपोर्टिंग (BCM2835 लायब्ररी, वायरिंगपी लायब्ररी,
आणि पायथन डेमो), STM32 डेमो आणि अर्डिनो डेमो.
तपशील:
- संचालन खंडtage: 3.3V/5V
- इंटरफेस: SPI
- एलसीडी प्रकार: टीएफटी
- नियंत्रक: IL9341
- रिझोल्यूशन: 240(V) x 320(H)RGB
- डिस्प्ले साइज: 36.72Hx 48.96Vmm
- पिक्सेल आकार: 0.153Hx 0.153Vmm
- आकारमान: ७०.५ x ४३.३(मिमी)
उत्पादन वापर सूचना:
रास्पबेरी पाई हार्डवेअर कनेक्शन:
कृपया 8PIN केबल वापरून LCD ला तुमच्या Raspberry Pi शी कनेक्ट करा
खालील तक्त्यानुसार:
| एलसीडी | VCC | GND | DIN | सीएलके | CS | DS | आरएसटी | BL |
|---|---|---|---|---|---|---|---|---|
| रास्पबेरी पाई | 3.3V | GND | मोसी | एससीएलके | CE0 | 25 | 27 | 18 |
| रास्पबेरी पाई बोर्ड | 3.3V | GND | 19 | 23 | 24 | 22 | 13 | 12 |
2.4 इंच LCD PH2.0 8PIN इंटरफेस वापरते, जे असू शकते
वरील सारणीनुसार रास्पबेरी पाईशी कनेक्ट केलेले. कृपया
पिन व्याख्या सारणीनुसार कनेक्ट करा. चा रंग
चित्रातील वायरिंग फक्त संदर्भासाठी आहे आणि वास्तविक रंग
बदलू शकतात.
STM32 हार्डवेअर कनेक्शन:
माजीample प्रदान केलेले STM32F103RBT6 वर आधारित आहे. कृपया कनेक्ट करा
वास्तविक पिन नुसार.
| एलसीडी | VCC | GND | DIN | सीएलके | CS | DC | आरएसटी | BL |
|---|---|---|---|---|---|---|---|---|
| एसटीएम 32 | 3.3V | GND | PA7 | PA5 | PB6 | PA8 | PA9 | PC7 |
आमच्याद्वारे विकसित केलेले XNUCLEO-F103RB विकास मंडळ घ्या
माजी म्हणून कंपनीample, कनेक्शन खालीलप्रमाणे आहे:
Arduino हार्डवेअर कनेक्शन:
पिननुसार LCD ला Arduino UNO ला जोडा
खालील पत्रव्यवहार सारणी:
| एलसीडी | VCC | GND | DIN | सीएलके | CS | DC | आरएसटी | BL |
|---|---|---|---|---|---|---|---|---|
| Arduino UNO | 5V | GND | D11 | D13 | D10 | D7 | D8 | D9 |
रास्पबेरी पाई सह कार्य करणे:
रास्पबेरी पाई वर SPI इंटरफेस सक्षम करण्यासाठी, याचे अनुसरण करा
पायऱ्या:
- टर्मिनल उघडा आणि प्रविष्ट करण्यासाठी कमांड वापरा
कॉन्फिगरेशन पृष्ठ: sudo raspi-config - SPI सक्षम करण्यासाठी इंटरफेसिंग पर्याय -> SPI -> होय निवडा
इंटरफेस - रास्पबेरी पाई रीबूट करा: सुडो रीबूट.
- कृपया SPI इतर उपकरणांनी व्यापलेले नाही याची खात्री करा
/boot/config.txt च्या मध्यभागी तपासत आहे.
रास्पबेरी पाई वर आवश्यक लायब्ररी स्थापित करण्यासाठी:
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.airspayce.com/mikem/bcm2835/
वायरिंगपीआय लायब्ररी स्थापित करा:
# Raspberry Pi टर्मिनल उघडा आणि खालील आदेश sudo apt-get install wiringpi चालवा # मे 2019 नंतर Raspberry Pi सिस्टमसाठी, तुम्हाला अपग्रेड करावे लागेल: wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v # रन gpio -v आणि आवृत्ती 2.52 दिसेल. ते दिसत नसल्यास, स्थापना चुकीची आहे.
वारंवार विचारले जाणारे प्रश्न:
प्रश्न: 2.4 इंच एलसीडी मॉड्यूलचे रिझोल्यूशन काय आहे?
A: 2.4 इंच एलसीडी मॉड्यूलचे रिझोल्यूशन 240 x 320 आहे.
प्रश्न: LCD मॉड्यूल कोणत्या इंटरफेसला समर्थन देते?
A: LCD मॉड्यूल SPI इंटरफेससाठी समर्थन करते
संवाद
प्रश्न: LCD मॉड्यूलद्वारे कोणत्या प्रोग्रामिंग भाषा समर्थित आहेत
डेमो?
A: LCD मॉड्यूल डेमो Python, BCM2835 लायब्ररीला समर्थन देतात,
WiringPi लायब्ररी, STM32, आणि Arduino.
2.4 इंच LCD मॉड्यूल
ओव्हरview
2.4 इंच LCD मॉड्यूल
परिचय
2.4*240 च्या रिझोल्यूशनसह 320 इंच TFT डिस्प्ले मॉड्यूल म्हणून,
ते संवादासाठी SPI इंटरफेस वापरते. एलसीडीमध्ये मूलभूत कार्यांसह अंतर्गत नियंत्रक आहे, ज्याचा वापर काढण्यासाठी केला जाऊ शकतो
240 x 320
बिंदू, रेषा, वर्तुळे आणि आयत आणि इंग्रजी, चीनी तसेच चित्रे प्रदर्शित करू शकतात.
आम्ही संपूर्ण सपोर्टिंग रास्पबेरी पाई डेमो प्रदान करतो (BCM2835 लायब्ररी, वायरिंगपी लायब्ररी,
आणि पायथन डेमो), STM32 डेमो आणि अर्डिनो डेमो.
तपशील
संचालन खंडtage: 3.3V/5V (5V वीज पुरवठा वापरताना, लॉजिक व्हॉल्यूमtage 5V आहे; 3.3V वीज पुरवठा वापरताना, लॉजिक व्हॉलtage 3.3V आहे) इंटरफेस: SPI LCD प्रकार: TFT कंट्रोलर: IL9341 रिजोल्यूशन: 240(V) x 320(H)RGB
डिस्प्ले आकार: 36.72Hx 48.96Vmm पिक्सेल आकार: 0.153Hx 0.153Vmm
आकारमान: ७०.५ x ४३.३(मिमी)
इंटरफेस वर्णन रास्पबेरी पाई हार्डवेअर कनेक्शन
कृपया खालील सारणीनुसार 8PIN केबलद्वारे LCD ला तुमच्या Raspberry Pi शी कनेक्ट करा जर तुम्ही पिन हेडर किंवा PH2.0 8PIN इंटरफेस वापरत असाल, तर तुम्हाला खालील सारणीनुसार कनेक्ट करणे आवश्यक आहे.
रास्पबेरी पाईशी कनेक्ट करा
एलसीडी
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
2.4inch LCD PH2.0 8PIN इंटरफेस वापरते, जे वरील सारणीनुसार रास्पबेरी पाईशी कनेक्ट केले जाऊ शकते: (कृपया पिन व्याख्या सारणीनुसार कनेक्ट करा. चित्रातील वायरिंगचा रंग केवळ संदर्भासाठी आहे, आणि वास्तविक रंग प्रबळ असेल.)
STM32 हार्डवेअर कनेक्शन
माजीample आम्ही प्रदान करतो ते 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, कनेक्शन खालीलप्रमाणे आहे:
Arduino हार्डवेअर कनेक्शन
Arduino UNO कनेक्शन पिन पत्रव्यवहार LCD VCC GND DIN CLK CS DC RST BL
कनेक्शन आकृती खालीलप्रमाणे आहे (मोठा करण्यासाठी क्लिक करा):
UNO 5V
GND D11 D13 D10 D7 D8 D9
हार्डवेअर वर्णन एलसीडी आणि कंट्रोलर
LCD प्रति पिक्सेल 12-बिट, 16-बिट आणि 18-बिट इनपुट कलर फॉरमॅटला सपोर्ट करते, म्हणजे RGB444, RGB565, आणि RGB666 तीन कलर फॉरमॅट, हा डेमो RGB565 कलर फॉरमॅट वापरतो, जो सामान्यतः वापरला जाणारा RGB फॉरमॅट देखील आहे. बहुतेक LCD नियंत्रकांसाठी, नियंत्रकाचा संप्रेषण मोड कॉन्फिगर केला जाऊ शकतो, सामान्यतः 8080 समांतर इंटरफेस, तीन-वायर SPI, चार-वायर SPI आणि इतर संप्रेषण पद्धतींसह. हा एलसीडी चार-वायर SPI कम्युनिकेशन इंटरफेस वापरतो, ज्यामुळे GPIO पोर्ट मोठ्या प्रमाणात जतन होऊ शकतो आणि संप्रेषणाचा वेग अधिक जलद होईल. कम्युनिकेशन प्रोटोकॉल
टीप: पारंपारिक SPI प्रोटोकॉलपेक्षा वेगळी, स्लेव्हपासून मास्टरपर्यंतची डेटा लाइन लपवलेली असते कारण डिव्हाइसला फक्त प्रदर्शनाची आवश्यकता असते. RESX: रीसेट पिन, तो मॉड्यूल पॉवर करताना कमी असावा आणि इतर वेळी जास्त असावा; CSX: स्लेव्ह चिप निवडा, जेव्हा CS कमी असेल, तेव्हा चिप सक्षम केली जाते. D/CX: डेटा/कमांड कंट्रोल पिन, जेव्हा DC = 0, लिहा कमांड, जेव्हा DC = 1, डेटा SDA लिहा: RGB डेटा प्रसारित करण्यासाठी डेटा पिन, तो SPI इंटरफेसच्या MOSI पिन म्हणून काम करतो; SCL SPI इंटरफेसच्या SCLK पिन म्हणून काम करते. SPI कम्युनिकेशनमध्ये डेटा ट्रान्सफर टाइमिंग असते, जे CPHA आणि CPOL द्वारे एकत्रित केले जाते. CPOL निष्क्रिय स्थितीत अनुक्रमांक सिंक्रोनस घड्याळाची पातळी निर्धारित करते. जेव्हा CPOL = 0, पातळी कमी असते. तथापि, CPOL चा प्रसारणावर फारसा प्रभाव पडत नाही. CPHA डेटा पहिल्या घड्याळाच्या काठावर संकलित केला जातो की सिरीयल सिंक्रोनस घड्याळाच्या दुसऱ्या घड्याळाच्या काठावर हे निर्धारित करते; जेव्हा CPHL = 0, डेटा पहिल्या घड्याळाच्या काठावर गोळा केला जातो. 4 SPI संप्रेषण मोड आहेत. SPI0 सामान्यतः वापरला जातो, ज्यामध्ये CPHL = 0, CPOL = 0.
रास्पबेरी पाई सह कार्य करणे
SPI इंटरफेस सक्षम करा
PS: जर तुम्ही बुलसी शाखेची प्रणाली वापरत असाल, तर तुम्हाला “apt-get” ला “apt” मध्ये बदलण्याची आवश्यकता आहे, Bullseye शाखेची प्रणाली फक्त Python3 ला सपोर्ट करते.
टर्मिनल उघडा, कॉन्फिगरेशन पृष्ठ प्रविष्ट करण्यासाठी कमांड वापरा
sudo raspi-config SPI इंटरफेस सक्षम करण्यासाठी इंटरफेसिंग पर्याय -> SPI -> होय निवडा
रास्पबेरी पाई रीबूट करा
sudo रीबूट
कृपया खात्री करा की SPI इतर उपकरणांनी व्यापलेले नाही, तुम्ही /boot/config.txt च्या मध्यभागी तपासू शकता.
लायब्ररी स्थापित करा
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/
वायरिंगपीआय लायब्ररी स्थापित करा
# Raspberry Pi टर्मिनल उघडा आणि खालील आदेश sudo apt-get install wiringpi चालवा # Raspberry Pi सिस्टीमसाठी मे 2019 नंतर (पूर्वीपेक्षा, तुम्हाला कार्यान्वित करण्याची आवश्यकता नसेल), तुम्हाला कदाचित अपग्रेड करावे लागेल: wget https://project -downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v # रन gpio -v आणि आवृत्ती 2.52 दिसेल. जर ते दिसत नसेल तर, इन्स टॅलेशन चुकीचे आहे
#Bullseye शाखा प्रणाली खालील आदेश वापरते: git clone https://github.com/WiringPi/WiringPi cd WiringPi ./build gpio -v # रन gpio -v आणि आवृत्ती 2.60 दिसेल. ते दिसत नसल्यास, याचा अर्थ असा की स्थापना त्रुटी आहे
पायथन लायब्ररी स्थापित करा
#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
डाउनलोड करा माजीampलेस
रास्पबेरी पाई टर्मिनल उघडा आणि खालील कमांड चालवा
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/
डेमो कोड चालवा
कृपया प्रथम RaspberryPi निर्देशिकेत (डेमो कोड) जा आणि टर्मिनलमध्ये कमांड चालवा
सी कोड
डेमो कोड पुन्हा संकलित करा
cd c sudo make clean sudo make -j 8
सर्व स्क्रीनच्या चाचणी प्रोग्रामला संबंधित आकार प्रविष्ट करून थेट कॉल केला जाऊ शकतो
sudo ./मुख्य स्क्रीन आकार
एलसीडीवर अवलंबून, खालीलपैकी एक आज्ञा प्रविष्ट केली पाहिजे:
#0.96inch LCD मॉड्यूल sudo ./main 0.96 #1.14inch LCD मॉड्यूल sudo ./main 1.14 #1.28inch LCD मॉड्यूल sudo ./main 1.28 #1.3inch LCD मॉड्यूल sudo ./main 1.3inch LCD मॉड्यूल sudo ./main 1.47inch LCD मॉड्युल sudo #1.47. #1.54inch LCD मॉड्यूल sudo ./main 1.54 #1.8inch LCD मॉड्यूल sudo ./main 1.8 #2inch LCD Module sudo ./main 2 #2.4inch LCD मॉड्यूल sudo ./main 2.4
अजगर
पायथन प्रोग्राम डिरेक्टरी एंटर करा आणि ls -l कमांड चालवा
cd python/examples ls -l
सर्व स्क्रीनसाठी चाचणी कार्यक्रम असू शकतात viewed, आकारानुसार क्रमवारी लावा: 0inch LCD चाचणी प्रोग्राम 96inch0.96_LCD_test.py: 1inch LCD चाचणी प्रोग्राम 14inch1.14_LCD_test.py: 1inch LCD चाचणी प्रोग्राम 28inch1.28_LCD_test1 .py: 3 इंच LCD चाचणी प्रोग्राम 1.3inch1_LCD_test.py: 47inchLCD चाचणी प्रोग्राम 1.47inch1_LCD_test.py: 54inch LCD चाचणी प्रोग्राम 1.54inch_LCD_test.py: 1inch LCD चाचणी प्रोग्राम 8inch1.8_LCD_test.py: 2inch2 LCD चाचणी प्रोग्राम
फक्त स्क्रीनशी संबंधित प्रोग्राम चालवा, प्रोग्राम पायथन 2/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 1inch_LCD_test47t .py sudo python 1inch54_LCD_test.py sudo python 1inch_LCD_test.py sudo python 8inch2_LCD_test.py # python2 sudo python4 3inch3_LCD_test.py sudo python0 96inch3_LCD_test.py sudo python1 14inch3_LCD_test.py sudo python1 28inch3_LCD_test.py sudo python1 3inch3_LCD_pyt1 sudo python47 sudo python3 1inch54_LCD_test.py sudo python3 1inch_LCD_test.py sudo python8 3inch2_LCD_test.py
FBCP पोर्टिंग
PS: FBCP सध्या 64-बिट रास्पबेरी पाई सिस्टमशी सुसंगत नाही, 32-बिट सिस्टम वापरण्याची शिफारस केली जाते.
फ्रेमबफर संपूर्ण फ्रेम डेटा असलेल्या मेमरी बफरमधून व्हिडिओ डिस्प्ले डिव्हाइस चालविण्यासाठी व्हिडिओ आउटपुट डिव्हाइस वापरतो. सोप्या भाषेत सांगायचे तर, डिस्प्ले सामग्री साठवण्यासाठी मेमरी क्षेत्राचा वापर केला जातो आणि मेमरीमधील डेटा बदलून प्रदर्शन सामग्री बदलली जाऊ शकते. 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 वापरकर्ता इंटरफेस प्रदर्शित होईल.
API वर्णन
RaspberryPi मालिका प्रोग्रामचा एक संच सामायिक करू शकते, कारण ते सर्व एम्बेडेड सिस्टम आहेत आणि सुसंगतता तुलनेने मजबूत आहे. प्रोग्राम बॉटम-लेयर हार्डवेअर इंटरफेस, मिडल-लेयर एलसीडी स्क्रीन ड्रायव्हर आणि अप्पर-लेयर ऍप्लिकेशनमध्ये विभागलेला आहे;
C
हार्डवेअर इंटरफेस
आम्ही लो-लेव्हल एन्कॅप्स्युलेशन केले आहे, जर तुम्हाला अंतर्गत अंमलबजावणी जाणून घ्यायची असेल तर हार्डवेअर प्लॅटफॉर्म आणि अंतर्गत अंमलबजावणी भिन्न असल्याच्या कारणास्तव संबंधित निर्देशिकेत जाऊन तपासू शकता. व्याख्या पाहण्यासाठी तुम्ही DEV_Config.c(.h) उघडू शकता, जी RaspberryPiclibConfig निर्देशिकेत आहे.
1. C साठी चालविण्याचे तीन मार्ग आहेत: अनुक्रमे BCM2835 लायब्ररी, वायरिंगपी लायब्ररी आणि देव लायब्ररी 2. आम्ही डीफॉल्टनुसार देव लायब्ररी वापरतो. तुम्हाला BCM2835 किंवा Wi ringPi लायब्ररीमध्ये बदलण्याची आवश्यकता असल्यास, कृपया RaspberryPicMake उघडाfile आणि खालीलप्रमाणे 13-1 5 ओळी सुधारित करा:
डेटा प्रकार:
#UBYTE परिभाषित करा #UWORD परिभाषित करा #UDOUBLE परिभाषित करा
uint8_t uint16_t uint32_t
मॉड्यूल आरंभ आणि निर्गमन प्रक्रिया.
void DEV_Module_Init(void); void DEV_Module_Exit(void); टीप:
LCD स्क्रीन वापरण्यापूर्वी आणि नंतर काही GPIO प्रक्रिया येथे आहे.
GPIO वाचा आणि लिहा:
void DEV_Digital_Write(UWORD पिन, UBYTE मूल्य); UBYTE DEV_Digital_Read(UWORD पिन);
SPI डेटा लिहा:
void DEV_SPI_WriteByte(UBYTE मूल्य);
वरचा अर्ज
तुम्हाला चित्रे काढायची असल्यास किंवा चिनी आणि इंग्रजी अक्षरे दाखवायची असल्यास, आम्ही RaspberryPiclibGUIGUI_Paint.c(.h) निर्देशिकेतील काही ग्राफिक्स प्रक्रियेबद्दल येथे काही मूलभूत कार्ये प्रदान करतो.
फॉन्ट RaspberryPiclibFonts निर्देशिकेत आढळू शकतात.
नवीन प्रतिमा गुणधर्म: एक नवीन प्रतिमा बफर तयार करा, या गुणधर्मामध्ये प्रतिमा बफरचे नाव, रुंदी, उंची, फ्लिप एंगल आणि रंग समाविष्ट आहे.
void Paint_NewImage(UBYTE *इमेज, UWORD रुंदी, UWORD उंची, UWORD फिरवा, UWORD रंग) पॅरामीटर्स:
इमेज: इमेज बफरचे नाव, जे प्रत्यक्षात इमेज बफरच्या पहिल्या पत्त्याकडे एक सूचक आहे;
रुंदी: प्रतिमा बफर रुंदी; उंची: प्रतिमा बफरची उंची; फिरवा: प्रतिमेचा रोटेशन कोन दर्शवितो रंग: प्रतिमेचा प्रारंभिक रंग;
प्रतिमा बफर निवडा: निवडीचा उद्देश हा आहे की तुम्ही अनेक प्रतिमा विशेषता तयार करू शकता, अनेक प्रतिमा बफर असू शकतात, तुम्ही तयार केलेली प्रत्येक प्रतिमा निवडू शकता.
void Paint_SelectImage(UBYTE *इमेज) पॅरामीटर्स:
इमेज: इमेज बफरचे नाव, जे प्रत्यक्षात इमेज बफरच्या पहिल्या पत्त्याकडे एक सूचक आहे;
इमेज रोटेशन: निवडलेल्या प्रतिमेचा रोटेशन अँगल सेट करा, शक्यतो Paint_SelectImage() नंतर, तुम्ही 0, 90, 180, 270 फिरवणे निवडू शकता.
void Paint_SetRotate(UWORD रोटेट) पॅरामीटर्स:
फिरवा: ROTATE_0, ROTATE_90, ROTATE_180, आणि ROTATE_270 0, 90, 180 आणि 270 अंशांशी संबंधित आहेत.
प्रतिमा मिरर फ्लिप: निवडलेल्या प्रतिमेचा मिरर फ्लिप सेट करा. तुम्ही कोणताही आरसा, क्षैतिज आरसा, उभा आरसा किंवा प्रतिमा केंद्र मिरर निवडू शकता.
void Paint_SetMirroring(UBYTE मिरर) पॅरामीटर्स:
मिरर: प्रतिमा मिररिंग मोड दर्शवते. MIRROR_NONE, MIRROR_HO RIZONTAL, MIRROR_VERTICAL, MIRROR_ORIGIN अनुक्रमे नो मिरर, हॉरिझंट अल मिरर, व्हर्टिकल मिरर आणि इमेज सेंटर मिररशी संबंधित आहेत.
बफरमधील डिस्प्ले पोझिशन आणि कलरचे पॉईंट सेट करा: येथे कोर 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 समन्वय दर्शवतो.
रंग: रंग भरा
डॉट_पिक्सेल: डॉटचा आकार, डेमो 8 आकाराचे पॉइंट प्रदान करतो
y डीफॉल्ट.
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: रेषेची रुंदी, डेमो wi चे 8 आकार प्रदान करते
डीफॉल्टनुसार dth.
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-एंड समन्वय
येंड: आयताचा y-एंड समन्वय
रंग: रंग भरा
रेषा_रुंदी: आयताच्या चार बाजूंची रुंदी. आणि डी
mo मुलभूतरित्या रुंदीचे 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 {
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: वर्णाच्या डाव्या शिरोबिंदूचा x-समन्वय Ystart: वर्णाच्या डाव्या शिरोबिंदूचा Y-समन्वय Ascii_Char: Ascii वर्ण फॉन्ट दर्शवतो: Ascii व्हिज्युअल कॅरेक्टर लायब्ररी, फॉन्ट फोल्डरमध्ये डेमो खालील फॉन्ट प्रदान करतो:
Font8: 5*8 फॉन्ट Font12: 7*12 फॉन्ट Font16: 11*16 फॉन्ट Font20: 14*20 फॉन्ट Font24: 17*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: अक्षराच्या डाव्या शिरोबिंदूचा x-समन्वय Ystart: फॉन्टच्या डाव्या शिरोबिंदूचा Y समन्वय PString: स्ट्रिंग, स्ट्रिंग हा पॉइंटर फॉन्ट आहे: Ascii व्हिज्युअल कॅरेक्टर लायब्ररी, फॉन्ट फोल्डरमध्ये डेमो खालील फॉन्ट पुरवतो:
Font8: 5*8 फॉन्ट Font12: 7*12 फॉन्ट Font16: 11*16 फॉन्ट Font20: 14*20 फॉन्ट Font24: 17*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: अक्षराच्या डाव्या शिरोबिंदूचा x-निर्देशांक Ystart: फॉन्टच्या डाव्या शिरोबिंदूचा Y समन्वय PString: स्ट्रिंग, स्ट्रिंग हा पॉइंटर फॉन्ट आहे: GB2312 एन्कोडिंग वर्ण फॉन्ट लायब्ररी, फॉन्ट फोल्डरमध्ये डेमो खालील फॉन्ट प्रदान करतो:
Font12CN: ASCII फॉन्ट 11*21, चीनी फॉन्ट 16*21 Font24CN: ASCII फॉन्ट24 *41, चायनीज फॉन्ट 32*41 Color_Foreground: फॉन्ट रंग Color_Background: पार्श्वभूमीचा रंग सूचित करतो
अंक लिहा: इमेज बफरमध्ये, (Xstart Ystart) डाव्या शिरोबिंदू म्हणून वापरा, एक स्ट्रिंग लिहा
संख्यांमध्ये, तुम्ही Ascii व्हिज्युअल कॅरेक्टर लायब्ररी, फॉन्ट फोरग्राउंड रंग, फॉन्ट निवडू शकता
पार्श्वभूमी रंग.
void Paint_DrawNum(UWORD Xpoint, UWORD Ypoint, दुहेरी क्रमांक, sFONT* फॉन t, UWORD अंक, UWORD Color_Foreground, UWORD Color_Background) पॅरामीटर्स:
Xpoint: अक्षराच्या डाव्या शिरोबिंदूचा x-समन्वय Ypoint: फॉन्ट क्रमांकाच्या डाव्या शिरोबिंदूचा Y समन्वय: प्रदर्शित संख्या दर्शवतो, जो दशांश अंक असू शकतो: हा दशांश क्रमांक आहे फॉन्ट: Ascii व्हिज्युअल कॅरेक्टर लायब्ररी, फॉन्ट फोल्डरमध्ये डेमो खालील फॉन्ट प्रदान करतो:
Font8: 5*8 फॉन्ट Font12: 7*12 फॉन्ट Font16: 11*16 फॉन्ट Font20: 14*20 फॉन्ट Font24: 17*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: अक्षराच्या डाव्या शिरोबिंदूचा x-समन्वय Ystart: फॉन्टच्या डाव्या शिरोबिंदूचा Y समन्वय PTime: डिस्प्ले वेळ, तास, मिनिटे आणि सेकंद हे पॅरामीटर्समध्ये दिले जातात तोपर्यंत येथे वेळ रचना परिभाषित केली जाते. ; फॉन्ट: Ascii व्हिज्युअल कॅरेक्टर लायब्ररी, फॉन्ट फोल्डरमध्ये डेमो खालील फॉन्ट प्रदान करते:
Font8: 5*8 फॉन्ट Font12: 7*12 फॉन्ट Font16: 11*16 फॉन्ट Font20: 14*20 फॉन्ट Font24: 17*24 फॉन्ट Color_Foreground: फॉन्ट रंग Color_Background: पार्श्वभूमी रंग सूचित करतो
स्थानिक bmp प्रतिमा वाचा आणि कॅशेवर लिहा.
रास्पबेरी पाई सारख्या लिनक्स ऑपरेटिंग सिस्टमसाठी, तुम्ही चित्रे वाचू आणि लिहू शकता. च्या साठी
रास्पबेरी पाई, निर्देशिकेत: RaspberryPiclibGUIGUI_BMPfile.c(.h).
UBYTE GUI_ReadBmp(const char *path, UWORD Xstart, UWORD Ystart) पॅरामीटर:
पथ: BMP प्रतिमेचा सापेक्ष मार्ग Xstart: प्रतिमेच्या डाव्या शिरोबिंदूचा X समन्वय, सामान्यत: 0 हा डीफॉल्टनुसार पास केला जातो Ystart: चित्राच्या डाव्या शिरोबिंदूचा Y समन्वय, सर्वसाधारणपणे 0 डीफॉल्टनुसार
रास्पबेरी Pi साठी वापरकर्त्यांसाठी चाचणी कोड, निर्देशिकेत: RaspberryPicexamples, सर्व चाचणी कोडसाठी;
तुम्हाला 0.96-इंच LCD चाचणी प्रोग्राम चालवायचा असल्यास, मुख्य डेमो चालवताना तुम्हाला पॅरामीटर म्हणून 0.96 जोडणे आवश्यक आहे. लिनक्स कमांड मोडमध्ये खालीलप्रमाणे पुन्हा कार्यान्वित करा:
क्लीन मेक सुडो ./मेन 0.96
पायथन (रास्पबेरी पाईसाठी) पायथन आणि पायथन 3 सह कार्य करते. पायथनसाठी, त्याचे कॉल सी. रास्पबेरी पाई: रास्पबेरी पिपयथॉनलिबसारखे क्लिष्ट नाहीत
lcdconfig.py मॉड्यूल इनिशिएलायझेशन आणि एक्झिट प्रोसेसिंग.
def module_init() def module_exit() टीप: 1. LCD स्क्रीन वापरण्यापूर्वी आणि नंतर काही GPIO प्रक्रिया येथे आहे. 2. module_init() फंक्शन LCD वरील INIT () initi alizer मध्ये आपोआप कॉल केले जाते, परंतु module_exit() फंक्शन स्वतः कॉल करणे आवश्यक आहे.
GPIO वाचा आणि लिहा:
def digital_write(पिन, मूल्य) def digital_read(पिन)
SPI डेटा लिहा.
def spi_writebyte(डेटा)
xxx_LCD_test.py (xxx आकार दर्शवितो, जर तो 0.96 इंचाचा LCD असेल, तर तो 0inch96_LCD_test.py आहे, आणि असेच) पायथन खालील निर्देशिकेत आहे: रास्पबेरी पाई: रास्पबेरी पिपायथोनेक्सampलेस
जर तुमची पायथन आवृत्ती python2 असेल आणि तुम्हाला 0.96 इंच एलसीडी चाचणी प्रोग्राम चालवायचा असेल, तर ते लिनक्स कमांड मोडमध्ये खालीलप्रमाणे पुन्हा कार्यान्वित करा:
sudo python 0inch96_LCD_test.py
जर तुमची पायथन आवृत्ती python3 असेल आणि तुम्हाला 0.96inch LCD चाचणी प्रोग्राम चालवायचा असेल तर, linux कमांड मोडमध्ये पुढील गोष्टी पुन्हा कार्यान्वित करा:
sudo python3 0inch96_LCD_test.py
रोटेशन सेटिंग्जबद्दल जर तुम्हाला पायथन प्रोग्राममध्ये स्क्रीन रोटेशन सेट करायचे असेल, तर तुम्ही ते im_r= image1.rotate(270) या विधानाद्वारे सेट करू शकता.
im_r= image1.rotate(270)
रोटेशन इफेक्ट, एक्स म्हणून 1.54 घ्याample, ऑर्डर 0°, 90°, 180°, 270° आहे
GUI फंक्शन्स Python मध्ये इमेज लायब्ररी PIL अधिकृत लायब्ररी लिंक आहे, त्याला C सारख्या लॉजिकल लेयरमधून कोड लिहिण्याची गरज नाही आणि इमेज प्रोसेसिंगसाठी थेट इमेज लायब्ररीला कॉल करू शकतो. खालील एक माजी म्हणून 1.54-इंच LCD घेईलample, आम्ही डेमोचे थोडक्यात वर्णन देतो.
त्यासाठी इमेज लायब्ररी वापरणे आणि लायब्ररी स्थापित करणे आवश्यक आहे.
sudo apt-get install python3-pil
आणि नंतर लायब्ररी आयात करा
पीआयएल इंपोर्ट इमेज, इमेज ड्रॉ, इमेज फॉन्ट वरून.
त्यापैकी, इमेज ही मूलभूत लायब्ररी आहे, इमेज ड्रॉ हे ड्रॉइंग फंक्शन आहे आणि इमेजफॉन्ट हे टेक्स्ट फंक्शन आहे.
चित्रावरील रेखाचित्र, लेखन आणि इतर कार्ये सुलभ करण्यासाठी प्रतिमा कॅशे परिभाषित करा.
image1 = Image.new(“RGB”, (disp.width, disp.height), “WHITE”)
प्रथम पॅरामीटर प्रतिमेची रंग खोली परिभाषित करते, जी एक-बिट खोलीचा बिटमॅप दर्शविण्यासाठी "1" म्हणून परिभाषित केली जाते. दुसरा पॅरामीटर एक टपल आहे जो प्रतिमेची रुंदी आणि उंची परिभाषित करतो. तिसरा पॅरामीटर बफरचा डीफॉल्ट रंग परिभाषित करतो, जो “व्हाइट” म्हणून परिभाषित केला जातो.
इमेज1 वर आधारित ड्रॉइंग ऑब्जेक्ट तयार करा ज्यावर सर्व ड्रॉइंग ऑपरेशन्स येथे केले जातील.
draw = ImageDraw.Draw(image1)
एक रेषा काढा.
draw.line([(20, 10),(70, 60)], भरणे = “लाल”, रुंदी = 1)
पहिला पॅरामीटर चार-घटकांचा ट्युपल आहे जो (0, 0) पासून सुरू होतो आणि (127,0) वर समाप्त होतो. एक रेषा काढा. Fill =”0″ म्हणजे रेषेचा रंग पांढरा आहे.
Draw a rectangle.
draw.rectangle([(20,10),(70,60)],fill = “WHITE”,outline=”BLACK”)
पहिला युक्तिवाद चार घटकांचा एक ट्युपल आहे. (20,10) हे आयताच्या वरच्या डाव्या कोपऱ्यातील समन्वय मूल्य आहे आणि (70,60) हे आयताच्या खालच्या उजव्या कोपऱ्यातील समन्वय मूल्य आहे. Fill ="WHITE" म्हणजे आतून काळा, आणि बाह्यरेखा="BLACK" म्हणजे बाह्यरेषेचा रंग काळा आहे.
Draw a circle.
draw.arc((150,15,190,55),0, 360, fill =(0,255,0)
स्क्वेअरमध्ये एक कोरलेले वर्तुळ काढा, पहिला पॅरामीटर हा 4 घटकांचा ट्युपल आहे, ज्यामध्ये (150, 15) स्क्वेअरचा वरचा डावा कोपरा शिरोबिंदू आहे, (190, 55) स्क्वेअरचा खालचा उजवा कोपरा शिरोबिंदू आहे. आयताकृती फ्रेमची लेव्हल मीडियन रेषा 0 डिग्रीचा कोन आहे, दुसरा पॅरामीटर सुरुवातीचा कोन दर्शवतो, तिसरा पॅरामीटर शेवटचा कोन दर्शवतो आणि fill = 0 सूचित करतो की रेषेचा रंग पांढरा आहे. जर आकृती समन्वयानुसार चौरस नसेल, तर तुम्हाला लंबवर्तुळ मिळेल. आर्क फंक्शन व्यतिरिक्त, आपण एक घन वर्तुळ काढण्यासाठी जीवा फंक्शन देखील वापरू शकता.
draw.ellipse((150,65,190,105), fill = 0)
पहिले पॅरामीटर म्हणजे संलग्न आयताचे समन्वय. दुसरे आणि तिसरे पॅरामीटर्स वर्तुळाची सुरुवात आणि शेवटची डिग्री आहेत. चौथा पॅरामीटर वर्तुळाचा फिल कलर आहे.
वर्ण. इमेजफॉन्ट मॉड्यूल आयात करणे आणि त्वरित करणे आवश्यक आहे:
Font1 = ImageFont.truetype(“../Font/Font01.ttf”,25) Font2 = ImageFont.truetype(“../Font/Font01.ttf”,35) Font3 = ImageFont.truetype(“../Font/” Font02.ttf”,32)
तुम्ही विंडोजचे फॉन्ट किंवा इतर फॉन्ट वापरू शकता जे ttc फॉरमॅटमध्ये आहेत.. टीप: प्रत्येक कॅरेक्टर लायब्ररीमध्ये वेगवेगळे कॅरेक्टर असतात; काही वर्ण प्रदर्शित केले जाऊ शकत नसल्यास, वापरलेल्या एन्कोडिंग सेट ro चा संदर्भ घ्यावा अशी शिफारस केली जाते. इंग्रजी अक्षरे काढण्यासाठी, आपण थेट फॉन्ट वापरू शकता; चिनी वर्णांसाठी, तुम्हाला u चिन्ह जोडण्याची आवश्यकता आहे:
draw.text((40, 50), 'WaveShare', fill = (128,255,128),font=Font2) text= u”” draw.text((74, 150), text, fill = “WHITE”,font=Font3 )
पहिला पॅरामीटर हा 2 घटकांचा ट्युपल आहे, ज्यात (40, 50) डाव्या शिरोबिंदू प्रमाणे आहे, फॉन्ट फॉन्ट2 आहे आणि फिल हा फॉन्ट रंग आहे. तुम्ही थेट फिल = “व्हाइट” बनवू शकता, कारण नियमित रंग मूल्य आधीच परिभाषित केले आहे ठीक आहे, अर्थातच, तुम्ही fill = (128,255,128) देखील वापरू शकता, कंस तीन RGB रंगांच्या मूल्यांशी सुसंगत आहेत जेणेकरून तुम्ही अचूकपणे नियंत्रित करू शकता. तुम्हाला हवा तो रंग. दुसरे वाक्य मायक्रो स्नो इलेक्ट्रॉनिक्स दाखवते, फॉन्ट3 वापरून, फॉन्टचा रंग पांढरा आहे.
स्थानिक प्रतिमा वाचा
image = Image.open('../pic/LCD_1inch28.jpg')
पॅरामीटर प्रतिमा पथ आहे. इतर कार्ये.
अधिक माहितीसाठी, तुम्ही http://effbot.org/imagingbook pil चा संदर्भ घेऊ शकता
STM32 सह वापरणे
सॉफ्टवेअर वर्णन
डेमो एचएएल लायब्ररीवर आधारित विकसित केला आहे. डेमो डाउनलोड करा, STM32 प्रोग्राम शोधा file डिरेक्ट्री, आणि प्रोग्राम तपासण्यासाठी STM32STM32F103RBT6MDK-ARM डिरेक्ट्रीमध्ये LCD_demo.uvprojx उघडा.
main.c उघडा, तुम्ही सर्व चाचणी कार्यक्रम पाहू शकता, संबंधित स्क्रीनवरील चाचणी कार्यक्रमांसमोरील टिप्पण्या काढून टाकू शकता आणि पुन्हा संकलित आणि डाउनलोड करू शकता.
LCD_0in96_test() 0.96inch LCD चाचणी प्रोग्राम LCD_1in14_test() 1.14inch LCD चाचणी प्रोग्राम LCD_1in28_test() 1.28inch LCD चाचणी प्रोग्राम LCD_1in3_test() 1.3 इंच LCD चाचणी प्रोग्राम LCD_1in54_test1.54(LCD_1in8t1.8) ) 2 इंच LCD चाचणी कार्यक्रम LCD_2in_test( ) XNUMX इंच एलसीडी चाचणी कार्यक्रम
कार्यक्रमाचे वर्णन
अंतर्निहित हार्डवेअर इंटरफेस
डेटा प्रकार
#UBYTE परिभाषित करा #UWORD परिभाषित करा #UDOUBLE परिभाषित करा
uint8_t uint16_t uint32_t
मॉड्यूल आरंभ आणि निर्गमन प्रक्रिया
UBYTE System_Init(void); void System_exit(void); टीप: 1. LCD स्क्रीन वापरण्यापूर्वी आणि नंतर काही GPIO प्रक्रिया येथे आहे. 2. System_Exit(void) फंक्शन वापरल्यानंतर, OLED डिस्प्ले बंद केला जाईल;
GPIO लिहा आणि वाचा
UBYTE रद्द करा
DEV_Digital_Write(UWORD पिन, UBYTE मूल्य); DEV_Digital_Read(UWORD पिन);
SPI डेटा लिहा
UBYTE SPI4W_Write_Byte(uint8_t मूल्य);
वरचा अर्ज
स्क्रीनसाठी, जर तुम्हाला चित्रे काढायची असतील, चिनी आणि इंग्रजी अक्षरे दाखवायची असतील, चित्रे दाखवायची असतील, तर तुम्ही वरच्या ॲप्लिकेशनचा वापर करू शकता आणि 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, ROTATE_180, आणि ROTATE_270 अनुक्रमे 0, 90, 180 आणि 270 अंशांशी संबंधित आहेत;
प्रतिमा मिरर फ्लिप: निवडलेल्या प्रतिमेचा मिरर फ्लिप सेट करा. तुम्ही कोणताही आरसा, क्षैतिज आरसा, उभा आरसा किंवा प्रतिमा केंद्र मिरर निवडू शकता.
void Paint_SetMirroring(UBYTE मिरर) पॅरामीटर्स:
मिरर: प्रतिमा मिररिंग मोड दर्शवते. MIRROR_NONE, MIRROR_HORIZO NTAL, MIRROR_VERTICAL, MIRROR_ORIGIN अनुक्रमे कोणत्याही आरशाशी, क्षैतिज m मिरर, उभ्या आरशाशी आणि प्रतिमेच्या मध्यभागी असलेल्या आरशाशी संबंधित नाहीत.
बफरमध्ये डिस्प्ले पोझिशन आणि कलरचे पॉईंट सेट करा: येथे कोर 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: विंडोचा एक्स-स्टार्टिंग कोऑर्डिनेट 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 समन्वय दर्शवतो
रंग: रंग भरा
डॉट_पिक्सेल: बिंदूचा आकार, आठ आकाराच्या पॉइंटचा डीफॉल्ट प्रदान करतो
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;
डॉट_स्टाइल: पॉईंटच्या मध्यभागी विस्तारलेल्या बिंदूचा आकार
nt किंवा बिंदूच्या खालच्या डाव्या कोपऱ्यापासून उजवीकडे आणि वर
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: ओळीची रुंदी, जी आठ 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;
रेखा_शैली: रेखा शैली. रेषा स्ट्राईमध्ये जोडल्या गेल्या आहेत की नाही ते निवडा
ght किंवा डॅश मार्ग
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-एंड निर्देशांक निर्दिष्ट करते
रंग: रंग भरा
रेषा_रुंदी: आयताच्या चार बाजूंची रुंदी. डीफॉल्ट ei
ght रुंदी प्रदान केली आहे
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 {
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: अक्षराच्या डाव्या शिरोबिंदूचा x-समन्वय Ystart: फॉन्टच्या डाव्या शिरोबिंदूचा Y समन्वय Ascii_Char: Ascii वर्ण फॉन्ट दर्शवतो: Ascii व्हिज्युअल कॅरेक्टर लायब्ररी, फॉन्ट फोल्डरमध्ये खालील फॉन्ट प्रदान करते:
Font8: 5*8 फॉन्ट Font12: 7*12 फॉन्ट Font16: 11*16 फॉन्ट Font20: 14*20 फॉन्ट Font24: 17*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: अक्षराच्या डाव्या शिरोबिंदूचा x-समन्वय Ystart: फॉन्टच्या डाव्या शिरोबिंदूचा Y समन्वय PString: स्ट्रिंग, स्ट्रिंग हा पॉइंटर फॉन्ट आहे: Ascii व्हिज्युअल कॅरेक्टर लायब्ररी, फॉन्ट फोल्डरमध्ये खालील फॉन्ट प्रदान करते:
Font8: 5*8 फॉन्ट Font12: 7*12 फॉन्ट Font16: 11*16 फॉन्ट Font20: 14*20 फॉन्ट Font24: 17*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: अक्षराच्या डाव्या शिरोबिंदूचा x-समन्वय Ystart: फॉन्टच्या डाव्या शिरोबिंदूचा Y समन्वय PString: स्ट्रिंग, स्ट्रिंग हा एक पॉइंटर फॉन्ट आहे: GB2312 एन्कोडिंग कॅरेक्टर फॉन्ट लायब्ररी, फॉन्ट फोल्डरमध्ये खालील फॉन्ट ओळखतो:
Font12CN: ASCII फॉन्ट 11*21, चीनी फॉन्ट 16*21 Font24CN: ASCII फॉन्ट24 *41, चायनीज फॉन्ट 32*41 Color_Foreground: फॉन्ट रंग Color_Background: पार्श्वभूमीचा रंग सूचित करतो
अंक लिहा: इमेज बफरमध्ये, (Xstart Ystart) डाव्या शिरोबिंदू म्हणून वापरा, एक स्ट्रिंग लिहा
संख्यांमध्ये, तुम्ही Ascii व्हिज्युअल कॅरेक्टर लायब्ररी, फॉन्ट फोरग्राउंड रंग, फॉन्ट निवडू शकता
पार्श्वभूमी रंग.
void Paint_DrawNum(UWORD Xpoint, UWORD Ypoint, दुहेरी क्रमांक, sFONT* फॉन t, UWORD अंक, UWORD Color_Foreground, UWORD Color_Background) पॅरामीटर्स:
Xpoint: अक्षराच्या डाव्या शिरोबिंदूचा x-समन्वय Ypoint: फॉन्ट क्रमांकाच्या डाव्या शिरोबिंदूचा Y समन्वय: प्रदर्शित संख्या दर्शवतो, जो दशांश अंक असू शकतो: हा दशांश क्रमांक आहे फॉन्ट: Ascii व्हिज्युअल कॅरेक्टर लायब्ररी, फॉन्ट फोल्डरमध्ये खालील फॉन्ट उपलब्ध आहेत:
Font8: 5*8 फॉन्ट Font12: 7*12 फॉन्ट Font16: 11*16 फॉन्ट Font20: 14*20 फॉन्ट Font24: 17*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: अक्षराच्या डाव्या शिरोबिंदूचा x-समन्वय Ystart: फॉन्टच्या डाव्या शिरोबिंदूचा Y समन्वय PTime: डिस्प्ले टाइम, येथे चांगल्या वेळेची रचना परिभाषित केली आहे, जोपर्यंत डेटाचे ते तास, मिनिट आणि सेकंद बिट पॅरामीटर; फॉन्ट: Ascii व्हिज्युअल कॅरेक्टर लायब्ररी, फॉन्ट फोल्डरमध्ये खालील फॉन्ट प्रदान करते:
Font8: 5*8 फॉन्ट Font12: 7*12 फॉन्ट Font16: 11*16 फॉन्ट Font20: 14*20 फॉन्ट Font24: 17*24 फॉन्ट Color_Foreground: फॉन्ट रंग Color_Background: पार्श्वभूमी रंग सूचित करतो
Arduino सॉफ्टवेअर वर्णन
टीप: डेमोची सर्व चाचणी Arduino uno वर केली जाते. तुम्हाला इतर प्रकारचे Arduino हवे असल्यास, तुम्हाला कनेक्ट केलेले पिन योग्य आहेत की नाही हे निर्धारित करणे आवश्यक आहे.
कार्यक्रम चालवा
उत्पादन विश्वकोश इंटरफेसमध्ये प्रोग्राम डाउनलोड करा आणि नंतर अनझिप करा. Arduino प्रोग्राम येथे स्थित आहे ~/Arduino/…
कृपया उघडण्यासाठी एलसीडी स्क्रीन मॉडेलनुसार संबंधित प्रोग्राम निवडा.
आपण करू शकता view सर्व स्क्रीन आकारांसाठी चाचणी कार्यक्रम, आकारानुसार क्रमवारी लावा:
उदाample, 1.54 इंच LCD मॉड्यूल. LCD_1inch54 फोल्डर उघडा आणि LCD_1inch54.ino चालवा file. प्रोग्राम उघडा, डेव्हलपमेंट बोर्ड मॉडेल Arduino UNO निवडा.
संबंधित COM पोर्ट निवडा
नंतर संकलित आणि डाउनलोड करण्यासाठी क्लिक करा
कार्यक्रम वर्णन दस्तऐवज परिचय
एक्स म्हणून 1.54-इंच LCD नियंत्रित करणारे Arduino UNO घ्या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 इमेजला Img16Lcd (डेव्हलपमेंट डेटामध्ये डाउनलोड करण्यायोग्य) द्वारे 2-बिट ट्रू कलर इमेज ॲरेमध्ये रूपांतरित करू शकतो. प्रोग्राम बॉटम-लेयर हार्डवेअर इंटरफेस, मिडल-लेयर एलसीडी स्क्रीन ड्रायव्हर आणि अप्पर-लेयर ऍप्लिकेशनमध्ये विभागलेला आहे;
अंतर्निहित हार्डवेअर इंटरफेस
हार्डवेअर इंटरफेस दोन मध्ये परिभाषित केले आहे 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 बिट व्यापलेले आहे. वरचा अर्ज
स्क्रीनसाठी, जर तुम्हाला चित्रे काढायची असतील, चिनी आणि इंग्रजी अक्षरे दाखवायची असतील, चित्रे दाखवायची असतील, तर तुम्ही वरच्या ॲप्लिकेशनचा वापर करू शकता आणि आम्ही GUI_Paint.c(GUI_Paint.c) निर्देशिकेत काही ग्राफिक्स प्रोसेसिंगबद्दल काही मूलभूत फंक्शन्स देतो. .h) टीप: STM32 आणि Arduino च्या अंतर्गत RAM च्या आकारामुळे, GUI थेट LCD च्या RAM वर लिहिले जाते.
GUI द्वारे वापरलेले फॉन्ट सर्व font*.cpp(h) वर अवलंबून असतात fileसमान अंतर्गत s 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, ROTATE_180, आणि ROTATE_270 अनुक्रमे 0, 90, 180 आणि 270 अंशांशी संबंधित आहेत;
प्रतिमा मिरर फ्लिप: निवडलेल्या प्रतिमेचा मिरर फ्लिप सेट करा. तुम्ही कोणताही आरसा, क्षैतिज आरसा, उभा आरसा किंवा प्रतिमा केंद्र मिरर निवडू शकता.
void Paint_SetMirroring(UBYTE मिरर) पॅरामीटर्स:
मिरर: प्रतिमा मिररिंग मोड दर्शवते. MIRROR_NONE, MIRROR_HORIZO NTAL, MIRROR_VERTICAL, MIRROR_ORIGIN अनुक्रमे कोणत्याही आरशाशी, क्षैतिज m मिरर, उभ्या आरशाशी आणि प्रतिमेच्या मध्यभागी असलेल्या आरशाशी संबंधित नाहीत.
बफरमध्ये डिस्प्ले पोझिशन आणि कलरचे पॉईंट सेट करा: येथे कोर GUI फंक्शन आहे, प्रोसेसिंग पॉइंट्स डिस्प्ले पोझिशन आणि बफरमधील रंग.
void Paint_SetPixel(UWORD Xpoint, UWORD Ypoint, UWORD Color) पॅरामीटर्स:
Xpoint: इमेज बफरमधील एका बिंदूची X स्थिती Ypoint: इमेज बफरमधील एका बिंदूची Y स्थिती रंग: बिंदूचा रंग दर्शवतो
इमेज बफर फिल कलर: इमेज बफर रंगाने भरते, सामान्यतः स्क्रीन रिकाम्यामध्ये फ्लॅश करण्यासाठी वापरली जाते.
void Paint_ClearWindows(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD येन d, UWORD रंग) पॅरामीटर्स:
Xstart: विंडोचा एक्स-स्टार्टिंग कोऑर्डिनेट 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 समन्वय दर्शवतो
रंग: रंग भरा
डॉट_पिक्सेल: बिंदूचा आकार, आठ आकाराच्या पॉइंटचा डीफॉल्ट प्रदान करतो
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;
डॉट_स्टाइल: पॉईंटच्या मध्यभागी विस्तारलेल्या बिंदूचा आकार
nt किंवा बिंदूच्या खालच्या डाव्या कोपऱ्यापासून उजवीकडे आणि वर
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-एंड समन्वय
रंग: रंग भरा
रेखा_रुंदी: रेषेची रुंदी, जी डीफॉल्ट eig प्रदान करते
ht रुंदी
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-एंड निर्देशांक निर्दिष्ट करते
रंग: रंग भरा
रेषा_रुंदी: आयताच्या चार बाजूंची रुंदी. डीफॉल्ट ei
ght रुंदी प्रदान केली आहे
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 {
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: अक्षराच्या डाव्या शिरोबिंदूचा x-समन्वय Ystart: फॉन्टच्या डाव्या शिरोबिंदूचा Y समन्वय Ascii_Char: Ascii वर्ण फॉन्ट दर्शवतो: Ascii व्हिज्युअल कॅरेक्टर लायब्ररी, फॉन्ट फोल्डरमध्ये खालील फॉन्ट प्रदान करते:
Font8: 5*8 फॉन्ट Font12: 7*12 फॉन्ट Font16: 11*16 फॉन्ट Font20: 14*20 फॉन्ट Font24: 17*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: अक्षराच्या डाव्या शिरोबिंदूचा x-समन्वय Ystart: फॉन्टच्या डाव्या शिरोबिंदूचा Y समन्वय PString: स्ट्रिंग, स्ट्रिंग हा पॉइंटर फॉन्ट आहे: Ascii व्हिज्युअल कॅरेक्टर लायब्ररी, फॉन्ट फोल्डरमध्ये खालील फॉन्ट प्रदान करते:
Font8: 5*8 फॉन्ट Font12: 7*12 फॉन्ट Font16: 11*16 फॉन्ट Font20: 14*20 फॉन्ट Font24: 17*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: अक्षराच्या डाव्या शिरोबिंदूचा x-समन्वय Ystart: फॉन्टच्या डाव्या शिरोबिंदूचा Y समन्वय PString: स्ट्रिंग, स्ट्रिंग हा पॉइंटर फॉन्ट आहे: GB2312 एन्कोडिंग वर्ण फॉन्ट लायब्ररी, फॉन्ट फोल्डरमध्ये खालील फॉन्ट पुरवतो:
Font12CN: ASCII फॉन्ट 11*21, चीनी फॉन्ट 16*21 Font24CN: ASCII फॉन्ट24 *41, चायनीज फॉन्ट 32*41 Color_Foreground: फॉन्ट रंग Color_Background: पार्श्वभूमीचा रंग सूचित करतो
अंक लिहा: इमेज बफरमध्ये, (Xstart Ystart) डाव्या शिरोबिंदू म्हणून वापरा, एक स्ट्रिंग लिहा
संख्यांमध्ये, तुम्ही Ascii व्हिज्युअल कॅरेक्टर लायब्ररी, फॉन्ट फोरग्राउंड रंग, फॉन्ट निवडू शकता
पार्श्वभूमी रंग.
void Paint_DrawNum(UWORD Xpoint, UWORD Ypoint, दुहेरी क्रमांक, sFONT* फॉन t, UWORD अंक, UWORD Color_Foreground, UWORD Color_Background) पॅरामीटर्स:
Xpoint: अक्षराच्या डाव्या शिरोबिंदूचा x-समन्वय Ypoint: फॉन्ट क्रमांकाच्या डाव्या शिरोबिंदूचा Y समन्वय: प्रदर्शित संख्या दर्शवतो, जो दशांश अंक असू शकतो: हा दशांश क्रमांक आहे फॉन्ट: Ascii व्हिज्युअल कॅरेक्टर लायब्ररी, फॉन्ट फोल्डरमध्ये खालील फॉन्ट उपलब्ध आहेत:
Font8: 5*8 फॉन्ट Font12: 7*12 फॉन्ट Font16: 11*16 फॉन्ट Font20: 14*20 फॉन्ट Font24: 17*24 फॉन्ट Color_Foreground: फॉन्ट रंग Color_Background: पार्श्वभूमी रंग सूचित करतो
दशांशांसह संख्या लिहा: (Xstart Ystart) वर डाव्या शिरोबिंदू म्हणून, एक स्ट्रिंग लिहा
दशांश सह संख्या, आपण Ascii कोड व्हिज्युअल वर्ण फॉन्ट, फॉन्ट अग्रभाग निवडू शकता
रंग, फॉन्ट पार्श्वभूमी रंग
void Paint_DrawFloatNum(UWORD Xpoint, UWORD Ypoint, दुहेरी संख्या, UBYTE दशांश_बिंदू, sFONT* फॉन्ट, UWORD Color_Foreground, UWORD Color_Backgroun d); पॅरामीटर:
Xstart: अक्षराच्या डाव्या शिरोबिंदूचा X निर्देशांक Ystart: फॉन्ट क्रमांकाच्या डाव्या शिरोबिंदूचा Y समन्वय: प्रदर्शित संख्या, जो येथे दुहेरी प्रकारात सेव्ह केला आहे Decimal_Point: दशांश po int फॉन्ट नंतर अंकांची संख्या प्रदर्शित करते: Ascii कोड व्हिज्युअल कॅरेक्टर फॉन्ट लायब्ररी, फॉन्ट फोल्डरमध्ये खालील फॉन्ट प्रदान केले आहेत:
Font8: 5*8 फॉन्ट Font12: 7*12 फॉन्ट Font16: 11*16 फॉन्ट Font20: 14*20 फॉन्ट Font24: 17*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: वर्णाच्या डाव्या शिरोबिंदूचा x-समन्वय Ystart: फॉन्टच्या डाव्या शिरोबिंदूचा Y समन्वय PTime: प्रदर्शन वेळ, येथे तास, मिनिट आणि पॅरामीटरमध्ये डेटाचे सेकंद बिट्सपर्यंत चांगली वेळ रचना परिभाषित केली आहे. ; फॉन्ट: Ascii व्हिज्युअल कॅरेक्टर लायब्ररी, फॉन्ट फोल्डरमध्ये खालील फॉन्ट प्रदान करते:
Font8: 5*8 फॉन्ट Font12: 7*12 फॉन्ट Font16: 11*16 फॉन्ट Font20: 14*20 फॉन्ट Font24: 17*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: अक्षराच्या डाव्या शिरोबिंदूचा X समन्वय Ystart: फॉन्टच्या डाव्या शिरोबिंदूचा Y समन्वय W_Image: प्रतिमेची रुंदी H_Image: प्रतिमेची उंची
VisionFive2
अनुकूली मॉडेल
0.96 इंच एलसीडी मॉड्यूल 1.14 इंच एलसीडी मॉड्यूल 1.28 इंच एलसीडी मॉड्यूल 1.3 इंच एलसीडी मॉड्यूल 1.54 इंच एलसीडी मॉड्यूल 1.8 इंच एलसीडी मॉड्यूल 2 इंच एलसीडी मॉड्यूल 2.4 इंच एलसीडी मॉड्यूल
हार्डवेअर कनेक्शन
VisionFive2 पिन कनेक्शन
LCD VCC GND DIN CLK
CS DC RST BL
VisionFive2 बोर्ड पिन क्रमांक 3.3V GND 19 23 24 22 13 12
संबंधित लायब्ररी स्थापित करा
apt-get install pip pip install VisionFive.gpio apt-get install python3-numpy apt-get install python3-pil
डेमो डाउनलोड
apt-get install 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/pythonampले/
तुम्ही खरेदी केलेल्या स्क्रीननुसार संबंधित डेमो चालवा
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 pyth1_pyth8 CD_test.py python3 2inch3_LCD_test.py
संसाधन
कागदपत्रे
योजनाबद्ध IL9341 डेटाशीट
सॉफ्टवेअर
Image2Lcd
डेमो कोड
डेमो कोड
3D रेखाचित्र
2.4 इंच LCD मॉड्यूल 3D रेखाचित्र
2D रेखाचित्र
2.4 इंच LCD मॉड्यूल 2D रेखाचित्र
वारंवार विचारले जाणारे प्रश्न
'प्रश्न:'1. रास्पबेरी पाई वापरताना एलसीडी रिक्त आहे? उत्तर:
a)तुम्ही SPI इंटरफेस सक्षम केल्याची खात्री करा b)BL पिनचे आउटपुट तपासा, जर त्याचे कोणतेही मूल्य नसेल तर कृपया तो डिस्कनेक्ट करण्याचा प्रयत्न करा.
'प्रश्न:'2.डिस्प्ले ओरिएंटेशन कसे बदलावे
उत्तर: तुम्ही C कोड वापरत असल्यास, डिस्प्ले ओरिएंटेशन सेट करण्यासाठी तुम्ही Paint_SetRotate(Rotate) फंक्शन वापरू शकता, फक्त 0°, 90°, 180° आणि 270° उपलब्ध आहेत.
जर तुम्ही Python कोड वापरत असाल, तर तुम्ही रोटेट(Rotate) फंक्शनचा वापर कोणत्याही कोनात ओरिएंटेशन बदलण्यासाठी करू शकता.
'प्रश्न:'3.Python इमेज लायब्ररी
उत्तर: जर तुम्हाला पायथन चालवताना लायब्ररी एरर येत असेल तर एक्सample, कृपया आदेशानुसार PIL लायब्ररी स्थापित करण्याचा प्रयत्न करा: sudo apt-get install python-imaging
'प्रश्न:'4.Arduino शी कनेक्ट केल्यावर स्क्रीन व्यवस्थित का दिसत नाही?
उत्तर: Arduino वापरताना, कृपया ते 5v पॉवर सप्लायमध्ये प्लग केलेले असल्याची खात्री करा.
'प्रश्न:' 5. रास्पबेरी पाई कंट्रोल्सच्या चुकीच्या वापरामुळे होऊ शकते?
उत्तर: वायरिंगपीआय रूटीन चालवणे सामान्य असल्यास, पायथन किंवा BCM2835 चालवल्याने स्क्रीन सामान्यपणे रिफ्रेश होऊ शकते, कारण bcm2835 लायब्ररी हे Raspberry Pi cpu चिपचे लायब्ररी फंक्शन आहे आणि तळाचा स्तर थेट रजिस्टर्स ऑपरेट करण्यासाठी आहे. , तर wiringPi लायब्ररी आणि पायथनचा तळाचा थर वाचून आणि लिहून वाचला जातो. साधन file लिनक्स प्रणालीचे उपकरण चालवते, ज्यामुळे GPIO पोर्ट असामान्य होऊ शकतो. रास्पबेरी पाई रीस्टार्ट केल्याने ते उत्तम प्रकारे सुटू शकते.
सपोर्ट
तुम्हाला तांत्रिक सहाय्य हवे असल्यास, कृपया पृष्ठावर जा आणि तिकीट उघडा.
कागदपत्रे / संसाधने
![]() |
WAVESHARE IL9341 2.4inch LCD TFT डिस्प्ले मॉड्यूल [pdf] सूचना IL9341 2.4inch LCD TFT डिस्प्ले मॉड्यूल, IL9341, 2.4inch LCD TFT डिस्प्ले मॉड्यूल, LCD TFT डिस्प्ले मॉड्यूल, TFT डिस्प्ले मॉड्यूल, डिस्प्ले मॉड्यूल, मॉड्यूल |




