Usando un adaptador FTDI a USB con una pi frambuesa y un roomba [cerrado]

1

Me gustaría controlar un Roomba 560 mediante su puerto mini din SCI de 8 pines. He visto a otras personas hacer esto con éxito pero todavía no tengo claro cómo hacerlo. Estaba planeando usar un adaptador USB a FTDI, que es oficialmente compatible con el pi, y de alguna manera cablear los pines a los valores correspondientes. ¿Funcionaría este cable? Y después de haberlo conectado, ¿cómo lo controlaría?

    
pregunta Ian Hyzy

1 respuesta

2

Según la página web a la que hace referencia, el Roomba tiene una interfaz de 5v. El cable al que está conectado es un cable de 3.3v. Afirman que funcionará bien, y parece que 5v tolera recibir, pero no hay garantía de que el Roomba acepte las señales lógicas de 3.3v como válidas. Depende de la tecnología de transistor utilizada por la entrada Roomba y le daría una probabilidad del 50/50 de que funcionaría con ese cable (también existe la posibilidad de que esté en el límite y funcione un día pero no el siguiente). / p>

Sin embargo, no necesitas arriesgarte. Este cable es un FTDI de 5v adecuado y se interconecta limpiamente entre el Pi y el Roomba: enlace

Simplemente conecte la Tx del Roomba al Rx de la Pi y viceversa para el otro par Tx / Rx. Luego, asegúrate de que también compartan un terreno a través del pasador. El resto del artículo describe cómo el autor secuestró la fuente de alimentación Roomba de 18 voltios para regularla a 5 voltios para que la Raspberry Pi la use.

Una vez que lo hayas conectado, comienza a leer este manual: enlace

La forma en que se conecte depende del lenguaje de programación que desee utilizar. Recomiendo Python, y si es así, instale Pyserial ( enlace ) en el Rasp Pi. Luego, puede usar import serial y ser = serial.Serial('/dev/ttyUSB1') para abrir una conexión con el robot. (Es posible que necesite algo que no sea /dev/ttyUSB1 ) Luego, puede enviar bytes individuales al robot usando ser.write(chr(numeric_byte_to_send)) , donde reemplaza numeric_byte_to_send con el número entero que desee.

    
respondido por el DrRobotNinja

Lea otras preguntas en las etiquetas