Bir sinyalin (PWM) yükselen kenarına kesintiler eklemeye çalışıyorum. Bununla birlikte, HIGH
sinyali alındığında bu sinyal biraz gürültülüdür; Açıkçası bunu devrememde düzeltmeye çalıştım ama bu pek işe yaramadı, ben de yazılım bölümüne geçtim.Zaman aralığındaki kesintiyi arduino (alçak geçiren filtre)
Belirli bir frekans aralığında kesintileri nasıl filtreleyebilirim? Sinyal, HIGH
sinyali olduğunda kesmelerin tetiklenmemesi için bir düşük geçiş filtresi uygulamam gerekiyor. Benim fikrim belirli bir süre için kesintiyi ayırdı ya da belli bir zaman aralığında gerçekleşirse kesmeyi görmezden geliyordu.
Bunun nasıl başarılacağından emin değilim.
Aşağıdaunsigned long tsend = 0;
unsigned long techo = 0;
const int SEND = 2;
const int ECHO = 3;
unsigned long telapsed = 0;
unsigned long treal = 0;
void setup() {
Serial.begin(115200);
Serial.println("Start");
pinMode(SEND, INPUT);
pinMode(ECHO, INPUT);
attachInterrupt(digitalPinToInterrupt(SEND), time_send, RISING);
attachInterrupt(digitalPinToInterrupt(ECHO), time_echo, RISING);
}
void loop() {
telapsed = techo - tsend;
if (telapsed > 100 && telapsed < 10000000) {
treal = telapsed;
Serial.println(treal);
}
}
void time_send() {
tsend = micros();
}
void time_echo() {
techo = micros();
}
(sarı) sinyalidir gürültü bir yeri vardır:
Bu benim kodudur. Sinyal HIGH
olduğunda kesmeleri göz ardı etmem gerekiyor. Burada aşağıdakileri deneyin ediyorum PWM Signal