Compare commits

..

No commits in common. "36dd744da5048bcf25ffc3193477f452df4bf8a8" and "8477942be82cf88a5f9fe2678e6e9ac5793fb93c" have entirely different histories.

5 changed files with 34 additions and 28 deletions

View File

@ -28,10 +28,11 @@ build_flags =
-D POID_DOUT=14 -D POID_DOUT=14
-D POID_SCK=15 -D POID_SCK=15
-D MOYENNE_CALIBRATION=20
; trash can ID ; trash can ID
-D TRASHCAN_ONE=\"gdnuxl0wlgurtj3\" -D TRASHCAN_ONE=\"gdnuxl0wlgurtj3\"
-D TRASHCAN_TWO=\"4brip5fwm001bs9\" -D TRASHCAN_TWO=\"4brip5fwm001bs9\"
-D API_HOST=\"iot.epi.cb85.software\"

View File

@ -44,7 +44,9 @@ private:
* @brief capteur poid pour le niveau de remplissage de la poubelle * @brief capteur poid pour le niveau de remplissage de la poubelle
* *
*/ */
Capteur *balance; Balance *balance;
//TODO chagé type to capteur
/** /**
* @brief Réference de l'API pour les calls * @brief Réference de l'API pour les calls

View File

@ -53,7 +53,7 @@ private:
/** /**
* @brief Variable issue de la librairie HX711 qui permet d'utiliser les fonctions de celle-ci * @brief Variable issue de la librairie HX711 qui permet d'utiliser les fonctions de celle-ci
*/ */
HX711* capteur; HX711 scale;
/** /**
* @brief true = calibration et false = erreur * @brief true = calibration et false = erreur

View File

@ -1,23 +1,20 @@
#include "../include/Balance.h" #include "../include/Balance.h"
Balance::Balance(int doutPin, int sckPin, String fullVall): Balance::Balance(int doutPin, int sckPin) {
Capteur("W", fullVall){
this->capteur = new HX711(); scale.begin(doutPin, sckPin);
this->capteur->begin(doutPin, sckPin);
this->initialized = false; this->initialized = false;
this->capteur->set_scale(); scale.set_scale();
this->capteur->tare(); scale.tare();
this->initialVal = 0; this->initialVal = 0;
this->calibrationFact = 0; this->calibrationFact = 0;
this->initCalibration();
} }
boolean Balance::initCalibration() { boolean Balance::initCalibration() {
this->capteur->set_scale(); scale.set_scale();
this->capteur->tare(); scale.tare();
this->initialVal = this->capteur->read_average(20); this->initialVal = scale.read_average(20);
return true; return true;
} }
@ -26,11 +23,11 @@ boolean Balance::calibration(int poidsRef,int moyenne_calibration) {
int rawValref = 0; // Valeur brute de plexiglas et poids réf int rawValref = 0; // Valeur brute de plexiglas et poids réf
int tempPoids = 0; // C'est la valeur du poids en grammes calculée grâce au facteur de calibration int tempPoids = 0; // C'est la valeur du poids en grammes calculée grâce au facteur de calibration
rawValref = this->capteur->read_average(moyenne_calibration); rawValref = scale.read_average(moyenne_calibration);
this->calibrationFact = (rawValref - this->initialVal) / poidsRef; this->calibrationFact = (rawValref - this->initialVal) / poidsRef;
do { do {
this->capteur->set_scale(calibrationFact); scale.set_scale(calibrationFact);
tempPoids = this->capteur->get_units(5); tempPoids = scale.get_units(5);
if (tempPoids < poidsRef) { if (tempPoids < poidsRef) {
calibrationFact -= 1; calibrationFact -= 1;
} else if (tempPoids > poidsRef) { } else if (tempPoids > poidsRef) {
@ -40,17 +37,26 @@ boolean Balance::calibration(int poidsRef,int moyenne_calibration) {
return initialized = true; return initialized = true;
} }
String Balance::read() { double Balance::getAverage(int nbMesure) {
if (this->initialized == true) { if (initialized == true) {
return String(this->capteur->get_units()); return scale.get_units(nbMesure);
} else { } else {
return "0"; return 0;
}
}
double Balance::getValue() {
if (initialized == true) {
return scale.get_units();
} else {
return 0;
} }
} }
void Balance::setCalibrationFact(int caliFact){ void Balance::setCalibrationFact(int caliFact){
this->initialized = true; this->initialized = true;
this->calibrationFact = caliFact; this->calibrationFact = caliFact;
this->capteur->set_scale(caliFact); scale.set_scale(caliFact);
} }

View File

@ -14,14 +14,14 @@ Program::Program(){
//////CAPTEUR///// //////CAPTEUR/////
this->ultrasonic = new Ultrason(ULTRA_SOUND_TRIGD, ULTRA_SOUND_ECHO, "10");//TODO: mettre la valeur en config this->ultrasonic = new Ultrason(ULTRA_SOUND_TRIGD, ULTRA_SOUND_ECHO, "10");//TODO: mettre la valeur en config
this->dht = new HumiTemp(DHTPIN, DHTTYPE, "20:30/60:80");//TODO: mettre la valeur en config this->dht = new HumiTemp(DHTPIN, DHTTYPE, "20:30/60:80");//TODO: mettre la valeur en config
this->balance = new Balance(POID_DOUT,POID_SCK,"500");//TODO: mettre la valter en donfig
this->balance->tar(1077); //TODO: init balance
//calibration factor : 1077
} }
void Program::loop(){ void Program::loop(){
String distance = this->ultrasonic->read(); String distance = this->ultrasonic->read();
String humitemp = this->dht->read(); String humitemp = this->dht->read();
String poid = this->balance->read();
//this->api->sendValue(distance, TRASHCAN_ONE, this->ultrasonic->getValType(), this->ultrasonic->isFull()); //this->api->sendValue(distance, TRASHCAN_ONE, this->ultrasonic->getValType(), this->ultrasonic->isFull());
Serial.print("Distance in CM = " + distance); Serial.print("Distance in CM = " + distance);
@ -32,9 +32,6 @@ void Program::loop(){
Serial.println(this->dht->isFull()?" true":" false"); Serial.println(this->dht->isFull()?" true":" false");
//TODO: Lire balance //TODO: Lire balance
//this->api->sendValue(poid, TRASHCAN_TWO, this->balance->getValType(), this->balance->isFull());
Serial.print("humiTemp = " + this->dht->read());
Serial.println(this->dht->isFull()?" true":" false");
delay(1000); delay(1000);
} }