This tutorial is part of: Ovládanie relé pomocou Arduina
Toto je skupina videí, ktoré sa všetky týkajú štafety. Odkazy na ďalšie videá nájdete pod týmto článkom.
Použitie Reedovho spínača na ovládanie relé a AC/DC záťaží s Arduinom
V tomto návode preskúmame, ako použiť jazýčkový spínač v spojení s Arduinom na ovládanie relé, ktoré dokáže spravovať záťaže na striedavý aj jednosmerný prúd. Jazýčkový spínač funguje ako magnetický senzor, ktorý nám umožňuje spúšťať relé na základe blízkosti magnetu. Táto konfigurácia je ideálna pre aplikácie, ako sú alarmy, automatické osvetlenie alebo akýkoľvek scenár, kde chcete ovládať zariadenia na základe prítomnosti alebo neprítomnosti magnetického poľa. Výsledkom bude plne funkčný obvod, ktorý dokáže zapnúť alebo vypnúť svetlo či alarm v závislosti od stavu jazýčkového spínača.


Pri budovaní tohto projektu si rozoberieme kľúčové komponenty vrátane jazýčkového spínača, relé a Arduina. Jazýčkový spínač má tri piny: VCC (napájanie), GND (uzemnenie) a OUTPUT (signál). Keď sa magnet priblíži, spínač sa zatvorí, čo umožní signálovému pinu prejsť do stavu HIGH, čo potom môže spustiť relé. Relé funguje ako spínač pre záťaže s vyšším napätím, vďaka čomu je vhodné na ovládanie zariadení, ako sú lampy alebo alarmy.
Pre vizuálnu ukážku a ďalšie objasnenie si určite pozrite príslušné video na (vo videu o 00:00).

Vysvetlenie hardvéru
Hlavné komponenty tohto projektu zahŕňajú jazýčkový spínač, reléový modul a dosku Arduino. Jazýčkový spínač je magnetický senzor, ktorý zatvorí svoje kontakty, keď je v blízkosti magnet, čo umožní prúdenie prúdu cez OUTPUT pin. Tento pin vysiela signál do relé, ktoré môže bezpečne ovládať vysokonapäťové zariadenia.
Reléový modul je navrhnutý na ovládanie väčších záťaží. Má tri hlavné pripojenia: Common (COM), Normally Open (NO) a Normally Closed (NC). Keď relé aktivuje Arduino, pripojí pin COM k pinu NO, čo umožní prúdenie prúdu k pripojenému zariadeniu. Toto nastavenie umožňuje všestranné ovládanie rôznych elektrických zariadení bez priameho prepojenia Arduina s vysokým napätím. Hlavný zosilňovač použitý na zosilnenie signálu jazýčkového spínača je operačný zosilňovač LM393.
Datasheet pre modul
| Výrobca | Neznámy |
|---|---|
| Logické/IO napätie | 3,3 V – 5 V |
| Napájacie napätie | 5 V |
| Výstupný prúd (na kanál) | max. 10 A |
| Špičkový prúd (na kanál) | max. 16 A |
| Odporúčanie pre PWM frekvenciu | Neuplatňuje sa |
| Vstupné logické prahy | min. 2,5 V (HIGH) |
| Pokles napätia / RDS(on) / saturácia | typicky 0,1 V |
| Tepelné limity | max. 85 °C |
| Puzdro | Montáž na PCB |
Pokyny na zapojenie

Na zapojenie systému začnite pripojením jazýčkového spínača. Pripojte pin VCC jazýčkového spínača na výstup 5V na Arduine a pin GND pripojte na jeden z uzemňovacích pinov na Arduine. OUTPUT pin jazýčkového spínača by mal byť pripojený na digitálny pin 2 na Arduine. To umožní Arduinu čítať stav jazýčkového spínača.
Ďalej zapojte reléový modul. Pripojte pin VCC relé na výstup 5V na Arduine a pin GND na uzemnenie. Vstupný pin relé, ktorý riadi činnosť relé, by mal byť pripojený na digitálny pin 10 na Arduine. Nakoniec pripojte záťaž (napríklad žiarovku) na svorky Common a Normally Open relé, pričom sa uistite, že záťaž je vhodná pre špecifikácie relé.
Príklady kódu a vysvetlenie
Nasledujúci úryvok kódu inicializuje piny a nastaví sériovú komunikáciu na ladenie. Jazýčkový spínač je pripojený na pin 2, zatiaľ čo relé je ovládané cez pin 10.
int LD = 200; // čas v milisekundách na čakanie pred vykonaním ďalšieho čítania.
void setup() {
Serial.begin(9600);
pinMode(10, OUTPUT); // pripojené k relé
pinMode(2, INPUT); // vstupný pin jazýčkového spínača pin 2
Serial.println("Robojax Test: Jazýčkový spínač");
}
Vo funkcii loop sa nepretržite kontroluje stav jazýčkového spínača. Ak je spínač zatvorený (čo indikuje prítomnosť magnetu), relé sa zapne. Ak je spínač otvorený, relé sa vypne po oneskorení 5 sekúnd, čo umožňuje ochrannú lehotu pred deaktiváciou.
void loop() {
if(digitalRead(2)){
Serial.println("Spínač ZAPNUTÝ ");
digitalWrite(10, LOW); // Zapnutie relé
delay(LD);
}else{
delay(5000); // počkajte 5 sekúnd pred vypnutím alarmu
digitalWrite(10, HIGH); // Vypnutie relé
}
}
Tento kód umožňuje flexibilitu pri ovládaní relé na základe stavu jazýčkového spínača. Časovanie a správanie môžete upraviť zmenou hodnôt oneskorenia alebo spôsobu ovládania relé na základe vstupu spínača.
Demonštrácia / Čo očakávať
Keď je nastavenie dokončené, priblíženie magnetu k jazýčkovému spínaču by malo aktivovať relé a zapnúť pripojené svetlo alebo alarm. Ak magnet odstránite, svetlo zostane zapnuté po určitú dobu oneskorenia, kým sa vypne, čo používateľovi poskytne ochranný čas. Otestujte systém, aby ste potvrdili, že relé sa správa podľa očakávania a správne reaguje na jazýčkový spínač.
Časové značky videa
- 00:00 – Úvod do projektu
- 02:15 – Vysvetlenie hardvéru
- 05:30 – Ukážka zapojenia
- 08:45 – Vysvetlenie kódu
- 12:00 – Očakávané výsledky a tipy na riešenie problémov
This tutorial is part of: Ovládanie relé pomocou Arduina
- Arduino kód a video pre dvojkanálové 5V relé
- Ovládanie 5V relé pomocou Arduina na ovládanie AC alebo DC záťaže, ako je žiarovka alebo motor
- TTP224 4-kanálový dotykový senzor na zapínanie AC/DC záťaží s relé
- Používanie 5V relé modulu (nízkoprahového) s Arduinom
- Použitie termočlánku typu K MAX6675 s relé a displejom
- Použitie dotykového modulu TTP223B a relé na ovládanie AC/DC záťaží pomocou Arduina
- Použitie tlačidla Arduino na prepínanie relé a AC žiarovky
++
//*
* This is the Arduino code for a reed switch to
* turn a relay ON, which the relay
* can turn a light or alarm ON.
* The reed switch is connected to pin 2.
* The relay is connected to pin 10.
* Watch the video for this code: https://www.youtube.com/watch?v=2RBFKqoauaI
*
* Written by Ahmad Shamshiri for Robojax.com Video
* Date: December 5, 2017, in Ajax, Ontario, Canada
* Permission granted to share this code, given that this
* note is kept with the code.
* Please keep this note with the code.
* This code is available on Robojax.com
*
* This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.
* This code has been downloaded from Robojax.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
int LD = 200; // time in milliseconds to wait before making another reading.
void setup() {
Serial.begin(9600);
// output pins
pinMode(10, OUTPUT);// connected to relay
// input pins
pinMode(2, INPUT);// reed switch input pin 2
Serial.println("Robojax Test: Reed switch");
}
void loop() {
// read the REED switch
if(digitalRead(2)){
Serial.println("Switch ON ");
digitalWrite(10, LOW); // Turn the relay ON
delay(LD);
}else{
delay(5000);// wait 5 seconds before turning the alarm off
// remove this line if you don't want any delay
digitalWrite(10, HIGH);// Turn the relay OFF
}
}// loop
Resources & references
No resources yet.
Files📁
No files available.