Arts >> Umjetnost i zabava >  >> Magija >> Mađioničarski trikovi

Kako deaktivirati prekidač?

Otklanjanje odbijanja prekidača je ključna tehnika u elektronici za sprječavanje neželjenih višestrukih okidača od jednog pritiska. Evo raščlambe o tome što je to, zašto je potrebno i različite metode za postizanje toga:

Razumijevanje problema:

* Promjena odbijanja kontakta: Mehanički prekidači, kada se pritisnu ili otpuste, ne prelaze odmah između otvorenog i zatvorenog stanja. Višestruko "odskaču" zbog mehaničkih vibracija i nesavršenosti kontakta.

* Višestruki okidači: Ovo poskakivanje može generirati više električnih signala iako je korisnik namjeravao samo jedan pritisak. To može uzrokovati nenamjerno ponašanje u krugovima, posebno onima koji su osjetljivi na vrijeme.

Zašto Debounce?

* Točna interpretacija signala: Sprječava da lažni signali utječu na logiku ili upravljačke funkcije vašeg kruga.

* Pouzdan rad: Osigurava da vaš krug reagira samo jednom na jedan pritisak prekidača.

Metode odbijanja:

1. Odbijanje hardvera:

* RC krug: Najčešća metoda. Otpornik (R) i kondenzator (C) spojeni su paralelno preko sklopke. Kondenzator se polako puni i prazni, filtrirajući brze signale odbijanja.

* Kako radi: Kada se sklopka zatvori, kondenzator se puni kroz otpornik. Signali odbijanja su prebrzi da bi potpuno napunili kondenzator, tako da prolazi samo jedan, čisti signal.

* Na temelju diode: Koristi diodu za sprječavanje prebrzog pražnjenja kondenzatora. To osigurava čist signal, čak i ako je odbijanje dugotrajno.

2. Odbijanje softvera:

* Softverski mjerač vremena: Mikrokontroler se može programirati da kratko vrijeme zanemari promjene ulaza nakon pritiska na prekidač. Sve promjene unutar tog vremena smatraju se odbijanjem.

* Kako radi: Tajmer se pokreće prvim pritiskom na prekidač. Sve daljnje promjene unutar trajanja timera se zanemaruju. Nakon što timer istekne, prihvaća se novo stanje prekidača.

* State Machine: Koristi stroj stanja za praćenje stanja prekidača. Stroj mijenja stanja samo nakon odgode, filtrirajući odbijajuće signale.

3. Specijalizirani IC-ovi za uklanjanje odbijanja:

* IC-ovi za uklanjanje odbijanja: Osmišljen posebno za uklanjanje odbijanja signala, pružajući robusna i pouzdana rješenja.

Odabir prave metode:

* Odbijanje hardvera: Najbolje za jednostavne sklopove i kada je isplativost važna.

* Odbijanje softvera: Nudi veću fleksibilnost i može se nositi sa složenijim scenarijima.

* Specijalizirani IC-ovi za uklanjanje odbijanja: Idealno za aplikacije koje zahtijevaju visoku točnost, brzinu ili kada je prostor ograničen.

Ključna razmatranja:

* Vrijeme odbijanja: Odgoda ili vremenski prozor koji se koristi za uklanjanje odbijanja trebao bi biti dulji od trajanja odbijanja prekidača, ali kraći od očekivanog vremena odgovora korisnika.

* Složenost strujnog kruga: Odabrana metoda odbijanja mora biti prikladna za složenost kruga i raspoložive resurse.

Primjer koda (Software Debouncing s Arduinom):

```c++

const int switchPin =2; // Pin spojen na prekidač

int switchState =0; // Početno stanje prekidača

unsigned long lastDebounceTime =0; // Zadnji put je prekidač promijenio stanje

const unsigned long debounceDelay =50; // Kašnjenje u milisekundama

void setup() {

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

Serial.begin(9600);

}

void loop() {

int čitanje =digitalRead(switchPin);

// Ako se prekidač promijenio, resetirajte tajmer

if (čitanje !=switchState) {

lastDebounceTime =millis();

}

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

// Ako je odgoda dovoljno duga, smatrajte promjenu važećom

switchState =čitanje;

// Obrada stanja prekidača

if (switchState ==LOW) {

Serial.println("Prekidač pritisnut!");

} inače {

Serial.println("Prekidač pušten!");

}

}

}

```

Ovaj Arduino kod implementira uklanjanje odbijanja softvera provjerom stanja prekidača i usporedbom s prethodnim stanjem. Ako se otkrije promjena, poništava mjerač vremena. Tek nakon određene odgode (debounceDelay) promjena se smatra valjanom i obrađuje se.

Mađioničarski trikovi

Povezani Kategorije