विषयसूची:

DemUino - होम कंप्यूटर/नियंत्रक: ७ कदम
DemUino - होम कंप्यूटर/नियंत्रक: ७ कदम

वीडियो: DemUino - होम कंप्यूटर/नियंत्रक: ७ कदम

वीडियो: DemUino - होम कंप्यूटर/नियंत्रक: ७ कदम
वीडियो: Boy uses umbrella to prevent elevator door from closing, causes free fall 2024, नवंबर
Anonim
Image
Image
बूटलोडर को जलाना
बूटलोडर को जलाना

DemeterArt द्वारा एक Arduino प्रेरित कंप्यूटर अपने पुराने PS2 कीबोर्ड का अधिकतम लाभ उठाएं। सामान को नियंत्रित करने के लिए इसे एक अनुकूलित व्यक्तिगत कंप्यूटर में हैक करें! मैं हमेशा अपना खुद का होम कंप्यूटर बनाना चाहता था, एक तरह की रेट्रो-शैली, कुछ भी फैंसी नहीं बल्कि मेरी प्राथमिकताओं के अनुरूप विशेष क्षमताओं के साथ। तो, मैं इसे atmega328 MCU और Arduino डेवलपमेंट किट के साथ मिला।

मैं बता दूं कि यह परियोजना संदिग्ध अंतिम परिणामों के साथ काफी अधिक समय लेती यदि यह उन प्रतिभाशाली प्रशंसकों के लिए नहीं होती जो स्वार्थी रूप से हर किसी के उपयोग के लिए फ्रीवेयर पुस्तकालयों की आपूर्ति करते हैं। आप सभी को धन्यवाद:-)

पूरी कहानी पढ़ने और सभी प्रासंगिक फाइलों को डाउनलोड करने के लिए मेरी साइट पर जाएं

www.sites.google.com/site/demeterart

चरण 1: विशेषताएं

  • 32KB फ्लैश, 2KB SRAM और 1KB EEPROM के साथ ATMEGA328 पर आधारित।
  • इंटरैक्टिव और बैच मोड के लिए समर्थन
  • लाइन संपादक और सूची-समय-संपादन मोड
  • उपयोगकर्ता ग्राफिक्स के लिए 8 कस्टम वर्ण
  • ६० प्रोग्राम चरण क्रमांकित ००,…, ९९
  • 'अगर' सशर्त, 'जबकि' और 'लूप' के लिए प्लस 'गोटो' और ब्रांचिंग के लिए 'सब' स्टेटमेंट
  • बुनियादी अंकगणित और गणितीय अभिव्यक्ति प्लस बूलियन परीक्षण
  • सिस्टम चर समयबद्ध घटनाओं, औसत, आरएमएस, न्यूनतम और अधिकतम मूल्यों को एनालॉग पिन, आदि से अनुमति देते हैं
  • सिस्टम चर और कमांड के साथ बातचीत करने के लिए 26 उपयोगकर्ता चर
  • उपयोगकर्ता के पता योग्य सरणी के १०४ बाइट्स या ५२ लघु पूर्णांक
  • प्रोग्राम डेटा के साथ-साथ कोड ऑन-द-फ्लाई (पी चर) को पढ़ने/लिखने की क्षमता
  • छद्म ग्राफिक्स के लिए अनुकूलित पात्रों के साथ मिनी ऑसिलोस्कोप ऐप
  • प्रोग्राम और डेटा को EEPROM में/से सहेजें और लोड करें
  • लोड/सहेजें प्रोग्राम और चर/से पीसी
  • प्रत्येक रीसेट के बाद EEPROM से प्रोग्राम लोड करने और चलाने में autoexec
  • 9 GPIO पिन (SPI शामिल) बाहरी DB15 कनेक्टर पर उपलब्ध है
  • ध्वनि प्रभाव के लिए बजर

चरण 2: सामान जिसकी आपको आवश्यकता होगी

पीसीबी एलसीडी कैरेक्टर डिस्प्ले (लोकप्रिय समानांतर प्रारूप) RS232 पोर्ट atmel atmega328PU Arduino डेवलपमेंट किट के लिए IDE 1.0.1 LM7805 रेगुलेटर 5V बजर ब्रिज रेक्टिफायर, कैपेसिटर, एक रीसेट पुश बटन के साथ एक पुराना ps/2 कीबोर्ड काफी मोटा है। कनेक्टर्स आदि

चरण 3: बूटलोडर को जलाना

इसलिए, एक 'खाली' atmega328PU चिप खरीदने के बाद निर्णय लिया जाना है। क्या मैं बाहरी या ISP किसी विशेष प्रोग्रामर का उपयोग करता हूं या क्या मैं Arduino बूटलोडर को जानवर में जलाता हूं और यूनिट को उसके UART पोर्ट के माध्यम से प्रोग्राम करने योग्य बनाता हूं? मैंने अपने जीवन को आसान बनाने के लिए बाद वाले को चुना! नया बूटलोडर केवल आधा किलोबाइट फ्लैश मेमोरी पर कब्जा कर लेता है, जिससे उपयोगकर्ता प्रोग्राम और स्थिर डेटा के 31KB से थोड़ा अधिक उपलब्ध होता है। Arduino साइट एक नई चिप पर बूटलोडर को जलाने के मामले को कवर करती है, जब यह वास्तव में लक्ष्य चिप को जलाने के लिए avrdude का उपयोग करने की बात आती है, तो प्रक्रिया विशेष MCU के लिए गलत आईडी का संकेत देने वाली त्रुटि के साथ विफल हो गई। तो कुछ खोज के बाद मुझे यह आदमी मिला जिसने इसे सही पाया और मैंने उसकी प्रक्रिया का पालन किया। केवल अंतर 2 कॉन्फ़िगरेशन फ़ाइलों का था, avrdude.conf और board.txt को इसे संभव बनाने के लिए avrdude और arduino IDE 1.0.1 की आवश्यकता थी। 2 फाइलों को उनके उचित स्थानों पर कॉपी करने के बाद (पहले पुराने का बैकअप लें) टूल-> बोर्ड से 'arduino328' विकल्प उपलब्ध था और avrdude फ़्यूज़ और बूटलोडर को जलाने के साथ आगे बढ़ा। अब चिप नई मशीन के भीतर से प्रोग्राम करने के लिए तैयार है!

चरण 4: इकाई का निर्माण

यूनिट का निर्माण
यूनिट का निर्माण
यूनिट का निर्माण
यूनिट का निर्माण

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

मेरा सुझाव है कि MAX232 चार्ज पंपों के लिए नॉनपोलर 1uF/16V कैपेसिटर का उपयोग किया जाता है। संबंधित वीसीसी और जीएनडी पिन के जितना संभव हो सके दो चिप्स के लिए 100nF डिकूपिंग कैपेसिटर का पता लगाएँ। LM7805 रेगुलेटर के संदर्भ में पावर और ग्राउंड के लिए स्टार कनेक्शन का उपयोग करें। स्विच 2 इम्पेमेंटेशन के आधार पर एक जम्पर हो सकता है लेकिन कुछ मामलों में होस्ट पीसी से अवांछित एमसीयू रीसेट से बचने के लिए यह अच्छा है। किसी भी दर पर, Arduino IDE को लक्ष्य MCU (RS232 का पिन DTR) को रीसेट करके स्केच को जलाने की अनुमति देने के लिए स्विच को बंद किया जाना चाहिए। मेरे मामले में कनेक्शन स्थायी है (हमेशा बंद)। ड्राइविंग गेट से कई एनएफ कैपेसिटेंस को अलग करने के लिए बजर के लिए एक श्रृंखला प्रतिरोधी का उपयोग करें … आप कभी नहीं जानते.. नियंत्रक के संबंधित पिन के जितना संभव हो सके एक्सटीएएल और लोडिंग 18-22 पीएफ कैपेसिटर्स का पता लगाएं।

रेक्टिफायर ब्रिज के कारण यूनिट को एसी और डीसी पावर एडेप्टर दोनों द्वारा संचालित किया जा सकता है। डीसी के मामले में, एडॉप्टर और रेगुलेटर के इनपुट के बीच 1.5 वी वोल्टेज ड्रॉप होता है। एसी के मामले में रेगुलेटर का इनपुट एडॉप्टर के आरएमएस आउटपुट का लगभग 1.4 गुना या लोडिंग के कारण कम होता है। यदि नियामक के इनपुट और उसके आउटपुट (+5V) के बीच का अंतर बड़ा है, जैसे 7 वोल्ट, तो नियामक द्वारा खपत की जाने वाली शक्ति 0.5 वाट तक पहुंच जाती है और एक छोटे से हीटसिंक का उपयोग करना बेहतर होता है जिस पर चिप को माउंट किया जाता है (बशर्ते इसके लिए जगह है) गर्म मौसम में लंबे समय तक संचालन के लिए।

आपके बाहरी भार (DB15 कनेक्टर के माध्यम से) के आधार पर AC इनपुट फ़्यूज़ का चयन किया जा सकता है। अन्य कारक जो फ्यूज पसंद को प्रभावित करते हैं, वे हैं एलसीडी की एलईडी बैकलाइट के लिए वर्तमान सीमित अवरोधक, चार्जिंग करंट के लिए ब्रिज कैपेसिटर और आपूर्ति ट्रांसफार्मर की वर्तमान क्षमता।

चरण 5: योजनाबद्ध

योजनाबद्ध
योजनाबद्ध

चरण 6: सॉफ्टवेयर ऑनबोर्ड चल रहा है

यह वह स्केच है जो यह सब करता है… और 32KB पर्याप्त नहीं है! आप या तो इसे असंशोधित उपयोग कर सकते हैं, इस मामले में मैं अपने नाम के संदर्भ की सराहना करता हूं, या इसे इच्छानुसार बदल देता हूं और मेरे बारे में भूल जाता हूं;-)

यह मशीन के बारे में विस्तृत दस्तावेज है।

कमांड और एक्सप्रेशन का सारांश

: एक गैर-मुद्रण योग्य टिप्पणी पंक्ति

एआई: इंटरप्ट 0 संलग्न करें (पिन डी 2)

एआर: एनालॉग पढ़ें

aw: 'एनालॉग राइट' प्रति arduino या अधिक ठीक से pwm

सीए: एक सरणी में एनालॉग कैप्चर

cl: डिस्प्ले cno को साफ करता है: रिटर्न *Prgm लाइन नंबर का इंडेक्स

di: दालों की एक श्रृंखला की प्रतीक्षा करें और अवधि और समय मापें

डीएल: देरी

करो: 'क' के साथ संयोजन में

डॉ: डिजिटल कोई भी पिन पढ़ें

dw: डिजिटल कोई भी पिन लिखें

एड: पीसी / रेनंबर लाइनों से संपादक मोड / लोड प्रोग्राम

एल: EEPROM एक्सेस फंक्शन

अंत: एक कार्यक्रम का अंत विवरण

एनएसबी: सबरूटीन समाप्त करता है

es: EEPROM एक्सेस फंक्शन

fl: सरल चलती औसत फ़िल्टर

fr: अगले लूप के लिए (fr-nx)

गो: प्रोग्राम स्टेप पर जाएं

gosb: सबरूटीन के लिए निष्पादन जारी रखें

gt: उपयोगकर्ता इनपुट की प्रतीक्षा करता है

अगर: स्थिति का परीक्षण करें और कदम पर जाएं

आईओ: जीपीआईओ 1-9 बिट्स

ld: EEPROM से प्रोग्राम लोड/मर्ज करें

lp:: इंटरेक्टिव मोड में कीबोर्ड नियंत्रित लूप

ls: सूची मोड / पीसी को एक बार में एक लाइन प्रोग्राम भेजें

एमएल: समय प्राप्त करें

मिमी: मुक्त स्मृति प्रदर्शित करें

nos: संख्या को स्ट्रिंग में कनवर्ट करता है

nx: 'fr' के साथ संयोजन में

pl: प्लॉट सरणी cxx

अपराह्न: इन या आउटपुट के लिए पिन सेट करें

पीआर: एक संदेश या मूल्य या कस्टम चरित्र प्रिंट करता है

rgc: सरणियों के लिए रेंज कॉपी कमांड

आरजीएस: सरणियों के लिए रेंज सेट कमांड

आरएन: रैम में प्रोग्राम चलाएं

रुपये: सॉफ्ट रीसेट

rx: RS232 के माध्यम से एक वर्ण प्राप्त करें

सी: घड़ी और डेटा पिन के साथ तुल्यकालिक सीरियल इनपुट

एसएम: मिनी ऑसिलोस्कोप ऐप स्नो: स्ट्रिंग को संख्या में परिवर्तित करता है

तो: घड़ी और डेटा पिन के साथ तुल्यकालिक सीरियल आउटपुट

उप: सबरूटीन घोषित करता है

sv: प्रोग्राम को EEPROM में सेव करें

टीएन: बीप ए टोन

tx: RS232. के माध्यम से एक संख्या संचारित करें

wh: 'डू' के संयोजन के साथ प्रयोग किया जाने वाला एक डू-लूप लूप

चरण 7: मिनी ऐप 'एसएम' का वीडियो क्लिप चल रहा है

पूरी कहानी पढ़ने और सभी प्रासंगिक फाइलों को डाउनलोड करने के लिए मेरी साइट पर जाएं

www.sites.google.com/site/demeterart

सिफारिश की: