Tutorial: Flex Sensor with Arduino

On this tutorial, we will use the Arduino to read a flex sensor. The flex sensor is a device that changes its resistance proportional to its form, like this:

If the sensor is straight, it outputs 30k, it is flexed, 50k. With an Arduino board, make this circuit:

The resistor makes a voltage divider to make the reading possible. The analog input A0 is our signal.

Open the Arduino IDE and upload the following code. This code shows how many degrees the sensor is flexed.

// Flex sensor test program

// Mike Grusin, SFE, 2011
// This program is free, use it however you wish!

// HARDWARE:
// Make the following connections between the Arduino and the flex sensor
// Note that the flex sensor pins are interchangeable

// Sensor pin - GND
// Sensor pin - Analog In 0, with 10K resistor to +5V

// INSTRUCTIONS:
// Upload this sketch to your Arduino, then activate the Serial Monitor
// (set the Serial Monitor to 9600 baud)

void setup()
{
    // initialize serial communications
    Serial.begin(9600); 
}

void loop()
{
    int sensor, degrees;

    // read the voltage from the voltage divider (sensor plus resistor)
    sensor = analogRead(0);

    // convert the voltage reading to inches
    // the first two numbers are the sensor values for straight (768) and bent (853)
    // the second two numbers are the degree readings we'll map that to (0 to 90 degrees)
degrees = map(sensor, 768, 853, 0, 90);
    // note that the above numbers are ideal, your sensor's values will vary
    // to improve the accuracy, run the program, note your sensor's analog values
    // when it's straight and bent, and insert those values into the above function.

    // print out the result
    Serial.print("analog input: ");
    Serial.print(sensor,DEC);
    Serial.print(" degrees: ");
    Serial.println(degrees,DEC);

    // pause before taking the next reading
    delay(100); 
}

Upload the code and open the serial monitor to see the results.

That's it!

References:

http://www.sparkfun.com/products/10264

http://www.sparkfun.com/datasheets/Sensors/Flex/flex22.pdf

http://www.sparkfun.com/tutorials/270

Views: 9072

Tags: arduino, flex, sensor, tutorial

Comment

You need to be a member of GarageLab (arduino, electronics, robotics, hacking) to add comments!

Join GarageLab (arduino, electronics, robotics, hacking)

Latest Activity

GarageLab posted blog posts
10 hours ago
Marion Hale posted a status
"Status"
yesterday
Marion Hale posted a status
"Status"
Saturday
Marion Hale posted a status
"Status"
Saturday
Profile IconMarion Hale and Pratap Kumar Panigrahi joined GarageLab (arduino, electronics, robotics, hacking)
Friday
GarageLab posted blog posts
Thursday
GarageLab posted blog posts
Wednesday
Profile Icongan bensie, Philip Malmstedt and Rodney Leinberger joined GarageLab (arduino, electronics, robotics, hacking)
Jul 22
GarageLab posted blog posts
Jul 21
Profile Iconjolian ahmed, Abdalla, Raul Patterson and 2 more joined GarageLab (arduino, electronics, robotics, hacking)
Jul 21
GarageLab posted blog posts
Jul 17
GarageLab posted blog posts
Jul 15
Ilyass Renswoude joined Sergio Imperador's group
Thumbnail

Robotics

Let's share ideas about building robots.See More
Jul 14
Profile IconShein Wah, Liu Chin Ho and Suresh Babu joined GarageLab (arduino, electronics, robotics, hacking)
Jul 14
NELU NASTASOIU posted photos
Jul 11
NELU NASTASOIU updated their profile
Jul 11
GarageLab posted blog posts
Jul 11
Profile IconTezel Celebi and Lucas Silva joined GarageLab (arduino, electronics, robotics, hacking)
Jul 11
GarageLab posted a blog post

Lego robot plays freemium iPad games while creator sleeps

In 2011, Uli Kilian earned a Guinness World Record for solving 100 Rubik’s cubes during that year’s…See More
Jul 10
Profile IconYanik Chauvin and NELU NASTASOIU joined GarageLab (arduino, electronics, robotics, hacking)
Jul 8

© 2014   Created by Marcelo Rodrigues.

Badges  |  Report an Issue  |  Terms of Service