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> | ||