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: 23212

Comment

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

Join GarageLab (arduino, electronics, robotics, hacking)

Latest Activity

sujeeth senthilvel is now a member of GarageLab (arduino, electronics, robotics, hacking)
6 hours ago
Alan commented on Kevin Krumwiede's group Aquaponics
"Joined this group as my main interest in aquaponics much more than electronics !!! However I not…"
Jun 15
Alan joined Kevin Krumwiede's group
Thumbnail

Aquaponics

Ancient agriculture and aquaculture techniques meet modern technology! Learn how to grow fresh…See More
Jun 15
Profile IconKambiz Hadzad and Kasim Rafiq joined GarageLab (arduino, electronics, robotics, hacking)
Jun 15
Marcelo Rodrigues posted a blog post
Jun 14
Michael Williams updated their profile
Jun 13
Joe Mallat is now a member of GarageLab (arduino, electronics, robotics, hacking)
Jun 12
Profile IconCarlos Bejar Marambio, Harsh and Mohammed Mazed Hossain joined GarageLab (arduino, electronics, robotics, hacking)
Jun 10
Marcelo Rodrigues posted a blog post
Jun 9
Marcelo Rodrigues replied to Marc Stevens's discussion easy drive
"Maybe the time between the steps? Do you hear any sound like vibration or noise? If we use a time…"
Jun 8
Profile IconDon Girvin and Michael Williams joined GarageLab (arduino, electronics, robotics, hacking)
Jun 8
Marcelo Rodrigues replied to Peter Davies's discussion Anyone got stock of Garagelabs automation board
";-) Thanks!"
Jun 8
Peter Davies replied to Peter Davies's discussion Anyone got stock of Garagelabs automation board
"Thanks Marcello - placed an order for 10 units today"
Jun 7
Marc Stevens replied to Marc Stevens's discussion easy drive
"I tried every combination of wiring the stepper motor, but it simply don't work. But the motor…"
Jun 7
Marcelo Rodrigues replied to Peter Davies's discussion Anyone got stock of Garagelabs automation board
"Peter, If you still need the ABs, Seeed finally made them available. Thanks!"
Jun 7
Profile Iconnaibin paul, rbk12456 and Dariusz Jasiński joined GarageLab (arduino, electronics, robotics, hacking)
Jun 7
Profile IconM.Hess and ratno wijaya joined GarageLab (arduino, electronics, robotics, hacking)
Jun 3
Mohamed Hammad is now a member of GarageLab (arduino, electronics, robotics, hacking)
Jun 2
Marcelo Rodrigues replied to Marc Stevens's discussion easy drive
"Marc, Check the connections like the following image: If the problem persists, you can check the…"
Jun 2
Marcelo Rodrigues replied to Christine C's discussion The Spam.
"Thank you Jeff. That guy was suspended. Best!"
Jun 2

© 2016   Created by Marcelo Rodrigues.   Powered by

Badges  |  Report an Issue  |  Terms of Service