78 lines
1.7 KiB
C++
78 lines
1.7 KiB
C++
#include <unistd.h>
|
|
#include "core_simulation.h"
|
|
#include "app/include/Terrarium.h"
|
|
#include "app/include/TerrariumParameter.h"
|
|
|
|
|
|
Terrarium terrarium(1);
|
|
TerrariumParameter temperature(25, 20);
|
|
TerrariumParameter pressure(3000,2990);
|
|
TerrariumParameter ph(8,6);
|
|
|
|
|
|
|
|
// la fonction d'initialisation d'arduino
|
|
void Board::setup(){
|
|
// on configure la vitesse de la liaison
|
|
Serial.begin(9600);
|
|
// on fixe les pin en entree et en sorite en fonction des capteurs/actionneurs mis sur la carte
|
|
pinMode(1, INPUT);
|
|
pinMode(0, OUTPUT);
|
|
pinMode(2, INPUT);
|
|
pinMode(4, INPUT);
|
|
pinMode(5, INPUT);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
digitalWrite(0,LOW);
|
|
//pinMode(6, OUTPUT);
|
|
}
|
|
|
|
// la boucle de controle arduino
|
|
void Board::loop(){
|
|
char buf[100];
|
|
int val;
|
|
int val1;
|
|
static int cpt=0;
|
|
static int bascule=0;
|
|
int i=0;
|
|
//for(i=0;i<10;i++){
|
|
// if (i%3==0) {
|
|
// lecture sur la pin 1 : capteur de temperature
|
|
temperature.setValue(analogRead(1));
|
|
sprintf(buf, "temperature %f", temperature.getValue());
|
|
Serial.println(buf);
|
|
|
|
if ((temperature.is2Low()) && (terrarium.getRadState() == LOW)) {
|
|
digitalWrite(0, HIGH);
|
|
terrarium.setRadState(HIGH);
|
|
}
|
|
else if ((temperature.is2High() ) && (terrarium.getRadState() == HIGH)) {
|
|
digitalWrite(0, LOW);
|
|
terrarium.setRadState(LOW);
|
|
}
|
|
|
|
|
|
// lecture sur la pin 2 : capteur de temperature
|
|
val = analogRead(2);
|
|
sprintf(buf, "luminosite %d", val);
|
|
Serial.println(buf);
|
|
// }
|
|
|
|
// if(cpt%5==0){
|
|
// tous les 5 fois on affiche sur l ecran la temperature
|
|
sprintf(buf,"%d",val1);
|
|
bus.write(1,buf,100);
|
|
|
|
|
|
// }
|
|
cpt++;
|
|
sleep(1);
|
|
//}
|
|
|
|
}
|
|
|
|
|