From c684ac560f2733b421813dfcf662abf11054a554 Mon Sep 17 00:00:00 2001 From: bray Date: Mon, 18 May 2020 15:45:25 +0200 Subject: [PATCH] radiator fonctionnelle 18/05 --- .../AnalogSensors/AnalogSensorTemperature.cpp | 2 +- .../DigitalActuatorRadiator.cpp | 10 ++++----- board.cpp | 4 ++-- core_simulation.h | 4 ++-- .../DigitalActuatorRadiator.h | 2 +- sketch_ino.cpp | 21 ++++++++++++------- 6 files changed, 25 insertions(+), 18 deletions(-) diff --git a/OtherDevices/AnalogDevices/AnalogSensors/AnalogSensorTemperature.cpp b/OtherDevices/AnalogDevices/AnalogSensors/AnalogSensorTemperature.cpp index 162e711..b97b940 100644 --- a/OtherDevices/AnalogDevices/AnalogSensors/AnalogSensorTemperature.cpp +++ b/OtherDevices/AnalogDevices/AnalogSensors/AnalogSensorTemperature.cpp @@ -8,7 +8,7 @@ int AnalogSensorTemperature::alea = -1; -AnalogSensorTemperature::AnalogSensorTemperature(int val,int temps):AnalogDevice(val,temps){ +AnalogSensorTemperature::AnalogSensorTemperature(int val, int temps):AnalogDevice(val,temps){ AnalogSensorTemperature::alea=-1; } diff --git a/OtherDevices/DigitalDevices/DigitalActuators/DigitalActuatorRadiator.cpp b/OtherDevices/DigitalDevices/DigitalActuators/DigitalActuatorRadiator.cpp index 098a43a..b452e88 100644 --- a/OtherDevices/DigitalDevices/DigitalActuators/DigitalActuatorRadiator.cpp +++ b/OtherDevices/DigitalDevices/DigitalActuators/DigitalActuatorRadiator.cpp @@ -11,16 +11,16 @@ void DigitalActuatorRadiator::activate() { DigitalDevice::state = HIGH; } -void DigitalActuatorRadiator::Run() { +void DigitalActuatorRadiator::run() { int previousState = LOW; while (1){ state = *ptrmem; - if ((state != previousState)||(state == HIGH)){ - //AnalogSensorTemperature::alea = 1; + if ((state != previousState)&&(state == HIGH)){ AnalogSensorTemperature::setAlea(1); - } else if((state != previousState)||(state == LOW)) { - //AnalogSensorTemperature::alea = -1; + previousState = HIGH; + } else if((state != previousState)&&(state == LOW)) { AnalogSensorTemperature::setAlea(-1); + previousState = LOW; } } } diff --git a/board.cpp b/board.cpp index 6f6ee08..cb7b693 100644 --- a/board.cpp +++ b/board.cpp @@ -23,12 +23,12 @@ int main(){ // branchement des capteurs actionneurs esp8266.pin(1,temperature); - esp8266.pin(0,led1); + //esp8266.pin(0,led1); esp8266.pin(2, luminosite); esp8266.i2c(1,screen); esp8266.pin(4, button); esp8266.pin(5, manometre); - esp8266.pin(6, radiator); + esp8266.pin(0, radiator); // allumage de la carte esp8266.run(); diff --git a/core_simulation.h b/core_simulation.h index 4be9011..092d922 100644 --- a/core_simulation.h +++ b/core_simulation.h @@ -7,13 +7,13 @@ #include #define DELAY 3 -#define TEMP 22 +#define TEMP 17 #define HIGH 1 #define LOW 0 #define MAX_I2C_DEVICES 4 #define I2C_BUFFER_SIZE 1024 #define MAX_IO_PIN 6 -#define THRESHOLDHIGH 25 +#define THRESHOLDHIGH 17 #define THRESHOLDLOW 15 using namespace std; diff --git a/include/DigitalDevices/DigitalActuators/DigitalActuatorRadiator.h b/include/DigitalDevices/DigitalActuators/DigitalActuatorRadiator.h index 8aa0004..79c3fa3 100644 --- a/include/DigitalDevices/DigitalActuators/DigitalActuatorRadiator.h +++ b/include/DigitalDevices/DigitalActuators/DigitalActuatorRadiator.h @@ -24,7 +24,7 @@ public: void setThresholdLow(float thresholdLow); void activate(); - void Run(); + void run(); }; diff --git a/sketch_ino.cpp b/sketch_ino.cpp index f8bf806..07afe13 100644 --- a/sketch_ino.cpp +++ b/sketch_ino.cpp @@ -1,6 +1,7 @@ #include #include "core_simulation.h" +static int radState = LOW; // la fonction d'initialisation d'arduino void Board::setup(){ // on configure la vitesse de la liaison @@ -11,7 +12,9 @@ void Board::setup(){ pinMode(2, INPUT); pinMode(4, INPUT); pinMode(5, INPUT); - pinMode(6, OUTPUT); + + digitalWrite(0,LOW); + //pinMode(6, OUTPUT); } // la boucle de controle arduino @@ -29,6 +32,16 @@ void Board::loop(){ sprintf(buf, "temperature %d", val1); Serial.println(buf); + if ((val1 < THRESHOLDLOW)&&(radState == LOW)) { + digitalWrite(0, HIGH); + radState = HIGH; + } + else if ((val1 > THRESHOLDHIGH)&&(radState == HIGH)) { + digitalWrite(0, LOW); + radState = LOW; + } + + // lecture sur la pin 2 : capteur de temperature val = analogRead(2); sprintf(buf, "luminosite %d", val); @@ -45,12 +58,6 @@ void Board::loop(){ cpt++; sleep(1); //} -// on eteint et on allume la LED - if(analogRead(4)) - digitalWrite(0,HIGH); - else - digitalWrite(0,LOW); - bascule=1-bascule; }