arduino代码
以下是一个简单的草图,该草图从arduino的adc引脚中读取传感器数据,并在串口显示器上打印输出。对于大多数项目,可以满足多数需求。
// change these constants according to your project's designconst float vcc = 5; // voltage at ardunio 5v lineconst float r_div = 47000.0; // resistor used to create a voltage dividerconst float flatresistance = 25000.0; // resistance when flatconst float bendresistance = 100000.0; // resistance at 90 degvoid 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();
刻蚀机国产化率迅速提升,长江存储2020年达30%
IMAX Enhanced新增生态战略里程碑,将上线爱奇艺
如何加快磁盘碎片整理速度
vivo再添充电“大杀器”APEX 2020或携疾速60W无线快充强势来袭
最新 PowerVR GPU 已出,对中端市场有何影响?
利用Arduino开发板连接弯曲传感器的方法-下
JBLTUNE120TWS评测 有着时尚大气的外观以及恰到好处的音质表现
170亿元的电动汽车超级工厂在上海投产
OPPO Reno 10x令人痴迷的拍摄体验
Satechi推两款USB-C HDMI:本周上架 颜色多变
Arduino101/ Genuino101平台的特点介绍
德国E+H集团工业压力传感器去年营收做到2.3亿元
如何提高物联网安全性?
国产大飞机C919有望获得适航证
DSP28335学习笔记(3):InitSysCtrl
机器换人加速推动产业高质量发展和助推现代化发展进程
江波龙SSD产品S800和P800系列分析
荣耀8手机热卖半年多却没降过价,你知道是为什么吗?
抖音再回应起诉腾讯
RJ-45插头