Sensor de Fuerza o Presión MF01

El sensor de fuerza o presión mf01 autoadherible para Arduino es ideal para detectar una fuerza aplicada en la membrana. Básicamente, al detectar una flexión en la membrana el sensor cambia su resistencia interna. Este sensor esta fabricado de 2 capas separadas por un espaciador, cuanto más se presiona, por ejemplo, más puntos de elemento activo tocan el semiconductor. Por lo tanto, esto hace que la resistencia disminuya. Cuando no es presionado, su resistencia es de aproximadamente 20 MΩ. Su rango de presión varía de 30 gramos a 1 Kg. Por lo que basta con ponerlo en un divisor de tensión, para poder medir la salida en voltaje con algún ADC.

Este sensor de fuerza lo puedes encontrar en nuestra pagina oficial https://hetpro-store.com/mf01-n-221-a01/. Los demás materiales se listan a continuación.

1

Ventajas del sensor

Estos sensor de fuerza son de bajo costo, funciona con cualquier tarjeta de desarrollo o microcontrolador con etapa de ADC. Tiene una extensión que termina en dos puntas que se pueden soldar cómodamente. Es muy sencillo de utilizar y puede tener multitud de aplicaciones en muchos proyectos electrónicos. Sirve para la mayoría de las aplicaciones sensibles al tacto. Puede utilizar cualquier fuente de alimentación ya que utiliza menos de 1 mA de corriente. En resumen, con este dispositivo podemos medir una fuerza proporcional a la presión generada sobre el sensor.

Desventajas del sensor

Estos sensores son raramente precisos. Así que, básicamente, cuando se utiliza este sensor sólo se debe esperar para obtener “rangos” de respuesta. Tal sensor de fuerza pueden detectar el peso, pero son una mala elección para detectar exactamente cuántas libras de peso hay en ellos.

3

Especificaciones del sensor MF01

  • Fuerza de actuación: 30g min.
  • Rango de sensibilidad: 30 a 10,000g.
  • Repetitividad: 5%.
  • Resistencia sin carga: 20 MOhms.
  • Histéresis: 10%.
  • Tiempo de respuesta: <1ms.
  • Rango de temperatura: -30ºC a 70ºC.
  • Ancho: 0.05 mm.
  • Rendimiento: 100 KΩ (presión ligera) a 200Ω (máx. presión)
  • Gama Fuerza: 0 a 20 libras (0 a 100 Newtons)

Sensor de Fuerza o Presión con Arduino UNO

En primer lugar, el objetivo de esta práctica es verificar la funcionalidad del sensor de presión. La fuerza se convierte en un cambio de resistencia, como resultado variamos la intensidad de un LED. Esta intensidad, finalmente es dependiente de la presión en el sensor.

Materiales

La conexión del sensor de presión, el LED y sus respectivas resistencias con el Arduino, se observan en el siguiente diagrama. Además siempre podemos considerar cambiar la entrada por otro canal de ADC y la salida por otro canal de PWM.

Como muestra en el diagrama, el cable rojo representa VCC que va conectado en el pin de 5V del Arduino, el cable negro a GND, los cables amarillos son de señal, al pin A0 (Sensor) y el pin 6 (LED). Por lo tanto, el sensor de fuerza o presión conectado a Arduino UNO quedará como se muestra en la figura representativa.

Sensor de Fuerza MF01Sensor de Fuerza MF01 Con Arduino

Programa en C++  para Sensor de Presión o Fuerza, en Arduino UNO

Una vez conectado el sensor de presión o fuerza a Arduino UNO, como consecuencia, el siguiente paso será realizar un programa que modifique la intensidad del LED con la presión o fuerza aplicada en el sensor. Finalmente que muestre el dato obtenido por el puerto serial, de esta forma podremos verificar que los componentes funcionan correctamente.

Primeramente, en caso de no tenerlo, instalaremos los drivers necesarios, instalaremos el IDE de desarrollo de Arduino y conectaremos Arduino al PC por el puerto USB. Por otra parte, a continuación escribiremos o copiamos el siguiente programa en nuestro IDE:

Lo compilaremos para verificar que la sintaxis del código C++ es correcta, para ello pulsaremos el botón “Verificar”. Si el código es correcto devolverá “Compilación Terminada”, si hay algún error en el código lo indicará.

Una vez verificado el código pulsaremos en el botón “Cargar” para enviar el programa a Arduino UNO. Si Arduino está correctamente conectado al PC por el puerto USB, el programa será subido y el IDE de Arduino mostrará “Carga Terminada”

Arduno IDE
IDE Arduino

Pruebas con sensor MF01 en Arduino

En primer lugar, si tenemos correctamente conectado el sensor de presión a la tarjeta Arduino y si el programa enviado es correcto, los datos actuales aparecen en la ventana de puerto serial. Esto se puede observar por consiguiente en la siguiente figura.

com Arduino
Vista de Monitor Serial

¿Cómo se mide la fuerza / presión con este Sensor?

Como hemos dicho, la resistencia del sensor cambia con respecto a presión. Cuando no hay presión, el sensor se parece por lo general a una resistencia infinita (circuito abierto), ya que la presión aumenta, la resistencia disminuye. Este gráfico indica aproximadamente la resistencia del sensor en diferentes mediciones de la fuerza. (Ten en cuenta que la fuerza no se mide en gramos y lo que realmente quiere decir es Newtons * 100) de hecho.

Sensor de Fuerza

Por otro lado, cabe mencionar que la figura previa es logarítmica en ambos ejes. No obstante el comportamiento se puede considerar una recta, sin embargo no se comporta como tal. Por ese motivo, a continuación se presenta una tabla con valores tomados. Como resultado podemos observar que la variación no es lineal.

Fuerza (lb)

Fuerza (N)Resistencia SensorCorriente a través del sensor

Voltaje a través del sensor

Ninguno

NingunoInfinito0 mA

0V

£ 0.04

0,2 N30 KΩ0,13 mA

1,3 V

£ 0.22

1 N6 KΩ0,31 mA

3,1 V

2,2 libras

10 N1 KΩ0,45 mA

4,5 V

22 libras100 N250 Ω0,49 mA

4,9 V

87 comentarios en «Sensor de Fuerza o Presión MF01»

    1. Erick, mas que nada que rango requieres? de ahi veriamos, pero si estas en el rango de las decentas a miles de gramos, te recomiendo las galgas extensiometricas o celdas de carga. Saludos

  1. Buenas tardes, esta demasiado bueno tu tutorial, felicitaciones.

    mi consulta es la siguiente, yo requiero hacer lo mismo del tutorial pero con una interfaz gráfica mas amigable, me explico.

    la idea es que no me muestre un dígito tras otro, si no una pantalla que cambie de dígito en un textbox, es posible hacer eso? y que programa se debe utilizar, de antemano muchas gracias, saludos.

    1. Sergio estamos en Guadalajara, México. Enviarlo, si lo podemos hacer pero quizás te convenga comprarlo por allá, nosotros manejamos envíos internacionales en aproximadamente 55USD por DHL. Saludos

  2. Hola, disculpa hay algún otro sensor que recomiendes que sea más preciso, manejo pesos de 0 a 5 kilos máximo, pero si necesito precisión.

    Gracias 😀

    1. Lupita, este se usa mas que nada para detección de fuerzas como en asientos, sillas o mecanismos de presión. Si lo que quieres es «medir» te recomiendo una galga extensiometrica o celda de carga, visita nuestra pagina http://www.hetpro-store.com y ge a la sección de sensores, fuerza y deflexión. Saludos

  3. Buen día Hector quiero desarrollar un manómetro digital para colocarlo en cilindros de presión pero no tengo conocimiento del campo digital…. tu me puedes ayudar para desarrollar un manómetro digital ad-hoc a mi proyecto?

  4. Buen día Hector, está muy bueno el tutorial, me gustaría saber es que si es posible convertir en una imagen (silueta) de mi mano que ejerza presión sobre una superficie.

    1. Se satura Ivan, esto es que no te va a dar más voltaje simplemente se mantiene en el voltaje máximo, no te daña el Arduino. Saludos.

  5. Buenas tardes, el tutorial es excelente, pero como podria hacer un sensor de presion diferencia con un fuelle igual en arduino?…

  6. Hola. Necesito que el sensor mande una señal positiva cuando llegue a 1kg, ¿cómo puedo hacerlo? ¿Qué función tengo que usar? Serian las 2.2lb

    1. Revisar con una comparación con el ADC, por ejemplo si cuando pones 1kg te da 800 cuentas en el ADC, puedes poner el código if(adc_dato >= 800){ Activa el pin en alto por 1 segundo } else { nada }

  7. hola, tienes alguna ecuación o función que entregue el peso ya sea en libras o kilogramos a partir del voltaje entregado? porfavor, te agradecería,
    saludos

    1. Franco, revisa la ultima figura del tutorial, vienen una grafica que dice resistencia contra fuerza, puedes meter los datos a una tabla de excel, y generar un ajuste polinomial (no regresión lineal ya que no es lineal) y extraer los coeficientes del polinomio para generar la ecuación.

  8. Excelente el tutorial.
    Estoy pensando en utilizar un sensor como este (o un poco más grande) para que cuando detecte una presión por mas de 3 segundos, me envíe un SMS (mensaje de texto).
    Crees que sea posible, que componentes necesitaría y en que lenguaje de programación se podría ?
    Un cordial saludo

  9. Hola me gustaría saber si tiene un sensor tan preciso como para medir la fuerza con la que se fractura un huevo, ya sea un sensor de fuerza o una gala.

    1. No estoy familiarizado con la fuerza que se requiere para fracturar un huevo, pero casi con seguridad este sensor si te detecta una variación en ese rango.

  10. Hola Hector te queria consultar si este sensor sirve para cuando se deja de aplicar peso a una superficie envie una señal para que se dispare una alarma, es para controlar el robo de cajas en un deposito. Muchas gracias

    1. Hola buen dia puedes utilizar los tutoriales que tenemos, pero una manera seria almacenar la lectura y representarla en el display en algun codigo ya sea binario por ejemplo dentro de algun ciclo

  11. Excelente post, muy didáctico e ilustrativo. ¿Què simulador me recomiendas para poner en pràctica lo aprendido? Saludos y de ante mano muchas gracias.

  12. Hola!,
    Quisiera saber si este sensor de presión me sirve para crear una báscula de cocina para pesos entre 1 y 1000 gramos.
    ¿Qué tan presiza alcanzaría a ser?

    Gracias, muy buen artículo.

  13. Hola, tengo una duda, si tengo que hacer un sensor de presión pero para que detecte los psi de una llanta, en este caso una llanta de una bicicleta, como tengo que adaptar el código de arduino que hiciste para detectar dicha presión? y que material tendría que añadir

    *usaria el mismo sensor de presión para la llanta

  14. Hola, buenos dias. Me gustaria saber como pasar a una SD al mismo tiempo datos de diferentes sensores de arduino como por ejemplo temperatura y presion en una misma programación.

  15. Hola,

    Te escribo desde Medellín – Colombia.
    Pregunta, hay alguna forma de detectar con qué presión es accionado un botón.

    Tengo un proyecto de hacer un controlador MIDI, pero requiero «sentir» con qué intención son presionadas las teclas.

  16. hola, me gustaria saber si puedo conectar de esta misma manera varios frs utilizando variod puertos analogicos. he hecho una prueba y no ha funionado bien

  17. ¿Será posible que ocupe este sensor para medir fuerza en una tubería de pvc que lleva agua? es decir, ¿Puede sumergirse en agua para medir la fuerza que ejerce dentro de la tubería?

    1. Marco, de acuerdo a la hoja de datos dice que no, por lo que te recomiendo poner un recubrimiento impermeable entre el paso del agua y el sensor. Saludos.

  18. Hola disculpa necesito que mi sensor arroje datos de presion aplicada desde un aduino Fio.. seria el mismo codigo? ademas no necesito la parte de el led y simplemente quite todo del código que tenga que ver con el led pero aun asi el puerto serial no me arroja ningun resultado solo 0

  19. Cual es el valor que arroja el programa? gramos? fuerza? voltaje?
    y si es voltaje o algo así, me podrías decir como medir la fuerza de lo que arroja.
    gracias

    1. Hola Polo, lo que imprime es un valor binario de entre 0 y 1023 que tiene relación directa o es una conversión directa con el voltaje que sale del sensor. Puedes convertir este valor a gramos, pero requieres de una etapa de calibración. Por ejemplo, colocas un peso conocido, digamos de 10 gramos y ves que valor binario te arroja, después colocas otro peso de digamos 100gramos y ves que peso te arroja, con tres o mas de estos experimentos crearas una gráfica. Con esta gráfica y excel puedes obtener una ecuación cuya variable independiente sea el valor binario y la variable de salida sea igual a los gramos de la relación.

  20. buenos dias muy interezante la explicacion en la explicacion se indica que tenemos valores de voltaje a la salida del sensor y este varia de acuerdo a la fuerza mi pregunta es como podria hacer para que los valores de voltaje tambien se representen con salidas de corriente

  21. podrias sugerirme un sensor pra tomar lecturas un poco mas presisas y saber laslibras que hay sobre de ellos ya que comentas que no es muy presiso para medir exactamente

    1. Hola, el tutorial se refiere a que mínimo se requieren 30g para medir los valores, esta es su resolución. Lo que normalmente se hace es obtener una curva de respuesta del sensor para encontrar mediante el método de mínimos cuadrados una ecuación que defina el funcionamiento del sensor. Entonces por ejemplo, la podrías hacer algo así:colocas pesos conocidos, 0.1 libras, 0.5lbs, 1lbs, etc y mides la respuesta del sensor, entonces mediante la ecuación tu colocas el valor de la salida y la ecuación te dirá las libras. Para que aplicación lo quisieras? , saludos.

  22. Hola buen dia, necesito saber que detector de impacto puede medir un impacto de 0 (cero) a 1.200 Ks (Kilos)
    Es para un proyecto que estoy realizando con Arduino.
    Desde ya muchas gracias

  23. Buen día estimados.

    Necesito detectar la presencia de un vehículo en un acceso vehicular por medio de sensores de presión, no es necesario saber el peso del vehículo, pero si que me detecte con pesos mayores a 2 toneladas, lo necesito para generar un pulso y ejecutar una acción, ¿podría realizarlo con algunos de estos sensores o galga extensiometrica?, si es así cual me recomiendan, agradezco de antemano.
    Saludos cordiales.

  24. Hola, soy nueva en tipos de sensores, he leido su funcionamiento y comprendo que dado que la membrana se deforma la resistencia varia, sin embargo, me pregunto, hay forma de disminuir o aislar la zona que el sensor sensa? Hice una compra de sensores (tekscan A401) pero me equivoqué en el tamaño, los que obtuve son más grandes de lo que necesito (20mm m’as grandes) . Agradezco cualquier idea o sugerencia.

    1. Angela, esa pregunta implica muchos detalles pero lo más sencillo que te puedo recomendar es hacer uso del módulo HC-05 de bluetooth y bajar alguna aplicación que grafique datos directos del bluetooth.

  25. Buenas tardes, Tengo una interrogante que creo no está en la información. ¿Este sistema es resistente al agua? Lo planeamos usar para medir la fuerza de las olas en un proyecto que simula manglares. Esperamos su respuesta. Gracias de antemano.

  26. Hola!
    Tengo una duda al respecto del sensor. Sé que no son del todo precisos para medir fuerzas, pero me gustaría utilizarlo con tal fin. He estado indagando y me surge la siguiente duda. Si me baso en la información ofrecida por el datasheet y obtengo la fuerza a través de la conductancia linearizando para fuerzas pequeñas (0 a 1 kg) y grandes (1 kg a 10 kg) [son los rangos de medida del sensor FSR redondo estándar que utilizo], ¿serviría como calibración del sensor o es necesario hacer una curva de calibración previa a las medidas aplicando diferentes fuerzas conocidas? Y mi segunda duda es en relación a al aplicación de la fuerza. ¿Es necesario que la fuerza se distribuya de forma uniforme en la superficie activa del sensor o si aplicas la fuerza de forma céntrica en el sensorse va a obtener un buen resultado?
    Muchas gracias de antemano!

  27. Buen dia ,tengo una duda necesito ver el valor de la masa (100g a 1kg) de algo que se encuentra encima de la celda de presión como puedo saber esto por favor.

    1. William, claro, mira en la función ResRead = analogRead(AnalogPin); es donde se lee el valor en bits correspondiente al cambio en la fuerza aplicada al sensor. Usa una referencia de 1kg para medir que valor te da, con ese valor leido puedes crear una función recta desde 0g a 1kg considerando los dos valores leidos. O puedes hacer una función con diferentes pesos.

  28. Hola Hector, gracias por tus aportaciones. Mi pregunta es: puedo utilizar ese sensor para encender una ristra de luces leds, cuando alguien la pise, cilocandola por ejemplo debajo de una alfombra. Podria ser esto??? Podria hacerse? Podrias contestarme por email o al WhatsApp 635396418

  29. Hola, ¿se podrían conectar varios sensores para generar un mapa de calor mediante algún protolo tipo I2C? Si quisiera conectar 20 sensores de presión para generar el mapa de calor, ¿cómo podría conectarlos?
    Muchas gracias.

    1. Hola, depende del microcontrolador que estes usando. Por ejemplo, por defecto el arduino uno r3 tiene asignadas 6 entradas analogicas, podias usar mas pero tendrias que usarlas mediante registros. Entonces podrias conectar hipoteticamente 6 sensores a un arduino y hacer un programa para convertir esta informacion en i2c, en otro arduino otros 6 sensores y asi sucecivamente. Cada arduino seria un esclavo I2C y necesitarias un maestro I2C para poder leerlos a todos simultaneamente. Cabe se;alar que el adc a pesar de que tiene 6 canales solo puedes leer uno a la vez.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *