मैं एक ATtiny45 का उपयोग करके अपने स्वयं के मॉड्यूलर यूएसबी डिवाइस बनाना चाहता हूं जो बस यूएसबी पर पीसी को डेटा भेजता है। मैं डेटा नहीं पढ़ रहा हूं, इसलिए एक ही रास्ता (एटीटीनी -> पीसी) कनेक्शन पूरी तरह से ठीक होगा।
मैं Arduino Uno का उपयोग ISP के रूप में मानक ArduinoISP स्केच के साथ Arduino Software के भीतर से लोड किए गए ISP के रूप में कर रहा हूं । मैं AVP के रूप में Arduino के साथ ATtiny45 को ISP के रूप में प्रोग्राम करने के लिए AVRDUDE का उपयोग करने के बारे में सोच रहा हूं क्योंकि मैं HEX के लिए संकलित C कोड का उपयोग करने में सक्षम होना चाहता हूं क्योंकि यह Arduino प्रोग्रामिंग लैंग्वेज से अधिक उन्नत है।
सर्किट के मेरे मूल विचार:
जैसा कि आप देख सकते हैं, मुझे "प्रत्यक्ष" यूएसबी कनेक्शन चाहिए। अब तक मैं जानता हूं कि मुझे इसके लिए एक सॉफ्टवेयर आधारित समाधान का उपयोग करना होगा।
मैंने अपने ATtiny45 के साथ काम करने के लिए SoftwareSerial प्रबंधित किया है । इसके लिए मैंने निम्नलिखित कोड के साथ ATtiny45 को प्रोग्राम करने के लिए Arduino सॉफ़्टवेयर का उपयोग किया है:
#include <SoftwareSerial.h> #define rxPin 3 #define txPin 4 SoftwareSerial serial(rxPin, txPin); void setup() { pinMode(rxPin, INPUT); pinMode(txPin, OUTPUT); pinMode(led, OUTPUT); serial.begin(4800); } void loop() { serial.println("1"); delay(1000); }
कृपया ध्यान दें कि मैं पिन 3 (अभी तक) का उपयोग नहीं करता हूं, लेकिन मुझे सॉफ़्टवेयरसियर के लिए इसे परिभाषित करने की आवश्यकता है।
इस तरह, SoftwareSerial का उपयोग करते हुए, मैं अपने Arduino UNO के TX पिन में सीधे ATtiny से डेटा भेजने में सक्षम था जो इस परीक्षण के लिए उस पर लोड किया गया एक खाली स्केच था। मैं COM4 पर डेटा को पढ़ने के लिए (मेरे मामले में) Arduino सॉफ़्टवेयर के सीरियल मॉनिटर का उपयोग कर रहा था क्योंकि मेरे पीसी ने किसी भी डिवाइस (COM पोर्ट) को नहीं पहचाना है क्योंकि मैंने प्रोग्राम किए गए एटीटीनी को सीधे एक यूएसबी केबल पर हुक करने की कोशिश की है।
दुर्भाग्य से मुझे केवल सीरियल मॉनिटर में अजीब यूनिकोड वर्ण मिले। मुझे लगता है कि यह इसलिए है क्योंकि डेटा हेक्स प्रारूप में है। इसलिए मैंने देखा है कि मुझे USB / Serial Converter को USB और ATtiny45 से कनेक्ट करने की आवश्यकता है ... मैंने ऐसे कन्वर्टर्स की खोज की है, लेकिन मैं किसी भी पूर्व-निर्मित बोर्ड का उपयोग नहीं करना चाहता, क्योंकि मैं चाहता हूं कि सभी एक बोर्ड पर मेरे घटक। मुझे लगता है कि मेरे प्रोजेक्ट के लिए एक एफडीडीआई चिप बहुत "अधिक" होगी, है ना? (यह मिलाप करने के लिए बहुत छोटे पिन है ...)
वी-यूएसबी तब मेरा दूसरा दृष्टिकोण था, क्योंकि इसमें यूएसबी / सीरियल कनवर्टर (जैसा कि मुझे पता है) की आवश्यकता नहीं है। इसलिए वी-यूएसबी का उपयोग करने के लिए मुझे AVRDUDE का उपयोग करना होगा जैसा कि मैंने पहले उल्लेख किया है।
मुझे यह अच्छा उदाहरण वी-यूएसबी ईज़ीलॉगर मिला है । इसमें एक सर्किट डिजाइन और उदाहरण फर्मवेयर शामिल है। (C / C ++ / HEX)
केवल एक चीज जो मैं जानना चाहता हूं वह यह है: क्या मुझे वास्तव में उदाहरण में दिखाए गए मेरे सर्किट की तरह दिखने की आवश्यकता है? ->
इस तरह के यूएसबी कनेक्शन के बारे में मुझे और क्या जानने की जरूरत है? (मुझे USB / सीरियल कनवर्टर की आवश्यकता क्यों है? क्या मैं सिर्फ +5 & VCC को हुक कर सकता हूं? मुझे किन घटकों की आवश्यकता है? मुझे TX-बिट्स के माध्यम से किस तरह के संकेत की आवश्यकता है? हेक्स? किस वोल्टेज की आवश्यकता है? होने के लिए ? )
आपके सभी उत्तर के लिए धन्यवाद।
अपडेट करें
यहां कुछ विशेष लिंक दिए गए हैं जो वास्तव में कुछ बिंदुओं में मेरी मदद करते हैं। लेकिन मैं अभी भी इसे पूरी तरह से समझ नहीं पाया था ...
पहला एक -> http://www.ernstc.dk/arduino/tinycom.html
और दूसरा -> http://www.re-innovation.co.uk/web12/index.php/en/blog-75/227-attiny-arduino ("सीरियल आउटपुट" खंड पर स्क्रॉल करें)