0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用Arduino开发板连接弯曲传感器的方法-下

jf_78858299 来源:一板网电子技术论坛 作者:一板网电子技术论 2023-01-21 14:28 次阅读

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);
}

如果一切工作正常,则在折弯弯曲传感器时,您应该看到电阻的变化和估算的角度。

1672977817(1).png

代码说明

首先在草图中定义弯曲传感器和下拉电阻连接的Arduino引脚编号。

const int flexPin = A0;

接下来,定义了几个常数:VCC是系统电压,R_DIV是用于创建分压器的阻值,flatResistancebendResistance是弯曲传感器在水平和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

    文章

    4862

    浏览量

    139353
  • 代码
    +关注

    关注

    30

    文章

    4671

    浏览量

    67765
  • Arduino
    +关注

    关注

    187

    文章

    6453

    浏览量

    185922
收藏 人收藏

    评论

    相关推荐

    如何使用传感器开发板加快您的设计速度

    拥有复杂的 IoT 应用所需的处理能力、板载存储和外围组件集的主板(如 Arrow SD 600eval)要容易很多。TE 的传感器屏蔽开发板(下方图 1 所示)在兼容 96board 标准的标准形状大小
    发表于 01-10 14:47 2645次阅读

    基于arduino开发板FRDM-KL25Z脉搏心率传感器

    [size=0.83em]基于arduino开发板FRDM-KL25Z脉搏心率传感器.png (84.75 KB, 下载次数: 0)下载附件[color=rgb(153, 153, 153
    发表于 06-22 11:15

    如何将倾斜传感器连接Arduino开发板上?

    倾斜传感器开关是什么?有什么作用?如何将倾斜传感器连接Arduino开发板上?
    发表于 07-06 08:23

    Arduino开发板使用DHT11温湿度传感器方法 精选资料分享

    在本篇文章中,我们将DHT11温湿度传感器Arduino开发板和LCD显示屏连接,设计一种能够测量室温和环境湿度的设备。简单地说,我们将使用Ard
    发表于 07-13 09:35

    Arduino开发板使用DHT11温湿度传感器方法 精选资料分享

    在本篇文章中,我们将DHT11温湿度传感器Arduino开发板和LCD显示屏连接,设计一种能够测量室温和环境湿度的设备。简单地说,我们将使用Ard
    发表于 07-13 06:58

    如何去制作一种基于Arduino开发板和压力传感器的肺活量计

    什么是肺活量测定法?如何去制作一种基于Arduino开发板和压力传感器的肺活量计?
    发表于 09-18 06:11

    请问Arduino开发板如何连接倾斜传感器

    请问Arduino开发板如何连接倾斜传感器
    发表于 10-28 08:54

    Arduino开发板的测试程序和土壤湿度传感器的资料详细说明

    本文档的主要内容详细介绍的是Arduino开发板的测试程序和土壤湿度传感器的资料详细说明。
    发表于 05-07 08:00 0次下载
    <b class='flag-5'>Arduino</b><b class='flag-5'>开发板</b>的测试程序和土壤湿度<b class='flag-5'>传感器</b>的资料详细说明

    Arduino的各种常用开发板

    Arduino开发板大全,来看看你玩过哪些? 昨天认识了Arduino,今天来看看Arduino的各种常用开发板。 它有各种型号的,如
    的头像 发表于 03-24 09:28 2.4w次阅读

    如何使用Arduino开发板和温度传感器实现实时气象站?

    使用Arduino开发板、RTC、气压和温度传感器可以轻松实现类似实时气象站这样简单的小型项目。在生活中,我们使用温度计来测量温度,身边没有任何可测量气压的设备,因此只能依靠新闻得知当前地区的气压
    的头像 发表于 04-09 11:44 3657次阅读
    如何使用<b class='flag-5'>Arduino</b><b class='flag-5'>开发板</b>和温度<b class='flag-5'>传感器</b>实现实时气象站?

    配置esp8266开发板Arduino开发环境

    1.esp8266开发板硬件:基于esp8266的nodemuc开发板 需要microUSB连接线。ESP8266-NodeMCU是一个开源硬件开发板,由于它支持WIFI功能,所以在物
    发表于 12-08 14:51 33次下载
    配置esp8266<b class='flag-5'>开发板</b>的<b class='flag-5'>Arduino</b><b class='flag-5'>开发</b>环境

    Arduino 初试 stm32开发板

    Arduino 初试 stm32开发板1.实验环境1.野火STM32指南者(STM32F103VET6)2.Arduino IDE 1.8.13(下载链接)3.STM32 Flash
    发表于 12-20 19:48 17次下载
    <b class='flag-5'>Arduino</b> <b class='flag-5'>下</b>初试 stm32<b class='flag-5'>开发板</b>

    如何将Arduino与不同的传感器连接

    电子发烧友网站提供《如何将Arduino与不同的传感器连接.zip》资料免费下载
    发表于 11-03 10:18 1次下载
    如何将<b class='flag-5'>Arduino</b><b class='flag-5'>板</b>与不同的<b class='flag-5'>传感器</b><b class='flag-5'>连接</b>

    利用Arduino开发板连接弯曲传感器方法-上

    弯曲传感器(Flex Sensor)是一种低成本且易于使用的传感器,专门设计用于测量偏转或弯曲的程度。 由于在90年代在Nintendo Power Glove中用作游戏界面,因
    的头像 发表于 01-21 14:28 2305次阅读
    <b class='flag-5'>利用</b><b class='flag-5'>Arduino</b><b class='flag-5'>开发板</b><b class='flag-5'>连接</b><b class='flag-5'>弯曲</b><b class='flag-5'>传感器</b>的<b class='flag-5'>方法</b>-上

    Arduino传感器–ROHM传感器评估套件概览

    ROHM Sensor Shield(ROHM传感器开发板)是一种兼容Arduino的扩展板,旨在帮助用户快速将各种传感器添加到自己的开发
    的头像 发表于 02-23 17:37 758次阅读
    <b class='flag-5'>Arduino</b><b class='flag-5'>传感器</b>–ROHM<b class='flag-5'>传感器</b>评估套件概览