//6 //Tx1- #include <LiquidCrystal.h>///// LiquidCrystal lcd(12, 11, 5, 4, 3, 2);/// int statButton=0;/// int laststatButton=LOW; unsigned long int lastinHigh=0;/// unsigned long int inHigh=0; unsigned long int clock=0; unsigned long int lastclock=0; int durations[19];/// int count=0; int duration=0; float sum=3000;//// float bps=2;// float mps;/// TapTempo float tic; int count2=0;/// int count3=0; int count4=0; void setup() { Serial.begin(31250);/////////////// //Serial.begin(9600); pinMode(6,INPUT); lcd.begin(16, 2); } void loop() { mps=bps*24 ;// * tic=1000000/mps;// / clock=micros();/// if(clock-lastclock>tic)/// { Serial.write(byte(0xF8));/// lastclock=clock; } if(count2==400)/// { readbut(); count2=0; } count2++; if(count3==2000)// { lcd.clear(); //lcd.setCursor(0, 0); lcd.print(bps*60); count3=0; } count3++; } void readbut()/// { statButton=digitalRead(6); if(statButton==HIGH&&laststatButton==LOW)/// LOW HIGH { inHigh=millis();/// duration=inHigh-lastinHigh;// // Serial.println(duration); if(duration<1500&&duration>100)// { if(count<19)/// { durations[count]=duration; // Serial.println(durations[count]); count++; } }else{ for(int i=0;i<19;i++) { durations[i]=0; } count=0; } } lastinHigh=inHigh; laststatButton=statButton; for(int i=0;i<19;i++)/// { if(durations[i]!=0)// { sum=(sum+durations[i]); // println(durations[i]); count4++ ;// bps=1000.0/(sum/count4);/// / } } count4=0; sum=0; }
Source: https://habr.com/ru/post/243971/
All Articles