Compare commits

..

No commits in common. "c684ac560f2733b421813dfcf662abf11054a554" and "4ab22f4df3259f5bc7410ce3ce441eb63de3f7cf" have entirely different histories.

7 changed files with 21 additions and 38 deletions

View file

@ -5,23 +5,15 @@
#include "../../../include/AnalogDevices/AnalogSensors/AnalogSensorTemperature.h"
//classe AnalogSensorTemperature
int AnalogSensorTemperature::alea = -1;
AnalogSensorTemperature::AnalogSensorTemperature(int val, int temps):AnalogDevice(val,temps){
AnalogSensorTemperature::alea=-1;
AnalogSensorTemperature::AnalogSensorTemperature(int val,int temps):AnalogDevice(val,temps){
alea=1;
}
void AnalogSensorTemperature::run(){
while(1){
if(ptrmem!=NULL) {
*ptrmem = val + AnalogSensorTemperature::alea;
val = val + AnalogSensorTemperature::alea;
}
alea=1-alea;
if(ptrmem!=NULL)
*ptrmem=val+alea;
sleep(temps);
}
}
void AnalogSensorTemperature::setAlea(int alea) {
AnalogSensorTemperature::alea = alea;
}

View file

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

View file

@ -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(0, radiator);
esp8266.pin(6, radiator);
// allumage de la carte
esp8266.run();

View file

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

View file

@ -15,7 +15,7 @@
// exemple de capteur analogique de temperature, ne pas oublier d'heriter de Device
class AnalogSensorTemperature: public AnalogDevice {
public:
private:
static int alea;
public:
// fait osciller la valeur du cpateur de 1

View file

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

View file

@ -1,7 +1,6 @@
#include <unistd.h>
#include "core_simulation.h"
static int radState = LOW;
// la fonction d'initialisation d'arduino
void Board::setup(){
// on configure la vitesse de la liaison
@ -12,9 +11,7 @@ void Board::setup(){
pinMode(2, INPUT);
pinMode(4, INPUT);
pinMode(5, INPUT);
digitalWrite(0,LOW);
//pinMode(6, OUTPUT);
pinMode(6, OUTPUT);
}
// la boucle de controle arduino
@ -32,16 +29,6 @@ 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);
@ -58,6 +45,12 @@ 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;
}