Search Code

Amfani da Reed Switch don Sarrafa Relay da Loads na AC/DC tare da Arduino

Amfani da Reed Switch don Sarrafa Relay da Loads na AC/DC tare da Arduino

A cikin wannan koyawa, za mu bincika yadda ake amfani da reed switch tare da Arduino don sarrafa relay wanda zai iya sarrafa nauyin AC da DC. Reed switch yana aiki azaman firikwensin maganadisu, yana ba mu damar kunna relay bisa kusancin maganadisu. Wannan tsarin ya dace da aikace-aikace kamar ƙararrawa, fitilu masu sarrafa kai, ko kowane yanayi inda kake son sarrafa na'urori bisa kasancewar ko rashin filin maganadisu. Sakamakon zai zama da'ira mai cikakken aiki wanda zai iya kunna ko kashe fitila ko ƙararrawa dangane da yanayin reed switch.

Reed Switch Schematic
Reed Switch module

Yayin da muke gina wannan aikin, za mu tattauna mahimman abubuwan da ke ciki, gami da reed switch, relay, da Arduino. Reed switch yana da fil uku: VCC (wutar lantarki), GND (ƙasa), da OUTPUT (sigina). Lokacin da maganadisu ya zo kusa, switch ɗin yana rufewa, yana ba da damar fil ɗin sigina ya tafi HIGH, wanda zai iya kunna relay. Relay yana aiki azaman maɓalli don manyan nauyin wutar lantarki, yana sa ya dace da sarrafa na'urori kamar fitilu ko ƙararrawa.

Don nunin gani da ƙarin bayani, tabbatar da duba bidiyon da ke da alaƙa a (a cikin bidiyo a 00:00).

Reed Switch module to view

Bayanin Kayan Aiki

Babban abubuwan wannan aikin sun haɗa da reed switch, relay module, da Arduino board. Reed switch firikwensin maganadisu ne wanda ke rufe lambobin sa lokacin da maganadisu ke kusa, yana ba da damar wutar lantarki ta bi ta fil ɗin OUTPUT. Wannan fil ɗin yana aika sigina zuwa relay, wanda zai iya sarrafa na'urori masu ƙarfin wutar lantarki lafiya.

Relay module an tsara shi don sarrafa manyan nauyi. Yana da manyan haɗi uku: Common (COM), Normally Open (NO), da Normally Closed (NC). Lokacin da Arduino ya kunna relay, yana haɗa fil ɗin COM zuwa fil ɗin NO, yana ba da damar wutar lantarki ta bi zuwa na'urar da aka haɗa. Wannan saitin yana ba da damar sarrafa na'urorin lantarki daban-daban ba tare da haɗa Arduino kai tsaye da manyan wutar lantarki ba. Babban amplifier da ake amfani da shi don ƙara siginar reed switch shine LM393 Operational Amplifier

Datasheet na module

ManufacturerBa a sani ba
Logic/IO voltage3.3V- 5 V
Supply voltage5 V
Output current (kowane tashar)10 A max
Peak current (kowane tashar)16 A max
PWM frequency guidanceBa ya aiki
Input logic thresholds2.5 V min (HIGH)
Voltage drop / RDS(on) / saturation0.1 V na al'ada
Thermal limits85 °C max
PackagePCB mount

Umarnin Wayoyi

Arduino wiring for Reed switch module
Arduino wiring for Reed switch module

Don haɗa tsarin, fara da haɗa reed switch. Haɗa fil ɗin VCC na reed switch zuwa fitowar 5V akan Arduino, kuma haɗa fil ɗin GND zuwa ɗayan fil ɗin ƙasa akan Arduino. Fil ɗin OUTPUT na reed switch ya kamata a haɗa shi zuwa fil ɗin dijital 2 akan Arduino. Wannan zai ba da damar Arduino ya karanta matsayin reed switch.

Na gaba, haɗa relay module. Haɗa fil ɗin VCC na relay zuwa fitowar 5V akan Arduino, da fil ɗin GND zuwa ƙasa. Fil ɗin shigarwa na relay, wanda ke sarrafa aikin relay, ya kamata a haɗa shi zuwa fil ɗin dijital 10 akan Arduino. A ƙarshe, haɗa nauyin (kamar kwan fitila) zuwa tashoshin Common da Normally Open na relay, tabbatar da cewa nauyin ya dace da ƙayyadaddun relay.

Misalan Code & Bayani

Code ɗin da ke gaba yana fara fil ɗin kuma yana saita sadarwar serial don gyara kurakurai. Reed switch an haɗa shi zuwa fil 2, yayin da relay ake sarrafa shi ta fil 10.


int LD = 200; // lokaci a milliseconds don jira kafin yin wani karatu.

void setup() {
    Serial.begin(9600);
    pinMode(10, OUTPUT); // an haɗa shi da relay
    pinMode(2, INPUT); // reed switch input fil 2  
    Serial.println("Robojax Test: Reed switch");
}

A cikin aikin loop, ana duba yanayin reed switch akai-akai. Idan switch ɗin ya rufe (yana nuna kasancewar maganadisu), ana kunna relay. Idan switch ɗin ya buɗe, ana kashe relay bayan jinkiri na daƙiƙa 5, yana ba da lokacin jinƙai kafin kashewa.


void loop() {
    if(digitalRead(2)){
      Serial.println("Switch ON "); 
      digitalWrite(10, LOW); // Kunna relay ON    
      delay(LD); 
    }else{
      delay(5000); // jira daƙiƙa 5 kafin kashe ƙararrawa
      digitalWrite(10, HIGH); // Kashe relay OFF
    }
}

Wannan code ɗin yana ba da damar sassauci wajen sarrafa relay dangane da yanayin reed switch. Kuna iya canza lokaci da hali ta canza ƙimar delay ko yadda ake sarrafa relay dangane da shigarwar switch.

Nuni / Abin da za a Yi Tsammani

Lokacin da saitin ya cika, kawo maganadisu kusa da reed switch ya kamata ya kunna relay, yana kunna fitila ko ƙararrawar da aka haɗa. Idan an cire maganadisu, fitilar za ta kasance a kunne na wani ɗan lokaci da aka ƙayyade kafin ta kashe, tana ba da lokacin ajiya ga mai amfani. Tabbatar da gwada tsarin don tabbatar da cewa relay yana aiki kamar yadda ake tsammani kuma yana amsa daidai ga reed switch.

Lokutan Bidiyo

  • 00:00 - Gabatarwa ga aikin
  • 02:15 - Bayanin kayan aiki
  • 05:30 - Nunin wayoyi
  • 08:45 - Bayanin code
  • 12:00 - Sakamakon da ake tsammani da shawarwarin gyara kurakurai

Hotuna

Reed Switch module top view
Reed Switch module top view
Reed Switch Schematic
Reed Switch Schematic
reed_switch-4
reed_switch-4
Reed Switch module
Reed Switch module
Reed Switch module to view
Reed Switch module top view
Reed Switch module
Reed Switch module
Arduino wiring for Reed switch module
Arduino wiring for Reed switch module
22-Reed Magnetic Switch Arduino with Relay code
Harshe: C++
++
//*
 * 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

Albarkatun da kuma shafukan da za a duba

Babu kayan aiki tukuna.

Fayiloli📁

Babu fayiloli da ake da su.