Advertisement
safwan092

Untitled

Aug 21st, 2023
15
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. #include <Wire.h>
  2. #include <LiquidCrystal_I2C.h>
  3. LiquidCrystal_I2C lcd(0x27, 16, 2);
  4. #include <Servo.h>
  5. Servo servo1;
  6. Servo servo2;
  7.  
  8. int abc = 0;
  9. int buzzerPin = 13;
  10. int ObstaclePin1 = 4;
  11. int ObstaclePin2 = 7;
  12. int count = 0 ;
  13.  
  14.  
  15. void setup() {
  16. pinMode(ObstaclePin1, INPUT);
  17. pinMode(ObstaclePin2, INPUT);
  18. pinMode(buzzerPin, OUTPUT);
  19. lcd.begin();
  20. lcd.backlight();
  21. lcd.print("Smart Bus");
  22. delay(2000);
  23. lcd.clear();
  24. lcd.print("Passenger Inside");
  25. lcd.setCursor(0, 1);
  26. lcd.print(count);
  27. lcd.setCursor(2, 1);
  28. lcd.print("/ 10");
  29. servo1.write(0);
  30. servo2.write(0);
  31. servo1.attach(9);
  32. servo2.attach(11);
  33. }
  34.  
  35.  
  36. void loop() {
  37.  
  38. if ( count < 10 )
  39. {
  40. digitalWrite(13, 0);
  41.  
  42. if (digitalRead(ObstaclePin1) == 0) {
  43. IN();
  44. }
  45. if (digitalRead(ObstaclePin2) == 0) {
  46. OUT();
  47. }
  48. }
  49. if (count == 10 && abc == 0) {
  50. digitalWrite(13, 1);
  51. delay(1000);
  52. digitalWrite(13, 0);
  53. delay(1000);
  54. digitalWrite(13, 1);
  55. delay(1000);
  56. digitalWrite(13, 0);
  57. delay(1000);
  58. abc = 1;
  59. }
  60. else {
  61. servo1.write(0);
  62. delay(10);
  63. if (digitalRead(ObstaclePin2) == 0) {
  64. OUT();
  65. }
  66. }
  67.  
  68. }
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75. void openServo1 () {
  76. servo1.write(90);
  77. delay(10);
  78. }
  79.  
  80. void closeOpenServo1 () {
  81. servo1.write(120);
  82. delay(2500);
  83. servo1.write(2);
  84. delay(10);
  85. }
  86.  
  87. void closeOpenServo2 () {
  88. servo2.write(120);
  89. delay(2500);
  90. servo2.write(2);
  91. delay(10);
  92. }
  93.  
  94. void IN()
  95. {
  96. count++;
  97. lcd.clear();
  98. lcd.print("Passenger Inside:");
  99. lcd.setCursor(0, 1);
  100. lcd.print(count);
  101. lcd.setCursor(2, 1);
  102. lcd.print("/ 10");
  103. closeOpenServo1();
  104. delay(1000);
  105. }
  106.  
  107. void OUT()
  108. {
  109. count--;
  110. if (count < 0) {
  111. count = 0;
  112. }
  113. lcd.clear();
  114. lcd.print("Passenger Inside:");
  115. lcd.setCursor(0, 1);
  116. lcd.print(count );
  117. lcd.setCursor(2, 1);
  118. lcd.print("/ 10");
  119. delay(1000);
  120. abc = 0;
  121. closeOpenServo2 ();
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement