Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Wire.h>
- #include <LiquidCrystal_I2C.h>
- LiquidCrystal_I2C lcd(0x27, 16, 2);
- #include <Servo.h>
- Servo servo1;
- Servo servo2;
- int abc = 0;
- int buzzerPin = 13;
- int ObstaclePin1 = 4;
- int ObstaclePin2 = 7;
- int count = 0 ;
- void setup() {
- pinMode(ObstaclePin1, INPUT);
- pinMode(ObstaclePin2, INPUT);
- pinMode(buzzerPin, OUTPUT);
- lcd.begin();
- lcd.backlight();
- lcd.print("Smart Bus");
- delay(2000);
- lcd.clear();
- lcd.print("Passenger Inside");
- lcd.setCursor(0, 1);
- lcd.print(count);
- lcd.setCursor(2, 1);
- lcd.print("/ 10");
- servo1.write(0);
- servo2.write(0);
- servo1.attach(9);
- servo2.attach(11);
- }
- void loop() {
- if ( count < 10 )
- {
- digitalWrite(13, 0);
- if (digitalRead(ObstaclePin1) == 0) {
- IN();
- }
- if (digitalRead(ObstaclePin2) == 0) {
- OUT();
- }
- }
- if (count == 10 && abc == 0) {
- digitalWrite(13, 1);
- delay(1000);
- digitalWrite(13, 0);
- delay(1000);
- digitalWrite(13, 1);
- delay(1000);
- digitalWrite(13, 0);
- delay(1000);
- abc = 1;
- }
- else {
- servo1.write(0);
- delay(10);
- if (digitalRead(ObstaclePin2) == 0) {
- OUT();
- }
- }
- }
- void openServo1 () {
- servo1.write(90);
- delay(10);
- }
- void closeOpenServo1 () {
- servo1.write(120);
- delay(2500);
- servo1.write(2);
- delay(10);
- }
- void closeOpenServo2 () {
- servo2.write(120);
- delay(2500);
- servo2.write(2);
- delay(10);
- }
- void IN()
- {
- count++;
- lcd.clear();
- lcd.print("Passenger Inside:");
- lcd.setCursor(0, 1);
- lcd.print(count);
- lcd.setCursor(2, 1);
- lcd.print("/ 10");
- closeOpenServo1();
- delay(1000);
- }
- void OUT()
- {
- count--;
- if (count < 0) {
- count = 0;
- }
- lcd.clear();
- lcd.print("Passenger Inside:");
- lcd.setCursor(0, 1);
- lcd.print(count );
- lcd.setCursor(2, 1);
- lcd.print("/ 10");
- delay(1000);
- abc = 0;
- closeOpenServo2 ();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement