#include <LiquidCrystal.h> // Δήλωση ακίδων οθόνης LCD const int rs = 6, en = 7, d4 = 8, d5 = 9, d6 = 10, d7 = 11; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); unsigned long t1, t2; double td, tsec, vel; void setup() { lcd.begin(16, 2); // Αρχικοποίηση οθόνης LCD pinMode(A0, INPUT); // Δεύτερος αισθητήρας διέλευσης pinMode(A1, INPUT); // Πρώτος αισθητήρας διέλευσης } void loop() { if(analogRead(A1)>512) { // Πατήθηκε το πρώτο πλήκτρο t1=millis(); // Καταγράφεται η χρονική στιγμή 1 (msec) // Περιμένουμε να πατηθεί και το δεύτερο πλήκτρο while (analogRead(A0)<512) { delay(1); } // Πατήθηκε το δεύτερο πλήκτρο t2=millis(); // Καταγράφεται η χρονική στιγμή 2 (msec) // Υπολογισμός ταχύτητας td=(t2-t1); // Η Χρονική διαφορά (msec) tsec=td/1000; // Η Χρονική διαφορά σε sec vel=0.5*3600/(tsec*1000); // Η ταχύτητα σε Km/h // Εμφάνιση μηνύματος lcd.clear(); lcd.print("Time: "); lcd.print(tsec); lcd.print(" sec"); lcd.setCursor(0, 1); lcd.print("Vel: "); lcd.print(vel); lcd.print(" Km/h"); } delay(10); // Καθυστέρηση 10 millisecond(s) }