Arduino Nano ESP32 - Sensor de Fuerza

El sensor de fuerza se llama resistencia sensible a la fuerza, resistencia de detección de fuerza o FSR. Este tutorial proporciona instrucciones sobre cómo usar Arduino Nano ESP32 con el sensor de fuerza. En detalle, aprenderemos:

Hardware Requerido

1×Arduino Nano ESP32
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×Sensor de Fuerza
1×10 kΩ Resistor
1×Protoboard
1×Cables Puente
1×(Opcional) Conector de Alimentación DC
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para Arduino Nano
1×(Recomendado) Placa de Expansión Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentación para Arduino Nano ESP32

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca del sensor de fuerza

Un sensor de fuerza es una resistencia cuyo valor de resistencia está inversamente proporcional a la fuerza que se le aplica. Cuánta más fuerza se le aplique al sensor, menor será la resistencia del sensor. El sensor de fuerza es adecuado para aplicaciones que detectan compresión física o presión. Sin embargo, no es adecuado para aplicaciones que determinen cuántas libras de peso.

Pinout del sensor de fuerza

Un sensor de fuerza tiene dos pines. Al igual que una resistencia, NO necesitamos diferenciar estos pines.

Diagrama de pines del sensor de fuerza

Diagrama de cableado entre el sensor de fuerza y Arduino Nano ESP32

Diagrama de cableado de Arduino Nano ESP32 Force

This image is created using Fritzing. Click to enlarge image

Cómo programar un sensor de fuerza

La resistencia es proporcional al voltaje. Podemos usar el pin de entrada analógica del ESP32 para medir el voltaje.

Al conectar un pin del sensor de fuerza a un pin de entrada analógica, podemos leer el valor analógico del pin ⇒ voltaje ⇒ resistencia ⇒ fuerza (todo en valor relativo)

Código para Arduino Nano ESP32

/* * Este código de Arduino Nano ESP32 fue desarrollado por es.newbiely.com * Este código de Arduino Nano ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-force-sensor */ #define FORCE_SENSOR_PIN A0 // The Arduino Nano ESP32 pin connected to the force reistor void setup() { Serial.begin(9600); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); } void loop() { int analogReading = analogRead(FORCE_SENSOR_PIN); Serial.print("The force sensor value = "); Serial.print(analogReading); // print the raw analog reading if (analogReading < 10) // from 0 to 9 Serial.println(" -> no pressure"); else if (analogReading < 200) // from 10 to 199 Serial.println(" -> light touch"); else if (analogReading < 500) // from 200 to 499 Serial.println(" -> light squeeze"); else if (analogReading < 800) // from 500 to 799 Serial.println(" -> medium squeeze"); else // from 800 to 1023 Serial.println(" -> big squeeze"); delay(1000); }

Pasos R\u00e1pidos

  • Si es la primera vez que usas Arduino Nano ESP32, consulta cómo configurar el entorno para Arduino Nano ESP32 en Arduino IDE.
  • Copia el código anterior y pégalo en el IDE de Arduino.
  • Compila y sube el código a la placa Arduino Nano ESP32 haciendo clic en el botón Subir en el IDE de Arduino.
  • Presiona el sensor de fuerza.
  • Revisa el resultado en el Monitor Serial. Se muestra a continuación:
COM6
Send
The force sensor value = 0 -> no pressure The force sensor value = 0 -> no pressure The force sensor value = 132 -> light touch The force sensor value = 147 -> light touch The force sensor value = 394 -> light squeeze The force sensor value = 421 -> light squeeze The force sensor value = 607 -> medium squeeze The force sensor value = 791 -> medium squeeze The force sensor value = 921 -> big squeeze The force sensor value = 987 -> big squeeze The force sensor value = 0 -> no pressure The force sensor value = 0 -> no pressure
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Nota:

Este tutorial utiliza la función analogRead() para leer valores de un ADC (Convertidor Analógico-Digital) conectado a un sensor o componente. El ADC del Arduino Nano ESP32 es adecuado para proyectos que no requieren alta precisión. Sin embargo, para proyectos que requieren mediciones precisas, tenga en cuenta lo siguiente:

  • El ADC del Arduino Nano ESP32 no es perfectamente preciso y podría requerir calibración para obtener resultados correctos. Cada placa Arduino Nano ESP32 puede variar ligeramente, por lo que la calibración es necesaria para cada placa individual.
  • La calibración puede ser un desafío, especialmente para principiantes, y podría no siempre dar exactamente los resultados que deseas.

Para proyectos que requieren alta precisión, considere usar un ADC externo (p. ej. ADS1115) con el Arduino Nano ESP32 o usar otro Arduino, como el Arduino Uno R4 WiFi, que tiene un ADC más confiable. Si aún desea calibrar el ADC del Arduino Nano ESP32, consulte el Controlador de calibración ADC de ESP32.

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!