Arts >> Umění a zábava >  >> Magie >> Kouzelnické triky

Jak vypnete spínač?

Odskočení spínače je klíčovou technikou v elektronice, aby se zabránilo nechtěným vícenásobným spouštěním jediným stisknutím. Zde je rozpis toho, co to je, proč je to nutné a různé metody, jak toho dosáhnout:

Pochopení problému:

* Přepnutí kontaktu: Mechanické spínače při stisknutí nebo uvolnění nepřecházejí okamžitě mezi otevřeným a zavřeným stavem. Vícenásobně "odskakují" v důsledku mechanických vibrací a kontaktních nedokonalostí.

* Více spouštěčů: Toto poskakování může generovat více elektrických signálů, i když uživatel zamýšlel pouze jedno stisknutí. To může způsobit nezamýšlené chování v obvodech, zejména těch, které jsou citlivé na časování.

Proč Debounce?

* Přesná interpretace signálu: Zabraňuje rušivým signálům ovlivňovat logické nebo řídicí funkce vašeho obvodu.

* Spolehlivý provoz: Zajišťuje, že váš obvod reaguje pouze jednou na stisknutí jediného spínače.

Metody odrazu:

1. Hardware Debouding:

* RC obvod: Nejběžnější metoda. Rezistor (R) a kondenzátor (C) jsou zapojeny paralelně přes spínač. Kondenzátor se nabíjí a vybíjí pomalu a filtruje rychle odrážející signály.

* Jak to funguje: Když se spínač sepne, kondenzátor se nabije přes odpor. Odražené signály jsou příliš rychlé na to, aby se kondenzátor plně nabil, takže projde pouze jediný čistý signál.

* Na základě diody: Používá diodu, která zabraňuje příliš rychlému vybíjení kondenzátoru. Tím je zajištěn čistý signál, i když je odskok delší.

2. Softwarové odskoky:

* Softwarový časovač: Mikrokontrolér lze naprogramovat tak, aby ignoroval změny vstupu po krátkou dobu po stisknutí spínače. Jakékoli změny během této doby jsou považovány za okamžité.

* Jak to funguje: Při prvním stisknutí spínače se spustí časovač. Jakékoli další změny během trvání časovače jsou ignorovány. Po vypršení časovače je přijat nový stav spínače.

* State Machine: Používá stavový automat ke sledování stavu přepínače. Stroj změní stavy až po prodlevě a odfiltruje odrážející signály.

3. Specialized Debouncing ICs:

* Debouding IC: Navrženo speciálně pro odrážení signálů a poskytuje robustní a spolehlivá řešení.

Výběr správné metody:

* Hardwarové rušení: Nejlepší pro jednoduché obvody a tam, kde je důležitá hospodárnost.

* Odskok softwaru: Nabízí větší flexibilitu a zvládne i složitější scénáře.

* Specializované debouncing IC: Ideální pro aplikace vyžadující vysokou přesnost, rychlost nebo při omezeném prostoru.

Klíčové úvahy:

* Doba odskoku: Zpoždění nebo časové okno použité pro odskok by mělo být delší než doba trvání odskoku spínače, ale kratší než očekávaná doba odezvy uživatele.

* Složitost obvodu: Zvolená metoda odrazu by měla být vhodná pro složitost obvodu a dostupné zdroje.

Ukázkový kód (Software Debouncing s Arduinem):

```c++

const int switchPin =2; // Pin připojený k přepínači

int switchState =0; // Počáteční stav přepínače

unsigned long lastDebounceTime =0; // Naposledy změnil stav přepínače

const unsigned long debounceDelay =50; // Zpoždění v milisekundách

void setup() {

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

Serial.begin(9600);

}

void loop() {

int čtení =digitalRead(switchPin);

// Pokud se spínač změnil, resetujte časovač

if (čtení !=switchState) {

lastDebounceTime =millis();

}

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

// Pokud je zpoždění dostatečně dlouhé, považujte změnu za platnou

switchState =čtení;

// Zpracování stavu přepínače

if (switchState ==NÍZKÁ) {

Serial.println("Spínač stisknut!");

} jinak {

Serial.println("Spínač uvolněn!");

}

}

}

```

Tento kód Arduino implementuje softwarové debouding tím, že zkontroluje stav přepínače a porovná jej s předchozím stavem. Pokud je zjištěna změna, vynuluje časovač. Teprve po určité prodlevě (debounceDelay) je změna považována za platnou a zpracovaná.

Kouzelnické triky

Související kategorie