Resistencia sensible a la fuerza y ​​Arduino: cableado y código FSR402

¡Conéctate conmigo en las redes sociales para actualizaciones y contenido!

En este tutorial, utilizaremos Force Sensitive Resistor con Arduino Uno para medir la presión y el peso. Según la presión en la resistencia sensible a la fuerza, en el monitor en serie, mostraremos los valores de presión organizados por rangos.

Introducción a la resistencia sensible a la fuerza

El FSR funciona a base de presión. Cuando se aplica algo de presión al sensor, su resistencia cambia y, según un divisor de voltaje de resistencia, obtenemos el voltaje a través del FSR.

Una capa de espacio de aire separa dos membranas en un resistivo sensible a la fuerza. Cada membrana tiene un cable conductor conectado a ella. Una capa contiene la tinta conductora, mientras que la otra es completamente metálica.

Cuando no se aplica presión, ambas capas permanecen separadas. Al presionar, el camino conductor aumenta, lo que significa que la resistencia disminuye para el paso de la corriente. A medida que aplicamos presión al sistema, la resistencia disminuye, lo que hace que la salida del FSR sea inversamente proporcional al coeficiente de presión.

Principio de funcionamiento de Force Sensitive Resistor con Arduino

La resistencia sensible a la fuerza tiene 2 PIN. Podemos intercambiarlos sin problemas ya que funciona como una simple resistencia con valores variables.

El FSR siempre requiere una resistencia para crear un circuito divisor de voltaje. Con el microcontrolador, seguimos comprobando el voltaje en el FSR.

Vout= Vin x R res / (Rres + Rfsr)

En este tutorial, estamos usando el pin Arduino 5V para la entrada de voltaje FSR, mientras que la resistencia es de 10K Ohm.

Cuando se aplica presión o peso al FSR, disminuye la resistencia, lo que significa que el voltaje a través del FSR disminuye. El pin analógico del Arduino mide la caída de voltaje en el FSR.

Lo que necesitamos

Como de costumbre, sugiero agregar desde ahora a su carrito de compras de comercio electrónico favorito todo el hardware necesario, para que al final pueda evaluar los costos generales y decidir si continúa con el proyecto o los elimina del carrito de compras. Entonces, el hardware será solo:

Procedimiento paso a paso

Diagrama de cableado de la resistencia sensible a la fuerza con Arduino Uno

Cualquier lado del FSR que tome con el cable rojo (5V) o negro (GND/Analog) hace lo mismo.

El FSR contiene 2 pines, en los que la resistencia cambia según la presión, lo que da como resultado un cambio en el voltaje. El circuito divisor de voltaje está diseñado para medir el cambio de voltaje a través del FSR y la resistencia.

Sensor arduino
Alfiler 1 OA
Alfiler 1 A través de la resistencia
10K-Ohmios a GND
Alfiler 2 5V

Diagrama de cableado de FSR con Arduino Uno

Obtenga el código para Force Sensitive Resistor con Arduino

Conecte su PC a Arduino y abra Arduino IDE. Para los primeros pasos, puede consultar el tutorial Conexión de PC con Windows con Arduino. Puede obtener el código .ino desde el área de descarga con el siguiente enlace:

fsr.ino

Código Explicación

Sección 1: Definición y configuración de variables

En esta sección, definimos el pin para el FSR en el pin A0. Luego, las variables globales se definen para la lectura de resistencia sensible a la fuerza (fsrVal) y la variable de conversión (fsrVoltage) para convertirla en declaración de voltaje.

En la configuración, el monitor serie establece una velocidad de transmisión de 9600 baudios.

#define FSR_PIN A0 int fsrVal = 0; int fsrVoltage = 0;  void setup() {   Serial.begin(9600); }

Sección 2: Sección de bucle

Esta es la sección del bucle, en la que el valor de la resistencia sensible a la fuerza se lee desde el pin analógico A0. También mapeamos el valor en un rango de 0-5000 para tener un valor más preciso:

void loop() {   fsrVal = analogRead(FSR_PIN);   fsrVoltage = map(fsrVal, 0, 1023, 0, 5000);

Comenzamos a imprimir en el monitor serie los valores leídos y el rango convertido:

  Serial.print("SSR: ");   Serial.print(fsrVal);   Serial.print(", ");   Serial.print(fsrVoltage);   Serial.print("mV ");

La presión ejercida se compara con los valores definidos para diferenciarla en forma de presión baja, media y alta. Una presión inferior a 100 es sin presión, una presión inferior a 200 y superior a 100 es un toque ligero, y una presión entre 200 y 500 se considera una secuencia ligera. Mientras que 500 a 800 se toma como la compresión media. Una presión de más de 800 es un Big Squeeze.

Para cada caso, imprimimos en el monitor serial la presión obtenida de este rango:

  if(fsrVal < 100)      Serial.println("- No pressure");   else if(fsrVal < 200)     Serial.println("- Light touch");   else if(fsrVal < 500)     Serial.println("- Light squeeze");   else if(fsrVal < 800)     Serial.println("- Medium squeeze");   else     Serial.println("- Big squeeze");   delay(50); }

Resultados

La simulación para dar la demostración, como en la imagen que el monitor de serie muestra la impresión de serie para el rango de la presión ejercida sobre el sensor de fuerza.

Simulación sin presión en FSR con Arduino Uno Simulación con toque ligero para FSR con Arduino Uno Simulación con presión ligera para FSR con Arduino Uno Simulación con presión media para FSR con Arduino Uno Simulación con presión alta para FSR con Arduino Uno