radiator fonctionnelle 18/05

This commit is contained in:
Cameron Bray 2020-05-18 15:45:25 +02:00
parent 576d2655ba
commit c684ac560f
6 changed files with 25 additions and 18 deletions

View file

@ -8,7 +8,7 @@
int AnalogSensorTemperature::alea = -1; 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; AnalogSensorTemperature::alea=-1;
} }

View file

@ -11,16 +11,16 @@ void DigitalActuatorRadiator::activate() {
DigitalDevice::state = HIGH; DigitalDevice::state = HIGH;
} }
void DigitalActuatorRadiator::Run() { void DigitalActuatorRadiator::run() {
int previousState = LOW; int previousState = LOW;
while (1){ while (1){
state = *ptrmem; state = *ptrmem;
if ((state != previousState)||(state == HIGH)){ if ((state != previousState)&&(state == HIGH)){
//AnalogSensorTemperature::alea = 1;
AnalogSensorTemperature::setAlea(1); AnalogSensorTemperature::setAlea(1);
} else if((state != previousState)||(state == LOW)) { previousState = HIGH;
//AnalogSensorTemperature::alea = -1; } else if((state != previousState)&&(state == LOW)) {
AnalogSensorTemperature::setAlea(-1); AnalogSensorTemperature::setAlea(-1);
previousState = LOW;
} }
} }
} }

View file

@ -23,12 +23,12 @@ int main(){
// branchement des capteurs actionneurs // branchement des capteurs actionneurs
esp8266.pin(1,temperature); esp8266.pin(1,temperature);
esp8266.pin(0,led1); //esp8266.pin(0,led1);
esp8266.pin(2, luminosite); esp8266.pin(2, luminosite);
esp8266.i2c(1,screen); esp8266.i2c(1,screen);
esp8266.pin(4, button); esp8266.pin(4, button);
esp8266.pin(5, manometre); esp8266.pin(5, manometre);
esp8266.pin(6, radiator); esp8266.pin(0, radiator);
// allumage de la carte // allumage de la carte
esp8266.run(); esp8266.run();

View file

@ -7,13 +7,13 @@
#include <mutex> #include <mutex>
#define DELAY 3 #define DELAY 3
#define TEMP 22 #define TEMP 17
#define HIGH 1 #define HIGH 1
#define LOW 0 #define LOW 0
#define MAX_I2C_DEVICES 4 #define MAX_I2C_DEVICES 4
#define I2C_BUFFER_SIZE 1024 #define I2C_BUFFER_SIZE 1024
#define MAX_IO_PIN 6 #define MAX_IO_PIN 6
#define THRESHOLDHIGH 25 #define THRESHOLDHIGH 17
#define THRESHOLDLOW 15 #define THRESHOLDLOW 15
using namespace std; using namespace std;

View file

@ -24,7 +24,7 @@ public:
void setThresholdLow(float thresholdLow); void setThresholdLow(float thresholdLow);
void activate(); void activate();
void Run(); void run();
}; };

View file

@ -1,6 +1,7 @@
#include <unistd.h> #include <unistd.h>
#include "core_simulation.h" #include "core_simulation.h"
static int radState = LOW;
// la fonction d'initialisation d'arduino // la fonction d'initialisation d'arduino
void Board::setup(){ void Board::setup(){
// on configure la vitesse de la liaison // on configure la vitesse de la liaison
@ -11,7 +12,9 @@ void Board::setup(){
pinMode(2, INPUT); pinMode(2, INPUT);
pinMode(4, INPUT); pinMode(4, INPUT);
pinMode(5, INPUT); pinMode(5, INPUT);
pinMode(6, OUTPUT);
digitalWrite(0,LOW);
//pinMode(6, OUTPUT);
} }
// la boucle de controle arduino // la boucle de controle arduino
@ -29,6 +32,16 @@ void Board::loop(){
sprintf(buf, "temperature %d", val1); sprintf(buf, "temperature %d", val1);
Serial.println(buf); 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 // lecture sur la pin 2 : capteur de temperature
val = analogRead(2); val = analogRead(2);
sprintf(buf, "luminosite %d", val); sprintf(buf, "luminosite %d", val);
@ -45,12 +58,6 @@ void Board::loop(){
cpt++; cpt++;
sleep(1); sleep(1);
//} //}
// on eteint et on allume la LED
if(analogRead(4))
digitalWrite(0,HIGH);
else
digitalWrite(0,LOW);
bascule=1-bascule;
} }