Contents

Interfacing Tilt Switch Sensor with Arduino

Tilt Switch Sensor Features

The function of this sensor is similar to a switch. There are 2 rolling ball inside the cylindrical housing of the sensor. Depending on how the two ball are positioned, the switch is connected and disconnected.

Tilt Switch Sensor Pinout

This sensor has 3 pins:

  • VCC: Module power supply –3.3-5 V
  • GND: Ground
  • OUT: Digital output

You can see pinout of this module in the image below.

Required Materials

Hardware Components

Arduino UNO R3 × 1
Tilt Sensor Switch Module × 1
Male to Female jumper wire × 1

Software Apps

Arduino IDE

Interfacing Tilt Switch Sensor with Arduino

Step 1: Circuit

The following circuit shows how you should connect Arduino to tilt switch sensor. Connect wires accordingly.

Step 2: Code

Upload the following code to your Arduino. This code turns the Arduino LED on and off based on the sensor angle.
/* Tilt Switch
   Better Debouncer

   This debouncing circuit is more rugged, and will work with tilt switches!

   http://www.ladyada.net/learn/sensor/tilt.html
*/

int inPin = 2;         // Tilt Sensor
int outPin = 13;       // LED Pin

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;
}
Liked What You See?​
Get Updates And Learn From The Best​

Leave a Reply

Your email address will not be published. Required fields are marked *