bonjour
j ai un programme de balance connectées qui marche avec une arduino uno
et je voudrai m en servir avec une carte mkr fox 1200 sigfox.
après plusieurs essai je n arrive pas a comprendre comment formuler le programme (car il faut pas que cela dépasse 12 octets
voici mon code que je veux modifier pour une carte mkr 1200
/* CODE POUR 3 BALANCES , temperature et */
/*HX711 PLATINES RECUPERATION DES INFO DES BALANCES*/
#include "HX711.h"
#define calibration_factor -23000//This value is obtained using the SparkFun_HX711_Calibration sketch
// HX711.DOUT - pin #A1
// HX711.DOUT - pin #A0
HX711 scaleA(A1, A0 ,128);//balance 1
// HX711.DOUT - pin #A3
// HX711.DOUT - pin #A2
HX711 scaleB(A3, A2 ,128);//balance 2
// HX711.DOUT - pin #A5
// HX711.DOUT - pin #A4
HX711 scaleC(A5, A4 ,128);//balance 3
/*temperature */
#include <dht11.h> // charger la librairie
dht11 DHT11; // Créer le capteur
#define DHT11PIN A5 // Définir la pin utilisée
void setup() {
/* Initialisation du port série */
Serial.begin(9600);
/* Initialisation poids et temperature */
Serial.println("001D18C9");
float a=0, b=0;
/*HX711 PLATINES RECUPERATION DES INFO DES BALANCES*/
scaleA.set_scale(calibration_factor); //This value is obtained by using the SparkFun_HX711_Calibration sketch
scaleA.tare(); //Assuming there is no weight on the scale at start up, reset the scale to 0
scaleB.set_scale(calibration_factor);
scaleB.tare();
scaleC.set_scale(calibration_factor);
scaleC.tare();
Serial.println("poids BALANCE:");
}
void loop() {
{
/*POIDS EN GRAMME*/
// Serial.print("p");
Serial.print(scaleA.get_units(), 0.00001); //0.0001 permet de vire la virgule 40.0 devient 40 balance 1
Serial.print(" ");
Serial.print(scaleB.get_units(), 0.00001);//balance 2
Serial.print(" ");
Serial.print(scaleC.get_units(), 0.0001);//balance 3
Serial.print(" ");
/* temperature */
int chk = DHT11.read(DHT11PIN); // Lecture du capteur
}
{
Serial.print(""); // Température
Serial.println((float)DHT11.temperature, 0.2);
}
delay(480000); //temps de lecture il faudra mettre tout les 8 minutes soit 480000 ms
}
je veux rajouter ce code ci
envoie sur le reseau sigfox et mesure de la température du module
#include <SigFox.h>
typedef struct __attribute__ ((packed)) sigfox_message {
int16_t moduleTemperature;
} SigfoxMessage;
SigfoxMessage msg;
void reboot() {
NVIC_SystemReset();
while (1);
}
void setup() {
Serial.begin(115200);
while (!Serial);
if (!SigFox.begin()) {
Serial.println("SigFox error, rebooting");
reboot();
}
delay(100);
SigFox.debug();
msg.moduleTemperature = (int32_t) (SigFox.internalTemperature() * 100.0);
Serial.print(msg.moduleTemperature, HEX);
delay(1);
SigFox.beginPacket();
SigFox.write((uint8_t*)&msg, sizeof(SigfoxMessage));
Serial.println(SigFox.endPacket());
SigFox.end();
}
void loop() {}
je suis débutant
s il vous plait aidé moi car la je bloque
merci