विषयसूची:

Arduino Pro Mini और TFT डिस्प्ले के साथ मैजिक आंसर बॉल: 7 कदम
Arduino Pro Mini और TFT डिस्प्ले के साथ मैजिक आंसर बॉल: 7 कदम

वीडियो: Arduino Pro Mini और TFT डिस्प्ले के साथ मैजिक आंसर बॉल: 7 कदम

वीडियो: Arduino Pro Mini और TFT डिस्प्ले के साथ मैजिक आंसर बॉल: 7 कदम
वीडियो: Arduino project 😎^ Arduino #arduino #2022 #2021 #2023 #dc #arduinoproject #diy #foryou 2024, जुलाई
Anonim
Arduino Pro Mini और TFT डिस्प्ले के साथ मैजिक आंसर बॉल
Arduino Pro Mini और TFT डिस्प्ले के साथ मैजिक आंसर बॉल
Arduino Pro Mini और TFT डिस्प्ले के साथ मैजिक आंसर बॉल
Arduino Pro Mini और TFT डिस्प्ले के साथ मैजिक आंसर बॉल
Arduino Pro Mini और TFT डिस्प्ले के साथ मैजिक आंसर बॉल
Arduino Pro Mini और TFT डिस्प्ले के साथ मैजिक आंसर बॉल

कुछ समय पहले, मैंने और मेरी बेटी ने मैजिक 8 बॉल को अलग किया ताकि वह बीस प्रतिक्रियाओं को अपनी पसंद के साथ बदल सके। यह उनके एक दोस्त के लिए तोहफा था। इसने मुझे सोचने पर मजबूर कर दिया कि इसे बड़े पैमाने पर कैसे किया जाए। क्या हमारे पास 20 से अधिक प्रतिक्रियाएं हो सकती हैं? एक इलेक्ट्रॉनिक संस्करण के साथ हम कर सकते हैं!

तो यह वर्णन करेगा कि मैंने मैटल मैजिक 8 बॉल (क्षमा करें, मैटल) को कैसे डिसाइड किया और एक अविश्वसनीय संख्या में अतिरिक्त प्रतिक्रियाओं को दिखाने के लिए एक गोल टीएफटी डिस्प्ले का उपयोग किया (सबसे छोटा माइक्रो-एसडी कार्ड जो मुझे मिल सकता था वह 8GB था, इसलिए यह वास्तव में ओवरकिल है इसका उपयोग किस लिए किया जा रहा है)। गेंद प्रतिक्रिया को ट्रिगर करने के लिए स्पार्कफुन वेक-ऑन-शेक बोर्ड का उपयोग करती है और बैटरी को बचाने के लिए गेंद को बाद में बंद कर देती है। एक यूएसबी कनेक्शन से बैटरी को रिचार्ज करने की अनुमति देने के लिए एक रिचार्जिंग बोर्ड का उपयोग किया जाता है।

आपूर्ति

भाग:

अरुडिनो प्रो मिनी 328 - 3.3V/8MHz

शेक पर स्पार्कफन जागो

लिथियम आयन बैटरी - 400mAh

ऑर्गनाइज़र 12pcs TP4056 चार्जिंग मॉड्यूल 5V माइक्रो USB 1A 18650 लिथियम बैटरी चार्जिंग बोर्ड प्रोटेक्शन चार्जर मॉड्यूल के साथ (आपको इनमें से केवल एक की आवश्यकता है, लेकिन 12 पैक $ 9 से कम था)

DAOKI 5Pcs माइक्रो एसडी स्टोरेज बोर्ड (फिर से, आपको केवल एक की आवश्यकता है, लेकिन 5 पैक अभी भी $ 9 से कम था)

DFRobot 2.2 इंच TFT LCD डिस्प्ले मॉड्यूल

किंग्स्टन 8 जीबी माइक्रोएसडी (हो सकता है कि इनमें से कोई पुराना आपके घर के आसपास पड़ा हो)

पर्मा-प्रोटो क्वार्टर-आकार के ब्रेडबोर्ड पीसीबी (आप जो भी पीसीबी पसंद करते हैं उसका उपयोग कर सकते हैं)

मैजिक 8 बॉल

FTDI बेसिक ब्रेकआउट 3.3V (यदि आपने Arduino Pro Mini या इसी तरह के बोर्ड के साथ एक समान प्रोजेक्ट किया है तो आपके पास इनमें से एक हो सकता है)

2.54mm JST XH पुरुष/महिला पिन हैडर ड्यूपॉन्ट वायर कनेक्टर किट के साथ 4 पिन हाउसिंग (वैकल्पिक, लेकिन बैटरी को जोड़ने के लिए अनुशंसित)

अन्य बुनियादी आपूर्ति:

सुगरू मोल्डेबल गोंद (डक्ट टेप और गर्म गोंद का उपयोग कर सकता है, लेकिन मुझे यह बेहतर लगता है)

डक्ट टेप

दो तरफा फोम टेप

वायर

उपकरण:

सोल्डरिंग आयरन

अपनी पसंद का रोटरी टूल (यानी डरमेल)

फर्नीचर क्लैंप

चरण 1: मैजिक 8 बॉल को आधा काटें

मैजिक 8 बॉल को आधा काटें
मैजिक 8 बॉल को आधा काटें
मैजिक 8 बॉल को आधा काटें
मैजिक 8 बॉल को आधा काटें

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

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

बाहरी किनारे (पिघला हुआ और कठोर प्लास्टिक) के आसपास अभी भी कुछ प्लास्टिक स्लैग होंगे। यदि आप कर सकते हैं तो इसे अपने हाथों से तोड़ दें; एक उपकरण का उपयोग करने से गेंद पर फिनिश को रगड़ने का जोखिम होता है और स्लैग बहुत आसानी से निकल जाता है।

चरण 2: गेंद तैयार करें

गेंद तैयार करें
गेंद तैयार करें
गेंद तैयार करें
गेंद तैयार करें
गेंद तैयार करें
गेंद तैयार करें

गेंद के प्लास्टिक के हिस्सों को बनाने के लिए हमें दो संशोधन करने होंगे।

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

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

चरण 3: माइक्रो-एसडी कार्ड पर प्रतिक्रियाएँ तैयार करें

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

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

डिस्प्ले गोल होने के बावजूद, यह कार्यात्मक रूप से एक वर्चुअल आयताकार डिस्प्ले है, जिसमें सर्कल के भीतर केवल पिक्सल दिखाई देते हैं। डिस्प्ले कई आकार का टेक्स्ट दिखा सकता है, लेकिन हम केवल सबसे छोटे संस्करण का उपयोग करते हैं जो कि 6 x 8 पिक्सल है। इस आकार का उपयोग करते हुए, 315 वर्ण हैं जिन्हें डिस्प्ले स्क्रीन पर रख सकता है (21 वर्ण प्रति पंक्ति गुणा 15 पंक्तियाँ), लेकिन केवल 221 ही दिखाई दे रहे हैं और प्रत्येक पंक्ति में दृश्यमान वर्णों की एक अलग संख्या है। समस्या देखें?

मैंने बिना प्रारूपित प्रतिक्रियाओं की एक फ़ाइल लेने और उन्हें पूरी तरह से केंद्रित रिकॉर्ड में बदलने के लिए जावा प्रोग्राम लिखा था जिसे आसानी से गोल टीएफटी पर प्रदर्शित किया जा सकता था। ("FormatToPicksFileFullyCentered.java" फ़ाइल डाउनलोड करने के लिए लिंक)।

पूरे कोड के स्पष्टीकरण में जाने के बिना, सामान्य विचार यह है कि हम केंद्र (ईश) से पीछे की ओर काम करते हैं और यह सुनिश्चित करने के लिए रिक्त स्थान डालते हैं कि हम शब्दों को दृश्यमान रेखाओं में नहीं तोड़ते हैं, फिर वही काम करते हैं सेंटर फॉरवर्ड। अंत में, हम सभी पंक्तियों के माध्यम से लूप करते हैं और प्रत्येक पंक्ति को पूर्ण 21 वर्ण रेखाओं के अंदर केन्द्रित करते हैं ताकि ठीक 316 बाइट्स (315 अल्फ़ान्यूमेरिक वर्ण और एक नई-पंक्ति वर्ण) का रिकॉर्ड बनाया जा सके। कोड वास्तव में तीन फोंट, x 3, x 2, और x 1 के माध्यम से काम करता है यह देखने के लिए कि कौन सा सबसे बड़ा फ़ॉन्ट है जिसका उपयोग किया जा सकता है और अभी भी टेक्स्ट में फिट हो सकता है। एक्स 2 और एक्स 3 फोंट के लिए केंद्रीकरण थोड़ा हटकर है, क्षमा करें। उन वर्णों से सावधान रहें जो एक से अधिक बाइट लेते हैं, ये आउटपुट वाली फ़ाइल को फेंक सकते हैं।

"picks.txt" फ़ाइल को माइक्रो-एसडी कार्ड पर कॉपी करें।

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

चरण 4: Arduino Mini में कोड अपलोड करें

Arduino Mini पर कोड अपलोड करें
Arduino Mini पर कोड अपलोड करें
Arduino Mini पर कोड अपलोड करें
Arduino Mini पर कोड अपलोड करें
Arduino Mini पर कोड अपलोड करें
Arduino Mini पर कोड अपलोड करें

सबसे पहले, यदि आपने पहले कभी Arduino Pro Mini का उपयोग नहीं किया है, तो आप केवल USB केबल प्लग इन करके डाउनलोड नहीं कर सकते; आपको एक FTDI बोर्ड का उपयोग करना होगा और तारों को मिनी पर उपयुक्त पिन से जोड़ना होगा। मैं यहां उस पर एक ट्यूटोरियल नहीं दूंगा, वेब पर बहुत कुछ है। मेरे लिए, मैं माइक्रोकंट्रोलर बोर्ड पर एक स्थायी कनेक्टर को मिलाप नहीं करना चाहता था जिसका उपयोग केवल एक बार कोड डाउनलोड करने के लिए किया जाएगा, इसलिए मैंने एक छोटी सी क्लिप बनाई जिसका उपयोग बिना सोल्डरिंग के मिनी को प्रोग्राम करने के लिए किया जा सकता है (चित्र देखें)। यह Fiddy जैसे उत्पादों से प्रेरित था, लेकिन मेरे पास 3D प्रिंटर तक आसान पहुंच नहीं है, इसलिए मैंने आलू चिप क्लिप से अपना खुद का बनाया। अगर लोग रुचि रखते हैं, तो मैं उसके लिए एक निर्देश योग्य बनाऊंगा।

कोड पर। इस कोड में कुछ दिलचस्प भाग हैं, लेकिन यह ज्यादातर सीधे आगे है।

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

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

आवश्यक बाहरी पुस्तकालय:

ST7687S लाइब्रेरी

DFRobot-डिस्प्ले लाइब्रेरी

चरण 5: घटकों को तार दें

घटकों को तार दें
घटकों को तार दें
घटकों को तार दें
घटकों को तार दें

तारों की सभी सोल्डरिंग करने का समय। मुझे वास्तव में ज़रूरत से ज़्यादा लंबे तारों की तरफ गलती करने की प्रवृत्ति थी, लेकिन यह अच्छी तरह से काम कर रहा था।

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

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

अंत में, मैंने बिजली और साझा कनेक्शन को आसान बनाने के लिए एक चौथाई आकार के स्थायी ब्रेडबोर्ड पीसीबी का उपयोग किया। आप विधानसभा की तस्वीरों में देखेंगे।

परीक्षण करें कि सब कुछ काम कर रहा है।

चरण 6: गेंद में घटकों को संलग्न करें

गेंद में अवयव संलग्न करें
गेंद में अवयव संलग्न करें
गेंद में अवयव संलग्न करें
गेंद में अवयव संलग्न करें
गेंद में अवयव संलग्न करें
गेंद में अवयव संलग्न करें
गेंद में अवयव संलग्न करें
गेंद में अवयव संलग्न करें

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

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

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

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

माइक्रो-एसडी कार्ड को अभी एसडी कार्ड मॉड्यूल में डालें

यदि आप चाहें तो अन्य घटकों को सफेद होंठ से सुरक्षित कर सकते हैं। मैंने प्रदर्शन के पीछे शेष घटकों को टक किया।

चरण 7: दो हिस्सों को वापस एक साथ रखें

दो हिस्सों को वापस एक साथ रखें
दो हिस्सों को वापस एक साथ रखें
दो हिस्सों को वापस एक साथ रखें
दो हिस्सों को वापस एक साथ रखें

दोबारा जांचें कि आपने एसडी कार्ड डाला है और आपने सभी घटकों का एक साथ परीक्षण किया है।

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

दोनों हिस्सों को एक साथ दबाकर सुनिश्चित करें कि यूएसबी पोर्ट इसके लिए पहले से काटे गए छेद से चिपक गया है। फ़र्नीचर क्लैंप का उपयोग करते हुए, दो हिस्सों को एक साथ कसकर बंद करें ताकि हिस्सों को एक साथ रखा जा सके, इसे कठिन रूप से बंद करने की आवश्यकता नहीं है। सुगरू गोंद लगभग 24 घंटों में सख्त हो जाएगा।

यदि आपके पास कुछ गोंद है जो जोड़ से निचोड़ा हुआ है, तो बेझिझक इसे अपनी उंगली या एक चिकने कपड़े / कागज़ के तौलिये से खुरचें।

सिफारिश की: