Arduino uno comunicación lin bus

Buenas tardes compañeros del foro, Eh comenzado a realizar un proyecto con comunicación lin bus 2.0 para poder activar algunos componentes de un carro. es importante realizarlo con un arduino uno, ya que es con el único que cuento

objetivo, poder crear la trama completa que compone una transmisión lin bus como se muestra en la imagen. el mensaje que se quiere mandar es:

LIN frame example: ID 0x99 with data 0x0F,0x7F,0xC8,0xC8, 0x07, 0x00, 0x00+ checksum 0x3F

99 0f 7F C8 C8 07 00 00 00 3F
ID DATA Checksum

se agrega una imagen de la transmisión vista desde el osciloscopio

Te felicito por tan hermoso osciloscopio. Ver que puedes leer tramas como analizador lógico ya me encantó.

Una búsqueda rápida en DuckDuckGo me arrojó esto: LIN Bus Shiedl for Arduino
y esta otra LIN BUS Shield for Arduino featuring Atmel ATA6623C and special 2-wire mode

Como pareciera que un CAN Bus Shield podría servirte te aconsejo que consigas la placa STM32F103 que es muy barata (mas barata que un NANO) que tiene CAN Bus y intentes con ella. Se conoce como Blue Pill o STM32F103C8
Hay mucha info al respecto. Mira este link donde comunican un Arduino uno con shield con un STM32 + MCP2551.

Se que son cosas que tu encontrarías. Pero creo que el camino para hacerlo requiere de tener el hardware que te falta o creo que te falta.

Hola lokywolf88,

En primer lugar deberías entender la especificación de lin (google lin specification 2.0)

Primero de todo tienes que tener un lin trasceiver (tja1020, tja1021...) entre el coche y el arduino con tal de convertir tu puerto serie/uart a nivel LIN bus(el hardware debes configurarlo para master o slave, el datasheet te dice como)

Segundo tienes que saber si el arduino se debe comportar como master o como slave. El master puede enviar tramas completas sin ningún tipo de petición mientras que el slave solo contesta cuando un master le hace un request a través de su PID ojo!!!!Si tu eres slave cuando recibes tu pid entonces contestas con datos y checksum (puede ser classic o enhanced cuidado ahi también)

Tercero puedes bajarte cualquier librería lin para gestionar el envio de tramas si eres master o la contestación si eres slave.

Es mucha información de golpe, lo siento!La clave es que entiendas muy bien la especificación de lin (contenido de trama, como funciona el bus master-slave, pid y checksum). Cualquier problema dímelo y te ayudo sin problemas!