ARTE
BELLEZZA E BENESSERE
MESTIERE
CULTURA E STORIA
DIVERTIMENTO
AMBIENTE
CIBO E BEVANDE
FUTURO VERDE
INGEGNERIA INVERSA
SCIENZE
SPORT
TECNOLOGIA
INDOSSABILI
Using a Flex Sensor — SIK Circuit 9
Ed

Creato da

Ed

17. marzo 2026FI
30
0
0
0
0

Using a Flex Sensor — SIK Circuit 9

Use a flex sensor to control a servo motor. Bend the sensor to move the servo — combining analog input with motor control for gesture-based interaction.

Istruzioni

1

Parts & Introduction

A flex sensor changes resistance when bent. Combined with the servo from Circuit 8, you can create gesture-based controls — bend the sensor to move the servo. This combines analogRead() with the Servo library.

Parts Needed

  • 1x Arduino Uno + USB cable
  • 1x Breadboard
  • 1x Flex Sensor
  • 1x Servo Motor
  • 1x 10KΩ Resistor
  • 11x Jumper Wires

Materiali per questo passaggio:

SparkFun Inventors Kit - V3.2SparkFun Inventors Kit - V3.21 kit
Arduino Uno R3Arduino Uno R31 pezzo
BreadboardBreadboard1 pezzo
Flex SensorFlex Sensor1 pezzo
Servo MotorServo Motor1 pezzo
10K Ohm Resistor10K Ohm Resistor1 pezzo
Jumper WiresJumper Wires7 pezzi

Strumenti necessari:

Computer with Arduino IDE
2

Hardware Hookup

Wiring Instructions

Flex Sensor
  1. Connect one pin of the flex sensor to 5V.
  2. Connect the other pin to Analog Pin A0.
  3. Connect a 10K resistor from Analog Pin A0 to GND (voltage divider).
Servo
  1. Connect Red wire to 5V.
  2. Connect Black wire to GND.
  3. Connect White wire to Digital Pin 9.

Materiali per questo passaggio:

Flex SensorFlex Sensor1 pezzo
Servo MotorServo Motor1 pezzo
10K Ohm Resistor10K Ohm Resistor1 pezzo
BreadboardBreadboard1 pezzo
Jumper WiresJumper Wires7 pezzi
3

Arduino Code

Open the Arduino IDE and upload the following sketch to your Arduino board.

flex_sensor.inoarduino
/*
SparkFun Inventor's Kit
Example sketch 09 — FLEX SENSOR

Use the flex sensor to change the position of a servo.

Hardware connections:
  Flex sensor: one pin to analog pin 0 (with 10K to GND), other pin to 5V
  Servo: RED to 5V, WHITE to pin 9, BLACK to GND

This code is completely free for any use.
*/

#include <Servo.h>

Servo servo1;

const int flexpin = 0;

void setup()
{
  Serial.begin(9600);
  servo1.attach(9);
}

void loop()
{
  int flexposition;
  int servoposition;

  flexposition = analogRead(flexpin);

  servoposition = map(flexposition, 600, 900, 0, 180);
  servoposition = constrain(servoposition, 0, 180);

  servo1.write(servoposition);

  Serial.print("sensor: ");
  Serial.print(flexposition);
  Serial.print("  servo: ");
  Serial.println(servoposition);

  delay(20);
}

Materiali per questo passaggio:

Arduino Uno R3Arduino Uno R31 pezzo

Strumenti necessari:

Computer with Arduino IDE
4

Test & Experiment

What You Should See

The servo moves in response to bending the flex sensor. Open the Serial Monitor to see both the raw sensor value and the mapped servo position.

Troubleshooting

  • Servo not moving: Check servo wiring — easy to plug in backwards.
  • Sensor only works one way: The flex sensor bends in one direction. The striped side should face outward on a convex curve.
  • Limited range: Adjust the map() range values (600, 900) to match your sensor's actual readings from the Serial Monitor.

Experiments to Try

  • Build a "robot finger" that mimics your finger bending.
  • Replace the servo with an LED and control brightness by bending.

Materiali

7

Strumenti richiesti

1
  • Computer with Arduino IDE
Totale stimato
€137.00

CC0 Pubblico dominio

Questo progetto è rilasciato sotto CC0. Sei libero di copiare, modificare, distribuire e utilizzare quest'opera per qualsiasi scopo, senza chiedere permesso.

Supporta il Maker acquistando prodotti tramite il suo progetto dove guadagna una Commissione Maker stabilita dai venditori, oppure crea una nuova iterazione di questo progetto e includilo come collegamento nel tuo progetto per condividere i ricavi.

Discussione

(0)

Accedi per partecipare alla discussione

Caricamento commenti...