dev #1

Merged
rafa merged 4 commits from dev into main 2025-05-18 12:44:53 +02:00
3 changed files with 24 additions and 16 deletions
Showing only changes of commit 8c78890058 - Show all commits

View File

@ -24,14 +24,18 @@ class Barrier {
} }
void open(){ void open(){
if (this->state != OPEN){
this->state = OPEN; this->state = OPEN;
this->servo.write(0); this->servo.write(0);
} }
}
void close(){ void close(){
if(this->state != CLOSED){
this->state = CLOSED; this->state = CLOSED;
this->servo.write(90); this->servo.write(90);
} }
}
bool is_open() const { bool is_open() const {
return this->state == OPEN; return this->state == OPEN;

View File

@ -32,17 +32,22 @@ class LCDScreen {
} }
void display_temperature(float temp){ void display_temperature(float temp){
this->state = DISPLAY_TEMPERATURE; if (this->state != DISPLAY_TEMPERATURE){
lcd.setCursor(0, 0);
this->clear(); this->clear();
lcd.print(temp); this->state = DISPLAY_TEMPERATURE;
lcd.print(" C"); }
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temp,1);
lcd.print(" C ");
} }
void display_default_message(){ void display_default_message(){
this->state = DISPLAY_DEFAULT_MESSAGE; if (this->state != DISPLAY_DEFAULT_MESSAGE){
lcd.setCursor(0, 0);
this->clear(); this->clear();
this->state = DISPLAY_DEFAULT_MESSAGE;
}
lcd.setCursor(0, 0);
lcd.print(this->default_message); lcd.print(this->default_message);
} }

View File

@ -9,18 +9,19 @@
#define ULTRASONIC_SENSOR_PIN_TRIG 11 #define ULTRASONIC_SENSOR_PIN_TRIG 11
#define ULTRASONIC_SENSOR_PIN_ECHO 12 #define ULTRASONIC_SENSOR_PIN_ECHO 12
#define SERVO_PIN 10 #define SERVO_PIN 10
#define SERVO_PIN 10
#define TEMP_SENSOR_PIN 9 #define TEMP_SENSOR_PIN 9
OneWire oneWire(TEMP_SENSOR_PIN); OneWire oneWire(TEMP_SENSOR_PIN);
DallasTemperature sensors(&oneWire); DallasTemperature sensors(&oneWire);
DistSensor dist_sensor = DistSensor(ULTRASONIC_SENSOR_PIN_TRIG, ULTRASONIC_SENSOR_PIN_ECHO, 25.0); 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(); LCDScreen screen = LCDScreen();
unsigned long current_time, sensor_last_time_activated, temperature_last_time_measured; unsigned long current_time, sensor_last_time_activated, temperature_last_time_measured;
float tempC = 0;
void setup() { void setup() {
Serial.begin(9600); Serial.begin(9600);
dist_sensor.configure_pins(); dist_sensor.configure_pins();
@ -48,10 +49,8 @@ void loop() {
if (current_time - temperature_last_time_measured >= 1000){ if (current_time - temperature_last_time_measured >= 1000){
temperature_last_time_measured = current_time; temperature_last_time_measured = current_time;
sensors.requestTemperatures(); sensors.requestTemperatures();
float tempC = sensors.getTempCByIndex(0); tempC = sensors.getTempCByIndex(0);
screen.display_temperature(tempC);
} }
screen.display_temperature(tempC);
} }