diff --git a/code/code.ino b/code/code.ino index 43b9502..93c35dd 100644 --- a/code/code.ino +++ b/code/code.ino @@ -1,6 +1,7 @@ #include #include #include +#include #include "Barrier.cpp"; #include "DistSensor.cpp"; @@ -9,7 +10,6 @@ #include "JoyStickController.cpp"; #include "ButtonController.cpp"; -#define PARK_SLOTS 3 #define ULTRASONIC_SENSOR_PIN_TRIG 11 #define ULTRASONIC_SENSOR_PIN_ECHO 12 #define SERVO_PIN 10 @@ -19,16 +19,19 @@ #define BUZZER_PIN 3 #define BUTTON_PIN 8 +#define PARK_SLOTS 3 +#define STEP_MOTOR_STEPS 200 + OneWire oneWire(TEMP_SENSOR_PIN); DallasTemperature temperature_sensors(&oneWire); DistSensor dist_sensor = DistSensor(ULTRASONIC_SENSOR_PIN_TRIG, ULTRASONIC_SENSOR_PIN_ECHO, 25.0); Barrier barrier = Barrier(SERVO_PIN, 2); LCDScreen screen = LCDScreen(); -CarSpotController car_spot_controller = CarSpotController(2); +CarSpotController car_spot_controller = CarSpotController(PARK_SLOTS); JoystickController joystick = JoystickController(JOYSTICK_X_PIN, JOYSTICK_Y_PIN); ButtonController button = ButtonController(BUTTON_PIN); - +Stepper stepper(STEP_MOTOR_STEPS, 6, 5, 4, 2); unsigned long current_time, sensor_last_time_readed, barrier_last_time_opened, temperature_last_time_measured, joystick_last_time_activated, joystick_last_time_readed, screen_last_time_updated; @@ -41,6 +44,7 @@ void setup() { temperature_sensors.begin(); joystick.configure_pins(); button.configure_pins(); + stepper.setSpeed(60); screen.init(); } @@ -55,6 +59,7 @@ void loop() { barrier_last_time_opened = current_time; if (!car_spot_controller.is_empty() && barrier.is_closed()){ barrier.open(); + stepper.step(STEP_MOTOR_STEPS); car_spot_controller.decrement_occupied_spots(); } } @@ -66,6 +71,7 @@ void loop() { if (!car_spot_controller.is_full()){ barrier.open(); car_spot_controller.increment_occupied_spots(); + stepper.step(STEP_MOTOR_STEPS); }else{ tone(BUZZER_PIN, 262, 500); } @@ -73,6 +79,7 @@ void loop() { } else if (!dist_sensor.is_in_range() && barrier.is_open()){ if (current_time - barrier_last_time_opened >= barrier.open_time_seconds * 1000 && !button.is_pressed()){ barrier.close(); + stepper.step(-STEP_MOTOR_STEPS); } } }