- Reed Switch
- Potrebne komponente
- Shema vezja Arduino Reed
- Delovanje Reed Switch-a z Arduinom
- Razlaga kode
Reed stikalo se uporablja v številnih resničnih aplikacijah, kot so magnetno stikalo za vrata, prenosni računalniki, pametni telefoni itd. V tem članku izvemo o Reed Switchu in vas vodimo do vmesnika Reed Switch z Arduinom.
Reed Switch
Reed stikalo je v bistvu električno stikalo, ki deluje, ko mu približate magnetno polje. Izumil ga je WB Ellwood leta 1936 v zvonarskih laboratorijih. Sestavljen je iz dveh majhnih kovinskih kosov, ki so v vakuumu v stekleni cevi. V tipičnem trstičnem stikalu sta dva kovinska kosa narejena iz feromagnetnega materiala in prekrita z rodijem ali rutenijem, kar jim daje dolgo življenjsko dobo. Stikalo se aktivira, ko je prisotnost magnetnega polja okoli stikala.
Steklena ograja obeh kovinskih kosov jih ščiti pred umazanijo, prahom in drugimi delci. Reed stikalo lahko uporabljate v katerem koli okolju, na primer v okolju, kjer je vnetljiv plin ali v okolju, kjer bi korozija vplivala na odprte kontakte stikal.
Obstajata dve vrsti trstičnega stikala.
- Običajno odprto trstično stikalo
- Običajno zaprto trstično stikalo
V normalno odprtem trstičnem stikalu je stikalo odprto v odsotnosti magnetnega polja in zaprto ob prisotnosti magnetnega polja. Ob prisotnosti magnetnega polja se dva kovinska kontakta znotraj steklene cevi medsebojno privlačita, da vzpostavita stik.
V normalno zaprtem trstičnem stikalu je stikalo zaprto v odsotnosti magnetnega polja in odprto ob prisotnosti magnetnega polja.
Aplikacije Reed stikala
- Uporablja se v telefonski centrali
- V prenosnih računalnikih zaslon zaspi, če je pokrov zaprt
- Uporablja se za senzorje oken in vrat v protivlomnem alarmnem sistemu
Potrebne komponente
- Arduino Uno
- Reed stikalo
- Upori
- LED
- Magnet
- Priključne žice
Shema vezja Arduino Reed
Delovanje Reed Switch-a z Arduinom
Arduino Uno je odprtokodna mikrokrmilna plošča, ki temelji na mikrokrmilniku ATmega328p. Ima 14 digitalnih zatičev (od tega je 6 zatičev mogoče uporabiti kot PWM izhode), 6 analognih vhodov, vgrajenih regulatorjev napetosti itd. Arduino Uno ima 32KB bliskovnega pomnilnika, 2KB SRAM-a in 1KB EEPROM-a. Deluje na taktni frekvenci 16MHz. Arduino Uno podpira komunikacijo Serial, I2C, SPI za komunikacijo z drugimi napravami. Spodnja tabela prikazuje tehnične specifikacije Arduino Uno.
Mikrokrmilnik |
ATmega328p |
Delovna napetost |
5V |
Vhodna napetost |
7-12V (priporočeno) |
Digitalni I / O zatiči |
14. |
Analogni zatiči |
6. |
Flash pomnilnik |
32 KB |
SRAM |
2KB |
EEPROM |
1KB |
Hitrost ure |
16MHz |
Za povezavo trstičnega stikala z Arduinom moramo zgraditi vezje delilnika napetosti, kot je prikazano na spodnji sliki. Vo je + 5V, ko je stikalo odprto, in 0V, ko je stikalo zaprto. V tem projektu uporabljamo običajno odprto trstičasto stikalo . Stikalo je zaprto v prisotnosti magnetnega polja in je odprto v odsotnosti magnetnega polja.
Razlaga kode
Popolna koda za ta projekt trstnega stikala Arduino je podana na koncu tega članka. Koda je razdeljena na majhne pomembne koščke in je razložena spodaj.
V tem delu kode moramo določiti nožice, na katerih se stika Reed in LED, ki je povezan z Arduino. Reed stikalo je povezano z digitalnim zatičem 4 Arduina, LED pa z digitalnim zatičem 7 Arduina prek trenutnega omejevalnega upora. Spremenljivka "reed_status" se uporablja za ohranjanje stanja trstičnega stikala.
int LED = 7; int reed_switch = 4; int reed_status;
V tem delu kode moramo nastaviti stanje nožic, na katere sta priključena LED in trstično stikalo. Številka 4 je nastavljena kot vhod in številka 7 je nastavljena kot izhod.
void setup () { pinMode (LED, IZHOD); pinMode (reed_switch, INPUT); }
Nato moramo prebrati stanje trstnega stikala. Če je enak 1, je stikalo odprto in lučka LED ugasnjena. Če je enako 0, je stikalo zaprto in vklopiti moramo LED. Ta postopek se ponovi vsako sekundo. Ta naloga je izpolnjena s tem delom spodnje kode.
void loop () {reed_status = digitalRead (reed_switch); if (reed_status == 1) digitalWrite (LED, LOW); sicer digitalWrite (LED, VISOKO); zamuda (1000); }
Kot ste že videli, je Reed Switch z Arduino zelo enostaven za uporabo.