This is an old revision of the document!
De rezistente nu a fost nevoie.
Codul a fost scris in Arduino IDE.
while (1) {
if ((PINC & (1 << PINC0)) == 0 && flag1 == 0) {
timer1 = TCNT1;
flag1 = 1;
}
if ((PINC & (1 << PINC1)) == 0 && flag2 == 0) {
timer2 = TCNT1;
flag2 = 1;
}
if (flag1 == 1 && flag2 == 1) {
if (timer1 > timer2) {
Time = (timer1 - timer2) / (F_CPU / 1024.0);
} else if (timer2 > timer1) {
Time = (timer2 - timer1) / (F_CPU / 1024.0);
}
speed = (distance / Time) * 3600 / 1000;
flag1 = 0;
flag2 = 0;
}
if (speed == 0) {
lcd_set_cursor(0, 1);
if (flag1 == 0 && flag2 == 0) {
lcd_print("No car detected ");
} else {
lcd_print("Searching... ");
}
} else {
lcd_clear();
lcd_set_cursor(0, 0);
lcd_print("Speed:");
char buffer[10];
dtostrf(speed, 4, 1, buffer);
lcd_print(buffer);
lcd_print(" Km/Hr ");
lcd_set_cursor(0, 1);
if (speed > 50) {
lcd_print(" Over Speeding ");
PORTB |= (1 << PORTB5);
} else {
lcd_print(" Normal Speed ");
}
_delay_ms(3000);
PORTB &= ~(1 << PORTB5);
speed = 0;
lcd_clear();
}
}
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.