विषयसूची:
- चरण 1: विवाडो को कॉन्फ़िगर करना
- चरण 2: पैकेजिंग वीजीए चालक आईपी
- चरण 3: ज़िनक आईपी
- चरण 4: जीपीआईओ आईपी
- चरण 5: मेमोरी को ब्लॉक करें
- चरण 6: अन्य आईपी
- चरण 7: एसडीके
- चरण 8: निष्कर्ष
वीडियो: मिरर डिस्प्ले: 8 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
इस परियोजना का लक्ष्य एक स्मार्ट मिरर की छवि प्रदर्शन कार्यक्षमता बनाना है। दर्पण पूर्वानुमान (धूप, आंशिक रूप से धूप, बादल, हवा, बारिश, गरज और बर्फ) और तापमान मान -9999° से 9999° तक प्रदर्शित करने में सक्षम है। पूर्वानुमान और तापमान मूल्यों को हार्ड कोडित किया जाता है जैसे कि उन्हें मौसम एपीआई से पार्स किया जा रहा है।
परियोजना एक Zynq-Zybo-7000 बोर्ड का उपयोग करती है जो FreeRTOS चलाती है और हार्डवेयर को डिजाइन और प्रोग्राम करने के लिए Vivado 2018.2 का उपयोग करती है।
भाग:
Zynq-Zybo-7000 (फ्रीआरटीओएस के साथ)
19 एलसीडी (640x480)
वीजीए केबल
12 "x 18" एक्रिलिक दर्पण
चरण 1: विवाडो को कॉन्फ़िगर करना
Xilinx से Vivado 2018.2 डाउनलोड करें और Webpack लाइसेंस का उपयोग करें। विवाडो लॉन्च करें और "नया प्रोजेक्ट बनाएं" और इसे एक नाम दें। अगला "आरटीएल प्रोजेक्ट" चुनें और "इस समय स्रोत निर्दिष्ट न करें" चेक करें। किसी भाग का चयन करते समय, "xc7z010clg400-1" चुनें और अगले पृष्ठ पर "समाप्त करें" हिट करें।
चरण 2: पैकेजिंग वीजीए चालक आईपी
डिज़ाइन स्रोतों में vga_driver.sv फ़ाइल जोड़ें। अगला, "टूल्स" पर क्लिक करें और "नया आईपी बनाएं और पैकेज करें" चुनें। "अपनी वर्तमान परियोजना को पैकेज करें" चुनें। फिर एक IP स्थान चुनें और ".xci फ़ाइलें शामिल करें।" पॉपअप पर "ओके" पर क्लिक करें और फिर "फिनिश" पर क्लिक करें।
"पैकेजिंग स्टेप्स" पर "रिव्यू एंड पैकेज" पर जाएं और "पैकेज आईपी" चुनें।
अब vga_driver एक IP ब्लॉक के रूप में उपलब्ध होना चाहिए।
चरण 3: ज़िनक आईपी
"आईपी इंटीग्रेटर" अनुभाग के तहत, "ब्लॉक डिज़ाइन बनाएं" चुनें। "ZYNQ7 प्रोसेसिंग सिस्टम" जोड़ें और ब्लॉक पर डबल क्लिक करें। "XPS सेटिंग्स आयात करें" पर क्लिक करें और ZYBO_zynq_def.xml फ़ाइल अपलोड करें।
इसके बाद, "PS-PL कॉन्फ़िगरेशन" के अंतर्गत "AXI नॉन सिक्योर इनेबलमेंट" के लिए ड्रॉपडाउन खोलें और "M AXI GP0 इंटरफ़ेस" चेक करें।
इसके बाद, "एमआईओ कॉन्फ़िगरेशन" के तहत "एप्लिकेशन प्रोसेसर यूनिट" के लिए ड्रॉपडाउन खोलें और "टाइमर 0" और "वॉचडॉग" की जांच करें।
अंत में, "क्लॉक कॉन्फ़िगरेशन" के तहत "पीएल फैब्रिक क्लॉक" के लिए ड्रॉपडाउन खोलें और "FCLK_CLK0" और 100 मेगाहर्ट्ज पर चेक करें।
चरण 4: जीपीआईओ आईपी
ब्लॉक डिज़ाइन में दो GPIO ब्लॉक जोड़ें। GPIO का उपयोग पिक्सेल पते और पिक्सेल के RGB घटकों को नियंत्रित करने के लिए किया जाएगा। जैसा कि ऊपर की छवियों में दिखाया गया है, ब्लॉक को कॉन्फ़िगर करें। एक बार जब आप दोनों ब्लॉकों को जोड़ और कॉन्फ़िगर कर लेते हैं, तो "रन कनेक्शन ऑटोमेशन" पर क्लिक करें।
GPIO 0 - चैनल 1 पिक्सेल पते को नियंत्रित करता है और चैनल 2 लाल रंग को नियंत्रित करता है।
GPIO 1 - चैनल 1 हरे रंग को नियंत्रित करता है और चैनल 2 नीले रंग को नियंत्रित करता है।
चरण 5: मेमोरी को ब्लॉक करें
ब्लॉक डिज़ाइन में ब्लॉक मेमोरी जेनरेटर आईपी जोड़ें और ऊपर दिखाए अनुसार कॉन्फ़िगर करें। पिक्सेल रंग स्मृति पतों पर लिखे जाते हैं जिन्हें बाद में VGA ड्राइवर द्वारा पढ़ा जाता है। पता पंक्ति को उपयोग किए जा रहे पिक्सेल की मात्रा से मेल खाना चाहिए, इसलिए इसे 16 बिट्स की आवश्यकता है। इसमें डेटा भी 16 बिट का है क्योंकि 16 रंग बिट हैं। हम किसी भी पावती बिट को पढ़ने की परवाह नहीं करते हैं।
चरण 6: अन्य आईपी
संलग्न पीडीएफ पूर्ण ब्लॉक डिजाइन को दर्शाता है। लापता आईपी जोड़ें और कनेक्शन पूरा करें। साथ ही वीजीए कलर आउटपुट और वर्टिकल और हॉरिजॉन्टल सिंक आउटपुट के लिए "मेक एक्सटर्नल"।
xlconcat_0 - एक 16 बिट आरजीबी सिग्नल बनाने के लिए अलग-अलग रंगों को जोड़ता है जिसे ब्लॉक रैम में फीड किया जाता है।
xlconcat_1 - वीजीए ड्राइवर से कॉलम और रो सिग्नल को जोड़ता है और ब्लॉक रैम के पोर्ट बी में फीड किया जाता है। यह VGA ड्राइवर को पिक्सेल रंग मान पढ़ने की अनुमति देता है।
VDD - ब्लॉक रैम के राइट इनेबल से लगातार हाई जुड़ा हुआ है ताकि हम इसे हमेशा सही कर सकें।
xlslice_0, 1, 2 - स्लाइस का उपयोग आरजीबी सिग्नल को अलग-अलग आर, जी, और बी सिग्नल में तोड़ने के लिए किया जाता है जिसे वीजीए ड्राइवर में फीड किया जा सकता है।
एक बार ब्लॉक डिज़ाइन पूरा हो जाने के बाद, एक एचडीएल रैपर उत्पन्न करें और बाधा फ़ाइल जोड़ें।
*ब्लॉक डिजाइन benlin1994 द्वारा लिखित ट्यूटोरियल पर आधारित है*
चरण 7: एसडीके
इस ब्लॉक डिज़ाइन को चलाने वाला कोड नीचे शामिल है। Init.c में ऐसे कार्य होते हैं जो ड्राइंग (पूर्वानुमान, संख्या, डिग्री प्रतीक, आदि) को संभालते हैं। main.c में मुख्य लूप वह है जो बोर्ड के प्रोग्राम होने पर चलता है। यह लूप पूर्वानुमान और तापमान मान सेट करता है और फिर init.c में ड्रॉ फ़ंक्शन को कॉल करता है। यह वर्तमान में सभी सात पूर्वानुमानों के माध्यम से लूप करता है और एक के बाद एक प्रदर्शित करता है। यह अनुशंसा की जाती है कि आप पंक्ति 239 पर एक विराम बिंदु जोड़ें ताकि आप प्रत्येक छवि को देख सकें। कोड पर टिप्पणी की गई है और आपको अधिक जानकारी देगा।
चरण 8: निष्कर्ष
वर्तमान परियोजना को बेहतर बनाने के लिए, कोई व्यक्ति सीओई फाइलों के रूप में प्रीलोड पूर्वानुमान छवियों को ब्लॉक मेमोरी जेनरेटर में अपलोड कर सकता है। इसलिए पूर्वानुमानों को मैन्युअल रूप से चित्रित करने के बजाय जैसे हमने सी कोड में किया था, कोई भी छवियों को पढ़ सकता था। हमने ऐसा करने का प्रयास किया लेकिन इसे काम नहीं कर सका। हम पिक्सेल मानों को पढ़ने और उन्हें आउटपुट करने में सक्षम थे, लेकिन इसने गड़बड़ छवियां बनाईं जो कि हमारे द्वारा रैम पर अपलोड की गई छवियों की तरह कुछ भी नहीं थीं। ब्लॉक मेमोरी जेनरेटर डेटाशीट पढ़ने के लिए उपयोगी है।
यह परियोजना अनिवार्य रूप से आधा स्मार्ट मिरर है क्योंकि इसमें इंटरनेट कनेक्टिविटी पहलू नहीं है। इसे जोड़ने से एक संपूर्ण स्मार्ट मिरर मिलेगा।
सिफारिश की:
TM1637 LED डिस्प्ले पर Arduino डिस्प्ले तापमान: 7 कदम
TM1637 LED डिस्प्ले पर Arduino डिस्प्ले तापमान: इस ट्यूटोरियल में हम सीखेंगे कि LED डिस्प्ले TM1637 और DHT11 सेंसर और Visuino का उपयोग करके तापमान कैसे प्रदर्शित किया जाए। वीडियो देखें
माइक्रोपायथन के साथ टीटीजीओ (रंग) डिस्प्ले (टीटीजीओ टी-डिस्प्ले): 6 कदम
टीटीजीओ (रंग) डिस्प्ले विथ माइक्रोपायथन (टीटीजीओ टी-डिस्प्ले): टीटीजीओ टी-डिस्प्ले ईएसपी32 पर आधारित एक बोर्ड है जिसमें 1.14 इंच का रंग डिस्प्ले शामिल है। बोर्ड को 7$ से कम के पुरस्कार के लिए खरीदा जा सकता है (शिपिंग सहित, बैंगगूड पर देखा जाने वाला पुरस्कार)। यह एक डिस्प्ले सहित ESP32 के लिए एक अविश्वसनीय पुरस्कार है। T
I2C / IIC एलसीडी डिस्प्ले - Arduino के साथ SPI से IIC मॉड्यूल का उपयोग करके I2C LCD डिस्प्ले में SPI LCD का उपयोग करें: 5 चरण
I2C / IIC एलसीडी डिस्प्ले | Arduino के साथ I2C LCD डिस्प्ले के लिए SPI से IIC मॉड्यूल का उपयोग करते हुए SPI LCD का उपयोग करें: हाय दोस्तों चूंकि एक सामान्य SPI LCD 1602 में कनेक्ट करने के लिए बहुत सारे तार होते हैं, इसलिए इसे arduino के साथ इंटरफ़ेस करना बहुत मुश्किल होता है, लेकिन बाजार में एक मॉड्यूल उपलब्ध है जो कर सकता है SPI डिस्प्ले को IIC डिस्प्ले में बदलें तो आपको केवल 4 तारों को जोड़ने की आवश्यकता है
I2C / IIC एलसीडी डिस्प्ले - SPI LCD को I2C LCD डिस्प्ले में बदलें: 5 कदम
I2C / IIC एलसीडी डिस्प्ले | SPI LCD को I2C LCD डिस्प्ले में बदलें: spi LCD डिस्प्ले का उपयोग करने के लिए बहुत सारे कनेक्शन की आवश्यकता होती है, जो वास्तव में करना कठिन होता है इसलिए मुझे एक मॉड्यूल मिला जो i2c LCD को spi LCD में बदल सकता है तो चलिए शुरू करते हैं
Arduino और TFT डिस्प्ले का उपयोग करके रीयलटाइम घड़ी कैसे बनाएं - 3.5 इंच TFT डिस्प्ले के साथ Arduino मेगा RTC: 4 कदम
Arduino और TFT डिस्प्ले का उपयोग करके रीयलटाइम क्लॉक कैसे बनाएं | 3.5 इंच TFT डिस्प्ले के साथ Arduino मेगा RTC: मेरे Youtube चैनल पर जाएँ। परिचय: - इस पोस्ट में मैं 3.5 इंच TFT टच LCD, Arduino Mega का उपयोग करके "रियल टाइम क्लॉक" बनाने जा रहा हूँ 2560 और DS3231 RTC मॉड्यूल….शुरू करने से पहले…मेरे YouTube चैनल से वीडियो देखें..नोट:- यदि आप Arduin का उपयोग कर रहे हैं