Help expliquez moi ce sketch s'il vous plait

Bonjour j'ai ce sketch que j'aimerais le comprendre. Prière de m'aider s'il vous plait. Ce programme contrôle un torréfacteur a café. Merci beaucoup les amis.

#include <max6675.h>
#include <ModbusRtu.h>

// data array for modbus network sharing
uint16_t au16data[16] = {
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1 };

/**
 *  Modbus object declaration
 *  u8id : node id = 0 for master, = 1..247 for slave
 *  u8serno : serial port (use 0 for Serial)
 *  u8txenpin : 0 for RS-232 and USB-FTDI 
 *               or any pin number > 1 for RS-485
 */
Modbus slave(1,0,0); // this is slave @1 and RS-232 or USB-FTDI

int thermoDO = 4;
int thermoCS = 5;
int thermoCLK = 6;

MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);

int relay = 9;  
  
void setup() {
  slave.begin( 19200); // 19200 baud, 8-bits, even, 1-bit stop
  // use Arduino pins 
  pinMode(relay, OUTPUT);
 delay(500);
  
}

void loop() {
   //write current thermocouple value
   au16data[2] = ((uint16_t) thermocouple.readCelsius()*100);

   //poll modbus registers
   slave.poll( au16data, 16 );

   //write relay value using pwm
   analogWrite(relay, (au16data[4]/100.0)*255);
   delay(500);
}

:warning:
Post mis dans la mauvaise section, on parle anglais dans les forums généraux. déplacé vers le forum francophone.

Merci de prendre en compte les recommandations listées dans Les bonnes pratiques du Forum Francophone

Le mieux serait que tu nous indique ce que tu ne comprends pas ?

Le sketch établi une communication avec un appareil maitre.
A chaque passage dans la fonction loop(2 fois par second environs),

  • la valeur du capteur de température est lu et la donné positionné dans la structure au16data.
  • on vérifie si il y a une requête entrante envoyé par le maitre et la structure au16data est écrasé avec les éventuelles données envoyé par le maitre(donc la valeur lu du capteur de température).
  • le contenue de la cinquième donnée de la structure est utilisée pour définir le rapport cyclique dans la broche "relais".
  • attente active de 500ms avant de sortir de la focntion.

Tout d'abord merci pour ukhb qui a remis mon sujet au bon endroit. Je ne savais pas ou le poster puisque c'était ma première interaction sur le forum la prochaine fois je ferais attention.
Un grand merci a Terwal qui m'a expliqué le sketch. Pour indiquer ce que je ne comprend pas. Je cite. Est ce que dans la fonction loop y'a un asservissement sur le pin 9 pour allumer ou éteindre le ssr. Car dans la pratique le ssr soit qu'il est allumé depuis le départ et reste allumé et rien ne se passe après. Soit qu'il s'allume après un bon moment et puis s'éteindre, c'est à dire que je ne vois pas de boucle d'action/réaction (lecture température/commande ssr) et c'est ça qui me dérange.
Dois rectifié quelque chose ??
Le principe de fonctionnement de ce torréfacteur est très simple y'a un four chauffé par une résistance commandé par le relais ssr. Le relais s'allume ou s'éteint sur la base de la lecture effectuée par le thermocouple type k logé dans un coin du four et relié a arduino uno par un ic max6675, puis l'arduino remet cette lecture par usb au pc a un logiciel de torréfaction connu sous le nom Artisan et c'est lui qui fais un contrôle pid de cette température pour amorcer ou désamorcer le ssr.
Sil ya quelque chose que vous ne comrenez pas vous me le dite.
Merci beaucoup.

Oui l'asservissement est fait en définissant le rapport cycle(PWM) sur la broche 9(relais)

Dans ce cas, il faudrait si possible savoir ce que contient la structure au16data car l'élément 4 définit le rapport cycle des états de la broche 9.

Une méthode possible pour voir si cela fonctionne correctement, serait de définir un rapport de 50 par la fonction analogWrite.

Il y a plusieurs choses qui sont "bizarres".
Je ne vois pas de remonté ou d'utilisation de la valeur du capteur de température(poll d'après la documentation, n'envois pas de requête?).
Je ne vois pas de communication USB, il y a un adaptateur RS232 entre l'Arduino et ton PC ?
Peut tu voir dans ton logiciel la valeur du capteur de température et le rapport cycle demandé à la résistance chauffante ?

Je vais te faire des photos de tout le circuit et les commenter pour voir de prés. Juste le temps de rentrer chez moi.
Amicalement.