#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int huoerPina=0;
int huoerPinb=1;
int jishu=0;
int jishu2 = 0;
volatile int State = LOW;
int dir,m,n;
unsigned long timeone,timetwo,timethree,time;
boolean red = true;
int i ;
void setup()
{
lcd.init();
lcd.backlight();
Serial.begin(9600);
digitalWrite(2,LOW);
pinMode(13,OUTPUT);
attachInterrupt(huoerPina,onChangea,FALLING);
attachInterrupt(huoerPinb,onChangeb,FALLING);
}
void loop()
{ if(red==true){
if(timeone>0&&timetwo>0){
blank();}}
n = timeone - timetwo;
m = timetwo - timeone;
if(n>0){
dir = "01";
lcd.setCursor(12,0);
lcd.print("(01)");}else if(
m>0)
{dir = 10;
lcd.setCursor(12,0);
lcd.print("(10)");
}
lcd.setCursor(0,0);
lcd.print("NUM:");
lcd.setCursor(5,0);
lcd.print(jishu);
lcd.setCursor(8,0);
lcd.print("dir:");
lcd.setCursor(0,1);
lcd.print("time:");
lcd.setCursor(6,1);
lcd.print(time);
delay(1);
{
for(int i=0;i<100;i++)
{
delay(10);
}
}
}
void onChangea()
{
jishu+=1;
timeone = millis();
Serial.println(jishu);
}
void onChangeb()
{
jishu2+=1;
timetwo = millis();
}
void blank(){
if(timeone>timetwo){
timethree = timeone-timetwo;
}else{
timethree = timetwo-timeone ;
}
time = timethree ;
red = false ;}
2021-08-012017电赛管道钢珠运动测量
于 2021-08-01 10:46:23 首次发布