Tôi muốn tạo một thiết bị USB mô-đun của riêng mình bằng ATtiny45 chỉ đơn giản là gửi dữ liệu tới PC qua USB. Tôi không đọc dữ liệu, vì vậy một kết nối (ATtiny -> PC) sẽ hoàn toàn ổn.
Tôi đang sử dụng Arduino Uno với tư cách là ISP với bản phác thảo ArduinoISP tiêu chuẩn được tải từ bên trong Phần mềm Arduino. Tôi đang nghĩ đến việc sử dụng AVRDUDE để lập trình ATtiny45 với Arduino là ISP vì tôi muốn có thể sử dụng mã C được biên dịch sang HEX vì nó tiên tiến hơn Langue Lập trình Arduino.
Suy nghĩ cơ bản của tôi về mạch:
Như bạn thấy, tôi muốn có kết nối USB "trực tiếp". Cho đến nay tôi biết rằng tôi phải sử dụng một giải pháp dựa trên phần mềm cho việc này.
Tôi đã quản lý SoftwareSerial để làm việc với ATtiny45 của mình. Để làm điều này, tôi đã sử dụng Phần mềm Arduino để lập trình ATtiny45 với mã sau:
#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); }
Xin lưu ý rằng tôi không sử dụng Pin 3 (chưa) nhưng tôi cần xác định nó cho SoftwareSerial.
Bằng cách này, bằng cách sử dụng SoftwareSerial, tôi có thể gửi dữ liệu từ ATtiny trực tiếp vào chân TX của Arduino UNO của tôi có một bản phác thảo trống được tải lên cho bài kiểm tra này. Tôi đang sử dụng Trình giám sát nối tiếp của Phần mềm Arduino để đọc dữ liệu trên COM4 (trong trường hợp của tôi) vì PC của tôi không nhận ra bất kỳ thiết bị nào (cổng COM) khi tôi cố gắng nối trực tiếp ATtiny được lập trình vào cáp USB.
Thật không may, tôi chỉ có các ký tự unicode lạ trong Trình giám sát nối tiếp. Tôi nghĩ đó là vì dữ liệu ở định dạng hex. Vì vậy, tôi nhận thấy rằng tôi cần kết nối Bộ chuyển đổi USB / Nối tiếp với USB và ATtiny45 ... Tôi đã tìm kiếm các bộ chuyển đổi như vậy, nhưng tôi không muốn sử dụng bất kỳ bảng được tạo sẵn nào, vì tôi muốn tất cả các thành phần của tôi trên một bảng duy nhất. Tôi nghĩ rằng một con chip FTDI sẽ quá "nhiều" cho dự án của tôi, phải không? (Nó có các chân quá nhỏ để hàn ...)
V-USB sau đó là cách tiếp cận thứ hai của tôi, vì nó không cần bộ chuyển đổi USB / Nối tiếp (như tôi biết). Vì vậy, để sử dụng V-USB, tôi sẽ cần sử dụng AVRDUDE như tôi đã đề cập trước đó.
Tôi đã tìm thấy ví dụ tuyệt vời này V-USB EasyLogger . Nó chứa một thiết kế mạch và phần mềm ví dụ. (C / C ++ / HEX)
Điều duy nhất tôi muốn biết là: Tôi có thực sự cần phải làm cho mạch của mình trông giống như trong ví dụ không? ->
Tôi cần biết gì nữa về loại kết nối USB này? (Tại sao tôi cần bộ chuyển đổi USB / Nối tiếp? Tôi có thể kết nối +5 & VCC không? Tôi hoàn toàn cần những thành phần nào? Tôi cần loại tín hiệu nào để gửi qua TX? Bit? Hex? Điện áp nào cần được ? )
Cảm ơn tất cả các câu trả lời của bạn.
CẬP NHẬT
Dưới đây là một số liên kết quảng cáo thực sự giúp tôi trong một số điểm. Nhưng tôi vẫn chưa hiểu hết ...
cái đầu tiên -> http://www.ernstc.dk/arduino/tinycom.html
và thứ hai -> http://www.re-innovation.co.uk/web12/index.php/en/blog-75/227-attiny-arduino (cuộn xuống phần "Đầu ra nối tiếp")