Quiero hacer mi propio dispositivo USB modular con 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 de una sola vía (ATtiny - > PC) estaría completamente bien.
Estoy utilizando un Arduino Uno como ISP con el croquis estándar de ArduinoISP 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 lenguaje de programación Arduino.
Mis pensamientos básicos del circuito:
Comopuedever,quierounaconexiónUSB"directa". Hasta ahora sé que tengo que usar una solución basada en software para esto.
-
He logrado que SoftwareSerial funcione 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 el Pin 3 (todavía), pero necesito definirlo para SoftwareSerial.
De esta manera, usando SoftwareSerial, pude enviar datos de ATtiny directamente al pin TX de mi Arduino UNO que tenía un boceto en blanco cargado para esta prueba. Estaba usando el Monitor Serial del software Arduino para leer los datos en COM4 (en mi caso) porque mi PC no reconoció ningún dispositivo (puerto COM) porque intenté conectar la ATtiny programada directamente a un cable USB.
Desafortunadamente, solo obtuve caracteres Unicode extraños en el Monitor Serial. Creo que es porque los datos están en formato hexadecimal. Así que me he dado cuenta de que necesito conectar un USB / Serial Converter entre el USB y el ATtiny45 ... He buscado tales convertidores, pero no quiero usar ninguna Tableros hechos, ya que quiero todos mis componentes en un solo tablero. Creo que un chip FTDI sería demasiado "demasiado" para mi proyecto, ¿no es así? (Tiene pines demasiado pequeños para soldar ...)
-
V-USB fue mi segundo enfoque, ya que no necesita un convertidor USB / serie (como sé). Así que para usar V-USB necesitaría usar AVRDUDE como mencioné anteriormente.
He encontrado este buen ejemplo EasyLogger V-USB . Contiene un diseño de circuito y 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ásnecesitosabersobreestetipodeconexiónUSB?(¿PorquénecesitounconvertidorUSB/Serial?¿Puedosimplementeconectarel+5yelVCC?¿Quécomponentesnecesitoabsolutamente?¿QuétipodeseñaldeboenviaratravésdeTX?¿Bromos?¿Quévoltajehace?necesitaser?)
Graciasportodastusrespuestas.
ACTUALIZAR
Aquíhayalgunosenlacesadicionalesquerealmentemeayudaronenalgunospuntos.Perotodavíanoloentendícompletamente...
elprimero->
y el segundo - > enlace (desplácese hacia abajo hasta la "Serie Salida "sección)