Professional Documents
Culture Documents
#include <LiquidCrystal.h>
LiquidCrystal lcd(33,31,22,24,26,28);
float t1=0;
float t2=0;
float t3=0;
float t4=0;
float t5=0;
float t6=0;
float t7=0;
float t8=0;
float t9=0;
float t10=0;
float t11=0;
float t12=0;
void sens1() { if ((t1==0) && (t2==0)) t1=millis(); if ((t7==0) && (t8==0)) t7=millis(); if ((t11==0) &&
(t12==0)) t11=millis();}
void sens2() { if ((t2==0) && (t1!=0)) t2=millis(); if ((t3==0) && (t4==0)) t3=millis(); if ((t9==0) &&
(t10==0)) t9=millis(); }
void sens3() { if ((t4==0) && (t3!=0)) t4=millis(); if ((t5==0) && (t6==0)) t5=millis(); if ((t8==0) && (t7!=0))
t8=millis(); }
void sens4() { if ((t6==0) && (t5!=0)) t6=millis(); if ((t10==0) && (t9!=0)) t10=millis(); if ((t12==0) &&
(t11!=0)) t12=millis(); }
void setup()
lcd.begin(20, 4);
pinMode(18,INPUT);
pinMode(19,INPUT);
pinMode(20,INPUT);
pinMode(21,INPUT);
pinMode(13,OUTPUT);
attachInterrupt(digitalPinToInterrupt(18),sens1,RISING);
attachInterrupt(digitalPinToInterrupt(19),sens2,RISING);
attachInterrupt(digitalPinToInterrupt(20),sens3,RISING);
attachInterrupt(digitalPinToInterrupt(21),sens4,RISING);
Serial.begin(115200);
void loop()
lcd.setCursor(3,0);
lcd.setCursor(0,1);
lcd.print("1=");
lcd.setCursor(0,2);
lcd.print("2=");
lcd.setCursor(0,3);
lcd.print("3=");
lcd.setCursor(11,1);
lcd.print("4=");
lcd.setCursor(11,2);
lcd.print("5=");
lcd.setCursor(11,3);
lcd.print("6=");
digitalWrite(13,t1?HIGH:LOW);
if (t2>0)
lcd.setCursor(2,1);
lcd.print((0.3/((t2-t1)/1000)),5);
t1=t2=0;
digitalWrite(13,t3?HIGH:LOW);
if (t4>0)
lcd.setCursor(2,2);
lcd.print((0.3/((t4-t3)/1000)),5);
t3=t4=0;
digitalWrite(13,t5?HIGH:LOW);
if (t6>0)
{
lcd.setCursor(2,3);
lcd.print((0.3/((t6-t5)/1000)),5);
t5=t6=0;
digitalWrite(13,t7?HIGH:LOW);
if (t8>0)
lcd.setCursor(13,1);
lcd.print((0.6/((t8-t7)/1000)),5);
t7=t8=0;
digitalWrite(13,t9?HIGH:LOW);
if (t10>0)
lcd.setCursor(13,2);
lcd.print((0.6/((t10-t9)/1000)),5);
t9=t10=0;
digitalWrite(13,t11?HIGH:LOW);
if (t12>0)
lcd.setCursor(13,3);
lcd.print((0.9/((t12-t11)/1000)),5);
t11=t12=0;