dev #1
@ -24,14 +24,18 @@ class Barrier {
|
||||
}
|
||||
|
||||
void open(){
|
||||
if (this->state != OPEN){
|
||||
this->state = OPEN;
|
||||
this->servo.write(0);
|
||||
}
|
||||
}
|
||||
|
||||
void close(){
|
||||
if(this->state != CLOSED){
|
||||
this->state = CLOSED;
|
||||
this->servo.write(90);
|
||||
}
|
||||
}
|
||||
|
||||
bool is_open() const {
|
||||
return this->state == OPEN;
|
||||
|
||||
@ -32,17 +32,22 @@ class LCDScreen {
|
||||
}
|
||||
|
||||
void display_temperature(float temp){
|
||||
this->state = DISPLAY_TEMPERATURE;
|
||||
lcd.setCursor(0, 0);
|
||||
if (this->state != DISPLAY_TEMPERATURE){
|
||||
this->clear();
|
||||
lcd.print(temp);
|
||||
this->state = DISPLAY_TEMPERATURE;
|
||||
}
|
||||
lcd.setCursor(0, 0);
|
||||
lcd.print("Temp: ");
|
||||
lcd.print(temp,1);
|
||||
lcd.print(" C ");
|
||||
}
|
||||
|
||||
void display_default_message(){
|
||||
this->state = DISPLAY_DEFAULT_MESSAGE;
|
||||
lcd.setCursor(0, 0);
|
||||
if (this->state != DISPLAY_DEFAULT_MESSAGE){
|
||||
this->clear();
|
||||
this->state = DISPLAY_DEFAULT_MESSAGE;
|
||||
}
|
||||
lcd.setCursor(0, 0);
|
||||
lcd.print(this->default_message);
|
||||
}
|
||||
|
||||
|
||||
@ -9,18 +9,19 @@
|
||||
#define ULTRASONIC_SENSOR_PIN_TRIG 11
|
||||
#define ULTRASONIC_SENSOR_PIN_ECHO 12
|
||||
#define SERVO_PIN 10
|
||||
#define SERVO_PIN 10
|
||||
#define TEMP_SENSOR_PIN 9
|
||||
|
||||
OneWire oneWire(TEMP_SENSOR_PIN);
|
||||
DallasTemperature sensors(&oneWire);
|
||||
|
||||
DistSensor dist_sensor = DistSensor(ULTRASONIC_SENSOR_PIN_TRIG, ULTRASONIC_SENSOR_PIN_ECHO, 25.0);
|
||||
Barrier barrier = Barrier(SERVO_PIN, 3);
|
||||
Barrier barrier = Barrier(SERVO_PIN, 4);
|
||||
LCDScreen screen = LCDScreen();
|
||||
|
||||
unsigned long current_time, sensor_last_time_activated, temperature_last_time_measured;
|
||||
|
||||
float tempC = 0;
|
||||
|
||||
void setup() {
|
||||
Serial.begin(9600);
|
||||
dist_sensor.configure_pins();
|
||||
@ -48,10 +49,8 @@ void loop() {
|
||||
if (current_time - temperature_last_time_measured >= 1000){
|
||||
temperature_last_time_measured = current_time;
|
||||
sensors.requestTemperatures();
|
||||
float tempC = sensors.getTempCByIndex(0);
|
||||
tempC = sensors.getTempCByIndex(0);
|
||||
}
|
||||
|
||||
screen.display_temperature(tempC);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user