विषयसूची:

एलईडी मैट्रिक्स पर ईएसपी32 स्क्रॉलिंग वर्डक्लॉक: 5 कदम (चित्रों के साथ)
एलईडी मैट्रिक्स पर ईएसपी32 स्क्रॉलिंग वर्डक्लॉक: 5 कदम (चित्रों के साथ)

वीडियो: एलईडी मैट्रिक्स पर ईएसपी32 स्क्रॉलिंग वर्डक्लॉक: 5 कदम (चित्रों के साथ)

वीडियो: एलईडी मैट्रिक्स पर ईएसपी32 स्क्रॉलिंग वर्डक्लॉक: 5 कदम (चित्रों के साथ)
वीडियो: How to Easily Control Addressable LEDs with an ESP32 or ESP8266 | WLED Project 2024, नवंबर
Anonim
Image
Image

इस प्रोजेक्ट में मैं एक ESP32, LED मैट्रिक्स और एक सिगार बॉक्स के साथ स्क्रॉलिंग वर्डक्लॉक बनाता हूं।

वर्डक्लॉक एक ऐसी घड़ी है जो समय को स्क्रीन पर प्रिंट करने या पढ़ने के लिए हाथ रखने के बजाय बताती है। यह घड़ी आपको बताएगी कि दोपहर के 3 बजकर 10 मिनट हैं या दोपहर। मैंने इसे प्रिवेनिंग (बिग बैंग थ्योरी से) नाम का उपयोग करने के लिए दोपहर और शाम के बीच की अस्पष्ट अवधि के लिए भी प्रोग्राम किया था। शाम 4:00 बजे से शुरू।

ESP32 कमाल का है, वे बहुत मज़ेदार और इतने सस्ते हैं, यदि आप Arduino की प्रोग्रामिंग करना पसंद करते हैं, तो आप वास्तव में चकित होंगे कि एक ESP32 $ 10 से कम में क्या कर सकता है। वे Arduino IDE का उपयोग करते हैं और प्रोग्राम करने में आसान होते हैं। मैं इस निर्देश में यह प्रदर्शित करूँगा कि यह कैसे करना है।

आपूर्ति

  • ESP32 - अमेज़न पर लगभग $ 10
  • एलईडी मैट्रिक्स (अधिकतम 7219) (और तार) - $ 9 अमेज़न
  • सिगार बॉक्स
  • यूएसबी पावर केबल
  • एस्प 32 स्टैंड के लिए वैकल्पिक 3 डी प्रिंटर

चरण 1: ESP32 का समर्थन करने के लिए अपना Arduino IDE सेटअप करें

Arduino IDE प्राप्त करें:

  • एक ब्राउज़र में https://www.arduino.cc/ पर जाएं
  • ARDUINO 1.8.12. प्राप्त करने के लिए सॉफ्टवेयर फिर डाउनलोड पर क्लिक करें
छवि
छवि

अपने Arduino IDE में ESP32 सपोर्ट जोड़ें:

  • Arduino IDE प्रारंभ करें
  • फ़ाइल मेनू फिर वरीयताएँ पर क्लिक करें।

एक बार "वरीयताएँ" में "अतिरिक्त बोर्ड प्रबंधक" में निम्न पंक्ति जोड़कर निर्माता समर्थन जोड़ें

छवि
छवि

dl.espressif.com/dl/package_esp32_index.js

यह हमें बोर्ड को आईडीई में जोड़ने की सुविधा देगा

टूल्स मेन्यू और फिर बोर्ड्स पर जाएं और बोर्ड मैनेजर के पास जाएं

छवि
छवि

अगला "ESP" खोजें और Expressif द्वारा पैकेज जोड़ें।

छवि
छवि

अंत में हम "टूल्स" मेनू पर वापस जाना चाहते हैं, फिर "बोर्ड" फिर से और अपने ESP32 डिवाइस को खोजने के लिए नीचे स्क्रॉल करें।

मेरा एक "ESP32 व्रोवर मॉड्यूल" है

छवि
छवि

चरण 2: LED मैट्रिक्स को ESP32. से कनेक्ट करें

छवि
छवि

एलईडी मैट्रिक्स एलईडी के चार 8x8 ब्लॉक से बना है और MAX7219 चिप का उपयोग करता है। यह हमें मैट्रिक्स में 8x32 एलईडी या 256 एलईडी देता है !!!।

esp32 मेरे द्वारा टिंकरकैड में बनाए गए होल्ड पर बैठा है। मेरा धारक पिनों को ऊपर की ओर रखता है ताकि आप तार संलग्न कर सकें।

एलईडी मैट्रिक्स एसपीआई (सीरियल पेरिफेरल इंटरफेस) का उपयोग करके ईएसपी 32 से जुड़ता है।

महिला/महिला तारों का उपयोग करें और पिन को निम्नानुसार कनेक्ट करें:

  • ESP32 - 5v से VCC मैट्रिक्स पर
  • ESP32 - मैट्रिक्स पर GND से GND
  • ESP32 - PIN5(G5) से मैट्रिक्स पर CS
  • ESP32 - PIN23 (G23) मैट्रिक्स पर दीन के लिए
  • ESP32 - मैट्रिक्स पर CLK को 18 (G18) पिन करें

अन्य पिन का उपयोग करना संभव है या यदि आपके ESP32 में एक अलग पिनआउट है।

चरण 3: इसे एक साथ रखना

एक साथ रखते हुए
एक साथ रखते हुए

आगे मैंने एलईडी डिस्प्ले लगाने के लिए जगह देने के लिए सिगार के डिब्बे को काटा। बॉक्स नरम है और मैं उस्तरा चाकू का उपयोग करने में सक्षम था। फिर मैंने इसे चिकना करने के लिए सैंड किया।

मैंने पावर कॉर्ड के लिए पीठ में एक पूरा भी काटा। मैंने अभी USB पावर का उपयोग किया है। मैं सिगार बॉक्स के अंदर एक यूएसबी फोन चार्जर बैटरी भी जोड़ सकता था अगर मैं चाहता था कि यह वायरलेस हो।

चरण 4: Arduino IDE और INO फ़ाइल।

Arduino IDE और INO फ़ाइल।
Arduino IDE और INO फ़ाइल।

सबसे अच्छा हिस्सा कोड है। लेकिन पहले हमें एक पुस्तकालय जोड़ना होगा ताकि प्रोग्राम को अधिक सरल तरीके से डिस्प्ले का उपयोग करने की अनुमति मिल सके। मैंने MD_MAX72xx लाइब्रेरी जोड़ी।

लाइब्रेरी जोड़ने के लिए "स्केच" मेनू पर क्लिक करें, फिर "लाइब्रेरी शामिल करें" और "लाइब्रेरी प्रबंधित करें" यह लोड हो जाएगा और आपको MD_MAX72xx लाइब्रेरी की खोज करने की अनुमति देगा। बस इंस्टॉल पर क्लिक करें और आपके पास है।

इसके बाद मेरी Arduino INO फ़ाइल प्राप्त करें:

github.com/aapicella/wordClock/blob/master/Word_Clock_LED_NTP_final_.ino

अपने Arduino IDE में ino फ़ाइल लोड करें, USB को ESP32 से अपने कंप्यूटर से कनेक्ट करें।

"स्केच" पर क्लिक करें और फिर अपलोड करें

इस समय घड़ी काम नहीं करेगी, ESP32 कुछ भी प्रदर्शित नहीं करेगा। क्यों? हमें आपके वाईफ़ाई को कोड में जोड़ने की आवश्यकता है क्योंकि वर्डक्लॉक समय प्राप्त करने के लिए इंटरनेट से जुड़ता है। यह सही है…अगला चरण ->।

चरण 5: कोड

हमने आखिरकार इसे अपने पसंदीदा हिस्से में बना लिया। कार्यक्रम। यदि आप रुचि रखते हैं तो मैं इसे ऊपर से नीचे तक कवर करूंगा, अपने घरेलू इंटरनेट के साथ काम करने के लिए कार्यक्रम प्राप्त करने के लिए आपको बस इन पंक्तियों को बदलने की जरूरत है।

// अपनी नेटवर्क जानकारी जोड़ें

कास्ट चार * एसएसआईडी = "xxxxxx";

कॉन्स्ट चार * पासवर्ड = "xxxxxx";

कार्यक्रम थोड़े जटिल है, लेकिन बहुत मजेदार है।

"रोकथाम" को अक्षम करने के लिए बस मान को गलत में बदलें:

कॉन्स्ट बूलियन रोकथाम = सच; //बिग बैंग थ्योरी।

स्क्रॉल करने के बाद डिजिटल समय प्रदर्शित करने को अक्षम करने के लिए इसे असत्य में बदलें।

कास्ट बूलियन DISPLAY_DIGITAL=true; // स्क्रॉल करने के बाद डिजिटल समय प्रदर्शित करना चालू करें।

समय स्क्रॉल करना:

मुझे एनटीपी (नेटवर्क टाइम प्रोटोकॉल) का उपयोग करके इंटरनेट पर टाइम सर्वर से समय मिलता है। समय को टाइमइन्फो नामक एक चर में रखा जाता है और हमें इससे घंटा और मिनट मिलता है।

इंट घंटा = timeinfo.tm_hour; ///0-23

इंट मिनट = timeinfo.tm_min; //0-59

अगला चेक AM या PM

इसका AM अगर घंटा <12

मैं "द टाइम" नामक एक स्ट्रिंग बनाता हूं और इसे इसके साथ शुरू करता हूं:

समय = "यह है";

संख्या को शब्दों के रूप में प्राप्त करने के लिए, मैंने 30 तक की संख्या के लिए शब्दों की एक सरणी बनाई।

कास्ट चार *नंबर = {

"0", "एक", "दो", "तीन", "चार", "पांच", "छः", "सात", "आठ", "नौ", "दस", "ग्यारह", "बारह" ", "तेरह", "चौदह", "तिमाही", "सोलह", "सत्रह", "अठारह", "उन्नीस", "ट्वेंटी", "ट्वेंटी-वन", "ट्वेंटी-टू", "ट्वेंटी-थ्री ", "ट्वेंटी-फोर", "ट्वेंटी-फाइव", "ट्वेंटी-सिक्स", "ट्वेंटी-सेवन", "ट्वेंटी-आठ", "ट्वेंटी-नाइन", "हाफ पास्ट"};

तो जब इसका 12:05 या बारह बजकर पांच मिनट वास्तव में Arduino के लिए है

संख्याएँ [५] मिनट पहले की संख्याएँ [१२]

यह निर्धारित करने के लिए कि क्या इसका "मिनट पास्ट" या "मिनट टू" हम केवल मिनटों को देखते हैं। यदि मिनट <31 हैं तो यह "मिनट पास्ट" है यदि मिनट 31 से अधिक हैं तो हम "मिनट टू" का उपयोग करते हैं लेकिन संख्याओं का उपयोग करते हैं [६०-मिनट] तो १२:५० ६०-५० मिनट या संख्या [१०] होगा जो होगा हमें १० मिनट से १२ बजे तक का समय दें।

निश्चित रूप से 15, 30, 45 जैसे अन्य नियम भी हैं, हम मिनटों का उपयोग नहीं करते हैं, यह सिर्फ आधा अतीत या चौथाई है, और यदि मिनट 0 है तो समय केवल "दस बजे" या दोपहर है।

तो इसे एक साथ रखने के लिए, मैं सभी वस्तुओं को स्ट्रिंग टाइम में जोड़ता हूं और फिर इसे एलईडी मैट्रिक्स पर प्रदर्शित करता हूं। मैं अगर बयानों का एक समूह का उपयोग करता हूं। मुझे शायद केस का इस्तेमाल करना चाहिए था लेकिन उन्हें जोड़ना जारी रखना आसान था।

हमारे उदाहरण के लिए 12:05

समय = "यह"

यदि मिनट <31 "मिनट पास्ट" का उपयोग करें अन्यथा इसका "मिनट टू"

समय+= संख्याएं[5] + "मिनट पास्ट" + संख्या [१२] + "ओ'क्लॉक"//नोट: नोटेशन += संलग्न है।

इसके बाद हम यह निर्धारित करने के लिए घंटे देखते हैं कि यह सुबह, दोपहर या शाम है या नहीं।

समय+= "शाम में"

मैट्रिक्स में जाने वाली अंतिम स्ट्रिंग है:

"शाम के बारह बजकर पांच मिनट हो गए हैं"

यह प्रोजेक्ट लिखने में बहुत मजेदार था। अगर आप इसे पसंद करते हैं तो कृपया हार्ट एंड वोट फॉर मी पर क्लिक करें।

सिफारिश की: