मैं अपने खुद के यूएसबी गैजेट्स बनाना सीखना चाहता हूं


29

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

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

किसी को भी कुछ किट की सिफारिश कर सकते हैं कि एक पूर्ण noob के लिए उपयोगी होगा? आदर्श रूप में, वे हैं:

  • लिनक्स के अनुकूल
  • अंतरराष्ट्रीय स्तर पर जहाज चलाने में सक्षम (मैं वर्तमान में एशिया में रह रहा हूँ)
  • ब्रेडबोर्ड किट पेश करें

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

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

जवाबों:


26

Arduino वास्तव में लोकप्रिय है, और यह खुला स्रोत हार्डवेयर है, इसलिए वहाँ बदलाव होते रहते हैं तीसरे पक्ष के शामिल है, Freeduinos कहा जाता है नंगे हड्डियों बोर्ड , वास्तव में नंगे हड्डियों बोर्ड , और Boarduino , जो breadboards के साथ प्रयोग करने के लिए बहुत अच्छा कर रहे हैं। मानक Arduino को ढाल नामक चीजों का उपयोग करके अनुकूलित किया जाता है। आप अपनी खुद की ब्रेडबोर्ड ढाल बना सकते हैं या कुछ इस तरह की प्रोटोशील्ड किट खरीद सकते हैं

Arduino एक FTDI USB-RS232 चिप या केबल का उपयोग करता है । [मानक Arduino में इसका निर्माण होता है, जबकि अधिकांश ब्रेड बोर्ड वाले एक विशेष केबल का उपयोग करते हैं जिसमें चिप होती है, और आपको कुछ पैसे बचाता है।] लिनक्स के लिए एक अंतर्निहित ड्राइवर है, और मैक ओएस एक्स और विंडोज। उपयोगकर्ता ड्राइवर डाउनलोड कर सकते हैं। प्रभावी रूप से, इसका मतलब है कि Arduino एक सीरियल पोर्ट पर संचार करने वाले उपकरण के रूप में कार्य करता है, और इसलिए इसके साथ संचार करना बहुत आसान है।

इसका उपयोग करने के लिए, आप सॉफ्टवेयर भी डाउनलोड करते हैं। यह एक आईडीई, एक AVR-GCC टूलचैन, एक बहुत अच्छा पुस्तकालय और सॉफ्टवेयर के साथ चिप पर आपके प्रोग्राम को अपलोड करने के लिए आता है। यह आप से अधिकांश विवरण छिपाता है, और एक महान समुदाय है। इसे "वायरिंग" नामक भाषा में प्रोग्राम किया गया है, लेकिन यह वास्तव में C ++ है।

अंत में, ओपन-सोर्स हार्डवेयर होने के नाते, वहाँ योजनाबद्ध हैं। वास्तव में, मुझे यह पढ़ते हुए याद आता है कि पहले वाला मॉडल बनाना काफी आसान था। अपने पसंदीदा खोज इंजन में "Arduino schematics" के लिए खोज करने से आपको अच्छे परिणाम मिलेंगे।

किटों के लिए, मेकर शेड स्टॉक में बहुत सारे Arduino- संबंधित आइटम प्रदान करता है । वे दुनिया भर में जहाज बनाते दिखाई देते हैं। कुछ लोगों में शामिल हैं:

Wulfden पर शॉपी (यूएसए) एक अच्छा प्रयोगकर्ताओं किट है, और अंतरराष्ट्रीय स्तर पर जहाज के लिए प्रकट होता है।

Solarbotics (कनाडा) में ARDX Arduino Experimenter's Kit , एक Freeduino Starter बंडल - अल्टीमेट और एक Arduino Starter बंडल - बेसिक (और अल्टीमेट ) है, और यह अंतरराष्ट्रीय स्तर पर जहाज में आता है।

मुख्य Arduino के "खरीदने" पेज सूचियों दुनिया के सभी क्षेत्रों में विक्रेताओं Arduino।

मैं जिन अन्य स्थानों की जाँच करूँगा उनमें Adafruit Industries और Sparkfun Electronics (दोनों अमेरिका में) शामिल हैं।


1
वाह। उस समय के लिए धन्यवाद जो आपने इस तरह के सूचनात्मक उत्तर में डाला!
टिम पोस्ट

3
मैं यह सुनकर खुश हूं। जवाब लिखने के बाद, मैंने अपने आप से सोचा, "मैं विश्वास नहीं कर सकता कि मैंने इंटरनेट पर एक सवाल का जवाब देने में सिर्फ चालीस मिनट बिताए!"
क्लिंटन ब्लैकमोर

1
महान पोस्ट, लेकिन यह ध्यान दिया जाना चाहिए कि सभी Arduinos FTDI चिप का उपयोग नहीं करते हैं। उदाहरण के लिए, मैं ओएस एक्स के तहत अपने Arduino Uno R3 का उपयोग करता हूं जिसमें कोई ड्राइवर स्थापित नहीं है। (यह एक USB संचार के लिए एक Atmega 16U2 का उपयोग करता है।)
exscape

12

जब आप इलेक्ट्रॉनिक गैजेट्स बनाना चाहते हैं, तो Arduino एक बेहतरीन टूल है, और यह आपको डेटसनगर बनाने के अपने अंतिम लक्ष्य तक ले जा सकता है । हालाँकि, यह वास्तविक USB विकास के लिए उपयुक्त नहीं है क्योंकि यह एक पुराने ज़माने के सीरियल पोर्ट का अनुकरण करता है। यह आपको इसे किसी और चीज़ (जैसे कि मानव इंटरफ़ेस डिवाइस (माउस / कीबोर्ड) या मास स्टोरेज डिवाइस (कार्डरीडर / रिमूवेबल ड्राइव) में नहीं आने देगा।

यदि आप "असली" USB गैजेट्स बनाना चाहते हैं तो Jan Axelson की साइट देखें । वह USB के बारे में "शुरुआती" किताबें लिखता है। इस स्तर पर यूएसबी का उपयोग करने वाले गैजेट्स का विकास करना शुरुआती लोगों के लिए उपयुक्त नहीं हो सकता है, हालांकि Arduino अनुभव आपको अपने रास्ते पर निश्चित रूप से मिलेगा।


लिंक के लिए आपको धन्यवाद। मैं निश्चित रूप से इसे बाहर की जाँच करेगा एक बार 'प्रशिक्षण पहियों' बाहर आ :)
टिम पोस्ट

यह बिल्कुल सच नहीं है ... Arduino लियोनार्डो और सभी Atmega32u4 आधारित बोर्ड आपको HID और किसी भी अन्य कस्टम डिवाइस
दिमित्री गुसरोव

8

मैं अत्यधिक Tuxgraphics AVR USB स्लाइड शो प्रस्तुतकर्ता ट्यूटोरियल की सलाह देता हूं। यह एक Atmel AVR माइक्रोकंट्रोलर का उपयोग करता है, जिसमें एक बड़ा हॉबीस्ट कम्युनिटी (avrfreaks आदि) है, और एक ओपन-सोर्स सॉफ़्टवेयर-केवल usb1.1 है जो obdev.org से लिया गया है। यह बहुत उच्च (बड़े पैमाने पर भंडारण, उदाहरण के लिए) को स्केल नहीं कर सकता है, लेकिन अंतिम उत्पाद दो असाइन करने योग्य पुश-बटन के साथ थोड़ा यूएसबी छिपाई कीबोर्ड है। यह एक datalogger के रूप में तुच्छ उपयोग होगा, और obdev.org पर कुछ उदाहरण बस (www.obdev.at/products/vusb/projects.html) हैं। यह साफ सी में लिखा है, और भागों की सूची में कुछ डॉलर है।

उसी समय, मैं tuxgraphics avrusb500 प्रोग्रामर के निर्माण या खरीदने की सलाह देता हूं। यह उपयोग करने के लिए एक खुशी है, और मेरे पास उपकरणों के सबसे विश्वसनीय टुकड़ों में से एक है। (मैं संबद्ध नहीं हूँ - बस एक बहुत संतुष्ट ग्राहक!)


8

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

AT90USBKey और Linux के लिए एक Google खोज आशाजनक परिणाम दिखाती है।

मुझे पता है कि आप इसे DigiKey.ca से प्राप्त कर सकते हैं । मैंने एशिया के लिए एक समान रूप से देखा ; आप Farnell से हिस्सा प्राप्त कर सकते हैं ।


लिंक की गई साइट के अनुसार, ऐसा लग रहा है कि बोर्ड को जाटग के माध्यम से प्रोग्राम किया जा सकता है।
सिंगलएनजेशन इलेक्शन


6

यदि आप Arduino का उपयोग करते हुए समाप्त होते हैं, तो मैंने इस पर चलने के लिए V-USB (पूर्व में AVR-USB) लाइब्रेरी को पोर्ट किया है। यह बातचीत को आसान बनाने के लिए एक वर्ग के साथ भी लिपटा हुआ है।

आप इसके साथ USB HID डिवाइस बना सकते हैं, जैसे कीबोर्ड, माउस या जॉयस्टिक। आप एक सामान्य उपकरण भी बना सकते हैं जो इसे नियंत्रित करने के लिए मेजबान पर लिबास का उपयोग करता है - पायथन, सी, प्रोसेसिंग आदि से।

मेरी साइट में एक पीसीबी ढाल है जिसे आप USB सॉकेट और कुछ प्रतिरोधों आदि का उपयोग कर सकते हैं:

http://code.rancidbacon.com/ProjectLogArduinoUSB

आप आसानी से कीस्ट्रोक्स भेजने के लिए Arduino कोड लिख सकते हैं:

UsbKeyboard.sendKeyStroke(KEY_ENTER);

या लिबास "ड्राइवर" के साथ आप डेटा भेज सकते हैं जैसे:

UsbStream.write(0xff)

या इसके साथ डेटा पढ़ें:

UsbStream.read()

--Philip;


5

अब AVR-USB आधारित डेवलपर बोर्ड की एक संख्या है।

मैंने व्यक्तिगत रूप से पहले बताई गई टेनेसी और बम्बल-बी का उपयोग किया है और लगता है कि वे दोनों महान हैं।

Teensy अच्छा है, क्योंकि यह Arduino पर्यावरण के साथ वास्तव में अच्छी तरह से एकीकृत करता है। इसका मतलब है कि आप निम्न-स्तरीय USB कोड से निपटने के बजाय "Mouse.init; Mouse.move (x, y)" जैसी चीजें खुद कर सकते हैं। यदि आप चाहते हैं, तो दोनों LUFA चलाएंगे।



4

ऑब्जेक्ट डेवलपमेंट ने AVR माइक्रोकंट्रोलर्स के लिए एक लाइब्रेरी बनाई है जो आपको अपने दम पर बहुत सस्ते USB डिवाइस बनाने में सक्षम बनाती है (सिर्फ 2-3 डॉलर से शुरू)। AVR के लिए GCC लिनक्स के अनुकूल है। पहले से ही बनाए गए उपकरणों के hudreds हैं। यहां देखें: http://www.obdev.at/products/vusb/projects.html


0

यह इस बात पर निर्भर करता है कि आप किस तरह के USB गैजेट्स बनाना चाहते हैं, और कितने उन्नत स्तर पर हैं। आप निमिष का उल्लेख करते हैं। इस तरह के नियंत्रण को आसानी से किसी भी प्रकार के माइक्रोकंट्रोलर के साथ uart और एक ftdi चिप के साथ रखा जा सकता है (arduino बहुत लोकप्रिय है, और एक को शुरू करना आसान है)। Ftdi चिप क्रमिक रूप से uC से जुड़ती है, और सीरियल <-> USB कनवर्टर की तरह कार्य करती है। यह आपके कंप्यूटर पर वर्चुअल COM-पोर्ट के रूप में भी दिखाई देता है।

यदि आप अधिक उन्नत यूएसबी प्रोटोकॉल, ड्राइवरों और सुविधाओं का उपयोग करना चाहते हैं, तो आप देशी यूएसबी क्षमता के साथ एक यूसी प्राप्त कर सकते हैं। माइक्रोचिप में कई पिक्स (उनके माइक्रोकंट्रोलर) होते हैं जो उदाहरण के लिए ऐसा कर सकते हैं। माइक्रोचिप में कई विकास बोर्ड भी हैं जो यूएसबी का उपयोग करने के लिए सीखने के लिए समर्पित हैं। Atleast Microchips 32-बिट uC सपोर्ट भी होस्ट करता है, और otg -modes, ताकि आप एक datalogger का निर्माण कर सकें जो डेटा को एक आम यूएसबी मेमोरी स्टिक से बचाता है, जिसे आप डेटा पढ़ने के लिए अपने कंप्यूटर पर प्लग कर सकते हैं। (मुझे यकीन है कि कई अन्य निर्माताओं में भी समान आईसी और देव-किट हैं, लेकिन माइक्रोचिप केवल एक ही है जिसका मैंने उपयोग किया है)

माइक्रोचिप का मुखपृष्ठ / USB


0

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

http://www.yoctopuce.com

http://www.phidgets.com

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