safwan092

Untitled

Jun 1st, 2023
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.97 KB | None | 0 0
  1. #include <Wire.h>
  2. #include <LiquidCrystal_I2C.h>
  3.  
  4. LiquidCrystal_I2C lcd(0x27, 16, 2);
  5.  
  6. #define Parking_1_Sensor 2
  7. #define Parking_2_Sensor 3
  8. #define Parking_3_Sensor 4
  9. #define Parking_1_LED_Pin_1 5
  10. #define Parking_1_LED_Pin_2 6
  11. #define Parking_2_LED_Pin_1 7
  12. #define Parking_2_LED_Pin_2 8
  13. #define Parking_3_LED_Pin_1 9
  14. #define Parking_3_LED_Pin_2 10
  15.  
  16. int sensor_1 = 0;
  17. int sensor_2 = 0;
  18. int sensor_3 = 0;
  19. void setup() {
  20. lcd.init();
  21. lcd.init();
  22. lcd.backlight();
  23. lcd.setCursor(0, 0);
  24. lcd.print("Hello, world!");
  25. Serial.begin(9600);
  26. initSensorsAndLEDs();
  27. delay(2000);
  28. Serial.println("Arduino Started Up. Ready!!");
  29. }
  30.  
  31. void loop() {
  32. readSensors();
  33. //000
  34. if (sensor_1 == 0 && sensor_2 == 0 && sensor_3 == 0) {
  35. lcd.clear();
  36. lcd.setCursor(0, 0);
  37. lcd.print("0 0 0");
  38. // ****************
  39. lcd.setCursor(0, 1);
  40. lcd.print("Avaliable: 0");
  41. Parking_1_LED(1);
  42. Parking_2_LED(1);
  43. Parking_3_LED(1);
  44. }
  45. //001
  46. else if (sensor_1 == 0 && sensor_2 == 0 && sensor_3 == 1) {
  47. lcd.clear();
  48. lcd.setCursor(0, 0);
  49. lcd.print("0 0 1");
  50. // ****************
  51. lcd.setCursor(0, 1);
  52. lcd.print("Avaliable: 1");
  53. Parking_1_LED(1);
  54. Parking_2_LED(1);
  55. Parking_3_LED(0);
  56. }
  57. //010
  58. else if (sensor_1 == 0 && sensor_2 == 1 && sensor_3 == 0) {
  59. lcd.clear();
  60. lcd.setCursor(0, 0);
  61. lcd.print("0 1 0");
  62. // ****************
  63. lcd.setCursor(0, 1);
  64. lcd.print("Avaliable: 1");
  65. Parking_1_LED(1);
  66. Parking_2_LED(0);
  67. Parking_3_LED(1);
  68. }
  69. //011
  70. else if (sensor_1 == 0 && sensor_2 == 1 && sensor_3 == 1) {
  71. lcd.clear();
  72. lcd.setCursor(0, 0);
  73. lcd.print("0 1 1");
  74. // ****************
  75. lcd.setCursor(0, 1);
  76. lcd.print("Avaliable: 2");
  77. Parking_1_LED(1);
  78. Parking_2_LED(0);
  79. Parking_3_LED(0);
  80. }
  81. //100
  82. else if (sensor_1 == 1 && sensor_2 == 0 && sensor_3 == 0) {
  83. lcd.clear();
  84. lcd.setCursor(0, 0);
  85. lcd.print("1 0 0");
  86. // ****************
  87. lcd.setCursor(0, 1);
  88. lcd.print("Avaliable: 1");
  89. Parking_1_LED(0);
  90. Parking_2_LED(1);
  91. Parking_3_LED(1);
  92. }
  93. //101
  94. else if (sensor_1 == 1 && sensor_2 == 0 && sensor_3 == 1) {
  95. lcd.clear();
  96. lcd.setCursor(0, 0);
  97. lcd.print("1 0 1");
  98. // ****************
  99. lcd.setCursor(0, 1);
  100. lcd.print("Avaliable: 2");
  101. Parking_1_LED(0);
  102. Parking_2_LED(1);
  103. Parking_3_LED(0);
  104. }
  105. //110
  106. else if (sensor_1 == 1 && sensor_2 == 1 && sensor_3 == 0) {
  107. lcd.clear();
  108. lcd.setCursor(0, 0);
  109. lcd.print("1 1 0");
  110. // ****************
  111. lcd.setCursor(0, 1);
  112. lcd.print("Avaliable: 2");
  113. Parking_1_LED(0);
  114. Parking_2_LED(0);
  115. Parking_3_LED(1);
  116. }
  117. //111
  118. else if (sensor_1 == 1 && sensor_2 == 1 && sensor_3 == 1) {
  119. lcd.clear();
  120. lcd.setCursor(0, 0);
  121. lcd.print("1 1 1");
  122. // ****************
  123. lcd.setCursor(0, 1);
  124. lcd.print("Avaliable: 3");
  125. Parking_1_LED(0);
  126. Parking_2_LED(0);
  127. Parking_3_LED(0);
  128. }
  129. delay(500);
  130. }
  131.  
  132.  
  133. void initSensorsAndLEDs() {
  134. pinMode(Parking_1_Sensor, INPUT);
  135. pinMode(Parking_2_Sensor, INPUT);
  136. pinMode(Parking_3_Sensor, INPUT);
  137. pinMode(Parking_1_LED_Pin_1, OUTPUT);
  138. pinMode(Parking_1_LED_Pin_2, OUTPUT);
  139. pinMode(Parking_2_LED_Pin_1, OUTPUT);
  140. pinMode(Parking_2_LED_Pin_2, OUTPUT);
  141. pinMode(Parking_3_LED_Pin_1, OUTPUT);
  142. pinMode(Parking_3_LED_Pin_2, OUTPUT);
  143. digitalWrite(Parking_1_LED_Pin_1, 1);
  144. digitalWrite(Parking_1_LED_Pin_2, 0);
  145. digitalWrite(Parking_2_LED_Pin_1, 1);
  146. digitalWrite(Parking_2_LED_Pin_2, 0);
  147. digitalWrite(Parking_3_LED_Pin_1, 1);
  148. digitalWrite(Parking_3_LED_Pin_2, 0);
  149. }
  150.  
  151. void readSensors() {
  152. sensor_1 = digitalRead(Parking_1_Sensor);
  153. sensor_2 = digitalRead(Parking_2_Sensor);
  154. sensor_3 = digitalRead(Parking_3_Sensor);
  155. Serial.print(sensor_1);
  156. Serial.print(sensor_2);
  157. Serial.println(sensor_3);
  158. Serial.println("************");
  159. }
  160.  
  161. void Parking_1_LED(int state) {
  162. if (state == 1) {
  163. // Red LED ON + Green LED OFF
  164. digitalWrite(Parking_1_LED_Pin_1, 1);
  165. digitalWrite(Parking_1_LED_Pin_2, 0);
  166. }
  167. else {
  168. // Red LED OFF + Green LED ON
  169. digitalWrite(Parking_1_LED_Pin_1, 0);
  170. digitalWrite(Parking_1_LED_Pin_2, 1);
  171. }
  172. }
  173. void Parking_2_LED(int state) {
  174. if (state == 1) {
  175. // Red LED ON + Green LED OFF
  176. digitalWrite(Parking_2_LED_Pin_1, 1);
  177. digitalWrite(Parking_2_LED_Pin_2, 0);
  178. }
  179. else {
  180. // Red LED OFF + Green LED ON
  181. digitalWrite(Parking_2_LED_Pin_1, 0);
  182. digitalWrite(Parking_2_LED_Pin_2, 1);
  183. }
  184. }
  185. void Parking_3_LED(int state) {
  186. if (state == 1) {
  187. // Red LED ON + Green LED OFF
  188. digitalWrite(Parking_3_LED_Pin_1, 1);
  189. digitalWrite(Parking_3_LED_Pin_2, 0);
  190. }
  191. else {
  192. // Red LED OFF + Green LED ON
  193. digitalWrite(Parking_3_LED_Pin_1, 0);
  194. digitalWrite(Parking_3_LED_Pin_2, 1);
  195. }
  196. }
  197.  
Advertisement
Add Comment
Please, Sign In to add comment