Voglio creare il mio dispositivo USB modulare utilizzando un ATtiny45 che invia semplicemente dati al PC tramite USB. Non sto leggendo i dati, quindi una connessione a senso unico (ATtiny -> PC) sarebbe completamente a posto.
Sto usando un Arduino Uno come ISP con lo sketch ArduinoISP standard caricato dal software Arduino. Sto pensando di utilizzare AVRDUDE per programmare ATtiny45 con Arduino come ISP perché voglio poter usare il codice C compilato in HEX poiché è più avanzato di Arduino Programming Langue.
I miei pensieri di base sul circuito:
Come puoi vedere, voglio una connessione USB "diretta". Finora so che devo usare una soluzione basata su software per questo.
Ho gestito SoftwareSerial per lavorare con il mio ATtiny45. Per questo ho usato il software Arduino per programmare ATtiny45 con il seguente codice:
#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); }
Si noti che non utilizzo Pin 3 (ancora) ma devo definirlo per SoftwareSerial.
In questo modo, utilizzando SoftwareSerial, sono stato in grado di inviare dati dall'ATtiny direttamente al pin TX del mio Arduino UNO su cui è stato caricato uno schizzo vuoto per questo test. Stavo usando il monitor seriale del software Arduino per leggere i dati su COM4 (nel mio caso) perché il mio PC non ha riconosciuto alcun dispositivo (porta COM) mentre provavo a collegare l'ATtiny programmato direttamente a un cavo USB.
Sfortunatamente ho ottenuto strani caratteri Unicode nel monitor seriale. Penso che sia perché i dati sono in formato esadecimale o giù di lì. Quindi ho notato che ho bisogno di collegare un convertitore USB / seriale tra l'USB e l'ATtiny45 ... Ho cercato tali convertitori, ma non voglio usare nessuna scheda prefabbricata, dal momento che voglio tutto i miei componenti su una singola scheda. Penso che un chip FTDI sarebbe troppo "troppo" per il mio progetto, no? (Ha pin troppo piccoli per saldare ...)
V-USB era quindi il mio secondo approccio, dal momento che non ha bisogno di un convertitore USB / seriale (come so). Quindi per usare V-USB avrei bisogno di usare AVRDUDE come ho detto prima.
Ho trovato questo bell'esempio V-USB EasyLogger . Contiene una progettazione di circuiti e un firmware di esempio. (C / C ++ / HEX)
L'unica cosa che voglio sapere è: devo davvero far sembrare il mio circuito come mostrato nell'esempio? ->
Cos'altro devo sapere su questo tipo di connessione USB? (Perché ho bisogno di un convertitore USB / seriale? Posso semplicemente collegare +5 e VCC? Di quali componenti ho assolutamente bisogno? Che tipo di segnale devo inviare tramite TX? Bit? Hex? Di quale tensione ha bisogno essere ? )
Grazie per tutte le tue risposte
AGGIORNARE
Ecco alcuni link adizionali che mi hanno davvero aiutato in alcuni punti. Ma non l'ho ancora capito del tutto ...
il primo -> http://www.ernstc.dk/arduino/tinycom.html
e il secondo -> http://www.re-innovation.co.uk/web12/index.php/en/blog-75/227-attiny-arduino (scorrere fino alla sezione "Uscita seriale")