Camera IR SEN0158

Bonjour,
Je dois pouvoir modifier un programme pour pouvoir capter une flamme avec la camera IR SEN0158.
Le programme étant compliqué j’ai pris celui dans la fiche technique qui était tout fait. Seul problème je ne peux pas le modifier car je n’y comprend pas grand choses .
Par contre il marche très bien , c’est juste le langage que je ne comprend pas …
Est-ce-que l’on pourrait m’aider à comprendre ce programme ?

Je vous remercie d’avance .

#include <Wire.h>

int IRsensorAddress = 0xB0;
int AdresseEsclave;
int ledPin = 13;
boolean ledState = false;
byte data_buf[16];
int i;
int pinLed;

int Ix[4];
int Iy[4];
int s;

void Write_2bytes(byte d1, byte d2)
{
    Wire.beginTransmission(AdresseEsclave);
    Wire.write(d1); Wire.write(d2);
    Wire.endTransmission();
}

void setup()
{
    AdresseEsclave = IRsensorAddress >> 1;   
    Serial.begin(19200);
    pinMode(ledPin, OUTPUT);      
    Wire.begin();
    // IR sensor initialize
    Write_2bytes(0x30,0x01); delay(10);
    Write_2bytes(0x30,0x08); delay(10);
    Write_2bytes(0x06,0x90); delay(10);
    Write_2bytes(0x08,0xC0); delay(10);
    Write_2bytes(0x1A,0x40); delay(10);
    Write_2bytes(0x33,0x33); delay(10);
    delay(100);

    pinLed = 2;
    pinMode(pinLed, OUTPUT);
    digitalWrite(pinLed, LOW);

    
}
void loop()
{



    ledState = !ledState;
    if (ledState) { digitalWrite(ledPin,HIGH); } else { digitalWrite(ledPin,LOW); }

    //IR sensor read
    Wire.beginTransmission(AdresseEsclave);
    Wire.write(0x36);
    Wire.endTransmission();

    Wire.requestFrom(AdresseEsclave, 16);       
    for (i=0;i<16;i++) { data_buf[i]=0; }
    i=0;
    while(Wire.available() && i < 16) { 
        data_buf[i] = Wire.read();
        i++;
    }
    
    Ix[0] = data_buf[1];
    Iy[0] = data_buf[2];
    s   = data_buf[3];
    Ix[0] += (s & 0x30) <<4;
    Iy[0] += (s & 0xC0) <<2;

    Ix[1] = data_buf[4];
    Iy[1] = data_buf[5];
    s   = data_buf[6];
    Ix[1] += (s & 0x30) <<4;
    Iy[1] += (s & 0xC0) <<2;

    
    Ix[2] = data_buf[7];
    Iy[2] = data_buf[8];
    s   = data_buf[9];
    Ix[2] += (s & 0x30) <<4;
    Iy[2] += (s & 0xC0) <<2;
  
  
    Ix[3] = data_buf[10];
    Iy[3] = data_buf[11];
    s   = data_buf[12];
    Ix[3] += (s & 0x30) <<4;
    Iy[3] += (s & 0xC0) <<2;


    Ix[4] = data_buf[13];
    Iy[4] = data_buf[14];
    s   = data_buf[15];
    Ix[4] += (s & 0x30) <<4;
    Iy[4] += (s & 0xC0) <<2;


 
  

    for(i=0; i<4; i++)
    {
      if (Ix[i] < 1000)
        Serial.print("");
      if (Ix[i] < 100)  
        Serial.print("");
      if (Ix[i] < 10)  
        Serial.print("");
      Serial.print( int(Ix[i]) );
      Serial.print(",");
      if (Iy[i] < 1000)
        Serial.print("");
      if (Iy[i] < 100)  
        Serial.print("");
      if (Iy[i] < 10)  
        Serial.print("");
      Serial.print( int(Iy[i]) );
      
      if (i<3)
        Serial.print(",");
    }
    Serial.println("");
    delay(15);


      
}

Bonjour,
Pour quel raison souhaites-tu modifier ce programme ?

Je suis en terminale et j'ai un projet de ROBOT POMPIER . Je dois pouvoir modifier ce programme pour dire que si la flamme est détecté, il puisse me dire à quel distance ce trouve la flamme .

Bonjour

Seul problème je ne peux pas le modifier car je n'y comprend pas grand choses .
Par contre il marche très bien , c'est juste le langage que je ne comprend pas ..
Est-ce-que l'on pourrait m'aider à comprendre ce programme ?

-Comme indiqué dans les messages épinglés en tête de forum les tutoriels d'ESkimon permettent de 'décoler'

-Pour une approche de la librairie WIre qui permet de gérér des composants sur le bus I2C voir par exemple içi

-ce capteur (camera infra rouge) permettra-t-il d'aboutir à la connaissance de la distance de la flamme ?.
Pour répondre il faut étudier la notice du capteur, identifier la nature des informations qu'il envoie et la manière d'y accéder. le programme teste ne peut être compris qu'en relation avec les caractéristiques du capteur

un rapide coup d'oeuil à la page DFRobot montre la capacité à localiser en XY 4 source lumineuses, peut-on obtenir des infos sur la taille du ou des objets ?