Estoy tratando de transmitir desde un ATtiny85 a una PC usando el código Arduino-esque a través de un convertidor USB-Serie sin entender mucho de nada. Me sorprendió y horrorizó que no funcionó.
Confirmé que el pequeño está parpadeando el voltaje en uno de sus pines, pero cuando conecto ese pin para transmitir o recibir en el cable serie USB e intento escuchar usando un programa de terminal, no obtengo nada.
No estoy seguro de cómo saber qué parte está rota.
¿Necesito más que VCC, GND y TXD para transmitir en serie?
Detalles:
El código para el pequeño está escrito en el entorno Arduino y un código similar parpadea con éxito los 4 pines "PORTB", al menos según los LED. Utilizo el código de HLT y Saporetti para permitirme usar el dialecto Arduino de C ++ para programarlo. El programa todavía viene bajo una K.
#include <SoftwareSerial.h>
SoftwareSerial s(0,1); //receive on "0", and transmit on "1" aka "PB1" aka pin 6
void setup() { s.begin(4800); } // assuming 1Mhz, 4800 baud
void loop() { s.println(millis()); } // transmit something at every opportunity
Hay mucha traducción involucrada, pero el código es bastante básico. El código que establece la velocidad en baudios parece asumir 1MHz, pero afortunadamente mi attiny tiene fusibles predeterminados de fábrica y funciona a 1MHz. En cualquier caso, el pin 6 parpadea su voltaje de acuerdo con el LED.
Así que uso los pequeños cables para conectar el extremo "ftdi" del convertidor de serie USB FTDI al minúsculo: negro a GND, rojo a VCC, naranja a 6. Abro el programa "minicom" en la PC, configuro los baudios califica a 4800 y espera, para nada. Cuando hablo con mi Boarduino , no tiene problemas.
El cable del convertidor FTDI tiene el siguiente pinout: el negro es GND, el marrón es "CTS", el rojo es VCC (+ 4.98V), el naranja es "TXD", el amarillo es "RXD", el verde es "RTS".
Si quiero transmitir desde el pequeño a la PC, ¿debería estar parpadeando el voltaje en "TXD" o "RXD"? En otras palabras, ¿el cable de transmisión se transmite desde el esclavo al host o el host al esclavo?
En realidad probé ambos, ninguno funcionó. Hasta ahora he frito menos de un dólar en equipo, y me estoy volviendo arrogante, así que solo conecto los cables al cable. ¿Tal vez se supone que no debo ignorar los cables "CTS" y "RTS"?
¿Necesito usar otros cables? ¿RTS y CTS hacen algo?
El hardware es un ATTiny85-PU (paquete DIP-8, que funciona a 1MHz, clasificado a 20MHz) alimentado por USB a 4.98V. La PC host es una MacBook, y realiza con éxito todas las cosas de arduino, incluido el uso de ArduinoISP para programar el ATtiny para que parpadee.