I2C Missing communication between Arduino UNO and sensor TLE493D-W2B6 Infineon

Hello team, I need your support to communicate my ARDUINO and Sensor TLE493D-W2B6
The problem here is that I have connect my arduino uno with my sensor and the only response I got is like in the image below:

and sometimes I catch one special data as shown below:
but I'm not sure how that data is created

and the Code I'm using is below:


#include <Wire.h>
#include <Tle493d.h>
#include <Tle493d_w2b6.h>


#define TLE493D_A0 0x35 // I2C address

#define MOD1_reg   0x11

byte YOUR_CHIP_ADDRESS = TLE493D_A0;
const int RP2= 2;
const int RP3= 3;
const int RP4= 4;
const int RP5= 5;
const int RP6= 6;
int P2= 0;
int P3= 0;
int P4= 0;
int P5= 0;
int P6= 0;
int Rep0;
int Rep1;
int Rep2;
int Rep3;


void setup() {
  Wire.begin(0x35);               
  Wire.onRequest(eventoSolicitud); 
  Wire.onReceive(eventoRecepcion); 

  pinMode(RP2, INPUT);
  pinMode(RP3, INPUT);
  pinMode(RP4, INPUT);
  pinMode(RP5, INPUT);
  pinMode(RP6, INPUT);
}
 
 
void loop() {
  P2=digitalRead(RP2);
  P3=digitalRead(RP3);
  P4=digitalRead(RP4);
  P5=digitalRead(RP5);
  P6=digitalRead(RP6);
  delay(500);
}
 
void eventoRecepcion(){ 
  
  Rep0= Wire.read();
  Rep1= Wire.read();
  Rep2= Wire.read();
  Rep3= Wire.read();

}
 

void eventoSolicitud() {

 
  if(P6==0 && P2==0 && P3==0 && P4==0 && P5==0){
    //Sequence to Neutral Position

    Wire.write(0x80);
    Wire.write(0x0A);
    Wire.write(0x00);
    Wire.write(0x01);
    Wire.write(0x48);
    Wire.write(0x80);
    Wire.write(0x0C);
    Wire.write(0x40);

  }
  
   else if(P6==0 && P2==0 && P3==0 && P4==1 && P5==0){
    //Sequence to Left change lane Position
  
    Wire.write(0x80);
    Wire.write(0xEF);
    Wire.write(0x00);
    Wire.write(0x01);
    Wire.write(0x48);
    Wire.write(0x51);
    Wire.write(0x8D);
    Wire.write(0x4F);
       }
       
  
    else if(P6==0 && P2==1 && P3==1 && P4==0 && P5==0){
  //Sequence to Left Change Lane + Flash to Pass Position

    Wire.write(0x80);
    Wire.write(0xF1);
    Wire.write(0xFC);
    Wire.write(0xFA);
    Wire.write(0x48);
    Wire.write(0x51);
    Wire.write(0x8D);
    Wire.write(0x4F);    
    }
    else if(P6==0 && P2==1 && P3==1 && P4==0 && P5==1){
  //Sequence to Left Turn + Flash to Pass Position
  
    Wire.write(0x80);
    Wire.write(0xF4);
    Wire.write(0xF8);
    Wire.write(0xFB);
    Wire.write(0x48);
    Wire.write(0x51);
    Wire.write(0x8D);
    Wire.write(0x4F);    
    }
    else if(P6==0 && P2==1 && P3==1 && P4==1 && P5==0){
  //Sequence to Right Change Lane + Flash to Pass Position
  
    Wire.write(0x80);
    Wire.write(0xF1);
    Wire.write(0x04);
    Wire.write(0xFB);
    Wire.write(0x48);
    Wire.write(0x51);
    Wire.write(0x8D);
    Wire.write(0x4F);

    }
   else if(P6==0 && P2==1 && P3==1 && P4==1 && P5==1){
  //Sequence to Right Turn + Flash to Pass Position
  
    Wire.write(0x80);
    Wire.write(0xFC);
    Wire.write(0x06);
    Wire.write(0xFE);
    Wire.write(0x48);
    Wire.write(0x51);
    Wire.write(0x8D);
    Wire.write(0x4F);
   }
   else if(P6==1 && P2==0 && P3==0 && P4==0 && P5==0){
  // Telescope (TT)
  // Neutral
  
    Wire.write(0x80);
    Wire.write(0x0B);
    Wire.write(0xFC);
    Wire.write(0x01);
    Wire.write(0x4A);
    Wire.write(0x51);
    Wire.write(0x8D);
    Wire.write(0x4F);
    Serial.print("NEUTRAL");
  
        
  }

}



When I used this programm with two arduinos it was posible to have the connection, but I don't know what step do I need to do to have a response with the sensor like in image below:

Thank you so much team :slight_smile:

You don't tell us how you wired that sensor to the Arduino. If you wired it directly you might have fried it. If you don't use the chip directly but on a breakout board, post a link to the schematics of that breakout board!

According to the datasheet you must not provide a voltage of more than 3.5V to any pin. That means you need a level converter for the UNO (5V signal level).

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.