一板网电子技术论坛

风筝
发表于: 2022-4-20 16:53:39 | 显示全部楼层

在本篇文章,我们将了解弯曲传感器及其与Arduino开发板的连接。我们还将了解弯曲传感器的工作原理及其应用。


弯曲传感器Flex Sensor)是一种通过电阻变化测量弯曲度或角度偏转量的设备。弯曲传感器由可变电阻表面组成。通过弯曲传感器来改变传感器电阻。电阻值与弯曲度成正比。所以它有时被称为柔性电位器。 弯曲传感器的实际应用可以在关节运动的确定,有时用作门传感器,并且在机器人技术中最强大的应用是制造机械臂。


然后,我们将通过几个示例来学习在Arduino中使用弯曲传感器的应用。示例包括:

1. 弯曲传感器与Arduino开发板的连接,即计算电阻。

2. 使用弯曲传感器计算弯曲角度。

3. 使用弯曲传感器控制伺服电机。


所需的组件

●    Arduino UNO开发板

●    弯曲传感器

●    SG90伺服电机

●    10K电阻

●    330欧电阻

●    LED灯

●    连接跳线

●    面包板


弯曲传感器

Flex-Sensor.jpg


弯曲传感器(Flex Sensor)是测量偏转或弯曲量的传感器。通常,传感器贴在物体表面上,通过弯曲表面来改变传感器元件的电阻。由于电阻值与弯曲量成正比,因此它被用作测角器,通常称为柔性电位器。


弯曲传感器有两种不同的尺寸:一种长度为2.2英寸(5.588厘米),另一种长度为4.5英寸(11.43厘米)。传感器的宽度一般为0.6cm。


弯曲传感器的结构图如下所示。

Flex-Sensor-Construction-1.jpg


通过在酚醛树脂基板上沉积导电油墨来制作弯曲传感器。分段导体放置在顶部。


弯曲传感器设计为单向弯曲,如下图所示。向另一个方向弯曲可能会损坏。

Bend-Sensor.jpg


未弯曲的弯曲传感器,即平面弯曲传感器的电阻值约为25K到30K。当传感器弯曲到45度时,电阻值增加到大约65K。同样,当它弯曲到90度时,电阻变成了大约100K。请注意,此电阻值不是固定的,可能会根据实际情况发生变化。

Flex-Sensor-Working.png


弯曲传感器的类型

根据弯曲传感器表面使用的电阻材料类型,它们分为:

1. 导电油墨式弯曲传感器

2. 光纤式弯曲传感器

3. 电容式弯曲传感器

4. Velostat flex 传感器(在爱好者中很受欢迎)


弯曲传感器电路

Flex-Sensor-Circuit.jpg


由于弯曲传感器可以看作是一个可变电阻器,因此可以通过将其与10kΩ的固定值电阻连接来读取它。这形成了一个分压器网络。弯曲传感器的一端连接到GND,而另一端连接到Arduino开发板的模拟输入A0。在A0和GND之间连接一个10KΩ电阻。


弯曲传感器与Arduino开发板的连接

现在让我们将弯曲传感器与Arduino开发板连接,并计算弯曲后的原始数据值。

Flex-Sensor-Arduino-Interfacing.png


以下是使用的代码:

  1. const int flexPin = A0;  
  2. void setup()
  3. {
  4.   Serial.begin(9600);
  5. }

  6. void loop()
  7. {
  8.   int flexValue;
  9.   flexValue = analogRead(flexPin);
  10.   Serial.print("sensor: ");
  11.   Serial.println(flexValue);
  12.   
  13.   delay(20);
  14. }
复制代码

上传代码后,您可以通过弯曲来检查弯曲传感器输出的原始值。 原始值根据传感器的弯曲而变化。

flex-seriaal.jpg


使用弯曲传感器和Arduino开发板控制伺服电机

现在让我们通过使用Arduino连接弯曲传感器来控制伺服电机。电路图如下所示。

Flex-Sensor-Servo-Motor-Arduino.jpg


以下是完整的代码:

  1. #include <Servo.h>

  2. Servo myServo;

  3. const int flexPin = A0;

  4. void setup()
  5. {
  6.   myServo.attach(11);
  7. }

  8. void loop()
  9. {
  10.   int flexValue;
  11.   int servoPosition;
  12.   
  13.   flexValue = analogRead(flexPin);
  14.   
  15.   servoPosition = map(flexValue, 800, 900, 0, 180);
  16.   servoPosition = constrain(servoPosition, 0, 180);

  17.   myServo.write(servoPosition);
  18.   
  19.   delay(20);
  20. }
复制代码

通过弯曲该传感器,观察伺服电机的运动情况。以上就是Arduino开发板连接弯曲传感器的全部内容。如果有任何疑问,请随时在本贴下面回复。

跳转到指定楼层
leonadro
发表于: 2022-6-18 13:06:48 | 显示全部楼层

为什么不能控制啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 685 | 回复: 1421



手机版|

GMT+8, 2023-2-6 11:34 , Processed in 0.024267 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.4

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表