Quiero hacer mi propio dispositivo USB modular usando un ATtiny45 que simplemente envía datos a la PC a través de USB. No estoy leyendo datos, por lo que una conexión unidireccional (ATtiny -> PC) estaría completamente bien.
Estoy usando un Arduino Uno como ISP con el boceto ArduinoISP estándar cargado desde el software Arduino. Estoy pensando en usar AVRDUDE para programar el ATtiny45 con el Arduino como ISP porque quiero poder usar el código C compilado en HEX ya que es más avanzado que el Arduino Programming Langue.
Mis pensamientos básicos del circuito:
Como puede ver, quiero una conexión USB "directa". Hasta ahora sé que tengo que usar una solución basada en software para esto.
He gestionado SoftwareSerial para trabajar con mi ATtiny45. Para esto he usado el software Arduino para programar el ATtiny45 con el siguiente código:
#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); }
Tenga en cuenta que no uso Pin 3 (todavía) pero necesito definirlo para SoftwareSerial.
De esta manera, usando SoftwareSerial, pude enviar datos desde el ATtiny directamente al pin TX de mi Arduino UNO que tenía un boceto en blanco cargado para esta prueba. Estaba usando el monitor serie del software Arduino para leer los datos en COM4 (en mi caso) porque mi PC no reconocía ningún dispositivo (puerto COM) ya que intenté conectar el ATtiny programado directamente a un cable USB.
Desafortunadamente, solo obtuve caracteres unicode extraños en el Monitor de serie. Creo que es porque los datos están en formato hexadecimal más o menos. Así que me di cuenta de que necesito conectar un convertidor USB / serie entre el USB y el ATtiny45 ... He buscado tales convertidores, pero no quiero usar ninguna placa prefabricada, ya que quiero todos Mis componentes en una sola placa. Creo que un chip FTDI sería demasiado "demasiado" para mi proyecto, ¿no? (Tiene pines demasiado pequeños para soldar ...)
V-USB fue entonces mi segundo enfoque, ya que no necesita un convertidor USB / serie (como lo sé). Entonces, para usar V-USB, necesitaría usar AVRDUDE como mencioné anteriormente.
He encontrado este buen ejemplo de V-USB EasyLogger . Contiene un diseño de circuito y un ejemplo de firmware. (C / C ++ / HEX)
Lo único que quiero saber es: ¿realmente necesito hacer que mi circuito se vea como se muestra en el ejemplo? ->
¿Qué más necesito saber sobre este tipo de conexión USB? (¿Por qué necesito un convertidor USB / serie? ¿Puedo conectar el +5 y VCC? ¿Qué componentes necesito absolutamente? ¿Qué tipo de señal necesito enviar a través de TX? ¿Bits? ¿Hex? ¿Qué voltaje necesita? ser - estar ? )
Gracias por todas tus respuestas.
ACTUALIZAR
Aquí hay algunos enlaces adicionales que realmente me ayudaron en algunos puntos. Pero todavía no lo entendí completamente ...
el primero -> http://www.ernstc.dk/arduino/tinycom.html
y el segundo -> http://www.re-innovation.co.uk/web12/index.php/en/blog-75/227-attiny-arduino (desplácese hacia abajo hasta la sección "Salida en serie")