कैलकुलेटर कैसे बनाये?


15

मैं इलेक्ट्रॉनिक्स में नौसिखिया हूं। मैं मुझे व्यस्त रखने के लिए एक साधारण प्रोजेक्ट और साइड हॉबी के रूप में स्क्रैच से कैलकुलेटर बनाने की कोशिश कर रहा हूं।

मेरा लक्ष्य एक साधारण कैलकुलेटर का निर्माण करना है, न कि एक वैज्ञानिक या ग्राफिंग कैलकुलेटर, हालांकि मुझे इस बारे में जानकारी प्राप्त करने में कोई आपत्ति नहीं है कि यह कैसे करना है, बस किक के लिए।

क्या इसके लिए एक अच्छा ट्यूटोरियल है? मुझे कैसे शुरू करना चाहिए?


2
यहाँ एक बुनियादी 4-फंक्शन कैलकुलेटर बनाने के लिए एक किट है: spikenzielabs.com/Catalog/…
jwygralak67

जवाबों:


26

यहां एक कैलकुलेटर का एक उदाहरण है जिसे आप बहुत अधिक इलेक्ट्रॉनिक्स ज्ञान के बिना बना सकते हैं। यह पूरी तरह से चित्रित है, हालांकि इसके अलावा शामिल नहीं है।

हां, मैं मजाक कर रहा हूं, इसे बहुत गंभीरता से मत लो


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


इसने मेरे प्रश्न को प्रेरित किया: Electronics.stackexchange.com/questions/11263
मार्क

@ केरक्सफिलो - हाहाहाहाहाहाहाहा …… ओह कितने समय में बदलाव।
कॉनर वुल्फ

@markrages, अपने सवाल के लिए यश, बहुत ही रोचक :)
Philoxopher

18

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

एक शैक्षिक परियोजना के रूप में मैं जो कुछ भी करूँगा, वह कुछ msp430 लॉंचचैड्स, 5 रुपये प्रत्येक के तहत या एसटीएम 32 मूल्य रेखा खोज (stm32 / बांह आधारित एक दूसरे पर नहीं) के लिए लगभग 12 रुपये प्रत्येक के लिए होगा। बहुत से लोग आपको arduino की ओर ले जाएंगे, और यह एक अच्छा मंच भी है, इसमें इसके पेशेवरों और विपक्ष हैं, मैं इसे अपने पहले माइक्रोकंट्रोलर के रूप में नहीं ले जाऊंगा। एक साधारण दो लाइन का एलसीडी पैनल खरीदें, पृथ्वी एलसीडी एक अच्छी जगह हुआ करती थी, शायद स्पार्कफुन पर जाती है। एक माइक्रोकंट्रोलर बोर्ड हुक को एलसीडी पैनल पर ले जाएं और जानें कि डिस्प्ले पर वर्ण कैसे डालें। मैं तब सीखता हूं कि कैसे माइक्रोकंट्रोलर पर यूरेट का उपयोग किया जाता है जो अक्सर बाइट को नष्ट करने से शुरू होता है, फिर बाद में प्राप्त करना और गूँजना। डिस्प्ले पर डालने के लिए चीजों को प्राप्त करने के लिए uart रिसीवर का उपयोग करें, फिर एक डंब टर्मिनल (पोटीन, हाइपरटरम) का उपयोग करके, minicom) एक कंप्यूटर फीड सामान से और सुनिश्चित करें कि यह काम करता है। इसके बाद एक और माइक्रोकंट्रोलर लें, अपने यूटार्ट को इन-आउट एक्सपीरियंस का उपयोग करें और कोर गणित इंजन पर काम करें, अपने कंप्यूटर से इसे 0 - 9, +, -, = पर फीड करें और फिर पहले से गुणा करें और विभाजित करें और फिर फ्लोटिंग पॉइंट करें यदि आप पर्याप्त बहादुर हैं उसके लिए (या एक पुस्तकालय है जो फिट बैठता है)। गणित मॉड्यूल से आउटपुट इनपुट नंबरों को इको करेगा और जब परिणाम भेजा जाएगा, आदि = फिर बटन के साथ क्या करना है, यह पता लगाएं, बटन की एक सरणी ढूंढें, उन्हें तीसरे माइक्रोकंट्रोलर में किसी तरह खिलाएं, बहस करें, और उस में बदल दें uart out of 0 - 9, +, -, = से गणित माइक्रोकंट्रोलर। फिर, इस सब को बीच में बिना एक भी माइक्रोकंट्रोलर के कम करें। अपने ओट-इन और आउट अनुभव का उपयोग करें और कोर गणित इंजन पर काम करें, अपने कंप्यूटर से इसे 0 - 9, +, -, = पर फ़ीड करें और फिर पहले से गुणा करें और विभाजित करें और फिर फ्लोटिंग पॉइंट करें यदि आप उसके लिए पर्याप्त बहादुर हैं (या हैं) एक पुस्तकालय जो फिट बैठता है)। गणित मॉड्यूल से आउटपुट इनपुट नंबरों को इको करेगा और जब परिणाम भेजा जाएगा, आदि = फिर बटन के साथ क्या करना है, यह पता लगाएं, बटन की एक सरणी ढूंढें, उन्हें तीसरे माइक्रोकंट्रोलर में किसी तरह खिलाएं, बहस करें, और उस में बदल दें uart 0 से - 9, +, -, = = से गणित माइक्रोकंट्रोलर। फिर, इस सब को बीच में बिना एक भी माइक्रोकंट्रोलर के कम करें। अपने ओट-इन और आउट अनुभव का उपयोग करें और कोर गणित इंजन पर काम करें, अपने कंप्यूटर से इसे 0 - 9, +, -, = पर फ़ीड करें और फिर पहले से गुणा करें और विभाजित करें और फिर फ्लोटिंग पॉइंट करें यदि आप उसके लिए पर्याप्त बहादुर हैं (या हैं) एक पुस्तकालय जो फिट बैठता है)। गणित मॉड्यूल से आउटपुट इनपुट नंबरों को इको करेगा और जब परिणाम भेजा जाएगा, आदि = फिर बटन के साथ क्या करना है, यह पता लगाएं, बटन की एक सरणी ढूंढें, उन्हें तीसरे माइक्रोकंट्रोलर में किसी तरह खिलाएं, बहस करें, और उस में बदल दें uart 0 से - 9, +, -, = = से गणित माइक्रोकंट्रोलर। फिर, इस सब को बीच में बिना एक भी माइक्रोकंट्रोलर के कम करें। गणित मॉड्यूल से आउटपुट इनपुट नंबरों को इको करेगा और जब परिणाम भेजा जाएगा, आदि = फिर बटन के साथ क्या करना है, यह पता लगाएं, बटन की एक सरणी ढूंढें, उन्हें तीसरे माइक्रोकंट्रोलर में किसी तरह खिलाएं, बहस करें, और उस में बदल दें uart 0 से - 9, +, -, = = से गणित माइक्रोकंट्रोलर। फिर, इस सब को बीच में बिना एक भी माइक्रोकंट्रोलर के कम करें। गणित मॉड्यूल से आउटपुट इनपुट नंबरों को इको करेगा और जब परिणाम भेजा जाएगा, आदि = फिर बटन के साथ क्या करना है, यह पता लगाएं, बटन की एक सरणी ढूंढें, उन्हें तीसरे माइक्रोकंट्रोलर में किसी तरह खिलाएं, बहस करें, और उस में बदल दें uart 0 से - 9, +, -, = = से गणित माइक्रोकंट्रोलर। फिर, इस सब को बीच में बिना एक भी माइक्रोकंट्रोलर के कम करें।

एक अन्य विकल्प यह है कि knjn.com या rt-232 fpga बोर्ड में से एक rs-232 fpga बोर्ड प्राप्त करें (क्या यह काफी बड़ा है?) या दूसरों की एक संख्या, फिर एक RTL भाषा का उपयोग करके प्रत्येक कार्यात्मक ब्लॉक पर काम करें। समतुल्य सॉफ़्टवेयर सॉल्यूशन की तुलना में इसके कुछ भाग बहुत आसान होंगे, कुछ भाग एक सॉफ़्टवेयर सॉल्यूशन की तुलना में थोड़े कठिन होंगे।

यदि आप इस बारे में अधिक जानकारी प्रदान कर सकते हैं कि आप क्या सोच रहे हैं, नंद द्वार या माइक्रोकंट्रोलर आधारित समाधान का एक बॉक्स या आप कुछ और सोच रहे थे?


7

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


2
वाह। सिस्टम-ऑन-चिप की उम्र में, आप चाहते हैं कि उसे जोड़ने के लिए प्रति अंक बीस गेट्स को तार दिया जाए ? यहां तक ​​कि पहले हाथ में कैलकुलेटर भी ऐसा नहीं किया। एकल चिप कैलकुलेटर लगभग तीस वर्षों से हैं।
रॉन

ठीक है, आप 4-बिट स्लाइस के लिए 74181 का उपयोग कर सकते हैं। यह आसान होगा, अगर कुछ और नहीं।
W5VO

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

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

इसके लायक क्या है, कैलकुलेटर (आमतौर पर) बाइनरी में आंतरिक रूप से काम नहीं करते हैं और कन्वर्ट करते हैं, वे सीधे बीसीडी में काम करते हैं। एक चार बिट टुकड़ा एक ALU (वास्तव में इंटेल 4004 का मूल काम था) के लिए पर्याप्त है।
स्पेरो पेफेनी

6

यहाँ देखें कि मैंने यह कैसे किया।

घटक चुनें:

Input Device(मेरे मामले में 4x4 कीपैड) अंकों के लिए 10 कुंजी, ऑपरेटरों के लिए 4, '=' के लिए एक, और 'रीसेट / रिफ्रेश' के लिए एक)

Processor(8-बिट AVR)

Output device(16x2 एलसीडी)

Power supply(9volt बैटरी के साथ LM7805 रेगुलेटर)

BreadBoard(यह काम करना शुरू करने के बाद पीसीबी बनाएं)

मैंने व्यक्तिगत पसंद के मामले में (सीखने के लिए) विधानसभा में कार्यक्रम चुना। मैंने AVE स्टूडियो 4 का उपयोग IDE के रूप में किया और एक होम-बेक्ड लेप आधारित 'ISP' प्रोग्रामर को AVR में हेक्स चमकाने के लिए इस्तेमाल किया।

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

यह सब किया और वोइला .. मेरा कैलकुलेटर तैयार था (मैंने इसे नाम दिया बुब!)।

मेरा @ 1MHz भागा और कैसियो_991MS (दशमलव सटीक और गुणा और भाग के संदर्भ में) को हराने में सक्षम था।

मुझे उम्मीद है कि इससे दूसरों को मदद मिलेगी।


5

आप सॉफ्टवेयर पर ध्यान केंद्रित करने में सक्षम करने के लिए बोर्ड पर पहले से ही सब कुछ के साथ एक विकास किट का उपयोग कर सकते हैं। उदाहरण के लिए http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en024858&part=DM2400301 इस किट में PIC, LCD और कुछ बटन हैं। अतिरिक्त बटन जोड़ने के लिए बहुत सारे हेडर हैं। एक दोष यह है कि एलसीडी बड़ा है तो आप शुरू में उपयोग करना चाहते हैं, लेकिन यह निश्चित रूप से आप शुरू कर देंगे।

यदि आप अपने आस-पास खोजते हैं, तो आप छोटे (और सस्ते वाले) खोजने में सक्षम हो सकते हैं जिन्हें आप शुरू कर सकते हैं।

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


5

अपने शेल्फ पर मेरे पास एच। एडवर्ड रॉबर्ट्स द्वारा "इलेक्ट्रॉनिक कैलकुलेटर" है, फॉरेस्ट एम। मिम्स III द्वारा संपादित। 1974।

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

आह, तब से कई चीजें बदल गई हैं। आज की किताबें आमतौर पर तारों के बड़े स्पेगेटी मेस को दिखाने से बचती हैं। आज के कैलकुलेटर सीधे कैलकुलेटर पीसीबी पर मेन वोल्टेज लगाने से बचते हैं।

कई चीजें अभी भी समान हैं। लोग अभी भी प्रोटोटाइप करते समय तारों की एक बड़ी स्पैगेटी गड़बड़ करते हैं।


3

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


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

क्या आप एक अच्छी वेबसाइट प्रदान कर सकते हैं जो हॉबीस्ट के लिए बहुत सस्ती दर पर इलेक्ट्रॉनिक्स उपकरण बेचता है? आपके समर्थन की सराहना करते हैं!
दार्शनिक

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

2
@ केरक्सफिलो: हां, एम्बेडेड सिस्टम के अधिकांश लोग सी में फर्मवेयर लिखते हैं। लेडीका को सी में फर्मवेयर कैसे लिखना है और एक माइक्रोकंट्रोलर के साथ-साथ एक एलसीडी कनेक्ट करने और उस पर सामान प्रदर्शित करने के लिए ट्यूटोरियल अपलोड करना है
दाविदकरी

3

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

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

डिजिटल कम्प्यूटेशन के बारे में सीखने के लिए एक संभावित उपयोगी शुरुआती स्थान बहुत सुलभ पुस्तक है, क्वर्की क्लाइव मैक्सफील्ड द्वारा हाउ कम्प्यूटर्स डू मैथ (आईएसबीएन: 0471732788)। यह "सॉफ्ट" - प्रोग्रामिंग या तार्किक स्तर पर लिखा गया है, जिसे आपको वास्तव में गणना करने के लिए समझने की आवश्यकता होगी।

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

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


1

VisualTFT डिजाइनर के पासइसके उदाहरणों में से एक के रूपमें सरल टच स्क्रीन कैलकुलेटर है । यह सॉफ्टवेयर एवीआर, पीआईसी, एआरएम और 8051 माइक्रोकंट्रोलर्स के लिए मिक्रोलेक्ट्रोनिक्स पास्कल, बेसिक और सी कंपाइलर के लिए कोड उत्पन्न करता है।


0

हार्डवेयर आवश्यकताएँ

  • उपयोगकर्ता इनपुट के लिए एक कीपैड
  • इनपुट और उसके परिणाम प्रदर्शित करने के लिए एक एलसीडी
    एक असली कैलकुलेटर उत्पाद में, आप जैसे विशेष वर्ण प्रदर्शित करने के लिए एक कस्टम एलसीडी की जरूरत है =, -और M(के लिए एम सी , एमआर और एमएस संचालन) संकेत। एक कस्टम एलसीडी डिज़ाइन की लागत 3000 डॉलर तक होती है, लेकिन फिर कस्टम डिज़ाइन किए गए एलसीडी अधिक अर्थव्यवस्था बन जाते हैं, फिर अन्य सामान्य उद्देश्य वाले। चूंकि आपका प्रोजेक्ट सिर्फ शौक के लिए है, मेरा सुझाव है कि आप KS0108 नियंत्रक के साथ एक सामान्य उद्देश्य एलसीडी का उपयोग करें।
  • एक बहुत सस्ता और गैर-विशेषताओं वाला माइक्रोकंट्रोलर
    आपको एक बहुत ही बुनियादी नियंत्रक की आवश्यकता है क्योंकि आप बहुत सरल कार्य करेंगे। आप एक सस्ते PIC माइक्रोकंट्रोलर का उपयोग कर सकते हैं।

डिजाइन कदम

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

यदि आप अधिक उन्नत अंकगणितीय विशेषताएं जोड़ना चाहते हैं, (जैसे वर्ग रूटिंग, साइन / कॉशन गणना, आदि) तो आपको न्यूटन की विधि या टेलर श्रृंखला विस्तार का उपयोग करके प्रासंगिक गणना एल्गोरिदम को लागू करने की आवश्यकता है ।

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


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

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

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

@ChrisStratton: यदि कोई एनाउंसमेंट्स वाला 8-अंकीय डिस्प्ले चाहता है, तो ऑफ-द-शेल्फ पार्ट्स उपलब्ध हैं जो उस विवरण को पूरा करेंगे। मुझे नहीं लगता कि मैंने किसी भी ऑफ-द-शेल्फ प्रदर्शन को देखा है जो कार्यात्मक कैलकुलेटर में उन लोगों के बराबर होगा। ध्यान दें कि कैलकुलेटर ज़ेबरा-स्ट्रिप कनेक्शन का उपयोग करने के लिए उपयुक्त हैं, जो निर्माण के लिए पिन से सस्ता है, लेकिन DIY प्रोजेक्ट में काम करने के लिए कठिन है।
Supercat

@supercat - सस्ते कैलकुलेटर में उपयोग किए जाने वाले एलसीडी गर्मी सक्रिय चिपकने वाले रिबन का उपयोग करते हैं, न कि ज़ेबरा पट्टी। और वे कर रहे हैं बड़े पैमाने पर मानक ऑफ-द-शेल्फ आइटम जो विनिर्माण रन के बीच अदला-बदली जा सकती है।
क्रिस स्ट्रैटन

0

कैलकुलेटर को लागू करने का सबसे आसान तरीका शायद एक माइक्रोकंट्रोलर का उपयोग करना होगा। यदि आप उस मार्ग पर जाने का निर्णय लेते हैं, तो वास्तव में गणना करने के लिए कुछ कोड खोजने के लिए पहला कदम होगा। आपको एक प्रोग्राम की आवश्यकता होती है, जो ऑपरेटर्स और ऑपरेटरों को स्वीकार करता है और परिणाम को बाहर निकालता है। यह अपेक्षाकृत सरल कैलकुलेटर मॉड्यूल सी में लिखा गया हैआपको एक विचार देना चाहिए कि क्या आवश्यक है। इसे जोड़ सकते हैं, घटा सकते हैं, गुणा कर सकते हैं और साथ ही कुछ बिटवाइज़ ऑपरेशंस को भी विभाजित कर सकते हैं और यदि आप वैज्ञानिक गणनाकर्ताओं की तरह रिवर्स पोलिश नोटेशन का उपयोग करते हैं, तो यह कोष्ठक में उप-अभिव्यक्तियों को हल कर सकता है। तो आप पढ़ेंगे कि कौन से बटन दबाए गए थे, प्रत्येक "टोकन" को किसी भी अंक को वास्तविक संख्यात्मक मानों में परिवर्तित करने वाले बफर में इकट्ठा करें और फिर जब आपको "=" बटन मिलता है, तो आप इस निष्कासन कोड को टोकन की सूची को फीड करते हैं जो कम हो जाता है और हल करता है। एक ही मूल्य के परिणामस्वरूप अभिव्यक्ति।


0

शुरुआती लोगों के लिए, यहाँ आपके प्रोजेक्ट के लिए मेरा सुझाया BOM है:

  • 1x Arduino Uno या लियोनार्डो बोर्ड, जिसके पास आवश्यक माइक्रोकंट्रोलर हैं
  • 1x HD44780आधारित एलसीडी, सर्वव्यापी 16x2 वाले की तरह
  • 1x 4x4 मैट्रिक्स कीपैड

यह एक बुनियादी कैलकुलेटर का निर्माण करने की अनुमति देगा।

अधिक उन्नत उद्देश्यों के लिए, यहाँ मेरा सुझाया BOM है:

  • 1x Arduino मेगा 2560 या Arduino ड्यू (इस मामले में कार्यक्रम बड़ा होगा)
  • 1x ST7920आधारित मैट्रिक्स एलसीडी, जो वर्ण और ग्राफिक्स दोनों का समर्थन करता है
  • कीबोर्ड के लिए 1x Arduino USB होस्ट शील्ड (केवल मेगा 2560, ड्यूज में देशी USB होस्ट सुविधा) है

यह आपको उन TI-83 प्लस या TI-nSpire श्रृंखला की तरह एक विस्तृत रेखांकन कैलकुलेटर बनाने की अनुमति देगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.