Arts >> Umetnost in zabava >  >> Čarovnija >> Čarovniški triki

Kako odbijete stikalo?

Odbijanje stikala je ključna tehnika v elektroniki za preprečevanje neželenih večkratnih sprožilcev z enim pritiskom. Tukaj je razčlenitev, kaj to je, zakaj je potrebno in različne metode za dosego tega:

Razumevanje težave:

* Odboj prek stika: Mehanska stikala, ko jih pritisnete ali spustite, ne preidejo takoj med odprtim in zaprtim stanjem. Večkrat "odskočijo" zaradi mehanskih tresljajev in nepopolnosti kontakta.

* Več sprožilcev: To poskakovanje lahko ustvari več električnih signalov, čeprav je uporabnik želel le en sam pritisk. To lahko povzroči nenamerno vedenje v tokokrogih, zlasti tistih, ki so občutljivi na čas.

Zakaj Debounce?

* Natančna interpretacija signala: Preprečuje, da bi lažni signali vplivali na logiko ali krmilne funkcije vašega vezja.

* Zanesljivo delovanje: Zagotavlja, da se vaše vezje odzove le enkrat na en sam pritisk stikala.

Metode odstranjevanja odbojev:

1. Odboj strojne opreme:

* RC vezje: Najpogostejša metoda. Prek stikala sta vzporedno povezana upor (R) in kondenzator (C). Kondenzator se počasi polni in prazni, s čimer filtrira hitre odbojne signale.

* Kako deluje: Ko se stikalo zapre, se kondenzator napolni skozi upor. Odbojni signali so prehitri, da bi popolnoma napolnili kondenzator, zato gre skozi le en sam, čist signal.

* Na osnovi diode: Uporablja diodo, ki preprečuje prehitro praznjenje kondenzatorja. To zagotavlja čist signal, tudi če je odboj dolgotrajen.

2. Odstranjevanje programske opreme:

* Programski časovnik: Mikrokrmilnik je mogoče programirati tako, da po pritisku stikala za kratek čas prezre vhodne spremembe. Vse spremembe v tem času se štejejo za zavrnjene.

* Kako deluje: Časovnik se zažene ob prvem pritisku na stikalo. Vse nadaljnje spremembe znotraj trajanja časovnika se ne upoštevajo. Po poteku časovnika je novo stanje stikala sprejeto.

* State Machine: Za sledenje stanju stikala uporablja stanje stroj. Stroj spremeni stanja samo po zakasnitvi in ​​filtrira odbojne signale.

3. Specializirani IC-ji za odbijanje:

* Odbojni IC-ji: Zasnovan posebej za odbijanje signalov, kar zagotavlja robustne in zanesljive rešitve.

Izbira prave metode:

* Odbijanje strojne opreme: Najboljše za preprosta vezja in kadar je pomembna stroškovna učinkovitost.

* Odbijanje programske opreme: Ponuja večjo prilagodljivost in lahko obravnava bolj zapletene scenarije.

* Specializirani IC-ji za odbijanje: Idealen za aplikacije, ki zahtevajo visoko natančnost, hitrost ali kadar je prostor omejen.

Ključni premisleki:

* Čas odboja: Zakasnitev ali časovno okno, uporabljeno za odbijanje, mora biti daljše od trajanja odboja stikala, vendar krajše od pričakovanega odzivnega časa uporabnika.

* Zapletenost vezja: Izbrana metoda odboja mora ustrezati kompleksnosti vezja in razpoložljivim virom.

Primer kode (odboj programske opreme z Arduinom):

``c++

const int switchPin =2; // Pin povezan s stikalom

int switchState =0; // Začetno stanje stikala

unsigned long lastDebounceTime =0; // Nazadnje je stikalo spremenilo stanje

const unsigned long debounceDelay =50; // Zakasnitev v milisekundah

void setup() {

pinMode(switchPin, INPUT_PULLUP); // Konfigurirajte pin za vnos

Serial.begin(9600);

}

void loop() {

int branje =digitalRead(switchPin);

// Če se stikalo spremeni, ponastavite časovnik

if (branje !=switchState) {

lastDebounceTime =millis();

}

if ((millis() - lastDebounceTime)> debounceDelay) {

// Če je zamuda dovolj dolga, velja sprememba za veljavno

switchState =branje;

// Obdelaj stanje stikala

if (switchState ==LOW) {

Serial.println("Stikalo pritisnjeno!");

} drugače {

Serial.println("Stikalo sproščeno!");

}

}

}

```

Ta koda Arduino implementira odbijanje programske opreme tako, da preveri stanje stikala in ga primerja s prejšnjim stanjem. Če je zaznana sprememba, ponastavi časovnik. Šele po določenem zamiku (debounceDelay) se sprememba šteje za veljavno in obdelano.

Čarovniški triki

Povezane kategorije