Arduino Nano ESP32 - Sensor de Força

O sensor de força também é chamado de resistor sensível à força, resistor sensor de força ou FSR. Este tutorial mostra como usar o Arduino Nano ESP32 com o sensor de força. Em detalhes, vamos aprender:

Hardware Necessário

1×Arduino Nano ESP32
1×Cabo USB Tipo-A para Tipo-C (para PC com USB-A)
1×Cabo USB Tipo-C para Tipo-C (para PC com USB-C)
1×Sensor de Força
1×10 kΩ Resistor
1×Protoboard
1×Fios Jumper
1×(Opcional) Conector de Alimentação DC
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para Arduino Nano
1×(Recomendado) Placa de Expansão Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentação para Arduino Nano ESP32

Or you can buy the following kits:

1×DIYables Sensor Kit (18 sensors/displays)
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.

Sobre o Sensor de Força

Um sensor de força é um resistor cuja resistência é inversamente proporcional à força aplicada a ele. Quanto mais força é aplicada ao sensor, menor é a resistência do sensor. O sensor de força é bom para aplicações que detectam aperto ou pressão física. No entanto, ele não é bom para aplicações que medem quantas libras de peso

Pinagem do Sensor de Força

Um sensor de força tem dois pinos. Assim como um resistor, NÃO precisamos diferenciar esses pinos.

Pinagem do sensor de força

Diagrama de Ligação entre o Sensor de Força e o Arduino Nano ESP32

Diagrama de ligação do sensor de força com o Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

Como Programar o Sensor de Força

A resistência é proporcional à tensão. Podemos usar o pino de entrada analógica do ESP32 para medir a tensão.

Ao conectar um pino do sensor de força a um pino de entrada analógica, podemos ler o valor analógico do pino ⇒ tensão ⇒ resistência ⇒ força (tudo í em valor relativo)

Código do Arduino Nano ESP32

/* * Este código de Arduino Nano ESP32 foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.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); }

Passos Rápidos

  • Se esta é a primeira vez que você usa o Arduino Nano ESP32, veja como configurar o ambiente para o Arduino Nano ESP32 no Arduino IDE.
  • Copie o código acima e cole no Arduino IDE.
  • Compile e faça o upload do código para a placa Arduino Nano ESP32 clicando no botão Upload do Arduino IDE
  • Pressione o sensor de força
  • Veja o resultado no Serial Monitor. Ele se parece com o abaixo:.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano ESP32
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano ESP32' on 'COM15')
New Line
9600 baud
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
Ln 11, Col 1
Arduino Nano ESP32 on COM15
2

※ Nota:

Este tutorial usa a função analogRead() para ler valores de um ADC (Conversor Analógico-Digital) conectado a um sensor ou componente. O ADC do Arduino Nano ESP32 é adequado para projetos que não exigem alta precisão. No entanto, para projetos que precisam de medições precisas, tenha em mente o seguinte:

  • O ADC do Arduino Nano ESP32 não é perfeitamente preciso e pode precisar de calibração para obter resultados corretos. Cada placa Arduino Nano ESP32 pode variar um pouco, então a calibração é necessária para cada placa individualmente.
  • A calibração pode ser difícil, especialmente para iniciantes, e nem sempre dá os resultados exatos que você quer.

Para projetos que exigem alta precisão, considere usar um ADC externo (ex.: ADS1115) com o Arduino Nano ESP32 ou usar outro Arduino, como o Arduino Uno R4 WiFi, que tem um ADC mais confiável. Se você ainda quiser calibrar o ADC do Arduino Nano ESP32, consulte o ESP32 ADC Calibration Driver.

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!