Arduino力传感器是一个超级简洁的传感器,你可以在你的项目中使用它来测量物体是否被压在上面以及压到什么程度。力传感器被用于许多你可能想不到的设备中。比如鼓垫!当你敲击鼓垫时,垫下有一个力传感器,测量鼓棒(或你的手指)敲击它的强度!

Arduino力传感器

当你想到Arduino力传感器时你应该把它想象成一个简化的刻度。你知道!就是你用来检查体重的那个!然而,Arduino力传感器的测量要简单得多,而不是用磅或公斤来测量。从模拟输入读取测量值,测量值从0到255。我们可以把这些转换成无触摸,轻触摸和硬触摸作为例子。

请注意:虽然可以用Arduino力传感器来测量重量,但这不是正确的传感器。

本项目零件清单

这里有一个方便的零件清单,让你开始这个项目。其中一些可能是从属链接。如果你使用它们,它们不需要你付出任何代价,但我们可以得到一小笔佣金,这有助于我们继续制作这样优秀的内容。

数量 部分/链接
1 x Arduino Uno
1 x USB B型电缆
1 x 无焊料的电路试验板
1 x 跳线设备
1 x 电阻器套件(10 k欧姆)
1 x 领导的工具包
1 x 力传感器
买一个极客酒吧!

力传感器引脚和功能

和电阻器很像,力传感器的工作是对称的。这意味着它没有极性或优先取向。两种引脚都可以互换使用。

这不是巧合,我们把它比作电阻。事实上,Arduino力传感器的作用很像一个电阻器。更具体地说,是一个可变电阻!当施加压力时,力传感器的电阻减小,允许更多的电流流动。我们可以用Arduino上的模拟管脚测量这个电阻!为此,我们将使用analogRead()函数。

Arduino力传感器基本接线图

连接力传感器很容易。然而,它确实需要一个10K欧姆的下拉电阻使它工作。

  • Arduino销A0力传感器销2
  • Arduino5伏力传感器销1
  • 力传感器销2对下拉电阻
  • 下拉电阻,接地
Arduino力传感器基本接线图

Arduino力传感器代码示例(串行控制台)

这第一个草图将简单地打印在连续监测施加在传感器衬垫上的相对力。

/*ARDUINO力传感器教程:串行输出作者:TheGeekPub.com更多ARDUINO教程://www.ergcommercial.com/arduino-tutorials/ */#define FORCE_SENSOR_PIN A0//FSR和10K下拉菜单连接到A0 void setup(){Serial.begin(9600);}void loop(){int analogReading=analogRead(FORCE_SENSOR_PIN);Serial.print(“原始力读数:”;Serial.print(analogReading);//如果(analogReading<10)//从0到9 Serial.println(“->未检测到力”);如果(analogReading<100)//从100到349 Serial.println(->低力”);如果(analogReading<350)//从350到799 Serial.println(->中等力),则打印原始模拟值;else//从800到1023 Serial.println(“->HIGH FORCE”);延迟(1000);}

加大力度

现在让我们扩大这个项目,让它更有趣一点。让我们向试验板添加三个LED:黄色、绿色和红色LED。当我们用力按压力传感器时,LED将从绿色变为黄色,再变为红色!

Arduino力传感器的led接线图

在9-11引脚上添加三个led,接线方式如下:

Arduino力传感器的led接线图

Arduino力传感器代码示例(led)

这段代码将点亮我们的led而不是输出到串行监视器。

/*ARDUINO力传感器教程:引导反馈:TheGeekPub.com更多ARDUINO教程://www.ergcommercial.com/arduino-tutorials/ */#定义力#传感器引脚A0//FSR和10K下拉连接到A0#定义红色#LED 9#定义黄色#LED 10#定义绿色#LED 11无效设置(){pinMode(红色#LED,输出);pinMode(黄色#LED,输出);pinMode(绿色发光二极管,输出);}void loop(){int analogReading=analogRead(FORCE_SENSOR_PIN);if(analogReading<10)//从0到9{//所有LED关闭数字写入(红色发光二极管,低);数字写入(黄色发光二极管,低);数字写入(绿色发光二极管,低)}否则if(analogReading<100)//从100到349{//数字写入上的绿色发光二极管(红色发光二极管,低);digitalWrite(黄色发光二极管,低);digitalWrite(绿色发光二极管,高)}else if(模拟读数<350)//从350到799{//数字写入上的黄色发光二极管(红色发光二极管,低);digitalWrite(黄色发光二极管,高);digitalWrite(绿色发光二极管,低)}else//从800到1023{//数字写入上的绿色发光二极管(红色发光二极管,低);数字写入(黄色发光二极管,高);数字写入(绿色发光二极管,低);}延迟(100);}

你可以看到,当你按下力传感器时,led会改变,显示你按下的力度反馈。

下一个步骤

现在,您可以继续阅读下一篇教程或返回索引。