- „Reed“ jungiklis
- Būtini komponentai
- „Arduino Reed“ jungiklio grandinės schema
- „Reed Switch“ su „Arduino“ darbas
- Kodo paaiškinimas
„Reed“ jungiklis naudojamas daugelyje realių programų, tokių kaip magnetinis durų jungiklis, nešiojamieji kompiuteriai, išmanieji telefonai ir kt. Šiame straipsnyje mes sužinome apie „Reed“ jungiklį ir nurodome, kaip sąveikauti „Reed“ jungikliu su „Arduino“.
„Reed“ jungiklis
„Reed“ jungiklis iš esmės yra elektrinis jungiklis, veikiantis, kai šalia jo yra magnetinis laukas. Jį išrado WB Ellwoodas 1936 m. Varpų laboratorijose. Jis sudarytas iš dviejų mažų metalinių detalių, laikomų vakuume stikliniame vamzdyje. Tipiniame nendrių jungiklyje du metaliniai elementai bus pagaminti iš feromagnetinės medžiagos ir padengti rodžiu arba ruteniu, kad jie galėtų ilgai gyventi. Jungiklis bus aktyvuotas, kai yra magnetinio lauko buvimas aplink jungiklį.
Dviejų metalinių dalių stiklinis gaubtas apsaugo juos nuo purvo, dulkių ir kitų dalelių. „Reed“ jungiklį galima valdyti bet kurioje aplinkoje, pavyzdžiui, aplinkoje, kurioje yra degių dujų, arba aplinkoje, kurioje korozija gali paveikti atvirų jungiklių kontaktus.
Yra du nendrių jungiklių tipai.
- Paprastai atidarykite nendrių jungiklį
- Paprastai uždarytas nendrių jungiklis
Be paprastai atviros nendrių jungiklis, jungiklis yra atvira magnetinio lauko nebuvimo ir jis yra uždarytas į magnetinio lauko. Esant magnetiniam laukui, du metaliniai kontaktai stiklo vamzdžio viduje pritraukia vienas kitą kontaktui.
Be normaliai uždari nendrių jungiklis, jungiklis uždarytas į magnetinio lauko nebuvimo ir ji yra atvira magnetinio lauko buvimą.
„Reed“ jungiklio programos
- Naudojamas telefono stotyse
- Nešiojamiesiems kompiuteriams užmigdyti ekraną, jei dangtelis uždarytas
- Naudojamas apsaugos nuo įsilaužimo sistemos langų ir durų jutikliuose
Būtini komponentai
- Arduino Uno
- Reed jungiklis
- Rezistoriai
- LED
- Magnetas
- Jungiamieji laidai
„Arduino Reed“ jungiklio grandinės schema
„Reed Switch“ su „Arduino“ darbas
„Arduino Uno“ yra atvirojo kodo mikrovaldiklio plokštė, pagrįsta mikrovaldikliu „ATmega328p“. Jis turi 14 skaitmeninių kaiščių (iš kurių 6 kaiščius galima naudoti kaip PWM išėjimus), 6 analoginius įėjimus, laive esančius įtampos reguliatorius ir kt. „Arduino Uno“ turi 32 KB „flash“ atminties, 2 KB SRAM ir 1 KB EEPROM. Jis veikia 16MHz taktiniu dažniu. „Arduino Uno“ palaiko „Serial“, „I2C“, SPI ryšį, kad būtų galima bendrauti su kitais įrenginiais. Žemiau esančioje lentelėje pateikiama „Arduino Uno“ techninė specifikacija.
Mikrovaldiklis |
ATmega328p |
Darbinė įtampa |
5V |
Įvesties įtampa |
7–12 V (rekomenduojama) |
Skaitmeniniai įvesties / išvesties kaiščiai |
14 |
Analoginiai kaiščiai |
6 |
„Flash“ atmintis |
32 KB |
SRAM |
2KB |
EEPROM |
1 KB |
Laikrodžio greitis |
16MHz |
Norėdami susieti nendrių jungiklį su „Arduino“, turime sukurti įtampos skirstytuvo grandinę, kaip parodyta žemiau esančiame paveiksle. Vo yra + 5V, kai jungiklis yra atidarytas, ir 0V, kai jungiklis yra uždarytas. Šiame projekte naudojame paprastai atvirą nendrių jungiklį . Jungiklis yra uždarytas esant magnetiniam laukui ir yra atidarytas, jei nėra magnetinio lauko.
Kodo paaiškinimas
Visas šio „ Arduino“ nendrių jungiklio kodas pateiktas šio straipsnio pabaigoje. Kodas yra padalintas į mažus reikšmingus gabalėlius ir paaiškinamas toliau.
Šioje kodo dalyje turime apibrėžti kaiščius, ant kurių „Reed“ jungiklis ir šviesos diodas yra prijungtas prie „Arduino“. „Reed“ jungiklis yra prijungtas prie „Arduino“ skaitmeninio 4 kaiščio, o LED yra prijungtas prie „Arduino“ skaitmeninio kaiščio 7 per srovės ribotuvą. Kintamasis „reed_status“ naudojamas palaikyti nendrių jungiklio būseną.
int LED = 7; int nendrinis jungiklis = 4; int reed_status;
Šioje kodo dalyje turime nustatyti kaiščių, prie kurių prijungtas LED ir nendrių jungiklis, būseną. Kaiščio numeris 4 nustatomas kaip įvestis, o kaiščio numeris 7 - kaip išvestis.
negaliojanti sąranka () { pinMode (LED, OUTPUT); pinMode („reed_switch“, INPUT); }
Toliau turime perskaityti nendrių jungiklio būseną. Jei jis lygus 1, jungiklis atidarytas ir šviesos diodas išjungtas. Jei jis lygus 0, jungiklis uždarytas ir turime įjungti šviesos diodą. Šis procesas kartojamas kas sekundę. Ši užduotis atliekama naudojant šią žemiau esančią kodo dalį.
void loop () {reed_status = digitalRead (reed_switch); if (reed_status == 1) digitalWrite (LED, LOW); dar „digitalWrite“ (LED, HIGH); vėlavimas (1000); }
Taigi, kaip matėte, labai lengva naudoti „Reed Switch“ su „Arduino“.