Accelerometer Using Arduino 101

About the project

Learn how to read Accelerometer Sensor on Arduino 101 and show tilt status on LED.

Project info

Difficulty: Easy

Platforms: ArduinoIntel

Estimated time: 1 hour

License: MIT license (MIT)

Items used in this project

Hardware components

Tiny Breadboard Tiny Breadboard x 1
Genuino Uno Rev3 Genuino Uno Rev3 x 1
Tiny Breadboard Tiny Breadboard x 1
Resistor Network - 10K Ohm (6-pin bussed) Resistor Network - 10K Ohm (6-pin bussed) x 1
Tiny Breadboard Tiny Breadboard x 1

Software apps and online services

Arduino IDE Arduino IDE

Story

Introduction

Learn how to read Accelerometer Sensor on Arduino 101 and show tilt status on LED.

Arduino 101 is good for IOT starters. Having the Intel® Curie™ Module, designed to integrate the core's low power-consumption and high performance with the Arduino's ease-of-use, Bluetooth Low Energy capabilities and on-board 6-axis accelerometer/gyroscope, this board will provide exciting opportunities for building creative projects in the connected world.

More information about the technical specifications and documentation can be found on the Arduino/Genuino 101 main page.

Build Circuit

Lets build our circuit!

  • Connect Arduino 101 pin GND (ground) to one of the bread board pins. I picked the upper left pin.
  • Connect 3 resistor on the same column of the GND jumper wire
  • Add 3 LEDs each negative pin is connected to the other end of its resistor
  • Grab 3 jumper wire
  • Connect 1st LED's positive pin to Digita Pin ~9
  • Connect 2nd LED's positive pin to Digita Pin ~6
  • Connect 3d LED's positive pin to Digita Pin ~5

Our circuit must be look like the images below.

Program our Board

Plug in your Arduino 101.

Download ReadSensorsLed source code and upload it.

Testing our accelerometer

  • Tilt Sideways - The yellow LED will light up if we are in positive X axis
  • Tilt Upside down - The Orange LED will light up if we are in positive Y axis
  • Tilt - The Red LED will light up if we are in positive Z axis.

The brightness of the LED corresponds to the value of the positive axis.

The maximum readings for each axis is 17000.

So we calculated the brightness (0-255) of the analogWrite by brightness = axis/66.66 ;

About the Code

Arduino 101 has Intel Curie Module that uses Arduino api CurieIMU.h

We can read the accelerometer and gyroscope using this function.

CurieIMU.readMotionSensor(ax, ay, az, gx, gy, gz);

The axis variables are used as parameter and will be referenced by the api to update the values.

Finally get the brightness of led using the formula and update the LED

if(ax>0)
    axBrightness = ax/66.66;  
 else     axBrightness=0;   analogWrite(axLed,axBrightness);
 if(ay>0)     
    ayBrightness = ay/66.66;   
else     
    ayBrightness=0;   
analogWrite(ayLed,ayBrightness);      
if(az>0)
     azBrightness = az/66.66;
else
     azBrightness=0;   
analogWrite(azLed,azBrightness);

Schematics, diagrams and documents

Create 3 LED in Arduino Circuit

Create 3 LED in Arduino Circuit

Code

ReadSensorsLed.ino

Reads accelerometer and gyro sensor

Credits

Leave your feedback...