विषयसूची:
वीडियो: 2-बटन द्विघात समीकरण सॉल्वर: 5 चरण
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:20
परिचय
मेरे पहले निर्देशयोग्य में आपका स्वागत है!
मैंने अपने प्रोग्रामिंग ज्ञान को बढ़ाने के लिए इस परियोजना की शुरुआत की। अक्सर, आप अपने लिए आवश्यक प्रोग्राम बनाने के लिए अलग-अलग स्रोत कोड मर्ज करते हैं। मेरा लक्ष्य एक टूल के साथ इंटरैक्ट करने के लिए अपना खुद का प्रोग्राम कोड लिखना था। मुझे गणना के लिए एक सरल उपकरण बनाना अच्छा लगा। कुछ महीने पहले, मैंने द्विघात समीकरण को हल करने के लिए एक मित्र का समर्थन किया था।
बजिंगा! यह उपयोग का मामला है!
मैंने एक पुराने धातु के बक्से का पुन: उपयोग किया। मैंने टूल के मिनिमलिस्टिक लुक और इंटरफेस को प्राथमिकता दी। यही कारण है कि मैं सिर्फ इनपुट देने के लिए 2 बटन का उपयोग करना चाहता हूं। प्रतियोगिता को एक साधारण एलसीडी डिस्प्ले द्वारा दिखाया जाएगा।
आपूर्ति
सामग्री की सूची:
डिब्बा
2 बटन आर्केड शैली
Arduino नैनो, या समान
I2C एडेप्टर के साथ एलसीडी डिस्प्ले 1602
चालु / बंद स्विच
तारों
2x 10k ओम रोकनेवाला
बैटरी 9वी ब्लॉक
9वी बैटरी के लिए कनेक्टर
ब्रेड बोर्ड
विविध (लकड़ी का टुकड़ा, धातु कोण, केबल संबंध, पेंच, वाशर)
उपकरण:
देखा
सोल्डरिंग आयरन
बेधन यंत्र
प्रोग्रामिंग के लिए कंप्यूटर
चरण 1: गणितीय पृष्ठभूमि
गणितीय पृष्ठभूमि
2-बटन द्विघात समीकरण उन मानों को दिखाता है जहां द्विघात फ़ंक्शन X-अक्ष को पार करता है। एक द्विघात फलन X-अक्ष को कभी नहीं, एक या दो बार पार कर सकता है।
इन मूल्यों की गणना करने के विभिन्न तरीके हैं। अपने टूल के लिए, मैं PQ-सूत्र का उपयोग करता हूं (मुझे यकीन नहीं है कि क्या यह अभिव्यक्ति पूरी दुनिया में उपयोग की जाएगी)।
द्विघात समीकरण का रूप है:
ax²+bx+c=0
क्रॉसिंग पॉइंट्स की गणना करने के लिए, फॉर्म को x²+px+q=0 से p= b/a से विभाजित करें; क्यू = सी / ए
पीक्यू फॉर्मूला:
x1 = -p/2 + sqrt((p/2)²-q)
x2 = -p/2 - sqrt((p/2)²-q)
परिणाम x 0, 1 या 2 मान प्राप्त कर सकता है। यह वर्गमूल के नीचे के मान पर निर्भर करता है।
मान > 0 है, तो PQ-सूत्र के दो हल हैं।
क्या मान = 0 है, तो PQ-सूत्र का एक हल है
मान <0 है, तो PQ सूत्र का कोई हल नहीं है। फलन X-अक्ष को पार नहीं करता है।
चरण 2: सॉफ्टवेयर
सॉफ्टवेयर
प्रोग्रामिंग के लिए मैंने आधिकारिक Arduino IDE का उपयोग किया। मेरा लक्ष्य अपना खुद का सॉफ्टवेयर प्रोग्राम बनाना था। मेरे इंटरफ़ेस में दो बटन होने चाहिए। एक बटन विभिन्न स्तरों के बीच कदम रखने के लिए, दूसरा बटन विभिन्न स्तरों में मूल्यों को बदलने के लिए।
पीक्यू-फॉर्मूला को हल करने के लिए, मैं ऊपर की संरचना बनाता हूं:
निश्चित रूप से, मैं पहिया का पुन: आविष्कार नहीं करता हूं। कोड बनाने के लिए, मैंने मॉड्यूल का उपयोग किया:
- बहस
- प्रदर्शन
निम्नलिखित बिंदु सबसे बड़ी चुनौतियां थीं:
- मैं चिन्ह कैसे चुन सकता हूँ? मैंने इस चुनौती को फ़ंक्शन मॉड्यूलो (लिंक) के साथ हल किया। कोड इनपुट को 2 से विभाजित करता है। क्या इनपुट एक विषम संख्या है, मान ऋणात्मक हो जाता है, अन्यथा संख्या धनात्मक होती है।
- सभी स्तरों के माध्यम से चलने के बाद, मुझे सभी मानों को 0 पर घोषित करना होगा।
- प्रदर्शित पाठ केवल भेजे गए वर्णों को मिटा देता है। यदि कोड 4 वर्णों वाला एक शब्द भेजते हैं, तो बस ये 4 वर्ण पुनः लोड हो जाएंगे। यदि पहले के शब्द में अधिक वर्ण थे, तो वर्ण बने रहेंगे। इसे ठीक करने के लिए, प्रदर्शित टेक्स्ट को रिक्त स्थान से भर दिया जाएगा। एक पंक्ति में सभी 16 वर्ण पुनः लोड किए जाएंगे।
अंतिम कोड संलग्न है।
चरण 3: हार्डवेयर
हार्डवेयर
भागों को ऊपर सूचीबद्ध किया गया है। इस परियोजना के लिए, हार्डवेयर सरल है। मुझे बस एक Arduino माइक्रोप्रोसेसर, 2 बटन और एक डिस्प्ले चाहिए। ठीक है, अगर आप एक बॉक्स में रखना पसंद करते हैं, तो आपको एक बॉक्स और बिजली की आपूर्ति भी चाहिए।
मैं एक पुराने धातु के बक्से का पुन: उपयोग करता हूं। मैंने बिजली की आपूर्ति के लिए स्विच में प्लग के लिए बटन में एक छेद ड्रिल किया। बॉक्स कवर में 3 छेद हैं। मैंने बड़े बटनों के लिए दो छेद किए और प्रदर्शन के लिए एक खिड़की काट दी। मैं डिस्प्ले और बटन को ठीक करने के लिए अधिक सामान रखने के लिए कवर के पीछे लकड़ी का एक छोटा सा टुकड़ा चिपका देता हूं। लुक को अपग्रेड करने के लिए बॉक्स में स्टिकर्स लगे हैं।
बिजली की आपूर्ति के लिए, मैं रिचार्जेबल 9वी ब्लॉक बैटरी की सलाह देता हूं। मैं बैटरी को पावर स्विच के माध्यम से Arduino से जोड़ता हूं। बैटरी को एक छोटे धातु के कोण के साथ बॉक्स में तय किया गया है। बैटरी के लिए कनेक्टर केवल केबल संबंधों द्वारा तय किया गया है।
माइक्रोप्रोसेसर एक Arduino नैनो का क्लोन है। इस उपयोग के मामले के लिए, प्रदर्शन पर्याप्त है। एक Attiny 85, उदाहरण के लिए एक Digispark माइक्रोप्रोसेसर, को अस्वीकार कर दिया गया था। Arduino डिस्प्ले के बगल में "ब्रेड बोर्डेड" है।
डिस्प्ले 1602 LCD डिस्प्ले है। आप दो पंक्तियों में 16 वर्णों का उपयोग कर सकते हैं। आप इस डिस्प्ले को कई अलग-अलग मशीनों में एक टूल में पा सकते हैं। इस डिस्प्ले का उपयोग करने के दो अलग-अलग तरीके हैं। आप डिस्प्ले को सीधे कंट्रोलर से कनेक्ट कर सकते हैं या I2C के माध्यम से डिस्प्ले से संचार के लिए ऐड-ऑन का उपयोग कर सकते हैं। I2C एक मानक प्रोटोकॉल है। मैंने इसका इस्तेमाल किया, क्योंकि डिस्प्ले को कंट्रोलर से कनेक्ट करना आसान है। आपको 16 के बजाय केवल 4 केबल चाहिए, VCC से 5V, GND से GND, SDA से A4, SCL से A5। डिस्प्ले को बॉक्स कवर पर स्क्रू द्वारा फिक्स किया गया है।
बटन बहुत बड़े हैं! उनके पास विशिष्ट आर्केड गेम शैली है। मुझे यह पसंद है! बटन डिजिटल पिन 4 और 7 से जुड़े हैं। कृपया 10K प्रतिरोधों को न भूलें!
कवर को खोलने के लिए, उदाहरण के लिए बैटरी का आदान-प्रदान करने के लिए, मैंने ब्रेडबोर्ड पर प्लग की गई लंबी केबलों का उपयोग किया।
चरण 4: वायरिंग
चरण 5: भविष्य में सुधार
भविष्य में सुधार
किसी प्रोजेक्ट को पूरा करने के बाद, आपको हमेशा सुधार के लिए बग या सुविधाएं मिलती हैं। इस परियोजना में, मैं बस कुछ बिंदुओं को पाकर खुश हूं, मैं भविष्य के लिए सुधार करूंगा।
अगली बार, मैं बॉक्स में शोषण में सुधार करूंगा। मैंने इस प्रोजेक्ट की शुरुआत में डिस्प्ले, पावर स्विच और बटन को ठीक किया। अंत में, मुझे बॉक्स में बैटरी और माइक्रोप्रोसेसर के लिए पर्याप्त जगह खोजने में थोड़ी परेशानी हुई। जब मैं बटन और डिस्प्ले को अधिक बाहर रखता हूं, तो मुझे बॉक्स के अंदर के हिस्सों के लिए जगह की कोई परेशानी नहीं होगी।
फिलहाल मेरे पास द्विघात समीकरण को हल करने के लिए उपयोग का मामला नहीं है। उपकरण को बेहतर बनाने के लिए, मैं आगे की गणितीय चीजों के साथ उपकरण का विस्तार करना चाहता हूं, उदाहरण के लिए मूल कलन या सूत्र जैसे द्विपद सूत्र या पाइथागोरस का वाक्य।
सिफारिश की:
रास्पबेरी पाई और ओपनसीवी का उपयोग करते हुए रीयल-टाइम रूबिक क्यूब ब्लाइंडफोल्डेड सॉल्वर: 4 चरण
रास्पबेरी पाई और ओपनसीवी का उपयोग करते हुए रीयल-टाइम रूबिक क्यूब ब्लाइंडफोल्डेड सॉल्वर: यह रूबिक के क्यूब टूल का दूसरा संस्करण है जिसे आंखों पर पट्टी बांधकर हल करने के लिए बनाया गया है। पहला संस्करण जावास्क्रिप्ट द्वारा विकसित किया गया था, आप प्रोजेक्ट को देख सकते हैं RubiksCubeBlindfolded1पिछले के विपरीत, यह संस्करण रंगों का पता लगाने के लिए OpenCV लाइब्रेरी का उपयोग करता है और ई
क्यू-बॉट - ओपन सोर्स रूबिक क्यूब सॉल्वर: 7 कदम (चित्रों के साथ)
क्यू-बॉट - ओपन सोर्स रूबिक्स क्यूब सॉल्वर: कल्पना कीजिए कि आपके पास एक स्क्रैम्बल रूबिक क्यूब है, आप जानते हैं कि पहेली 80 के दशक का है जो हर किसी के पास है लेकिन वास्तव में कोई नहीं जानता कि कैसे हल किया जाए, और आप इसे अपने मूल पैटर्न में वापस लाना चाहते हैं। सौभाग्य से इन दिनों समाधान निर्देश खोजना बहुत आसान है
रूबिक क्यूब सॉल्वर के लिए Arduino मेगा स्टेपर शील्ड: 4 कदम
रूबिक्स क्यूब सॉल्वर के लिए अरुडिनो मेगा स्टेपर शील्ड: कुछ समय पहले मैं एक ऐसी मशीन पर काम कर रहा था जो किसी भी 3x3 रूबिक क्यूब को स्वचालित रूप से हल करती है। आप उस पर मेरे निर्देश यहाँ देख सकते हैं। परियोजना में पोलुलु के स्टेपर ड्राइवरों का इस्तेमाल छह मोटरों को चलाने के लिए किया गया था। क्रम में दो इन d को जोड़ने
Arduino Uno के साथ ध्वनिक उत्तोलन चरण-दर-चरण (8-चरण): 8 चरण
Arduino Uno के साथ ध्वनिक उत्तोलन चरण-दर-चरण (8-चरण): अल्ट्रासोनिक ध्वनि ट्रांसड्यूसर L298N डीसी महिला एडाप्टर बिजली की आपूर्ति एक पुरुष डीसी पिन के साथ Arduino UNOBreadboardयह कैसे काम करता है: सबसे पहले, आप Arduino Uno पर कोड अपलोड करते हैं (यह डिजिटल से लैस एक माइक्रोकंट्रोलर है और कोड (C++) कन्वर्ट करने के लिए एनालॉग पोर्ट
एक्सेल पर द्विघात समीकरण मैक्रो: ३ चरण
एक्सेल पर द्विघात समीकरण मैक्रो: आप केवल टूल-मैक्रो-रन मैक्रो पर जाकर आसानी से द्विघात समीकरण को हल कर सकते हैं। मैं एक नया सदस्य हूं और वास्तव में आपको किसी भी प्रकार की प्रतिक्रिया की आवश्यकता है। इन समीकरणों को हल करने वाले किसी भी पेपर का उपयोग न करने का आनंद लें