Arts >> Umenie a zábava >  >> Mágia >> Kúzelnícke triky

Ako vypnete spínač?

Odskok spínača je kľúčovou technikou v elektronike, ktorá zabraňuje nechcenému viacnásobnému spusteniu jediným stlačením. Tu je rozpis toho, čo to je, prečo je to potrebné a rôzne spôsoby, ako to dosiahnuť:

Pochopenie problému:

* Prepnúť odraz od kontaktu: Mechanické spínače pri stlačení alebo uvoľnení neprechádzajú okamžite medzi otvoreným a zatvoreným stavom. V dôsledku mechanických vibrácií a kontaktných nedokonalostí viacnásobne "odskakujú".

* Viaceré spúšťače: Toto poskakovanie môže generovať viacero elektrických signálov, aj keď používateľ zamýšľal iba jedno stlačenie. To môže spôsobiť neúmyselné správanie v obvodoch, najmä tých, ktoré sú citlivé na časovanie.

Prečo zrušenie?

* Presná interpretácia signálu: Zabraňuje tomu, aby rušivé signály ovplyvňovali logické alebo riadiace funkcie vášho obvodu.

* Spoľahlivá prevádzka: Zabezpečuje, že váš obvod reaguje iba raz na stlačenie jediného spínača.

Metódy odrazu:

1. Odskok hardvéru:

* RC okruh: Najbežnejšia metóda. Rezistor (R) a kondenzátor (C) sú paralelne zapojené cez spínač. Kondenzátor sa pomaly nabíja a vybíja, čím filtruje rýchle odskakujúce signály.

* Ako to funguje: Keď sa spínač zatvorí, kondenzátor sa nabíja cez odpor. Signály odrazu sú príliš rýchle na to, aby sa kondenzátor úplne nabil, takže cez neho prechádza iba jediný čistý signál.

* Na báze diód: Používa diódu, aby sa zabránilo príliš rýchlemu vybitiu kondenzátora. To zaisťuje čistý signál, aj keď je odraz predĺžený.

2. Odskok softvéru:

* Softvérový časovač: Mikrokontrolér môže byť naprogramovaný tak, aby ignoroval zmeny vstupu na krátku dobu po stlačení spínača. Akékoľvek zmeny v tomto čase sa považujú za nevrátené.

* Ako to funguje: Pri prvom stlačení spínača sa spustí časovač. Akékoľvek ďalšie zmeny v rámci trvania časovača sa ignorujú. Po vypršaní časovača sa akceptuje nový stav spínača.

* Stav stroja: Používa stavový automat na sledovanie stavu spínača. Stroj zmení stavy až po oneskorení, pričom odfiltruje odskakujúce signály.

3. Špecializované debouncing IC:

* Odskokové integrované obvody: Navrhnuté špeciálne na odskok signálov, poskytujúce robustné a spoľahlivé riešenia.

Výber správnej metódy:

* Odskok hardvéru: Najlepšie pre jednoduché obvody a keď je dôležitá efektívnosť nákladov.

* Odskok softvéru: Ponúka väčšiu flexibilitu a dokáže zvládnuť zložitejšie scenáre.

* Špecializované integrované obvody s debouncing: Ideálne pre aplikácie vyžadujúce vysokú presnosť, rýchlosť alebo pri obmedzenom priestore.

Kľúčové úvahy:

* Čas oneskorenia: Oneskorenie alebo časové okno použité na odskok by malo byť dlhšie ako trvanie odrazu prepínača, ale kratšie ako očakávaný čas odozvy používateľa.

* Zložitosť obvodu: Zvolená metóda odskoku by mala byť vhodná pre zložitosť obvodu a dostupné zdroje.

Príklad kódu (odskok softvéru s Arduino):

``` c++

const int switchPin =2; // Pin pripojený k prepínaču

int switchState =0; // Počiatočný stav prepínača

unsigned long lastDebounceTime =0; // Naposledy zmenil stav prepínača

const unsigned long debounceDelay =50; // Oneskorenie v milisekundách

void setup() {

pinMode(switchPin, INPUT_PULLUP); // Nakonfigurujte pin pre vstup

Serial.begin(9600);

}

void loop() {

int čítanie =digitalRead(switchPin);

// Ak sa spínač zmenil, resetujte časovač

if (číta sa !=switchState) {

lastDebounceTime =millis();

}

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

// Ak je oneskorenie dostatočne dlhé, považujte zmenu za platnú

switchState =čítanie;

// Spracovanie stavu prepínača

if (switchState ==LOW) {

Serial.println("Prepínač stlačený!");

} inak {

Serial.println("Spínač uvoľnený!");

}

}

}

```

Tento kód Arduino implementuje softvérový debouding kontrolou stavu prepínača a jeho porovnaním s predchádzajúcim stavom. Ak sa zistí zmena, vynuluje časovač. Až po určitom oneskorení (debounceDelay) sa zmena považuje za platnú a spracovanú.

Kúzelnícke triky

súvisiace kategórie