搜索代码

Lesson 12: Using a Reed Sensor Switch with Arduino

Lesson 12: Using a Reed Sensor Switch with Arduino

A reed switch or reed sensor closes when it gets closer to a magnetic field; it establishes contact between two pins. We detect the contact using an Arduino and take action. A tilt sensor can be installed on a robotic arm, and when the arm moves to a certain position, we either turn something ON or turn it OFF.

546-Lesson 12: Using a Reed Sensor Switch with Arduino
语言: C++
/*
 * Lesson 12 Reed Switch
 * This is the Arduino code for a reed switch to
 * turn a relay ON, which the relay
 * can turn a light or alarm ON.
 * Reed switch is connected to pin 2
 * Relay is connected to pin 8
  Please watch video instructions here: https://youtu.be/RS7PTtxtlQ4
 This code is available at: http://robojax.com/course1/?vid=lecture12

With over 100 lectures free on YouTube. Watch it here: http://robojax.com/L/?id=338
Get the code for the course: http://robojax.com/L/?id=339 
 * Written by Ahmad Shamshiri for Robojax, robojax.com, YouTube.com/robojaxTV

 * Date: December 5, 2017, in Ajax, Ontario, Canada

 * 
 * 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 reedInPin = 2;// define pin 2 for reed switch 
int relayPin = 8;// pin connected to relay 

int  onTime= 200; // time in milliseconds ON and wait before making another reading.
int  offTime= 200; // time in milliseconds OFF and wait before making another reading.

void setup() {
//Robojax Step By Step Arduino Course http://robojax.com/L/?id=338	
    Serial.begin(9600);
    // out pins
    pinMode(reedInPin, INPUT);// define reedInPin as input
    pinMode(relayPin, OUTPUT);// define relayPin as output  for relay         

    Serial.println("Robojax Reed switch");

}

void loop() {

    // read the REED switch
    if(digitalRead(reedInPin) == LOW){
      Serial.println("Switch ON "); 
      digitalWrite(relayPin, HIGH); // Turn the relay ON    
      delay(onTime);// keep the relay or switch ON for the onTime 
    }else{
      digitalWrite(relayPin, LOW);// Turn the relay OFF
      Serial.println("Switch OFF ");
      delay(offTime);// wait offTime  before reading again    
    }
 //Robojax Step By Step Arduino Course http://robojax.com/L/?id=338
}// loop

资源与参考

尚无可用资源。

文件📁

没有可用的文件。