ممنون من کدتون یکم تغییر دادم شد کد زیر یکم ایراد داره اگه چکش کنید ممنون میشم در ضمن من از پول داون استقاده کردن بخاطر همین شرط برابری رو low قرار دادم ایرادش اینه که کلیدها رو چن بار میشمره و فاصله زمانی برابر 20 میکرو ثانیه ثبت میشه اونم چن بار باوجود اینکه من یه حلقه whileگذاشتم که کلید تغییر حالت داد بره خط بعدی و قاصله دوبار کلیذ زدن من قطعاا بیشتر از 20 میکرو ثانیه هستش
unsigned long timer=0;
boolean count = true;
boolean show = true;
void setup() {
pinMode(16,INPUT);
Serial.begin(9600);
}
void loop() {
if (count ==false){
if(digitalRead(16)==LOW){
while(digitalRead(16)==HIGH);show = false;
}
}
if (count == true){
if( digitalRead(16) == LOW){timer = micros(); while(digitalRead(16)==HIGH);count = false;
}
}
if (show == false){
Serial.println(micros() - timer);
show=true;count = true;
delay(50);
}
}