ฉันต้องการสร้างอุปกรณ์ USBแบบแยกส่วนของตัวเองโดยใช้ ATtiny45ที่เพียงแค่ส่งข้อมูลไปยังพีซีผ่านทาง USB ฉันไม่ได้อ่านข้อมูลดังนั้นการเชื่อมต่อทางเดียว (ATtiny -> PC) ก็ไม่เป็นไร
ฉันใช้Arduino Uno เป็น ISPพร้อมร่าง ArduinoISP มาตรฐานที่โหลดจากภายในซอฟต์แวร์ Arduino ฉันคิดว่าจะใช้ AVRDUDE เพื่อเขียนโปรแกรม ATtiny45 กับ Arduino เป็น ISP เพราะฉันต้องการที่จะใช้รหัส C ที่คอมไพล์กับ HEX เพราะมันเป็นขั้นสูงกว่า Arduino Programming Langue
ความคิดพื้นฐานของฉันเกี่ยวกับวงจร:
อย่างที่คุณเห็นฉันต้องการการเชื่อมต่อ USB "โดยตรง" จนถึงตอนนี้ฉันรู้ว่าฉันต้องใช้โซลูชันซอฟต์แวร์พื้นฐานสำหรับเรื่องนี้
ฉันจัดการSoftwareSerialเพื่อทำงานกับ ATtiny45 ของฉันแล้ว สำหรับสิ่งนี้ฉันได้ใช้ซอฟต์แวร์ Arduino เพื่อเขียนโปรแกรม ATtiny45 ด้วยรหัสต่อไปนี้:
#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); }
โปรดทราบว่าฉันไม่ได้ใช้ Pin 3 (ยัง) แต่ฉันจำเป็นต้องกำหนดสำหรับ SoftwareSerial
ด้วยวิธีนี้โดยใช้ SoftwareSerial ฉันสามารถส่งข้อมูลจาก ATtiny โดยตรงไปยังเข็มหมุด TX ของ Arduino UNO ของฉันที่มีร่างเปล่าโหลดไว้สำหรับการทดสอบนี้ ฉันกำลังใช้ Serial Monitor ของซอฟต์แวร์ Arduino เพื่ออ่านข้อมูลใน COM4 (ในกรณีของฉัน) เพราะพีซีของฉันไม่รู้จักอุปกรณ์ใด ๆ (พอร์ต COM) เนื่องจากฉันพยายามขอ ATtiny ที่ตั้งโปรแกรมไว้โดยตรงกับสาย USB
น่าเสียดายที่ฉันมีอักขระ Unicode แปลก ๆ ใน Serial Monitor ฉันคิดว่าเป็นเพราะข้อมูลอยู่ในรูปแบบเลขฐานสิบหกหรือมากกว่านั้น ดังนั้นฉันจึงสังเกตเห็นว่าฉันต้องเชื่อมต่อตัวแปลง USB / อนุกรมกับ USB และ ATtiny45 ... ฉันได้ค้นหาตัวแปลงดังกล่าว แต่ฉันไม่ต้องการใช้บอร์ดที่สร้างไว้ล่วงหน้าเนื่องจากฉันต้องการทั้งหมด ส่วนประกอบของฉันในบอร์ดเดียว ฉันคิดว่าชิป FTDI จะมีวิธี "มาก" เกินไปสำหรับโครงการของฉันใช่ไหม (มีพินเล็กเกินกว่าที่จะบัดกรี ... )
V-USBเป็นวิธีที่สองของฉันเนื่องจากไม่ต้องการตัวแปลง USB / อนุกรม (เท่าที่ฉันรู้) ดังนั้นในการใช้ V-USB ฉันจำเป็นต้องใช้ AVRDUDE ตามที่ได้กล่าวไปแล้ว
ฉันได้พบตัวอย่างที่ดีEasyLogger V-USB มันมีการออกแบบวงจรและเฟิร์มแวร์ตัวอย่าง (C / C ++ / HEX)
สิ่งเดียวที่ฉันอยากรู้คือฉันต้องทำให้วงจรของฉันเหมือนที่แสดงในตัวอย่างหรือไม่? ->
ฉันต้องทราบอะไรอีกบ้างเกี่ยวกับการเชื่อมต่อ USB ชนิดนี้ (เหตุใดฉันจึงต้องใช้ตัวแปลง USB / อนุกรมฉันสามารถขอ +5 & VCC ได้ไหมฉันต้องใช้องค์ประกอบใดบ้างฉันต้องส่งสัญญาณประเภทใดใน TX TX บิตบิตฐานสิบหกแรงดันไฟฟ้าใดที่ต้องการ เป็น ? )
ขอขอบคุณสำหรับทุกคำตอบของคุณ.
UPDATE
นี่คือลิงค์ aditional ที่ช่วยฉันจริงๆในบางจุด แต่ฉันก็ยังไม่เข้าใจมันอย่างเต็มที่ ...
อันแรก -> http://www.ernstc.dk/arduino/tinycom.html
และครั้งที่สอง -> http://www.re-innovation.co.uk/web12/index.php/en/blog-75/227-attiny-arduino (เลื่อนลงไปที่ส่วน "ซีเรียลเอาท์พุท")