Saya ingin membuat perangkat USB modular saya sendiri menggunakan ATtiny45 yang hanya mengirim data ke PC melalui USB. Saya tidak membaca data, jadi koneksi satu arah (ATtiny -> PC) akan baik-baik saja.
Saya menggunakan Arduino Uno sebagai ISP dengan sketsa ArduinoISP standar yang dimuat dari dalam Perangkat Lunak Arduino. Saya sedang berpikir untuk menggunakan AVRDUDE untuk memprogram ATtiny45 dengan Arduino sebagai ISP karena saya ingin dapat menggunakan kode C yang dikompilasi ke HEX karena lebih maju daripada Bahasa Pemrograman Arduino.
Pikiran dasar saya tentang sirkuit:
Seperti yang Anda lihat, saya ingin koneksi USB "langsung". Sejauh ini saya tahu bahwa saya harus menggunakan solusi berbasis perangkat lunak untuk ini.
Saya telah mengelola SoftwareSerial untuk bekerja dengan ATtiny45 saya. Untuk ini saya telah menggunakan Perangkat Lunak Arduino untuk Memprogram ATtiny45 dengan kode berikut:
#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); }
Harap dicatat bahwa saya tidak menggunakan Pin 3 (belum) tetapi saya harus mendefinisikannya untuk SoftwareSerial.
Dengan cara ini, menggunakan SoftwareSerial, saya dapat mengirim data dari ATtiny langsung ke pin TX dari Arduino UNO saya yang memiliki sketsa kosong dimuat ke dalamnya untuk pengujian ini. Saya menggunakan Monitor Seri Perangkat Lunak Arduino untuk membaca data pada COM4 (dalam kasus saya) karena PC saya tidak mengenali perangkat apa pun (port COM) karena saya telah mencoba untuk menghubungkan ATtiny yang diprogram secara langsung ke kabel USB.
Sayangnya saya hanya mendapatkan karakter unik unicode di Serial Monitor. Saya pikir itu karena data dalam format hex atau lebih. Jadi saya perhatikan bahwa saya harus menghubungkan USB / Serial Converter antara USB dan ATtiny45 ... Saya sudah mencari konverter seperti itu, tetapi saya tidak ingin menggunakan papan pre-made, karena saya ingin semua komponen saya di satu papan. Saya pikir chip FTDI akan terlalu "banyak" untuk proyek saya, bukan? (Memiliki pin terlalu kecil untuk disolder ...)
V-USB adalah pendekatan kedua saya, karena tidak memerlukan konverter USB / Serial (seperti yang saya tahu). Jadi untuk menggunakan V-USB saya perlu menggunakan AVRDUDE seperti yang saya sebutkan sebelumnya.
Saya telah menemukan contoh yang bagus ini V-USB EasyLogger . Ini berisi desain sirkuit dan contoh firmware. (C / C ++ / HEX)
Satu-satunya hal yang ingin saya ketahui adalah: Apakah saya benar-benar perlu membuat rangkaian saya terlihat seperti yang ditunjukkan dalam contoh? ->
Apa lagi yang perlu saya ketahui tentang koneksi USB semacam ini? (Mengapa saya memerlukan konverter USB / Serial? Dapatkah saya menghubungkan +5 & VCC? Komponen apa yang benar-benar saya butuhkan? Sinyal apa yang harus saya kirim melalui TX? Bit? Hex? Tegangan apa yang dibutuhkan? menjadi ? )
Terima kasih atas semua jawaban Anda.
MEMPERBARUI
Berikut adalah beberapa tautan tambahan yang benar-benar membantu saya dalam beberapa hal. Tapi aku masih belum memahaminya sepenuhnya ...
yang pertama -> http://www.ernstc.dk/arduino/tinycom.html
dan yang kedua -> http://www.re-innovation.co.uk/web12/index.php/en/blog-75/227-attiny-arduino (gulir ke bawah ke bagian "Serial Output")