Arduino代码
以下是一个简单的草图,该草图从Arduino的ADC引脚中读取传感器数据,并在串口显示器上打印输出。对于大多数项目,可以满足多数需求。
// Change these constants according to your project's design
const float VCC = 5; // voltage at Ardunio 5V line
const float R_DIV = 47000.0; // resistor used to create a voltage divider
const float flatResistance = 25000.0; // resistance when flat
const float bendResistance = 100000.0; // resistance at 90 deg
void setup() {
Serial.begin(9600);
pinMode(flexPin, INPUT);
}
void loop() {
// Read the ADC, and calculate voltage and resistance from it
int ADCflex = analogRead(flexPin);
float Vflex = ADCflex * VCC / 1023.0;
float Rflex = R_DIV * (VCC / Vflex - 1.0);
Serial.println("Resistance: " + String(Rflex) + " ohms");
// Use the calculated resistance to estimate the sensor's bend angle:
float angle = map(Rflex, flatResistance, bendResistance, 0, 90.0);
Serial.println("Bend: " + String(angle) + " degrees");
Serial.println();
delay(500);
}
如果一切工作正常,则在折弯弯曲传感器时,您应该看到电阻的变化和估算的角度。
代码说明
首先在草图中定义弯曲传感器和下拉电阻连接的Arduino引脚编号。
const int flexPin = A0;
接下来,定义了几个常数:VCC是系统电压,R_DIV是用于创建分压器的阻值,flatResistance和bendResistance是弯曲传感器在水平和90°弯曲时的阻值。确保您准确设置这些常数。
const float VCC = 5;
const float R_DIV = 47000.0;
const float flatResistance = 25000.0;
const float bendResistance = 100000.0;
在setup()函数中,我们将初始化串口通信,并将A0引脚设置为输入。
void setup() {
Serial.begin(9600);
pinMode(flexPin, INPUT);
}
在 loop() 函数中,我们首先进行ADC读数。
int ADCflex = analogRead(flexPin);
当Arduino将此模拟电压转换为数字量时,它实际上将其转换为范围为0到1022的10位数量。因此,为了计算实际输出电压,我们使用以下公式:
float Vflex = ADCflex * VCC / 1023.0;
接下来,我们使用分压公式计算弯曲传感器的电阻,并将其显示在串口显示器上。
float Rflex = R_DIV * (VCC / Vflex - 1.0);
Serial.println("Resistance: " + String(Rflex) + " ohms");
最后,我们使用计算出的阻值来估算传感器的弯曲角度。为此,我们使用IDE的内置map()函数。
map()函数映射并将传感器的阻值转换为传感器的弯曲角度。因此,当我们调用*map(Rflex, flatResistance, bendResistance, 0, 90.0)*时,flatResistance值将映射到0°,bendResistance将映射到90°。
float angle = map(Rflex, flatResistance, bendResistance, 0, 90.0);
Serial.println("Bend: " + String(angle) + " degrees");
Serial.println();
-
显示器
+关注
关注
21文章
4951浏览量
139836 -
代码
+关注
关注
30文章
4751浏览量
68360 -
Arduino
+关注
关注
187文章
6464浏览量
186665
发布评论请先 登录
相关推荐
评论