- Jazýčkový spínač
- Požadované komponenty
- Schéma zapojení Arduino jazýčkového spínače
- Práce s Reed Switch s Arduino
- Vysvětlení kódu
Jazýčkový spínač se používá v mnoha reálných aplikacích, jako jsou magnetické dveřní spínače, notebooky, smartphony atd. V tomto článku se dozvídáme o jazýčkovém spínači a provádíme vás propojením jazýčkového spínače s Arduinem.
Jazýčkový spínač
Jazýčkový spínač je v podstatě elektrický spínač, který se ovládá, když se k němu přiblíží magnetické pole. To bylo vynalezeno WB Ellwoodem v roce 1936 v zvonových laboratořích. Skládá se ze dvou malých kovových kousků držených ve vakuové skleněné trubici. V typickém jazýčkovém spínači budou dva kovové kousky vyrobeny z feromagnetického materiálu a pokryty rhodiem nebo rutheniem, aby jim poskytly dlouhou životnost. Přepínač se aktivuje, pokud je přítomnost magnetického pole kolem spínače.
Skleněný kryt dvou kovových částí je chrání před nečistotami, prachem a jinými částicemi. Jazýčkový spínač lze provozovat v jakémkoli prostředí, jako je prostředí s přítomností hořlavých plynů nebo prostředí, kde by koroze ovlivňovala rozpojené kontakty spínače.
Existují dva typy jazýčkového spínače.
- Normálně otevřený jazýčkový spínač
- Normálně uzavřený jazýčkový spínač
U normálně otevřeného jazýčkového spínače je spínač otevřen při nepřítomnosti magnetického pole a je sepnut za přítomnosti magnetického pole. Za přítomnosti magnetického pole se dva kovové kontakty uvnitř skleněné trubice navzájem přitahují a vytvářejí kontakt.
U normálně uzavřeného jazýčkového spínače je spínač při nepřítomnosti magnetického pole sepnut a při přítomnosti magnetického pole je rozpojen.
Aplikace Reed switch
- Používá se v telefonní ústředně
- U notebooků přepněte obrazovku do režimu spánku, pokud je víko zavřené
- Používá se v okenních a dveřních senzorech v EZS
Požadované komponenty
- Arduino Uno
- jazýčkový spínač
- Rezistory
- VEDENÝ
- Magnet
- Připojovací vodiče
Schéma zapojení Arduino jazýčkového spínače
Práce s Reed Switch s Arduino
Arduino Uno je open source deska mikrokontroléru založená na mikrokontroléru ATmega328p. Má 14 digitálních pinů (z toho 6 pinů lze použít jako PWM výstupy), 6 analogových vstupů, palubní regulátory napětí atd. Arduino Uno má 32 kB flash paměti, 2 kB SRAM a 1 kB EEPROM. Pracuje na hodinové frekvenci 16MHz. Arduino Uno podporuje komunikaci Serial, I2C, SPI pro komunikaci s jinými zařízeními. V následující tabulce je uvedena technická specifikace Arduino Uno.
Mikrokontrolér |
ATmega328p |
Provozní napětí |
5V |
Vstupní napětí |
7-12 V (doporučeno) |
Digitální I / O piny |
14 |
Analogové piny |
6 |
Flash paměť |
32 kB |
SRAM |
2 kB |
EEPROM |
1 kB |
Rychlost hodin |
16 MHz |
Pro propojení jazýčkového spínače s Arduinem musíme vytvořit obvod děliče napětí, jak je znázorněno na obrázku níže. Vo je + 5 V, když je spínač otevřený, a 0 V, když je spínač zavřený. V tomto projektu používáme normálně otevřený jazýčkový spínač . Spínač je uzavřen v přítomnosti magnetického pole a je otevřen v nepřítomnosti magnetického pole.
Vysvětlení kódu
Kompletní kód pro tento projekt Arduino reed switch je uveden na konci tohoto článku. Kód je rozdělen na malé smysluplné bloky a je vysvětleno níže.
V této části kódu musíme definovat piny, na kterých je Reed switch a LED, která je připojena k Arduinu. Jazýčkový spínač je připojen k digitálnímu kolíku 4 Arduina a LED je připojena k digitálnímu kolíku 7 Arduina přes odpor omezující proud. Proměnná „reed_status“ se používá k udržení stavu jazýčkového spínače.
int LED = 7; int reed_switch = 4; int reed_status;
V této části kódu musíme nastavit stav pinů, ke kterým je připojena LED a jazýčkový spínač. Pin číslo 4 je nastaven jako vstup a pin číslo 7 je nastaven jako výstup.
void setup () { pinMode (LED, OUTPUT); pinMode (reed_switch, INPUT); }
Dále musíme přečíst stav jazýčkového spínače. Pokud je rovno 1, spínač je otevřený a LED zhasne. Pokud je rovno 0, spínač je sepnutý a musíme rozsvítit LED. Tento proces se opakuje každou sekundu. Tohoto úkolu je dosaženo pomocí této části níže uvedeného kódu.
void loop () {reed_status = digitalRead (reed_switch); if (reed_status == 1) digitalWrite (LED, LOW); else digitalWrite (LED, HIGH); zpoždění (1000); }
Jak jste viděli, jeho velmi snadné použití Reed Switch s Arduinem.