विषयसूची:

Adafruit पंख NRF52 कस्टम नियंत्रण, कोई कोडिंग आवश्यक नहीं: 8 कदम (चित्रों के साथ)
Adafruit पंख NRF52 कस्टम नियंत्रण, कोई कोडिंग आवश्यक नहीं: 8 कदम (चित्रों के साथ)

वीडियो: Adafruit पंख NRF52 कस्टम नियंत्रण, कोई कोडिंग आवश्यक नहीं: 8 कदम (चित्रों के साथ)

वीडियो: Adafruit पंख NRF52 कस्टम नियंत्रण, कोई कोडिंग आवश्यक नहीं: 8 कदम (चित्रों के साथ)
वीडियो: HowTo: BLE NeoPxiel Hat with Remote Control #CircuitPython 2024, नवंबर
Anonim
Adafruit पंख NRF52 कस्टम नियंत्रण, कोई कोडिंग की आवश्यकता नहीं है
Adafruit पंख NRF52 कस्टम नियंत्रण, कोई कोडिंग की आवश्यकता नहीं है
Adafruit पंख NRF52 कस्टम नियंत्रण, कोई कोडिंग की आवश्यकता नहीं है
Adafruit पंख NRF52 कस्टम नियंत्रण, कोई कोडिंग की आवश्यकता नहीं है
Adafruit पंख NRF52 कस्टम नियंत्रण, कोई कोडिंग की आवश्यकता नहीं है
Adafruit पंख NRF52 कस्टम नियंत्रण, कोई कोडिंग की आवश्यकता नहीं है
Adafruit पंख NRF52 कस्टम नियंत्रण, कोई कोडिंग की आवश्यकता नहीं है
Adafruit पंख NRF52 कस्टम नियंत्रण, कोई कोडिंग की आवश्यकता नहीं है

23 अप्रैल 2019 को अपडेट करें - केवल Arduino मिलिस () का उपयोग करके दिनांक/समय भूखंडों के लिए Arduino दिनांक/समय प्लॉटिंग/मिलिस () और PfodApp का उपयोग करके लॉगिंग देखें नवीनतम मुफ्त pfodDesigner V3.0.3610+ दिनांक/समय के विरुद्ध डेटा प्लॉट करने के लिए पूर्ण Arduino स्केच उत्पन्न करता है Arduino मिलिस का उपयोग करना ()

28 नवंबर 2017 को अपडेट करें - एडफ्रूट फेदर nRF52 Arduino IDE बोर्ड एडऑन V0.7.5 का उपयोग करके, TX और RX पिन की अदला-बदली की जाती है। (परीक्षण कोड के लिए नीचे टिप्पणी देखें)। यह निर्देशयोग्य TX / RX पिन का उपयोग नहीं करता है।

इसे पहले पढ़ें

इसे पहले पढ़ें - क्या आपको वास्तव में BLE की आवश्यकता है? - बीएलई समस्याएं और उन्हें कैसे ठीक करें

परिचय

एडफ्रूट फेदर nRF52 एक BLE (ब्लूटूथ लो एनर्जी) बोर्ड है जो ब्लूटूथ V5. प्रत्येक अलग-अलग बीएलई बोर्ड की अपनी सहायक लाइब्रेरी, पिन आउट और क्षमताएं होती हैं जिससे उठना और चलना मुश्किल हो जाता है।

इस ट्यूटोरियल में एडफ्रूट फेदर nRF52 के लिए आपके एंड्रॉइड मोबाइल पर कस्टम कंट्रोल बनाना शामिल है। यह कस्टम बहु-स्तरीय मेनू, प्लॉट और डेटा लॉगिंग बनाने के लिए मुफ्त pfodDesigner V3.3221+ का उपयोग करता है जिसे pfodApp (एक सशुल्क ऐप) पर प्रदर्शित किया जा सकता है।

pfodDesigner Adafruit Feather nRF52 के लिए आवश्यक सभी Arduino कोड जेनरेट करता है।

सामान्य उद्देश्य pfodApp आपके Android मोबाइल पर उपयोगकर्ता के प्रदर्शन और इंटरैक्शन को संभालता है। कोई Android प्रोग्रामिंग की आवश्यकता नहीं है।

उपयोगकर्ता को उनके मोबाइल पर जो प्रदर्शित किया जाता है, वह पूरी तरह से उस कोड द्वारा नियंत्रित होता है जिसे आप अपने फेदर52 में लोड करते हैं। यदि आप pfodApp का उपयोग न करने का निर्णय लेते हैं, तब भी निःशुल्क pfodDesigner टेम्पलेट कोड उत्पन्न करेगा जो आपको अपने Feather52 बोर्ड में नॉर्डिक 'uart' कनेक्शन स्थापित करने की अनुमति देता है।

pfodDesignerV3.3221+ जब आप चुनते हैं कि मेनू आइटम को किस पिन से कनेक्ट करना है, तो फेदर52 के बोर्ड पिन के अनूठे चयन को प्रदर्शित करता है।

यह निर्देश ऑनलाइन एडफ्रूट फेदर nRF52 LE - pfodApp के साथ कस्टम नियंत्रण भी उपलब्ध है

चरण 1: भागों की सूची

शिपिंग को छोड़कर नवंबर 2017 तक की कीमतें

  • एडफ्रूट पंख nRF52 LE - ~ US$25
  • यूएसबी ए से माइक्रो बी - ~ यूएस$3
  • Arduino IDE V1.8.5 - मुफ़्त
  • pfodDesignerV3 Android ऐप - मुफ़्त
  • pfodApp V3 - ~ US10
  • फ़ाइल स्थानांतरण ऐप (या केबल) - उदा। वाईफ़ाई फ़ाइल स्थानांतरण (निःशुल्क) या वाईफ़ाई फ़ाइल स्थानांतरण प्रो ~US$3
  • ऐप्स चलाने के लिए एक एंड्रॉइड मोबाइल - ब्लूटूथ लो एनर्जी वी 4 यानी एंड्रॉइड वी 4.4 या उच्चतर चलाने वाले ब्लूटूथ का समर्थन करने की आवश्यकता है।
  • Arduino IDE चलाने के लिए एक कंप्यूटर

अपने कंप्यूटर पर Arduino IDE इंस्टॉल करें और फिर एडफ्रूट फेदर nRF52 चेक के लिए बोर्ड मैनेजर को डाउनलोड और इंस्टॉल करें, आप अपने फेदर nRF52 बोर्ड से कनेक्ट और प्रोग्राम कर सकते हैं।

चरण 2: Adafruit BLE Feather52 के लिए कस्टम Android मेनू बनाना और कोड जनरेट करना

Adafruit BLE Feather52 के लिए कस्टम Android मेनू बनाना और कोड बनाना
Adafruit BLE Feather52 के लिए कस्टम Android मेनू बनाना और कोड बनाना

मुफ्त pfodDesignerV3 V3.3221+ Android ऐप आपको कस्टम मेनू बनाने देता है और फिर आपके विशेष BLE मॉड्यूल के लिए सभी कोड जेनरेट करता है। pfodApp का उपयोग तब आपके Android मोबाइल पर आपके कस्टम मेनू को प्रदर्शित करने के लिए किया जाता है और आपको अपने मॉड्यूल को नियंत्रित करने देता है। कोई Android या Arduino कोडिंग की आवश्यकता नहीं है।

मुफ़्त pfodDesignerV3 का उपयोग WISIWYG फैशन में मेनू बनाने के लिए किया जाता है और आपको एक सटीक पूर्वावलोकन दिखाता है कि मेनू आपके मोबाइल पर कैसा दिखेगा। pfodDesignerV3 आपको बटन और स्लाइडर के साथ मेनू और उप-मेनू बनाने की अनुमति देता है, वैकल्पिक रूप से I/O पिन से जुड़ा होता है, और आपके लिए स्केच कोड उत्पन्न करता है (pfodDesigner उदाहरण ट्यूटोरियल देखें) लेकिन pfodDesignerV3 pfodApp द्वारा समर्थित सभी सुविधाओं को कवर नहीं करता है। पूरी सूची के लिए pfodSpecification.pdf देखें, जिसमें dwg प्रिमिटिव, डेटा लॉगिंग और प्लॉटिंग, मल्टी- और सिंगल-सेलेक्शन स्क्रीन, स्लाइडर, टेक्स्ट इनपुट आदि शामिल हैं।

Adafruit BLE Feather52 RED LED को नियंत्रित करने के लिए कस्टम मेनू बनाएं

Arduino Led को चालू और बंद करने के लिए ट्यूटोरियल डिज़ाइन एक कस्टम मेनू में pfodDesignerV3 का उपयोग करके इस मेनू को बनाने के लिए चरण-दर-चरण निर्देश हैं। यदि आपको फ़ॉन्ट आकार या टेक्स्ट के रंग पसंद नहीं हैं, तो आप उन्हें आसानी से pfodDesignerV3 में अपनी इच्छानुसार संपादित कर सकते हैं और डिज़ाइन किए गए मेनू का WYSIWYG (जो आप देखते हैं वही मिलता है) डिस्प्ले देख सकते हैं। इसमें दो बदलाव हैं एडफ्रूट बीएलई फेदर52 के लिए बनाएं और i) एलईडी कंट्रोल मेनू आइटम जोड़ने से पहले नए मेनू के लिए कोड जनरेटर के लिए फेदर52 को लक्ष्य के रूप में सेट करें और ii) चालू/बंद नियंत्रण का चयन करने के बजाय एक पीडब्लूएम स्लाइडर का चयन किया जाता है और इसमें निर्माण किया जाता है RED LED को आउटपुट पिन के रूप में सेट किया गया है।

चरण 3: कोड जनरेशन के लक्ष्य के रूप में एडफ्रूट फेदर एनआरएफ52 चुनना

कोड जनरेशन के लक्ष्य के रूप में Adafruit पंख NRF52 चुनना
कोड जनरेशन के लक्ष्य के रूप में Adafruit पंख NRF52 चुनना
कोड जनरेशन के लक्ष्य के रूप में Adafruit पंख NRF52 चुनना
कोड जनरेशन के लक्ष्य के रूप में Adafruit पंख NRF52 चुनना
कोड जनरेशन के लक्ष्य के रूप में Adafruit पंख NRF52 चुनना
कोड जनरेशन के लक्ष्य के रूप में Adafruit पंख NRF52 चुनना

pfodDesigner में एक नया मेनू शुरू करने के बाद, सबसे पहले आपको कोड जनरेशन के लिए लक्ष्य के रूप में Adafruit Feather nRF52 को चुनना होगा। जब आप एक नया मेनू प्रारंभ करते हैं या किसी मौजूदा मेनू को संपादित करते हैं, तो शीर्ष बटन लक्ष्य बोर्ड दिखाता है। डिफ़ॉल्ट सीरियल है।

लक्ष्य चयन को खोलने के लिए लक्ष्य बटन पर क्लिक करें।

ब्लूटूथ लो एनर्जी बटन चुनें। वहाँ कई BLE बोर्डों ने उन सभी को देखने के लिए नीचे स्क्रॉल करने का समर्थन किया। लक्ष्य के रूप में Adafruit पंख nRF52 का चयन करें

फिर लक्ष्य चयन स्क्रीन से बाहर निकलने और संपादन मेनू स्क्रीन पर लौटने के लिए मोबाइल के बैक बटन का उपयोग करें।

चरण 4: लाल एलईडी का PWM नियंत्रण

लाल एलईडी का पीडब्लूएम नियंत्रण
लाल एलईडी का पीडब्लूएम नियंत्रण
लाल एलईडी का पीडब्लूएम नियंत्रण
लाल एलईडी का पीडब्लूएम नियंत्रण
लाल एलईडी का पीडब्लूएम नियंत्रण
लाल एलईडी का पीडब्लूएम नियंत्रण
लाल एलईडी का पीडब्लूएम नियंत्रण
लाल एलईडी का पीडब्लूएम नियंत्रण

अब आप जोड़ने के लिए मेनू आइटम के रूप में चुनिंदा PWM आउटपुट को छोड़कर कोड जनरेट करने के लिए Arduino LED को चालू और बंद करने के लिए एक कस्टम मेनू डिज़ाइन करना जारी रख सकते हैं।

फिर जब I/O पिन कनेक्ट करने के लिए नीचे स्क्रॉल करें और बदलने के लिए इसे क्लिक करें

फिर फेदर52 पर पीडब्लूएम उपयोग के लिए उपलब्ध पिनों की सूची के लिए नीचे स्क्रॉल करें और लाल एलईडी चुनें।

लीडिंग टेक्स्ट को एडिट करके, बोल्ड, बैकग्राउंड रेड को सेट करके और फॉन्ट साइज को +5. तक बढ़ाकर मेन्यू आइटम को पूरा करें

चरण 5: प्रॉम्प्ट सेट करना और कोड जनरेट करना

प्रॉम्प्ट सेट करना और कोड जनरेट करना
प्रॉम्प्ट सेट करना और कोड जनरेट करना
प्रॉम्प्ट सेट करना और कोड जनरेट करना
प्रॉम्प्ट सेट करना और कोड जनरेट करना
प्रॉम्प्ट सेट करना और कोड जनरेट करना
प्रॉम्प्ट सेट करना और कोड जनरेट करना
प्रॉम्प्ट सेट करना और कोड जनरेट करना
प्रॉम्प्ट सेट करना और कोड जनरेट करना

फिर आप मुख्य मेनू पर वापस जा सकते हैं और एडिट प्रॉम्प्ट को "फेदर 52" बोल्ड, फ़ॉन्ट आकार +6 और एक सफेद पृष्ठभूमि पर सेट कर सकते हैं।

अंत में मुख्य मेनू पर वापस जाएं और जनरेट कोड का चयन करने के लिए नीचे स्क्रॉल करने से पहले अपने डिज़ाइन का पूर्वावलोकन करें

pfodDesigner से बाहर निकलें और कोड फ़ाइल (pfodAppRawData\pfodDesignerV3.txt) को अपने कंप्यूटर में स्थानांतरित करें (pfodAppForAndroidGettingStarted.pdf पृष्ठ 32 देखें)

जेनरेट कोड स्केच की एक प्रति यहां है (Feather52_Led_Chart.ino) अपने Feather52 को प्रोग्राम करें और फिर pfodApp में एक BLE कनेक्शन बनाएं और अपने बोर्ड से कनेक्ट करें और RED LED को एडजस्ट करने के लिए स्लाइडर को प्रदर्शित करें। यह बिल्कुल ऊपर पूर्वावलोकन के रूप में प्रदर्शित होगा।

चरण 6: पंख 52 नियंत्रण मेनू में एक प्लॉट जोड़ना

पंख52 नियंत्रण मेनू में प्लॉट जोड़ना
पंख52 नियंत्रण मेनू में प्लॉट जोड़ना
पंख52 नियंत्रण मेनू में प्लॉट जोड़ना
पंख52 नियंत्रण मेनू में प्लॉट जोड़ना
पंख52 नियंत्रण मेनू में प्लॉट जोड़ना
पंख52 नियंत्रण मेनू में प्लॉट जोड़ना

एक आधार के रूप में एलईडी नियंत्रक का उपयोग करके, आप अन्य डिजिटल पिन को पढ़ने या नियंत्रित करने के लिए और एनालॉग इनपुट को पढ़ने, प्लॉट करने और लॉगिंग करने के लिए अधिक मेनू आइटम जोड़ सकते हैं, उदाहरण के लिए A0। विभिन्न मेनू आइटम का उपयोग करने पर विभिन्न pfodDesigner ट्यूटोरियल देखें। शुरुआती ट्यूटोरियल के लिए एंड्रॉइड पर Arduino डेटा कैसे प्रदर्शित करें, प्लॉट बनाना शामिल है।

नीचे जोड़े गए चार्ट बटन के साथ पूर्वावलोकन और कुछ डमी डेटा के साथ A0 के चार्ट का पूर्वावलोकन दिया गया है। नोट: फेदर52 पर एडीसी के लिए डिफ़ॉल्ट वोल्टेज संदर्भ 3.6V है, इसलिए प्लॉट की स्थापना करते समय "अधिकतम प्रदर्शन संपादित करें" को 3.6 पर सेट किया गया था ताकि लॉगिंग और डिस्प्ले के लिए 0 से 1023 रीडिंग को 0 से 3.6 तक बढ़ाया जा सके।

इस डिस्प्ले के लिए उत्पन्न स्केच यहाँ है (Feather52_Led_Chart.ino)

जब आपके फेदर52 में लोड किया जाता है और आपके मोबाइल से जुड़ा होता है, तो pfodApp के माध्यम से, आप कुछ पढ़ने और प्लॉट दिखाने के लिए अपनी उंगली से A0 बोर्ड पिन को छू सकते हैं।

एनालॉग मानों को प्लॉट करने के साथ-साथ, रीडिंग भी CSV प्रारूप में, आपके मोबाइल पर एक फ़ाइल में लॉग की जाती हैं। यदि आपने pfodApp में कनेक्शन का नाम "Feather52" रखा है, जैसा कि ऊपर दिखाया गया है, तो लॉग किया गया CSV डेटा \pfodAppRawData\Feather52.txt फ़ाइल में सहेजा जाता है आप आगे उपयोग के लिए इस CSV फ़ाइल को डाउनलोड कर सकते हैं।

चरण 7: पंख52 मेनू में एक कस्टम नियंत्रण जोड़ना

पंख52 मेनू में एक कस्टम नियंत्रण जोड़ना
पंख52 मेनू में एक कस्टम नियंत्रण जोड़ना

pfodApp V3 dwg आदिम जोड़ता है। आप इन आदिम का उपयोग कर सकते हैं: - आयत, वृत्त, चाप, लेबल, टचज़ोन, आदि.. परिष्कृत ग्राफिकल UI बनाने के लिए आप एक ग्राफिक को दूसरे के भीतर भी शामिल कर सकते हैं और इसे स्केल और पैन कर सकते हैं। dwg प्राइमेटिव पर ट्यूटोरियल के लिए Android के लिए कस्टम Arduino Controls देखें। ग्राफिकल UI को स्केल करने और पैन करने के उदाहरणों के लिए शुरुआती के लिए Arduino देखें।

आदिम ग्राफ़िक्स का उपयोग करने से आपको प्रदर्शन पर पूर्ण नियंत्रण प्राप्त होता है, लेकिन आपके इंटरफ़ेस को बनाने के लिए अधिक कार्य की आवश्यकता होती है। pfodDwgControl लाइब्रेरी कई प्री-बिल्ड कंट्रोल, ऑन/ऑफ बटन, गेज, स्लाइडर्स प्रदान करती है, आप बस अपने ग्राफिक में ड्रॉप कर सकते हैं। pfodDesigner आपको केवल ऑन/ऑफ बटन के साथ एक साधारण ग्राफिक मेनू आइटम सम्मिलित करने देता है ताकि आपके जेनरेट कोड में एक टेम्प्लेट होगा जिसे आप बाद में अपने स्वयं के ग्राफिक्स जोड़ने के लिए संशोधित कर सकते हैं।

ग्राफिक्स सिर्फ एक अन्य मेनू आइटम हैं और इन्हें किसी भी मेनू में जोड़ा जा सकता है। यहाँ इस मेनू के लिए उत्पन्न कोड है, Feather52_Led_Chart_Dwg.ino इस स्केच को पहले pfodParser.zip और pfodDwgControls.zip लाइब्रेरी को स्थापित करने की आवश्यकता है।

ग्राफिक यूआई उपयोग किए गए सभी प्राइमेटिव, रंग, लेबल आदि को परिभाषित करने के लिए कई संदेश ले सकते हैं। pfodApp आपके डिवाइस से प्रत्येक संदेश को 1024 बाइट्स तक सीमित करता है, लेकिन एक ग्राफिक को कई संदेशों द्वारा परिभाषित करने की अनुमति देता है। जनरेट किए गए कोड में 2 संदेशों के लिए प्रावधान है लेकिन दूसरा संदेश खाली है और इसलिए pfodApp एक तिहाई के लिए नहीं पूछना जानता है। आप इसे अपने डिस्प्ले को बनाने के लिए जितने चाहें उतने संदेशों तक बढ़ा सकते हैं। Arduino101 Starter, Android/pfodApp द्वारा नियंत्रित 8 संदेशों का उपयोग करता है। pfodApp पार्सर संस्करण स्ट्रिंग के खिलाफ मेनू और किसी भी ग्राफिक्स को कैश करता है ताकि अगली बार कनेक्ट होने पर आपको केवल पूरे ग्राफ़िक को फिर से भेजने की आवश्यकता न हो, केवल अपडेट यदि कोई हो।

चरण 8: नमूना स्क्रीन और अन्य कस्टम नियंत्रण

नमूना स्क्रीन और अन्य कस्टम नियंत्रण
नमूना स्क्रीन और अन्य कस्टम नियंत्रण
नमूना स्क्रीन और अन्य कस्टम नियंत्रण
नमूना स्क्रीन और अन्य कस्टम नियंत्रण

pfodDesignerV3 केवल उन स्क्रीन के उप-सेट का समर्थन करता है जो pfodApp समर्थन करता है। पूरी सूची के लिए pfodSpecification.pdf देखें। sampleAdafruitFeather52Screens.ino स्केच में pfodApp द्वारा समर्थित अतिरिक्त स्क्रीन शामिल हैं लेकिन pfodDesigner में शामिल नहीं हैं। संदेशों को स्पष्ट और सरल रखने के लिए अधिकांश स्क्रीन में कोई स्वरूपण नहीं होता है। आप गाइड के रूप में pfodDesignerV3 का उपयोग करके अपने स्वयं के रंग और फ़ॉन्ट शैली जोड़ सकते हैं। अन्य उदाहरणों के लिए pfodDemo Android ऐप भी देखें।

sampleAdafruitFeather52Screens.ino स्केच को पहले pfodParser.zip और pfodDwgControls.zip लाइब्रेरी को इंस्टॉल करने की आवश्यकता है।

sampleAdafruitFeather52Screens.ino की एक स्क्रीन में दो कस्टम नियंत्रण शामिल हैं। लाल एलईडी को नियंत्रित करने के लिए एक कस्टम स्लाइडर और वर्तमान सेटिंग दिखाने के लिए एक गेज। वह स्क्रीन बोर्ड नियंत्रणों को आकर्षित करने और उपयोगकर्ता स्पर्श क्षेत्रों और क्रियाओं को परिभाषित करने के लिए pfodApp ड्राइंग प्राइमेटिव का उपयोग करती है। जैसे ही आप स्लाइडर नियंत्रण पर अपनी उंगली घुमाते हैं, यह नई सेटिंग दिखाने के लिए स्क्रीन को तुरंत अपडेट करता है। फिर से यह अपडेट pfodApp में नहीं बनाया गया है, लेकिन आपके Feather52 में कोड द्वारा पूरी तरह से नियंत्रित किया जाता है ताकि आप इसे अपनी इच्छानुसार अनुकूलित कर सकें।

Android ट्यूटोरियल के लिए कस्टम Arduino Controls में आपके स्वयं के कस्टम नियंत्रणों को कोड करने का तरीका शामिल है और Arduino101 Starter, Android/pfodApp द्वारा नियंत्रित ट्यूटोरियल बताता है कि ज़ूम और पैन कैसे काम करता है।

निष्कर्ष

इस ट्यूटोरियल में दिखाया गया है कि कैसे आप आसानी से Adafruit Feather nRF52 बोर्ड के साथ संचार और नियंत्रण कर सकते हैं। कोई Android प्रोग्रामिंग की आवश्यकता नहीं है। pfodApp वह सब संभालता है। कोई Arduino कोडिंग की आवश्यकता नहीं है। (फ्री) pfodDesignerV2 इसके लिए और कई अन्य BLE मॉड्यूल के साथ-साथ ESP8266 और वाईफाई, ब्लूटूथ और एसएमएस शील्ड के लिए संपूर्ण स्केच तैयार करता है।

सिफारिश की: