विषयसूची:
- चरण 1: इस परियोजना के लिए हमें क्या चाहिए
- चरण 2: सर्किट
- चरण 3: सर्किट का ब्रेडबोर्ड संस्करण
- चरण 4: फ़ॉन्ट लोड हो रहा है
- चरण 5: अतिरिक्त ड्राइवर जोड़ना
- चरण 6: उपकरणों को सेटअप करें
- चरण 7: वर्णों को परिभाषित करें और क्षैतिज और लंबवत रेखाएं बनाएं
- चरण 8: बक्से, ब्लॉक और ढलान वाली रेखाएं
- चरण 9: डिग्री सिंबल, एनलग्नमेंट, बार ग्राफ और सर्कल
- चरण 10: कचरा संग्रह, शीर्षक और मंडलियां
- चरण 11: लाइन्स डेमो
- चरण 12: मुख्य लूप: बार ग्राफ और परिभाषित वर्ण
वीडियो: SSD1306 I2C OLED 128x64 डिस्प्ले पर सर्किटपाइथन के साथ ग्राफिक्स एक इटिबिट्सी M4 एक्सप्रेस का उपयोग करते हुए: 13 चरण (चित्रों के साथ)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:21
SSD1306 OLED डिस्प्ले एक छोटा (0.96 ), सस्ता, व्यापक रूप से उपलब्ध, I2C, 128x64 पिक्सल के साथ मोनोक्रोम ग्राफिकल डिस्प्ले है, जो कि रास्पबेरी पाई, Arduino या Adafruit Itsybitsy M4 जैसे माइक्रोप्रोसेसर डेवलपमेंट बोर्ड में आसानी से (केवल 4 तार) इंटरफेस किया जाता है। एक्सप्रेस, सर्किटप्लेग्राउंड एक्सप्रेस या अन्य सर्किटपायथन डिवाइस। ड्राइवरों को इंटरनेट से डाउनलोड किया जा सकता है।
Arduinos के लिए ग्राफिकल रूटीन कुछ समय के लिए उपलब्ध हैं, लेकिन अन्य विकास प्रणालियों के लिए नहीं।
मूल डिवाइस ड्राइवर उपयोगकर्ताओं को इसकी अनुमति देते हैं:
- स्क्रीन को ब्लैक या व्हाइट में साफ़ करें। ओलेड.फिल (सी)
- स्क्रीन पर एक निर्दिष्ट (x, y) स्थिति oled.text("Text", x, y, c) पर एक टेक्स्ट स्ट्रिंग लिखें।
- निर्दिष्ट (x, y) स्थिति oled.pixel(x, y, c) पर एक बिंदु बनाएं
- स्क्रीन पर एक तस्वीर फ़ाइल लोड करें। (इस परियोजना में उपयोग नहीं किया गया)
- डिस्प्ले को अपडेट करें old.show()
यह निर्देशयोग्य सरल प्रक्रियाओं के साथ, कैसे आकर्षित करें, अंतःक्रियात्मक रूप से प्रदर्शित करेगा:
- पंक्तियां
- हलकों
- खोखले बक्से
- ठोस ब्लॉक
- पूर्व-परिभाषित वर्ण
मैं विधियों को प्रदर्शित करने के लिए Adafruit Itsybitsy M4 Express का उपयोग करूंगा लेकिन कोड, पायथन में, आसानी से अन्य विकास प्रणालियों में पोर्ट किया जा सकता है।
मैंने इस प्रदर्शन के लिए Itsybitsy M4 को चुना क्योंकि यह सस्ता, शक्तिशाली, प्रोग्राम में आसान है, इसमें एनालॉग और डिजिटल इनपुट/आउटपुट शामिल हैं, इसमें बहुत सारी मेमोरी है, आसानी से इंटरनेट पर दस्तावेज़ीकरण और सहायता फ़ोरम स्थित हैं, शुरू में स्थापित करना बहुत आसान है और सर्किटपायथन का समर्थन करता है, जो कोडिंग के लिए नए लोगों के लिए आदर्श पायथन का एक संस्करण है।
एक बार जब आप अपना Itsybitsy और SSD1306 सेट कर लेते हैं तो यह एक बहुत ही सरल ब्रेडबोर्ड बिल्ड है। कोई टाइपिंग नहीं है, सभी फाइलें डाउनलोड की जा सकती हैं।
यह निर्माण करने के लिए एक सस्ती और आसान परियोजना है लेकिन कुछ मध्यवर्ती/उन्नत विचारों का परिचय देती है। मुझे आशा है कि आप इसे आजमाएंगे। मैं इस छोटे से प्रदर्शन से प्रभावित था।
चरण 1: इस परियोजना के लिए हमें क्या चाहिए
हार्डवेयर:
- SSD1306 I2C मोनो डिस्प्ले 128x64 पिक्सल
- इट्सिबिट्सी एम४ एक्सप्रेस
- माइक्रोयूएसबी से यूएसबी केबल - बोर्ड को प्रोग्राम करने के लिए
- ब्रेड बोर्ड
- १ १० के ओम पोटेंशियोमीटर
- 1 बटन स्विच
- कनेक्टिंग वायर - विभिन्न रंग मदद कर सकते हैं
- कंप्यूटर (कोड लिखने और अपलोड करने के लिए) - एक बहुत पुराना लैपटॉप करेगा।
सॉफ्टवेयर:
म्यू संपादक - कोड लिखने और स्क्रिप्ट को इटिबिट्सी पर अपलोड करने के लिए
Itsybitsy की स्थापना को यहां समझाया गया है:
सर्किटपायथन का नवीनतम संस्करण:
सर्किटपायथन पुस्तकालय:
म्यू संपादक:
चरण 2: सर्किट
यह स्थापित करने के लिए एक बहुत ही सरल सर्किट है। अगला पृष्ठ चीजों को आसान बनाने के लिए रंगीन तारों के साथ तैयार ब्रेडबोर्ड को दिखाता है।
चरण 3: सर्किट का ब्रेडबोर्ड संस्करण
ब्रेडबोर्ड के ऊपर और नीचे पावर रेल हैं। लाल तार के साथ + ve रेल को एक साथ मिलाएं। काले तार के साथ -ve रेल को एक साथ मिलाएं।
Itsybitsy के 3V पिन को निचले +ve रेल - लाल तार से मिलाएं। (कॉलम 12)
Itsybitsy के G (GND) पिन को टॉप-वे रेल - ब्लैक वायर से मिलाएं। (कॉलम 12)
कॉलम 33 और 34 में, SSD1306 VCC और GND पिन को शीर्ष पावर रेल से कनेक्ट करें।
एक गुलाबी तार के साथ SCL पिन को एक साथ मिलाएं।
एक ग्रे तार के साथ एसडीए पिन को एक साथ मिलाएं।
लाल और काले तारों के साथ पोटेंशियोमीटर के बाहरी पिन को ऊपरी पावर रेल से जोड़ते हैं और हरे रंग के तार के साथ केंद्र (वाइपर) पिन को इटसिबिट्सी पर A5 से जोड़ते हैं।
बटन स्विच के एक तरफ को पर्पल वायर से पिन 2 से कनेक्ट करें और ब्लैक वायर से दूसरी साइड को GND रेल से कनेक्ट करें।
चरण 4: फ़ॉन्ट लोड हो रहा है
फ़ॉन्ट फ़ाइल डाउनलोड करें और इसे सर्किट ड्राइव पर खींचें। (यह इटसिबिट्सी है।)
lib फ़ोल्डर पर डबल क्लिक करें और उन ड्राइवरों की सूची देखें जिन्हें आपने पहले ही लोड कर लिया है।
चरण 5: अतिरिक्त ड्राइवर जोड़ना
आपको lib फ़ोल्डर में निम्नलिखित की आवश्यकता होगी:
- simpleio.mpy
- adafruit_bus_device
- adafruit_framebuf.mpy
- adafruit_ssd1306.mpy
यदि वे अनुपलब्ध हैं, तो उन्हें उपलब्ध नवीनतम संस्करण से फ़ोल्डर में खींचें।
अब आप स्क्रिप्ट डाउनलोड करने के लिए तैयार हैं।
म्यू संपादक में लोड होने के बाद आप इसे main.py नाम से Itsybitsy में सहेज सकते हैं।
कार्यक्रम लाइनों, मंडलियों, एक गतिशील बार ग्राफ और परिभाषित वर्णों को प्रदर्शित करने के प्रदर्शनों की एक श्रृंखला के माध्यम से चलता है। बस बर्तन को धीरे-धीरे घुमाएं और डिस्प्ले को नियंत्रित करने के लिए बटन को दबाकर रखें।
निम्नलिखित पृष्ठ इस बारे में अधिक जानकारी देते हैं कि कार्यक्रम कैसे काम करता है।
चरण 6: उपकरणों को सेटअप करें
यह पहला खंड सभी पुस्तकालयों को लोड करता है और सही पिन पर SSD1306, पोटेंशियोमीटर और बटन स्विच सेट करता है।
चरण 7: वर्णों को परिभाषित करें और क्षैतिज और लंबवत रेखाएं बनाएं
यह खंड पूर्व-निर्धारित वर्णों को सेट करता है। वे 5 बिंदु चौड़े और 8 बिंदु ऊंचे हैं। परिभाषा में प्रत्येक बिंदु स्क्रीन पर 4 बिंदु खींचता है ताकि वे बेहतर दिखाई दें।
लूप के साथ क्षैतिज और लंबवत रेखाएं खींचना आसान है। आपको बस यह याद रखना है कि आपको अंत में अतिरिक्त बिंदु की आवश्यकता है। (0, 7) से (5, 7) तक की एक रेखा को 6 बिंदुओं की आवश्यकता होगी: x के बराबर 0, 1, 2, 3, 4 और 5 बारी-बारी से।
मूल डॉट कमांड oled.pixel(x, y, color) है - 0 काला है और 1 सफेद है।
मूल (0, 0) स्क्रीन के ऊपर बाईं ओर है, क्षैतिज रूप से 0 - 127 पिक्सेल (बाएं से दाएं) और 0 - 63 लंबवत (ऊपर से नीचे)।
चरण 8: बक्से, ब्लॉक और ढलान वाली रेखाएं
बक्से क्षैतिज और लंबवत रेखाओं से बने होते हैं।
ब्लॉक कई क्षैतिज रेखाओं से बने होते हैं।
ढलान वाली रेखाओं के लिए हम पहले जाँचते हैं कि निर्देशांक सबसे पहले सबसे पहले दिए गए हैं। यदि नहीं, तो हम उन्हें बदल देते हैं क्योंकि रेखा बाएं से दाएं खींची जाएगी।
फिर हम ढलान की गणना करते हैं और इसका उपयोग x के प्रत्येक मान के लिए y मान निर्धारित करने के लिए करते हैं।
डिस्प्ले (टी) प्रक्रिया अद्यतन स्क्रीन को दृश्यमान बनाती है और थोड़ी देरी, टी सेकंड की प्रतीक्षा करती है।
चरण 9: डिग्री सिंबल, एनलग्नमेंट, बार ग्राफ और सर्कल
डिग्री सिंबल 4 पिक्सल से बनाया गया है।
एलाइन () रूटीन एक निश्चित स्पेस में शॉर्ट वैल्यू को राइट अलाइन करने के लिए नंबर के सामने अतिरिक्त स्पेस जोड़ता है।
ग्राफ़ (v) रूटीन चयनित प्रतिशत देते हुए एक क्षैतिज दंड आलेख बनाता है। 100 (टन या शीर्ष) का प्रतिनिधित्व करने के लिए 'टी' का उपयोग करके दाहिने हाथ के अंत में मूल्य लिखा जाता है।
मंडलियों को कुछ त्रिकोणमिति की आवश्यकता होती है, इसलिए हमें स्क्रिप्ट की शुरुआत में गणित पुस्तकालय को आयात करने की आवश्यकता होती है। हम केंद्र से x और y ऑफसेट की गणना करने के लिए sin, cos और radians का उपयोग करते हैं क्योंकि त्रिज्या को 90 डिग्री से घुमाया जाता है। ऑफसेट की प्रत्येक गणना के लिए चार चतुर्भुजों में से प्रत्येक में अंक प्लॉट किए जाते हैं।
चरण 10: कचरा संग्रह, शीर्षक और मंडलियां
ये निर्देश स्क्रीन को ब्लैक एंड व्हाइट में साफ़ करना, स्क्रीन पर टेक्स्ट लिखना और स्थान खाली करने के लिए gc() 'कचरा संग्रह' रूटीन का उपयोग करना प्रदर्शित करते हैं। मान से पता चलता है कि बहुत बड़ी स्क्रिप्ट के लिए पर्याप्त जगह है।
कार्यक्रम तब एक सामान्य केंद्र और गतिमान केंद्रों के साथ वृत्त बनाता है। आवश्यक गणना की मात्रा को देखते हुए काफी त्वरित दिनचर्या।
लाइन्स डेमो का शीर्षक आगे लिखा गया है।
चरण 11: लाइन्स डेमो
यह रूटीन वास्तव में लाइन () रूटीन को वर्कआउट देता है। रेडियल रेखाएं डिस्प्ले के चारों कोनों में से प्रत्येक से अलग-अलग स्पेसिंग पैटर्न बनाने के साथ खींची जाती हैं।
चरण 12: मुख्य लूप: बार ग्राफ और परिभाषित वर्ण
यह कार्यक्रम का मुख्य लूप है। पोटेंशियोमीटर के मान दिखाए गए मानों को बदल देते हैं और बार ग्राफ की लंबाई को बदल देते हैं।
यदि बटन को नीचे रखा जाता है तो परिभाषित वर्णों को 1/0 और सही/गलत के रूप में बदल दिया जाता है। यह लूप काफी धीमी गति से चलता है क्योंकि पूर्व-निर्धारित वर्णों को खींचना एक धीमी प्रक्रिया है। आप उनमें से कुछ पर टिप्पणी करके चीजों को गति दे सकते हैं।
इस डेमो को सरल रखने के लिए कोई तापमान सेंसर नहीं लगाया गया है, इसलिए '?' 190 पंक्ति में मान के बजाय प्रदर्शित होता है।
सिफारिश की:
सर्किट प्लेग्राउंड एक्सप्रेस का उपयोग करते हुए मोशन एक्टिवेटेड कॉसप्ले विंग्स - भाग 1: 7 चरण (चित्रों के साथ)
सर्किट प्लेग्राउंड एक्सप्रेस का उपयोग करते हुए मोशन एक्टिवेटेड कॉसप्ले विंग्स - भाग 1: यह एक दो भाग प्रोजेक्ट में से एक है, जिसमें मैं आपको स्वचालित फेयरी विंग्स की एक जोड़ी बनाने के लिए अपनी प्रक्रिया दिखाने जा रहा हूं। परियोजना का पहला भाग है पंखों की यांत्रिकी, और दूसरा भाग इसे पहनने योग्य बना रहा है, और पंखों को जोड़ रहा है
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 तारों को जोड़ने की आवश्यकता है
सर्किटपायथन एक इटिबिट्सी एम4 एक्सप्रेस 1: सेटअप के साथ: 9 कदम
सर्किटपायथन एक इटिबिट्सी एम4 एक्सप्रेस 1 के साथ: सेटअप: कोडिंग के लिए नया? केवल स्क्रैच का उपयोग किया है और एक पाठ्य भाषा में आगे बढ़ना चाहते हैं जो एल ई डी, स्विच, डिस्प्ले और सेंसर के साथ भौतिक कंप्यूटिंग तक आसान पहुंच प्रदान करता है? तब यह आपके लिए हो सकता है। मैंने देखा है कि इस साइट में कई इंस्ट्रक्शंस अब
48 X 8 स्क्रॉलिंग एलईडी मैट्रिक्स डिस्प्ले Arduino और Shift Registers का उपयोग करते हुए: 6 चरण (चित्रों के साथ)
Arduino और Shift Registers का उपयोग करते हुए 48 X 8 स्क्रॉलिंग एलईडी मैट्रिक्स डिस्प्ले: सभी को नमस्कार! यह मेरा पहला निर्देश है और यह एक Arduino Uno और 74HC595 शिफ्ट रजिस्टर का उपयोग करके 48 x 8 प्रोग्रामेबल स्क्रॉलिंग एलईडी मैट्रिक्स बनाने के बारे में है। Arduino डेवलपमेंट बोर्ड के साथ यह मेरा पहला प्रोजेक्ट था। यह एम को दी गई एक चुनौती थी
DMD का उपयोग करते हुए P10 LED डिस्प्ले के साथ स्कोर बोर्ड प्रोजेक्ट: 6 चरण (चित्रों के साथ)
DMD का उपयोग करके P10 LED डिस्प्ले के साथ स्कोर बोर्ड प्रोजेक्ट: अक्सर हम एक सॉकर स्टेडियम में मिलते हैं; एक विशाल एलईडी बोर्ड है जो स्कोरबोर्ड के रूप में कार्य करता है। तो अन्य खेल क्षेत्र में भी, अक्सर हम एलईडी से बने डिस्प्ले स्क्रीन के स्कोरबोर्ड को जानते हैं। हालांकि यह संभव नहीं है, लेकिन एक क्षेत्र ऐसा भी है जो अभी भी हमें