Skip to content

Instantly share code, notes, and snippets.

@labsguru
Created July 18, 2022 06:16
Show Gist options
  • Select an option

  • Save labsguru/37e39b5a12166524d7e8ff305676bf26 to your computer and use it in GitHub Desktop.

Select an option

Save labsguru/37e39b5a12166524d7e8ff305676bf26 to your computer and use it in GitHub Desktop.
int inPin = 2; // Tilt Sensor
int outPin = 13; // LED Pin
//https://kitsguru.com/products/tilt-switch-sensor-module-for-arduino
int LEDstate = HIGH; // the current state of the output pin
int reading; // the current reading from the input pin
int previous = LOW; // the previous reading from the input pin
// the following variables are long because the time, measured in miliseconds,
// will quickly become a bigger number than can be stored in an int.
long time = 0; // the last time the output pin was toggled
long debounce = 50; // the debounce time, increase if the output flickers
void setup()
{
pinMode(inPin, INPUT);
digitalWrite(inPin, HIGH); // turn on the built in pull-up resistor
pinMode(outPin, OUTPUT);
}
void loop()
{
int switchstate;
reading = digitalRead(inPin);
// If the switch changed, due to bounce or pressing...
if (reading != previous) {
// reset the debouncing timer
time = millis();
}
if ((millis() - time) > debounce) {
// whatever the switch is at, its been there for a long time
// so lets settle on it!
switchstate = reading;
if (switchstate == HIGH)
LEDstate = LOW;
else
LEDstate = HIGH;
}
digitalWrite(outPin, LEDstate);
// Save the last reading so we keep a running tally
previous = reading;
} //credits : https://electropeak.com/learn/interfacing-tilt-switch-sensor-with-arduino/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment