विषयसूची:

हैंडहेल्ड बेसिक कंप्यूटर: 6 चरण (चित्रों के साथ)
हैंडहेल्ड बेसिक कंप्यूटर: 6 चरण (चित्रों के साथ)

वीडियो: हैंडहेल्ड बेसिक कंप्यूटर: 6 चरण (चित्रों के साथ)

वीडियो: हैंडहेल्ड बेसिक कंप्यूटर: 6 चरण (चित्रों के साथ)
वीडियो: How to draw a laptop computer/ pencil drawing/ Easy step by step method 2024, नवंबर
Anonim
हैंडहेल्ड बेसिक कंप्यूटर
हैंडहेल्ड बेसिक कंप्यूटर
हैंडहेल्ड बेसिक कंप्यूटर
हैंडहेल्ड बेसिक कंप्यूटर

यह निर्देशयोग्य BASIC चलाने वाले एक छोटे से हाथ में कंप्यूटर बनाने की मेरी प्रक्रिया का वर्णन करता है। कंप्यूटर ATmega 1284P AVR चिप के आसपास बनाया गया है, जिसने कंप्यूटर के लिए मूर्खतापूर्ण नाम (HAL 1284) को भी प्रेरित किया।

यह बिल्ड यहां मिले अद्भुत प्रोजेक्ट और सुपरकॉन बेसिक बैज से काफी प्रेरित है।

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

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

इसके प्रकाशित होने के बाद, मैंने परियोजना का प्रदर्शन करते हुए एक वीडियो बनाया।

चरण 1: मेरे द्वारा उपयोग किए जाने वाले भाग

मेरे द्वारा उपयोग किए जाने वाले भाग
मेरे द्वारा उपयोग किए जाने वाले भाग
मेरे द्वारा उपयोग किए जाने वाले भाग
मेरे द्वारा उपयोग किए जाने वाले भाग
मेरे द्वारा उपयोग किए जाने वाले भाग
मेरे द्वारा उपयोग किए जाने वाले भाग

मुख्य आईसी के लिए:

  • एटमेगा १२८४पी
  • 16 मेगाहर्ट्ज क्रिस्टल
  • 2x 22pf सिरेमिक कैपेसिटर
  • 10KΩ रोकनेवाला (रीसेट पुल अप के लिए)
  • 4-पिन बटन (रीसेट के लिए)
  • 470Ω रेस्टर (समग्र वीडियो के लिए)
  • 1kΩ रोकनेवाला (समग्र वीडियो सिंक के लिए)
  • 3-पिन जम्पर (वीडियो सिग्नल के लिए)
  • निष्क्रिय बजर

की-बोर्ड नियंत्रण के लिए:

  • ATmega 328P (जैसे Arduino Uno में उपयोग किए जाने वाले)
  • 16 मेगाहर्ट्ज क्रिस्टल
  • 2x 22pf सिरेमिक कैपेसिटर
  • 12x 10KΩ प्रतिरोधी (रीसेट पुल अप और बटन के लिए)
  • 51x 4-पिन बटन (वास्तविक कीबोर्ड के लिए)

शक्ति के लिए:

  • L7805 वोल्टेज नियामक
  • 3 मिमी एलईडी
  • 220Ω प्रतिरोधी (एलईडी के लिए)
  • 2x 0.1μF इलेक्ट्रोलाइटिक कैपेसिटर
  • ०.२२ µF इलेक्ट्रोलाइटिक कैपेसिटर (आप इसे ०.२२ और एक ०.१ को एक ०.३३ के लिए स्थानापन्न कर सकते हैं। मुझे यह भी बताया गया है कि मान वास्तव में मायने नहीं रखते हैं, लेकिन मैं कैपेसिटर के साथ महान नहीं हूं)
  • 2x 2-पिन जम्पर (पावर इनपुट के लिए और मुख्य स्विच के लिए)

GPIO (शायद कुछ और आधार जोड़ें):

  • 7-पिन जम्पर
  • 2x 8-पिन जम्पर
  • 2-पिन जम्पर (5V और GND के लिए)
  • 3-4-पिन जम्पर (सीरियल संचार के लिए)

गैर पीसीबी:

  • 4" समग्र वीडियो के साथ एलसीडी डिस्प्ले (मेरा 7-30V के बीच एक इनपुट वोल्टेज था)
  • प्रदर्शन के लिए 3 डी मुद्रित धारक
  • किसी प्रकार का स्विच

चरण 2: सर्किट

सर्किट
सर्किट

सर्किट बहुत सुंदर नहीं है और मुख्य IC-क्षेत्र का अधिकांश भाग dan14 से प्रेरित है। कहा जा रहा है, यह एक ब्रेडबोर्ड-सर्किट पर एक बहुत सीधा आगे Arduino है। कीबोर्ड एक साधारण ग्रिड है और इसे ATmega328 द्वारा नियंत्रित किया जाता है। दो AVR चिप्स UART सीरियल पिन के माध्यम से संचार करते हैं।

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

चरण 3: पीसीबी

पीसीबी
पीसीबी
पीसीबी
पीसीबी

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

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

बोर्ड में चार ड्रिल होल हैं जिनका उपयोग मैंने एलसीडी डिस्प्ले को माउंट करने के लिए किया है।

चरण 4: कोड अपलोड करना

कोड अपलोड करना
कोड अपलोड करना
कोड अपलोड करना
कोड अपलोड करना
कोड अपलोड करना
कोड अपलोड करना

१२८४ और ३२८ दोनों को निश्चित रूप से कोड की आवश्यकता है और मेरे द्वारा उपयोग किया गया कोड यहां पाया जा सकता है: https://github.com/PlainOldAnders/HAL1284 ArduinoSrc/src के अंतर्गत। मैंने कोड को संशोधित करने और अपलोड करने के लिए बस Arduino IDE का उपयोग किया था, लेकिन इससे पहले कि ऐसा किया जा सके, आपको IC पर बूटलोडर्स को जलाने की आवश्यकता होगी:

ATMega328:

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

328 के लिए कोड (ArduinoSrc/keypad के तहत) काफी सरल है। यह पूरी तरह से Adafruit_Keypad-master- लाइब्रेरी पर निर्भर करता है। यदि परिवाद के बारे में कुछ भी बदलता है, तो मैंने अपने github-पृष्ठ पर ArduinoSrc/lib के अंतर्गत उपयोग किए गए संस्करण को शामिल किया है।

एटमेगा1284:

जब मुझे पहली बार आईसी मिली थी तो यह मेरे लिए थोड़ा मुश्किल था। मैंने यहां से बूटलोडर प्राप्त करके शुरुआत की, और इंस्टाल-गाइड का पालन किया। बूटलोडर को जलाने के लिए, मैंने 328 के समान ही काम किया और यहां से सहायता प्राप्त की। दोनों आईसी के लिए मैंने बूटलोडर को जलाने और कोड अपलोड करने के लिए सिर्फ एक Arduino Uno का उपयोग किया (अपलोड करते समय Arduino Uno से IC हटा दिया)।

कोड (ArduinoSrc/HAL1284Basic के तहत) मेरे लिए बहुत जटिल है लेकिन मैं कोड के कुछ हिस्सों को संशोधित करने में सक्षम था:

मैंने कुछ कमांड जोड़े (मैनुअल.पीडीएफ में [ए] के साथ चिह्नित), और मैंने अन्य कमांड भी बदल दिए:

टोन: टोन कमांड ने पहले सिर्फ Arduino के टोन-फ़ंक्शन का उपयोग किया था, लेकिन TVout लाइब्रेरी का उपयोग करते समय, इससे बजर ठीक से काम नहीं कर रहा था। मैंने इसे टीवीआउट के टोन-फ़ंक्शन का उपयोग करने के लिए बदल दिया है, लेकिन इसका मतलब है कि टोन पिन पिन 15 होना चाहिए (atmega1284 के लिए)

सीरियल कम्युनिकेशन: चूंकि कीबोर्ड DIY है, यह पात्रों को पढ़ने के लिए सीरियल कम्युनिकेशन का उपयोग करता है। चूंकि atmega1284 का उपयोग यहां किया गया है, इसलिए दो उपलब्ध धारावाहिक संचार लाइनें हैं, और जब "सेरकॉम" सक्षम होता है, तो कोड सीरियल पोर्ट (कंप्यूटर या जो कुछ भी) के माध्यम से लिखने की अनुमति देता है।

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

चरण 5: विधानसभा

सभा
सभा
सभा
सभा
सभा
सभा

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

यहां इस्तेमाल किए गए मॉनिटर होल्डर को एक टॉगल स्विच (पीसीबी पर "स्विच" जम्पर से जुड़ा) और मॉनिटर के लिए तीन कंट्रोल बटन रखने के लिए भी डिज़ाइन किया गया है। धारक को प्लास्टिक M3 बोल्ट और स्पेसर के साथ बांधा जाता है।

पावर प्लग के लिए मैंने JST PCB कनेक्टर का उपयोग किया, हालाँकि एक स्लीक बैरल जैक थोड़ा अधिक स्मूथ होता। बोर्ड को बिजली देने के लिए, मैंने 12 वी बिजली की आपूर्ति या श्रृंखला में तीन 18650 बैटरी के बीच स्विच किया। मुझसे ज्यादा चिकना चरवाहा शायद बोर्ड के लिए एक स्लीक बैटरी होल्डर डिजाइन कर सकता है।

चरण 6: कीड़े और भविष्य का काम

एरो कीज़: एरो-कीज़ को गलती से लगा दिया गया था और यह ज्यादा काम नहीं करती थी। इससे नेविगेशन मुश्किल हो जाता है

फ़ाइल I/O: फ़ाइल I/O क्षमताएं मौजूद हैं लेकिन इन्हें लागू नहीं किया गया है। इससे निपटने के लिए, HAL1284Com सॉफ्टवेयर बोर्ड को फाइल अपलोड करने में सक्षम है। EEPROM पर अपलोड करना भी संभव है।

PEEK/POKE: PEEK और POKE का परीक्षण नहीं किया गया है, और मुझे यकीन नहीं है कि पते क्या हैं।

ब्रेक: ब्रेक (ईएससी) कभी-कभी पूरे कोड के साथ खिलवाड़ कर रहा है, जब अनंत लूप में।

पिन 7: DWRITE High या AWRITE 255 का प्रयास करते समय PWM पिन 7 मुश्किल हो सकता है। यह AWRITE 254 के साथ ठीक काम करता है।

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

सिफारिश की: