İşlemeleri karşılaştır
2 commits
4ab22f4df3
...
c684ac560f
Yazar | SHA1 | Tarih | |
---|---|---|---|
c684ac560f | |||
576d2655ba |
7 değiştirilmiş dosya ile 38 ekleme ve 21 silme
|
@ -5,15 +5,23 @@
|
||||||
#include "../../../include/AnalogDevices/AnalogSensors/AnalogSensorTemperature.h"
|
#include "../../../include/AnalogDevices/AnalogSensors/AnalogSensorTemperature.h"
|
||||||
|
|
||||||
//classe AnalogSensorTemperature
|
//classe AnalogSensorTemperature
|
||||||
AnalogSensorTemperature::AnalogSensorTemperature(int val,int temps):AnalogDevice(val,temps){
|
|
||||||
alea=1;
|
int AnalogSensorTemperature::alea = -1;
|
||||||
|
|
||||||
|
AnalogSensorTemperature::AnalogSensorTemperature(int val, int temps):AnalogDevice(val,temps){
|
||||||
|
AnalogSensorTemperature::alea=-1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AnalogSensorTemperature::run(){
|
void AnalogSensorTemperature::run(){
|
||||||
while(1){
|
while(1){
|
||||||
alea=1-alea;
|
if(ptrmem!=NULL) {
|
||||||
if(ptrmem!=NULL)
|
*ptrmem = val + AnalogSensorTemperature::alea;
|
||||||
*ptrmem=val+alea;
|
val = val + AnalogSensorTemperature::alea;
|
||||||
|
}
|
||||||
sleep(temps);
|
sleep(temps);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AnalogSensorTemperature::setAlea(int alea) {
|
||||||
|
AnalogSensorTemperature::alea = alea;
|
||||||
|
}
|
||||||
|
|
|
@ -11,14 +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::setAlea(1);
|
AnalogSensorTemperature::setAlea(1);
|
||||||
} else if((state != previousState)||(state == LOW)) {
|
previousState = HIGH;
|
||||||
|
} else if((state != previousState)&&(state == LOW)) {
|
||||||
AnalogSensorTemperature::setAlea(-1);
|
AnalogSensorTemperature::setAlea(-1);
|
||||||
|
previousState = LOW;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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();
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
// exemple de capteur analogique de temperature, ne pas oublier d'heriter de Device
|
// exemple de capteur analogique de temperature, ne pas oublier d'heriter de Device
|
||||||
class AnalogSensorTemperature: public AnalogDevice {
|
class AnalogSensorTemperature: public AnalogDevice {
|
||||||
private:
|
public:
|
||||||
static int alea;
|
static int alea;
|
||||||
public:
|
public:
|
||||||
// fait osciller la valeur du cpateur de 1
|
// fait osciller la valeur du cpateur de 1
|
||||||
|
|
|
@ -24,7 +24,7 @@ public:
|
||||||
void setThresholdLow(float thresholdLow);
|
void setThresholdLow(float thresholdLow);
|
||||||
|
|
||||||
void activate();
|
void activate();
|
||||||
void Run();
|
void run();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Yükleniyor…
Yeni konuda referans