This shows you the differences between two versions of the page.
|
pm:prj2024:vstoica:victor.ionescu0812 [2024/05/27 00:42] victor.ionescu0812 [Software Design] |
pm:prj2024:vstoica:victor.ionescu0812 [2024/05/30 08:41] (current) victor.ionescu0812 |
||
|---|---|---|---|
| Line 93: | Line 93: | ||
| </note> | </note> | ||
| - | ===== Rezultate Obţinute ===== | + | ===== Cod complet ===== |
| <note tip> | <note tip> | ||
| - | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
| + | #include <Wire.h> | ||
| + | #include <LiquidCrystal_I2C.h> | ||
| + | |||
| + | LiquidCrystal_I2C lcd(0x27, 16, 2); | ||
| + | |||
| + | int timer1; | ||
| + | int timer2; | ||
| + | |||
| + | float Time; | ||
| + | |||
| + | int flag1 = 0; | ||
| + | int flag2 = 0; | ||
| + | |||
| + | float distance = 3.5; | ||
| + | float speed; | ||
| + | |||
| + | int ir_s1 = A0; | ||
| + | int ir_s2 = A1; | ||
| + | |||
| + | int buzzer = 13; | ||
| + | |||
| + | void setup() { | ||
| + | pinMode(ir_s1, INPUT); | ||
| + | pinMode(ir_s2, INPUT); | ||
| + | pinMode(buzzer, OUTPUT); | ||
| + | |||
| + | lcd.begin(16, 1); | ||
| + | lcd.init(); | ||
| + | lcd.backlight(); | ||
| + | lcd.clear(); | ||
| + | lcd.setCursor(0, 0); | ||
| + | lcd.print("VYCTOR MASHINA"); | ||
| + | delay(2000); | ||
| + | lcd.clear(); | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | if (digitalRead(ir_s1) == LOW && flag1 == 0) { | ||
| + | timer1 = millis(); | ||
| + | flag1 = 1; | ||
| + | } | ||
| + | |||
| + | if (digitalRead(ir_s2) == LOW && flag2 == 0) { | ||
| + | timer2 = millis(); | ||
| + | flag2 = 1; | ||
| + | } | ||
| + | |||
| + | if (flag1 == 1 && flag2 == 1) { | ||
| + | if (timer1 > timer2) { | ||
| + | Time = timer1 - timer2; | ||
| + | } else if (timer2 > timer1) { | ||
| + | Time = timer2 - timer1; | ||
| + | } | ||
| + | Time = Time / 1000; | ||
| + | speed = (distance / Time); | ||
| + | speed = speed * 3600; | ||
| + | speed = speed / 1000; | ||
| + | } | ||
| + | |||
| + | if (speed == 0) { | ||
| + | lcd.setCursor(0, 1); | ||
| + | if (flag1 == 0 && flag2 == 0) { | ||
| + | lcd.print("No car detected"); | ||
| + | } else { | ||
| + | lcd.print("Searching... "); | ||
| + | } | ||
| + | } else { | ||
| + | lcd.clear(); | ||
| + | lcd.setCursor(0, 0); | ||
| + | lcd.print("Speed:"); | ||
| + | lcd.print(speed, 1); | ||
| + | lcd.print("Km/Hr "); | ||
| + | lcd.setCursor(0, 1); | ||
| + | if (speed > 50) { | ||
| + | lcd.print(" Over Speeding "); | ||
| + | digitalWrite(buzzer, HIGH); | ||
| + | } else { | ||
| + | lcd.print(" Normal Speed "); | ||
| + | } | ||
| + | delay(3000); | ||
| + | digitalWrite(buzzer, LOW); | ||
| + | speed = 0; | ||
| + | flag1 = 0; | ||
| + | flag2 = 0; | ||
| + | } | ||
| + | } | ||
| </note> | </note> | ||