विषयसूची:

कस्टम मैक्रो मैकेनिकल कीपैड: 12 चरण (चित्रों के साथ)
कस्टम मैक्रो मैकेनिकल कीपैड: 12 चरण (चित्रों के साथ)

वीडियो: कस्टम मैक्रो मैकेनिकल कीपैड: 12 चरण (चित्रों के साथ)

वीडियो: कस्टम मैक्रो मैकेनिकल कीपैड: 12 चरण (चित्रों के साथ)
वीडियो: I Made A Customized Modular Keyboard ! 2024, नवंबर
Anonim
कस्टम मैक्रो मैकेनिकल कीपैड
कस्टम मैक्रो मैकेनिकल कीपैड
कस्टम मैक्रो मैकेनिकल कीपैड
कस्टम मैक्रो मैकेनिकल कीपैड
कस्टम मैक्रो मैकेनिकल कीपैड
कस्टम मैक्रो मैकेनिकल कीपैड
कस्टम मैक्रो मैकेनिकल कीपैड
कस्टम मैक्रो मैकेनिकल कीपैड

इस निर्देशयोग्य में मैं आपको एक Arduino द्वारा नियंत्रित अपने स्वयं के 6 कुंजी वाले मैक्रोपैड बनाने की मूल बातें बताऊंगा। मैं आपको बताऊंगा कि आपको क्या चाहिए, इसे कैसे इकट्ठा करना है, इसे कैसे प्रोग्राम करना है, और इसे कैसे सुधारना है या इसे अपना बनाना है।

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

यह कीपैड कैसे बनाया गया था, इसके कारण, मैं अत्यधिक अनुशंसा करता हूं कि आप कोई भी खरीदारी निर्णय लेने से पहले सभी निर्देश पढ़ लें।

मैंने निर्देशयोग्य को तार्किक क्रम में बनाने की भी कोशिश की, लेकिन मैं तार्किक रूप से निर्माण नहीं करता, इसलिए आपके द्वारा निर्माण के आधार पर चरणों के क्रम में इसे छोड़ना बेहतर हो सकता है।

चरण 1: भागों को प्राप्त करना

भागों को प्राप्त करना
भागों को प्राप्त करना

सबसे लंबा कदम यहीं है, पुर्जे खरीदना और उनके शिप होने का इंतजार करना। अमेज़ॅन लिंक कनाडाई अमेज़ॅन होंगे। आपको जिन भागों की आवश्यकता होगी वे हैं:

  1. यांत्रिक कुंजी स्विच

    • मैं यहां से स्पष्ट शीर्ष के साथ गैटरॉन स्विच चुनता हूं (साफ़ शीर्ष अगले चरण को आसान बनाते हैं, अधिकांश सामान्य प्रकार के स्विच भी वहां कवर किए जाते हैं)
    • खरीदने के लिए अन्य स्थान यहां आपके पसंदीदा स्विच अनुभाग के अंतर्गत मिल सकते हैं

      मैं यहां 'फील्स' सेक्शन के तहत यहां कुछ शोध करने की सलाह देता हूं कि आप यहां किस स्विच को पसंद करेंगे

  2. मैकेनिकल कीकैप्स

    • सुनिश्चित करें कि वे आपके द्वारा चुने गए स्विच के साथ संगत हैं!

      यह भी सुनिश्चित करें कि वे बैक लाइट संगत हैं ताकि आप रंग बदल सकें

    • विक्रेताओं को यहां 'नवीनता कुंजी (मानक निर्माण)' अनुभाग के तहत पाया जा सकता है, जब तक कि आप एक पूर्ण कीकैप सेट नहीं चाहते
  3. पता करने योग्य आरजीबी एलईडी स्ट्रिप्स (वैकल्पिक, लेकिन अत्यधिक अनुशंसित)

    • मैंने Amazon से इनसे मिलता-जुलता कुछ खरीदा

      • सुनिश्चित करें कि एलईडी WS2812B एलईडी हैं, वे कम वोल्टेज स्वीकार कर सकते हैं।
      • आप उपयोग करने के लिए अपने पसंदीदा रंग के 3 मिमी नियमित एलईडी भी खरीद सकते हैं, लेकिन आपको प्रतिरोधों की आवश्यकता होगी
  4. एक छिपाई संगत माइक्रो नियंत्रक (मैंने एक प्रो माइक्रो का इस्तेमाल किया)

    • मैंने इन्हें सबसे अच्छे सौदे के लिए अमेज़न से खरीदा है

      आप अन्य माइक्रो नियंत्रक खरीद सकते हैं, लेकिन सुनिश्चित करें कि वे Arduino और HID (मानव इनपुट डिवाइस) दोनों संगत हैं

  5. एक 128x32 I2C OLED डिस्प्ले

    मैंने इसे Amazon से खरीदा है

  6. 3D प्रिंटर तक पहुंच

    • अपने आस-पास के स्थानीय पुस्तकालयों या स्कूलों के साथ प्रयास करें और देखें कि क्या उनके पास 3D प्रिंटर है
    • मैंने व्यक्तिगत रूप से कभी भी ऑनलाइन सेवा का उपयोग नहीं किया है, लेकिन आप उनका भी उपयोग कर सकते हैं (कुछ इस तरह)
  7. पतला तार
  8. आवश्यक सामान्य उपकरण

    • सोल्डरिंग आयरन और सोल्डर
    • साइड कटर सरौता
    • छोटी फ़ाइलें (कुछ हद तक वैकल्पिक)
    • गर्म गोंद बंदूक और गोंद
    • अपनी पसंद के स्क्रूड्राइवर और स्क्रू

चरण 2: कीस्विच संशोधन

कीस्विच संशोधन
कीस्विच संशोधन
कीस्विच संशोधन
कीस्विच संशोधन
कीस्विच संशोधन
कीस्विच संशोधन

आपके द्वारा खरीदे गए स्विच को अलग करना शुरू करें। हम ऐसा इसलिए कर रहे हैं ताकि प्रकाश हमारे कीकैप तक बेहतर ढंग से चमक सके। अगर आपने ऐसे कीकैप्स चुने हैं जो RGB को सपोर्ट नहीं करते हैं, तो इस स्टेप को छोड़ दें।

2 छोटे वेजेज लें (मैंने 2 फ्लैथेड स्क्रूड्राइवर बिट्स का इस्तेमाल किया) और स्विच के किनारे पर टैब के नीचे धक्का दें। फिर ऊपर और नीचे के बीच में कुछ रखें ताकि वह बंद न हो। दूसरी तरफ के टैब को पुश करने के लिए आगे बढ़ें, ताकि कोई भी टैब अभी भी टॉप पर न हो। उसके बाद, खत्म करें और स्विच के ऊपर से पॉप ऑफ करें। आमतौर पर चार भाग होते हैं, आवरण के ऊपर और नीचे, स्प्रिंग और तना (स्विच का स्लाइडिंग भाग जिसमें कीकैप होता है)।

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

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

चरण 3: 3डी प्रिंटिंग

3 डी प्रिंटिग
3 डी प्रिंटिग

आपको नीचे दी गई ज़िप फ़ाइलों में से एक को डाउनलोड करना होगा, और उन्हें 3डी प्रिंट करना होगा। आप जो चाहते हैं उसके आधार पर अलग-अलग संस्करण होंगे। इसमें सभी सामान्य stl फ़ाइलों (KeybArrowSTLFiles) के साथ एक फ़ोल्डर होगा, और एक Autodesk आविष्कारक फ़ाइलों (KeybArrowSourceFiles) के साथ होगा, ताकि आप फ़ाइलों को संशोधित कर सकें और उन्हें अपनी आवश्यकताओं के अनुसार बदल सकें। मेरे द्वारा मुद्रित की गई फ़ाइलें थोड़ी भिन्न हैं, ऐसा इसलिए था क्योंकि कुछ डिज़ाइन दोष थे, और मुझे लगा कि मैं उन्हें सुधार सकता हूँ। उदाहरण मामले के पक्ष होंगे, मेरा थोड़ा बहुत ऊंचा था इसलिए कीकैप्स सभी तरह से नीचे नहीं जाएंगे, नई फाइलों को इसे ठीक करना चाहिए।

30+ से अधिक चरणों के साथ, उनका डिज़ाइन बहुत जटिल था। मैं बस इतना ही कहूंगा कि यदि आप एक अलग आकार के मामले को डिजाइन करना चाहते हैं, तो आपको यह सुनिश्चित करना चाहिए कि आपके पास कुछ जटिल 3 डी डिजाइनों का अनुभव है। यह वास्तव में उन लोगों के लिए नहीं है जो 3D डिज़ाइन में नए हैं।

ध्यान दें कि दोनों केसिंग फाइलें 3 डिग्री के कोण पर हैं, और आपको उन्हें बिस्तर पर समतल करना चाहिए।

चरण 4: आपके पास अब तक जो कुछ भी है उसे इकट्ठा करना

आपके पास अभी तक जो कुछ भी है उसे इकट्ठा करना
आपके पास अभी तक जो कुछ भी है उसे इकट्ठा करना
आपके पास अभी तक जो कुछ भी है उसे इकट्ठा करना
आपके पास अभी तक जो कुछ भी है उसे इकट्ठा करना
आपके पास अभी तक जो कुछ भी है उसे इकट्ठा करना
आपके पास अभी तक जो कुछ भी है उसे इकट्ठा करना
आपके पास अभी तक जो कुछ भी है उसे इकट्ठा करना
आपके पास अभी तक जो कुछ भी है उसे इकट्ठा करना

अब जब हमारे पास हमारे सभी हिस्से हैं, और हमारे पास 3डी प्रिंटेड हिस्से हैं, तो इसे थोड़ा सा इकट्ठा करने का समय आ गया है!

सभी 6 स्विच को प्लेट में रखें, और उन्हें जगह पर चिपका दें। हमें उन्हें गोंद करने की आवश्यकता है क्योंकि हमने उन टैब को काट दिया है जो इसे जगह में रखते हैं। मेरा सुझाव है कि OLED में डालने की प्रतीक्षा करें क्योंकि आप इसे तिरछा नहीं करना चाहते हैं।

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

मैंने स्विच के लिए एलईडी (छवियों में) रखने के लिए एक प्रोटोटाइप प्लेट का उपयोग किया क्योंकि मुझे फिलामेंट बर्बाद करना पसंद नहीं है, और पुन: उपयोग करने का फैसला किया। नई फ़ाइल कुछ भी प्रभावित नहीं करेगी, बस इसे संरेखित करना आसान बनाएं।

चरण 5: OLED सेट करना

ओएलईडी सेट करना
ओएलईडी सेट करना
ओएलईडी सेट करना
ओएलईडी सेट करना
ओएलईडी सेट करना
ओएलईडी सेट करना

मैं पूरी तरह से चलने के लिए इस निर्देश का उपयोग करने की सलाह देता हूं। उन्होंने इसे समझाने का बहुत अच्छा काम किया।

कोड के काम करने के लिए आपको इस पुस्तकालय और इस पुस्तकालय को डाउनलोड और आयात करना होगा।

पहले इसे तार दें। वायर वीसीसी से वीसीसी, और जीएनडी से जीएनडी। फिर एसडीए और एससीएल पिन को तार दें। एसडीए और एससीएल पिन प्रत्येक Arduino से भिन्न हो सकते हैं, लेकिन प्रो माइक्रो पर, एसडीए को पिन 2 तक तार दिया जाता है, और एससीएल को पिन 3 तक तार दिया जाता है। यदि आप अनिश्चित हैं कि एसडीए क्या पिन करता है तो अपने माइक्रो नियंत्रक का पिनआउट देखें। और एससीएल को तार दिया जाता है।

अगला इसे प्रदर्शित करना और चित्र बनाना है। इसे काम करने के तरीके के बारे में नीचे फाइलें होंगी। पहला कदम स्क्रीनस्कैन कोड (मूल रूप से यहां Arduino द्वारा प्रदान किया गया) का उपयोग करना है। प्रो माइक्रो पर कोड अपलोड करें और सीरियल रीडर खोलें (शीर्ष पर टूल टैब के तहत)। यह आपको OLED का बैक और एड्रेस पढ़ेगा। यदि आपका पता 0x3C है, तो आपको कुछ भी बदलने की आवश्यकता नहीं है। यदि ऐसा नहीं है, तो आपको ssd1306_128x32_i2c कोड और अंतिम कोड (जिसका नाम एरोकीपैड है) में जाकर पता बदलना होगा ताकि यह ठीक से काम करे।

अब उस उदाहरण कोड का परीक्षण करें जो Adafruit ssd1306 लाइब्रेरी के साथ शामिल किया गया था कि 128x32 i2c कोड के लिए (नाम ssd1306_128x32_i2c)

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

अब कोड डाउनलोड करें, और इस निर्देश में बाद में चरण 8 में कोड की अन्य फाइलों का उपयोग करें।

चरण 6: सोल्डरिंग

टांकने की क्रिया
टांकने की क्रिया

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

सुनिश्चित करें कि "MOSI, MISO या SCLK" लेबल वाले पिन अप्रयुक्त हैं या यह OLED के साथ गड़बड़ का कारण बनेगा।

6 एल ई डी को सिंगल स्ट्रिप्स में काटने और प्लेट पर चिपकाने के बाद। टांका लगाने वाले लोहे को तांबे के पैड पर रखें, और प्रत्येक पैड में मिलाप डालें। तार के छोटे-छोटे टुकड़े काट लें और उसका आधा भाग निकाल दें, उसे मोड़ दें, फिर दूसरे आधे हिस्से को हटा दें और तार को मोड़ दें। तार को सरौता या कुछ टांका लगाने में मदद करने वाले हाथों से पकड़ना होगा, जबकि आप इसे मिलाप द्वारा पकड़ कर रखते हैं। इसे वहां अच्छी तरह से पकड़ने के लिए और सोल्डर जोड़ें। पंक्ति में सभी एल ई डी को एक साथ मिलाएं। एक तार काटें, और इसे 'DO' या 'D-' लेबल के साथ पहली पंक्ति पर LED के अंत में मिलाप करें, और इसे 'DI' या 'D+' लेबल के साथ दूसरी पंक्ति की पहली LED से कनेक्ट करें। '। आप इसे 5v और GND के साथ भी कर सकते हैं, लेकिन यह आसान है यदि प्रत्येक पंक्ति पर पहले LED 5v और GND को एक साथ तार दिया जाए। 5v तार को VCC, डेटा पिन को किसी भी डिजिटल पिन (कोड ने इसे 10 के रूप में सेट किया है) और GND को Arduino पर GND से वायर करें।

एक इनपुट को पहचानने के लिए Arduino प्राप्त करने के लिए, स्विच को ग्राउंड को डेटा पिन से कनेक्ट करने की आवश्यकता होती है। तो, आप सभी 6 स्विच को जमीन से जोड़ने के लिए एक तार मिलाप कर सकते हैं। प्रत्येक स्विच में एक तार मिलाप करें, और यदि संभव हो तो, तार के रंगों को बदलने का प्रयास करें ताकि यह पता चल सके कि कौन सा स्विच तार है। एलईडी प्लेट के माध्यम से तारों को खिलाएं और उन्हें Arduino पर डेटा पिन पर तार दें (मैंने इसके लिए डेटा पिन 5-9 का उपयोग किया)

किनारे पर दो स्विच के अलग-अलग कार्य हैं, एक प्रोग्रामिंग के लिए एक रीसेट स्विच है, जबकि दूसरा एक फ़ंक्शन स्विच है, जो बटन के कार्यों को जल्दी से बदलने के लिए कीपैड की परतों के बीच स्विच करेगा। शीर्ष स्विच, रीसेट करने के लिए वायर्ड है (आरएसटी) और जीएनडी, कनेक्ट होने पर, यह रीसेट का कारण बनता है। नीचे के स्विच को 18 पिन करने के लिए तार दिया गया है, जिसे प्रो माइक्रो पर ए0 के रूप में लेबल किया गया है। स्विच तारों के साथ अपने आप को कुछ ढीला दें, क्योंकि आपको अभी भी प्लेटों में स्लाइड करने की आवश्यकता है, और बहुत कम तार अनुमति नहीं देगा शीर्ष के माध्यम से इनसेट करने के लिए प्लेटें।

चरण 7: प्रोग्रामिंग का परिचय

प्रोग्रामिंग का परिचय
प्रोग्रामिंग का परिचय

इससे पहले कि आप मामले को बंद करना चाहें, आप इसका परीक्षण करना चाहते हैं और सुनिश्चित करना चाहते हैं कि यह काम करता है। आप इसे अभी असेंबल करने के लिए चरण 11 पर जा सकते हैं। मुझे बस यह पता चला है कि पहले से इसका परीक्षण करने से आपके द्वारा इसे खोलने और बंद करने की मात्रा को कम करने में मदद मिलती है। भले ही यह इसे अधिक प्रभावित नहीं करना चाहिए, मैंने Arduino IDE संस्करण 1.8.3 का उपयोग किया है, इसलिए यदि आपके पास समस्याएँ हैं, तो इस संस्करण का उपयोग करने का प्रयास करें। कोड चरण 5 पर है, यह एक ज़िप फ़ाइल है जिसे आपको Arduino के माध्यम से निकालने और अपलोड करने की आवश्यकता होगी।

नीचे कोड के कई टुकड़े होंगे। एक अंतिम कोड होगा, दो OLED का परीक्षण करने के लिए होगा (एक परीक्षण करने के लिए, एक पता खोजने के लिए), और एक RGB का परीक्षण करने के लिए होगा। स्विच का परीक्षण करने के लिए अंतिम कोड का उपयोग करें।

यदि आप अपना स्वयं का कोड डिज़ाइन करना चाहते हैं, तो मैं उसे अगले 3 चरणों में सिखा रहा हूँ, लेकिन यह पूरी तरह से ठीक है यदि आप मेरे कोड का उपयोग करना चाहते हैं, या इसे लेना और संशोधित करना चाहते हैं।

इसे प्रोग्रामिंग की कुछ मूल बातें

  • "टूल्स" टैब के तहत, फिर "बोर्ड" टैब के तहत, इसे एक Arduino लियोनार्डो पर सेट करें (जब तक कि आपके पास एक माइक्रो कंट्रोलर न हो जो प्रो माइक्रो से अलग हो)
  • हर बार जब आप प्रो माइक्रो पर कोड अपलोड करते हैं तो रीसेट स्विच का उपयोग करें। मैंने पाया है कि एक बार संकलन बार भर जाने के बाद, और अभी भी अपलोड हो रहा है, यह प्रोग्राम पर स्विच को चालू और बंद करने का एक अच्छा समय है। (यदि आप ऐसा नहीं करते हैं, तो अपलोड अपलोड करने में विफल हो जाएगा।)
  • उपयोग किए गए सभी पुस्तकालयों को स्थापित और आयात किया जाना चाहिए

    आयात करने के लिए, टूल टैब पर जाएं और लाइब्रेरी शामिल करें पर क्लिक करें। (ध्यान दें, वेबपेज पर मेरे कोड उदाहरणों में पुस्तकालय का नाम होना चाहिए, मैं उन्हें अगले कुछ चरणों में उदाहरण कोड अनुभाग में दर्ज नहीं कर सका)

  • एलईडी और ओएलईडी पुस्तकालयों को वस्तुओं के रूप में आरंभीकृत किया जाएगा, आप उन्हें जो भी नाम दे सकते हैं, लेकिन प्रदर्शन के लिए मैं उन्हें 'स्ट्रिप' और 'डिस्प्ले' नाम दूंगा।

    ऑब्जेक्ट का नाम टाइप करके, अवधि डालकर, फिर उस फ़ंक्शन को टाइप करके कॉल करें जिसका आप उपयोग करना चाहते हैं

अगला एल ई डी का परीक्षण करें, कोड अपलोड करें, और सुनिश्चित करें कि वे सभी काम करते हैं। यदि कोई काम नहीं करता है, तो आपका पिन उनके पास जा रहा है, पहले एलईडी के अपने सोल्डरिंग की जांच करें।

अंत में, अपने स्विच का परीक्षण करने के लिए अंतिम कोड का उपयोग करें। यह करना सबसे आसान होना चाहिए। ध्यान दें कि अब, कुछ HID कोड अपलोड करने के बाद, आपको हर बार कोड अपलोड करने पर Arduino को रीसेट करना होगा। बस इसे अपलोड करने के आधे रास्ते पर रीसेट करें और इसे काम करना चाहिए।

चरण 8: स्विचेस की प्रोग्रामिंग

स्विच प्रोग्रामिंग
स्विच प्रोग्रामिंग
स्विच प्रोग्रामिंग
स्विच प्रोग्रामिंग

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

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

इनपुट पुलअप में 2 राज्य हैं, निम्न और उच्च। ग्राउंड (GND) से कनेक्ट होने पर Arduino एक पिन पर LOW पढ़ेगा और डिस्कनेक्ट होने पर हाई पढ़ेगा। पिन क्या पढ़ रहा है, यह जानने के लिए हम digitalRead(PinNum) का उपयोग करते हैं।

मूल बातें से शुरू करते हुए, हम सशर्त का उपयोग करते हैं यदि यह पता लगाने के लिए कि क्या कुंजी दबाया गया था। हम चाहते हैं कि यह बार-बार चले, इसलिए हम चाहते हैं कि इसे शून्य लूप में रखा जाए। यदि कुंजी को "LOW" के रूप में पंजीकृत किया गया था, तो हम चाहते हैं कि कुंजी को दबाया जाए, और जब इनपुट "उच्च" हो तो कुंजी जारी की जाए। तो ऐसा करने के लिए, हम कोड करते हैं if(digitalRead(PinNum)==LOW){ [कोड जब बटन दबाया जाता है]} और कोड if(digitalRead(PinNum)==HIGH){ [कोड जारी होने पर कोड] }

कीबोर्ड के कोड के लिए, कीबोर्ड लाइब्रेरी इंपोर्ट करें। एक कीबोर्ड लगाएं। शुरू (); शून्य सेटअप में। फिर हमारे सशर्त बयानों के अंदर, हम कीबोर्ड का उपयोग करते हैं। प्रेस ([कुंजी]); और कीबोर्ड। रिलीज ([कुंजी]); या कीबोर्ड.रिलीजऑल (); अगर आपने कई चाबियां दबाई थीं। आप कीबोर्ड का भी उपयोग कर सकते हैं। प्रिंट ([स्ट्रिंग]); और Keyboard.println([String]) स्ट्रिंग्स को एक पासवर्ड की तरह प्रिंट करने के लिए। प्रिंट और प्रिंटलाइन समान हैं, लेकिन प्रिंटलाइन सिर्फ एक ENTER जोड़ता है, इसलिए यह स्वचालित रूप से अगली पंक्ति में चला जाता है।

चरण 9: OLED की प्रोग्रामिंग

OLED प्रोग्रामिंग
OLED प्रोग्रामिंग
OLED प्रोग्रामिंग
OLED प्रोग्रामिंग
OLED प्रोग्रामिंग
OLED प्रोग्रामिंग

OLED प्रोग्रामिंग के साथ शुरू करने के लिए, आपके पास बेसिक सेटअप कोड होना चाहिए। यह मूल रूप से कंप्यूटर को बताता है कि आपका OLED कहाँ स्थित है, इसका आकार और इसे कैसे प्रोग्राम किया जाता है। एक बार जब आपके पास OLED के लिए सेटअप कोड हो जाता है, तो यह मानते हुए कि आप केवल टेक्स्ट प्रदर्शित कर रहे हैं, यह प्रोग्राम के लिए बहुत आसान होना चाहिए। पहले वायर और SSD1306 लाइब्रेरी शामिल करें।

OLED_RESET को 4 के रूप में परिभाषित करें, और SSD1306 लाइब्रेरी को अपने कोड में शामिल करें। Adafruit_SSD1306 डिस्प्ले (OLED_RESET) लगाएं; Adafruit SSD1306 लाइब्रेरी का उपयोग शुरू करने के लिए अपने कोड में।

Serial.begin(9600) से शुरू करें; फिर डिस्प्ले.बेगिन (SSD1306_SWITCHCAPVCC, 0x3C); 0x3C के पते के साथ i2C डिस्प्ले को इनिशियलाइज़ करने के लिए (जब तक कि इसे चरण 5 में नहीं बदला गया हो)। इन दोनों को शून्य सेटअप में रखें क्योंकि इन्हें केवल एक बार चलाने की आवश्यकता है।

प्रदर्शन को प्रोग्राम करने से पहले, आपको यह सुनिश्चित करना चाहिए कि आप display.clearDisplay का उपयोग करते हैं। यदि आप इनपुट नहीं करते हैं तो वह ओवरलैप हो जाएगा, और जो बदला गया था उसके आधार पर, पढ़ने योग्य नहीं होगा। आप मूल भी सेट करना चाहते हैं, इसलिए display.setCursor(0, 0) का उपयोग करें; इसे अपने डिस्प्ले पर एक बिंदु पर सेट करने के लिए, इसे वापस शुरुआत में रीसेट करने के लिए (0, 0) रखें। टेक्स्ट का आकार सेट करने के लिए, display.setTextSize(1) का उपयोग करें; मैं 1 से ज्यादा बड़ा नहीं जाऊंगा, यह अपेक्षा से बहुत बड़ा है।

भले ही हमारा डिस्प्ले मोनोक्रोम है, हमें टेक्स्ट कलर सेट करने की जरूरत है, इसलिए हम इसे डिस्प्ले.सेटटेक्स्टकोलर (व्हाइट) की तरह प्रोग्राम करते हैं;

अब जब आपके पास आपकी लाइब्रेरी आयात हो गई है और आपकी डिस्प्ले ऑब्जेक्ट है, तो आप इसे प्रोग्राम करना शुरू कर सकते हैं। टेक्स्ट जोड़ने के लिए, डिस्प्ले.प्रिंट () का उपयोग करें; और डिस्प्ले.प्रिंट्लन (); तार मुद्रित करने के लिए। दोबारा, प्रिंट रिटर्न नहीं जोड़ता है, जबकि प्रिंटलाइन स्वचालित रूप से अगली पंक्ति में वापस आती है जब कुछ दोबारा मुद्रित होता है।

प्रदर्शित करने के लिए कुछ भी प्राप्त करने से पहले, आपको OLED को अपडेट करने की आवश्यकता है, और इसे अपडेट करने के लिए कहें, आप डिस्प्ले का उपयोग करें। डिस्प्ले (); बिना किसी पैरामीटर के और यह अपडेट हो जाएगा।

कोड अब कुछ इस तरह दिखना चाहिए:

// फोस्टर फिलिप्स द्वारा बनाया गया कोड

#include Adafruit_SSD1306.h #include Wire.h #define OLED_RESET 4 Adafruit_SSD1306 डिस्प्ले(OLED_RESET); शून्य सेटअप () {पिनमोड (स्विच, INPUT_PULLUP); सीरियल.बेगिन (९६००); डिस्प्ले.बेगिन (SSD1306_SWITCHCAPVCC, 0x3C); डिस्प्ले.डिस्प्ले (); देरी (2000); डिस्प्ले। क्लियरडिस्प्ले (); display.setTextSize(1); display.setTextColor (सफेद); } शून्य लूप () {डिस्प्ले। डिस्प्ले (); देरी (2000); डिस्प्ले। क्लियरडिस्प्ले (); display.setTextSize(1); डिस्प्ले.सेट कर्सर (0, 0); display.println ("हैलो वर्ल्ड!"); display.println ("हैलो इंस्ट्रक्शंस!"); }

यह निर्देशयोग्य और यह जीथब लिंक दोनों समस्या निवारण के लिए बहुत अच्छे संदर्भ हैं, और क्रमशः प्रदर्शन प्रोग्रामिंग पर अधिक सीखते हैं।

चरण 10: एल ई डी प्रोग्रामिंग

एल ई डी प्रोग्रामिंग
एल ई डी प्रोग्रामिंग
एल ई डी प्रोग्रामिंग
एल ई डी प्रोग्रामिंग
एल ई डी प्रोग्रामिंग
एल ई डी प्रोग्रामिंग

एल ई डी भी काफी सरल हैं। हम Adafruit Neopixel लाइब्रेरी का उपयोग करेंगे। व्यक्तिगत रूप से, NeoPixel लाइब्रेरी प्रोसेसिंग में प्रोग्रामिंग के समान है, यदि आपने कभी उसमें प्रोग्राम किया है।

पहला सेटअप कोड है, हम किस लाइब्रेरी का उपयोग कर रहे हैं, और एक सरणी स्थापित करना जो मूल रूप से कहता है कि पिन पर कितने एल ई डी हैं, डेटा के लिए कौन सा पिन है, और यह कैसे प्रोग्राम किया जाता है। यह Adafruit_NeoPixel strip = Adafruit_NeoPixel(6, 10, NEO_GRB + NEO_KHZ800) जैसे उदाहरण के साथ किया जाता है; यह बताता है कि 6 एलईडी हैं, पिन नंबर 10 है, और वह NEO_GRB + NEO_KZH800 प्रकार के एड्रेसेबल स्ट्रिप्स का उपयोग करता है। आमतौर पर अंतिम तर्क को छूने की आवश्यकता नहीं होती है, जिन एलईडी स्ट्रिप्स का मैंने उपयोग किया था, उन्हें बदलने की आवश्यकता नहीं थी।

उसके बाद आपको स्ट्रिप की जरूरत है। शुरू (); फ़ंक्शन दिखा रहा है कि आप उनका उपयोग शुरू करने के लिए तैयार हैं।कोष्ठक में कुछ भी नहीं होना चाहिए।

एक बार आपके पास यह हो जाने के बाद, आप स्ट्रिप के साथ विभिन्न कार्यों को कॉल कर सकते हैं। [फ़ंक्शन]

एक जिसे आपको जानना होगा वह है strip.setPixelColor। कोष्ठक में इसके 4 कार्य हैं। आपके पास एल ई डी के 'सरणी' में एलईडी है (याद रखें, एरे 0 से शुरू होते हैं) और 0-255 से संबंधित लाल, हरा और नीला मान। यह आपको वांछित रंग प्राप्त करने के लिए वांछित लाल हरे और नीले मूल्यों को मिलाने की अनुमति देगा। कोड इस तरह दिखना चाहिए: strip.setPixelColor(0, 0, 255, 255); यदि आप पहली एलईडी पर सियान रंग चाहते हैं।

एलईडी को भी उस डेटा को भेजने की जरूरत है, जो कि स्ट्रिप.शो (); करता है। आपके द्वारा उनके साथ कुछ बदलने के बाद यह पिक्सेल को अपडेट कर देगा। कोष्ठक में जाने की कोई आवश्यकता नहीं है।

कोड इस तरह दिखना चाहिए:

// फोस्टर फिलिप्स द्वारा बनाया गया कोड

#include Adafruit_NeoPixel.h #define PIN 10 #define Num 6 Adafruit_NeoPixel strip = Adafruit_NeoPixel(Num, PIN, NEO_GRB + NEO_KHZ800); शून्य सेटअप () { पट्टी। शुरू (); कपड़े उतारने का प्रदर्शन(); } शून्य लूप () {trip.setPixelColor (0, 255, 0, 0); strip.setPixelColor(1, 255, 0, 0); strip.setPixelColor(2, 255, 0, 0); strip.setPixelColor(4, 255, 0, 0); strip.setPixelColor(3, 0, 0, 255); strip.setPixelColor(5, 0, 0, 255); कपड़े उतारने का प्रदर्शन(); }

अधिक जानकारी यहां पाई जा सकती है।

चरण 11: कोडांतरण

कोडांतरण!
कोडांतरण!
कोडांतरण!
कोडांतरण!
कोडांतरण!
कोडांतरण!

यह शायद सबसे आसान कदम है, और सबसे बढ़िया।

केस क्लोजर पर प्रो माइक्रो में रखकर और स्लाइड करके शुरू करें। इसे कुछ गर्म गोंद के साथ जगह में गोंद दें।

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

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

फिर बस की-कैप को चाबियों पर धकेलें। तब यह काफी हद तक हो चुका है! एरो की मैक्रोपैड का मेरा संस्करण पूरा हो गया है!

चरण 12: आपका अपना सुधार

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

  • कार्यक्रम टेट्रिस और अन्य सरल खेल
  • इसे ब्लूटूथ बनाओ
  • इसे स्लाइडशो से डेटा पढ़ने की अनुमति दें और इसे एक OLED प्रदर्शित करें (स्लाइड नंबर और स्लाइड का नाम दिखाएं)
  • इन तकनीकों का उपयोग करके एक पूर्ण आकार का कीबोर्ड या बड़ा मैक्रोपैड बनाएं

    आपको इसके लिए स्विच मैट्रिक्स बनाने का तरीका सीखना होगा

  • अधिक रंग विकल्प प्रोग्राम करें
  • गेम, वीडियो एडिटिंग आदि के लिए प्रोग्राम मैक्रोज़।
  • अपना खुद का मामला बनाने के लिए ऑटोडेस्क आविष्कारक स्रोत फ़ाइलों का उपयोग करें, या इसे विशिष्ट रूप से आपका होने के लिए संशोधित करें!
  • एक म्यूजिक प्लेयर के रूप में इसे दोगुना करने के लिए एक साउंड बोर्ड जोड़ें

बनाने में मजा आता है! बेझिझक सुझाव जोड़ें या मुझे स्पष्ट करने के लिए कहें!

यदि आप अन्य भागों की प्रगति देखना चाहते हैं, तो मेरा इंस्टाग्राम देखें। मेरे इंस्ट्रक्शनल को पढ़ने के लिए धन्यवाद!

माइक्रोकंट्रोलर प्रतियोगिता
माइक्रोकंट्रोलर प्रतियोगिता
माइक्रोकंट्रोलर प्रतियोगिता
माइक्रोकंट्रोलर प्रतियोगिता

माइक्रोकंट्रोलर प्रतियोगिता में उपविजेता

सिफारिश की: