Lesson 11: Using a Tilt Sensor Switch with Arduino
A tilt switch or sensor senses when it is tilted from a certain position; it establishes contact between two pins. We detect the contact using 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.
545-Lesson 11: Using a Tilt Sensor Switch with Arduino
语言: C++
/*
* S02-01 Tilt
* This is the Arduino code for a tilt switch to
* turn a relay ON, which the relay
* can turn a light or alarm ON.
* The tilt switch is connected to pin 2.
* The relay is connected to pin 8.
*
Please watch video instructions here: https://youtu.be/1yGh_UsBsYU
This code is available at: http://robojax.com/course1/?vid=lecture11
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: January 21, 2019 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 tiltPin = 2;// define pin 2 for tilt switch
int relayPin = 8;// pin connected to relay
int onTime= 500; // time in milliseconds ON and wait before making another reading.
int offTime= 500; // time in milliseconds OFF and wait before making another reading.
void setup() {
Serial.begin(9600);
// output pins
pinMode(tiltPin, INPUT);// define tiltPin as input
pinMode(relayPin, OUTPUT);// define relayPin as output for relay
Serial.println("Robojax Tilt switch");
}
void loop() {
//Robojax Step By Step Arduino Course: http://robojax.com/L/?id=338
// read the tilt switch
if(digitalRead(tiltPin) == 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
}
}// loop
资源与参考
尚无可用资源。
文件📁
没有可用的文件。