Flex传感器看起来很复杂,但实际上只是两个金属镀层之间的导电橡胶条。是的,就是这样!
它的工作方式是,当传感器未弯曲(中性)时,橡胶条坚实而厚实,因此它在两块板之间的导电电流很小,如图所示在草图中,但是当您弯曲它时,条带展开并允许更多的电流通过,并且检测到该电流,因此将弯曲量反馈给系统。
简单,是吗?连接它。
步骤2:连接到Arduino
有柔性传感器上有2个引脚,其中一个连接到arduino上的3.3V或5V供电,另一个连接到地。但是还有更多-接地连接已断开,一根线连接到您的arduino输入引脚,在我的Arduino uno中,它是A1。
重要的是,在A1引脚和地面之间有一个电阻。电阻值将确定您的柔性传感器的灵敏度。一个1K电阻是一个很好的起点,但是您可以使用这些值来实现所需的灵敏度。
完成。
让我们看一下草图,然后在Ironman Repulsor中测试我们的柔韧性。
步骤3:代码
The以下代码来自Sparkfun,但可以修改:
/*********************************** ***********************************************结果Flex_Sensor_Example.ino SparkFun挠性传感器的示例草图(https://www.sparkfun.com/products/10264)Jim Lindblom @ SparkFun Electronics 2016年4月28日
创建将挠性传感器与一个47k的电阻器。 -电阻应从A1连接至GND。 -柔性传感器应从A1连接到3.3V。随着柔性传感器的电阻增加(意味着它已弯曲),A1的电压应减小。
开发环境详细信息:Arduino 1.6.7 ** ************************************************** **************************
/const int FLEX_PIN = A1;
//连接到分压器输出的引脚
//测量5V的电压和
//47k电阻的实际电阻,然后输入如下:const float VCC = 4.98;
///Ardunio 5V线const float R_DIV的测量电压= 47500.0;
//测得的3.3k电阻器电阻
//上传代码,然后尝试调整这些值以更多
//准确计算弯曲度。 const float STRAIGHT_RESISTANCE = 37300.0;
//当常量const浮动时的阻力BEND_RESISTANCE = 90000.0;
//90度电阻
void setup()
{Serial.begin(9600);
pinMode(FLEX_PIN,INPUT); }
void loop()
{//读取ADC并从中计算电压和电阻
int flexADC = AnalogRead(FLEX_PIN);
float flexV = flexADC * VCC/1023.0;
float flexR = R_DIV *(VCC/flexV-1.0);
Serial.println(“ Resistance:” + String(flexR)+“ ohms”);
//使用计算出的电阻来估算传感器的
//弯曲角度:
浮动角度= map(flexR,STRAIGHT_RESISTANCE,BEND_RESISTANCE,0,90.0); Serial.println(“ Bend:” +字符串(角度)+“度”);
Serial.println();
delay(500); }
第4步:测试
在测试时,柔性传感器产生了惊人的结果。
-
传感器
+关注
关注
2545文章
50384浏览量
750667 -
FLEX
+关注
关注
0文章
45浏览量
15184 -
Arduino
+关注
关注
187文章
6455浏览量
186445
发布评论请先 登录
相关推荐
评论