#include LiquidCrystal lcd(12, 11, 5, 4, 3, 2); int X; int Y; float Time; float frequency; const int Freqinput = A0; const int oscInput = A1; int Switch = A2; const int test = 9; void setup() { Serial.begin(9600); lcd.begin(16,2); pinMode(Switch,INPUT); pinMode(Freqinput,INPUT); pinMode(oscInput,INPUT); pinMode(test, OUTPUT); analogWrite(test,127); lcd.setCursor(0,0); lcd.print("Press the button"); } void loop() { if(digitalRead(Switch)==HIGH) { lcd.clear(); lcd.setCursor(0,0); X = pulseIn(Freqinput,HIGH); Y = pulseIn(Freqinput,LOW); Time = X+Y; frequency = 1000000/Time; if(frequency<=0) { lcd.clear(); lcd.setCursor(0,0); lcd.print("F="); lcd.print("0.00 Hz"); lcd.setCursor(0,1); lcd.print("T="); lcd.print("0.00 us"); } else { lcd.clear(); lcd.setCursor(0,0); lcd.print("F="); lcd.print(frequency); lcd.print("Hz"); lcd.setCursor(0,1); lcd.print("T="); lcd.print(Time); lcd.print(" us"); delay(500); } } else { Serial.println(analogRead(oscInput)); } }