Je veux créer mon propre périphérique USB modulaire à l' aide d'un ATtiny45 qui envoie simplement des données au PC via USB. Je ne lis pas de données, donc une connexion à sens unique (ATtiny -> PC) serait tout à fait correcte.
J'utilise un Arduino Uno en tant que FAI avec le croquis ArduinoISP standard chargé à partir du logiciel Arduino. Je pense utiliser AVRDUDE pour programmer l'ATtiny45 avec l'Arduino en tant que FAI car je veux pouvoir utiliser le code C compilé en HEX car il est plus avancé que l'Arduino Programming Langue.
Mes pensées de base sur le circuit:
Comme vous pouvez le voir, je veux une connexion USB "directe". Jusqu'à présent, je sais que je dois utiliser une solution logicielle pour cela.
J'ai réussi SoftwareSerial à fonctionner avec mon ATtiny45. Pour cela, j'ai utilisé le logiciel Arduino pour programmer l'ATtiny45 avec le code suivant:
#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); }
Veuillez noter que je n'utilise pas (encore) la broche 3 mais je dois le définir pour SoftwareSerial.
De cette façon, en utilisant SoftwareSerial, j'ai pu envoyer des données de l'ATtiny directement dans la broche TX de mon Arduino UNO qui avait un croquis vierge chargé dessus pour ce test. J'utilisais le moniteur série du logiciel Arduino pour lire les données sur COM4 (dans mon cas) parce que mon PC n'a reconnu aucun appareil (port COM) car j'ai essayé de raccorder l'ATtiny programmé directement à un câble USB.
Malheureusement, je n'ai obtenu que d'étranges caractères Unicode dans le moniteur série. Je pense que c'est parce que les données sont au format hexadécimal. J'ai donc remarqué que je dois connecter un convertisseur USB / série entre USB et ATtiny45 ... J'ai cherché de tels convertisseurs, mais je ne veux pas utiliser de cartes prédéfinies, car je veux que tout mes composants sur une seule carte. Je pense qu'une puce FTDI serait beaucoup trop pour mon projet, n'est-ce pas? (Il a des broches trop petites pour souder ...)
V-USB était alors ma deuxième approche, car il n'a pas besoin d'un convertisseur USB / série (comme je le sais). Donc, pour utiliser V-USB, je devrais utiliser AVRDUDE comme je l'ai mentionné plus tôt.
J'ai trouvé ce bel exemple V-USB EasyLogger . Il contient une conception de circuit et un exemple de firmware. (C / C ++ / HEX)
La seule chose que je veux savoir est: ai-je vraiment besoin de faire ressembler mon circuit à celui montré dans l'exemple? ->
Que dois-je savoir d'autre sur ce type de connexion USB? (Pourquoi ai-je besoin d'un convertisseur USB / série? Puis-je simplement brancher le +5 et le VCC? De quels composants ai-je absolument besoin? Quel type de signal dois-je envoyer via TX? Bits? Hex? De quelle tension a-t-il besoin être ? )
Merci pour toutes vos réponses.
MISE À JOUR
Voici quelques liens supplémentaires qui m'ont vraiment aidé sur certains points. Mais je ne l'ai toujours pas bien compris ...
le premier -> http://www.ernstc.dk/arduino/tinycom.html
et le second -> http://www.re-innovation.co.uk/web12/index.php/en/blog-75/227-attiny-arduino (faites défiler jusqu'à la section "Sortie série")