Merci pour l'info :) Je ne suis limité à php et c++ (arduino). Mais je vais tenter mon coup avec R et découvrir ça.
Bienvenue au Forum de discussion Électro-Bidouilleur! Inscrivez-vous pour participer aux discussions!:
https://forum.bidouilleur.ca/index.php?action=signup Les demandes d'inscription sont révisées quotidiennement.
Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.
Voir les contributions Menuid | timestamp | date | heure | temperature |
3467 | 1604868186 | 08/11/2020 | 20:43:06 | 18,20 |
3468 | 1604868246 | 08/11/2020 | 20:44:06 | 18,10 |
int i = 0;
char str[size+1];
while(Wire.available())
{
str[i] = Wire.read();
i++;
}
str[i]='\0';
15:46:42.272 -> Valeur reçue de sonde 1: 15.13
15:48:50.401 -> Valeur reçue de sonde 1: 15.13□⸮
15:48:51.412 -> Valeur reçue de sonde 2: 14.93□⸮
void loop()
{
i2c_data(I2C_SLAVE_CHEMINEE, 1, 5);
delay(1000);
i2c_data(I2C_SLAVE_CHEMINEE, 2, 5); // EDIT POUR LE FORUM : si je ne fait appel à cette fonction qu'une fois cela ne m'affiche pas les caractère en plus
delay(1000);
}
String i2c_data(int slave, int code, int size)//(adresse esclave, code pour pointer la bonne sonde, nombres d'octets)
{
Wire.beginTransmission(slave); // envoie du code au slave précisé en amont pour pointer vers la sonde voulu
Wire.write(code); //code
Wire.endTransmission();
Wire.requestFrom(slave, size); // envoie d'une requête au slave de transmettre x* octet (*donné par size)
Serial.print("Valeur reçue de sonde ");Serial.print(code);Serial.print(": ");
int i = 0;
char str[size];
while(Wire.available())
{
str[i] = Wire.read();
i++;
}
Serial.print(str);
Serial.println("");
return str;
}
void receiveEvents(int numBytes)
{
pointeur_i2c = Wire.read();
}
void requestEvents()
{
if(pointeur_i2c == 1)
{
Serial.print(" - requête pour t1 reçue - ");
Serial.print("Temperature envoyée : ");
char send[7]; // création de la variable qui contiendra le resultat 6 caractères + le \n
dtostrf(temperature1, 5, 2, send);// conversion de la valeur de float à char;
Serial.println(send);
Wire.write(send);
pointeur_i2c = 0;
}
if(pointeur_i2c == 2)
{
Serial.print(" - requête pour t2 reçue - ");
Serial.print("Temperature envoyée : ");
char send[7]; // création de la variable qui contiendra le resultat 6 caractères + le \n
dtostrf(temperature2, 5, 2, send);// conversion de la valeur de float à char;
Serial.println(send);
Wire.write(send);
pointeur_i2c = 0;
}
}