/** * Cet exemple correspond à l'application de test de la bibliothèque MeasureUnit qui * permet de calculer la température mesurée par une matrice de thermistance * * Anatole SCHRAMM-HENRY * 17/12/2019 */ #include "MeasureUnit.h" #include "PayloadFormatter.h" #include "Ads1115.h" uint8_t analogInput[] = {0,1,2,3,4,5,6,7}; double *tempArray = NULL; //Objet de calcule de la temperature ThermistorSetting thermistorSetting(3380, 10000); //AdcSetting adcSetting(3300.0, 12, 310, 3); AdcSetting adcSetting(3410.0, 15, 6, 10); Ads1115 adc; MeasureUnit measureUnit(analogInput, 8, 990, thermistorSetting, adc); //Objet de création des trames LoRa PayloadFormatter payloadFormatter(2,4); DateTime payloadDate(2020,12,26,8,42); boolean data(false); uint8_t *payload(NULL); void setup() { // put your setup code here, to run once: Serial.begin(115200); delay(1000); Serial.println("Start setup"); adc.setAdcSetting(adcSetting); //measureUnit.setGlobalTempOffset(-17); Serial.println("End setup"); Serial.println("| T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8 |"); } int compteur(0); void loop() { // put your main code here, to run repeatedly: tempArray = measureUnit.getTemperatures(); Serial.print("|"); for(int i(0); i < 8; i++) { if(i != 7) { Serial.print(" ");Serial.print(tempArray[i],2);Serial.print(" |"); } else { Serial.print(" ");Serial.print(tempArray[i],2);Serial.println(" |"); } } //On affiche la trame associée: payloadFormatter.startSession(1); uint8_t size = payloadFormatter.buildPayload(&payload, &payloadDate,tempArray); if(size != 0) { Serial.print("LoRa packet --> ");Serial.print("size : ");Serial.print(size);Serial.println(" bytes"); for(int i(0); i < size; i++) { payload[i] <= 0x0F ? Serial.print("0") : Serial.print(""); Serial.print(payload[i], HEX); Serial.print(" "); } Serial.println(); } else Serial.print("Failed to build LoRa packet"); if(payloadFormatter.endSession()) Serial.println("Session ended successfully"); //On effectue la calibration if(compteur == 5) { Serial.println("********************Starting calibration********************"); measureUnit.levelTemperaturesOff(); Serial.println("********************Ending calibration********************"); } if(Serial.available()) { if(Serial.read() == 'c') { Serial.println("********************Starting calibration********************"); measureUnit.levelTemperaturesOff(); Serial.println("********************Ending calibration********************"); } } compteur++; }