电位器是一个可调的电阻,通过旋转旋钮改变2号脚位置,从而改变2号脚到两端的阻值。实验中将1脚和3脚分别接到开发板的5V的GND,再通过模拟输入引脚A0来读取电位器2号脚分得的电压,其范围在0V和5V之间。

/*AnalogRead通过电位器改变LED灯亮度
*/int ledPin = 10;int readValue = 0; //保存读到的模拟值
int ledValue = 0;  //保存LED灯占空比void setup()
{pinMode(ledPin, OUTPUT);     //数字口要选择带~号的具有pwm功能的输出口
}void loop()
{readValue = analogRead(A0);     //读取A0模拟口的数值(0-5V 对应 0-1204取值)ledValue = map(readValue, 0, 1024, 0, 255); //将0到1024之间的数据映射成0到255之间的数据analogWrite(ledPin, ledValue);   //PWM最大取值255
}

程序中通过analogRead()函数来读取模拟输入值,这个输入值的范围是0到1024之间,然后通过analogWrite()函数来改变LED灯占空比,占空比的范围是0到255之间。通过使用map()函数将范围做了重新映射。

函数介绍
analogRead()

描述:读取指定模拟引脚的值。
函数原型:analogRead(pin)
参数:模拟输入引脚。
返回值:0到1024之间的整数。
map()

描述:将数据从一个范围映射到另一个范围。
函数原型:map(value, fromLow, fromHigh, toLow, toHigh)
参数:
value: 要映射的数据
fromLow: 当前范围的下限值。
formHigh: 当前范围的上限值。
toLow: 目标范围的下限值。
toHigh: 目标范围的上限值。
返回值:重新映射后的数据。

Arduino电位器控制相关推荐

  1. 使用 Arduino 和电位器控制直流电机速度

    使用 Arduino 和电位器控制直流电机速度 查看原文 使用 Arduino 和电位器的直流电机速度控制 直流电机是机器人和电子项目中使用最多的电机.对于控制直流电机的速度,我们有多种方法,例如可以 ...

  2. Arduino小白学习记录:用电位器控制LED灯的亮度

    Arduino小白的学习记录:用电位器控制LED灯的亮度 一.介绍 二.材料准备 三.实验原理 四.实验步骤 五.代码 六.效果展示 七.总结分析 我是一个纯Arduino小白,为了完成老师安排的一个 ...

  3. 《Arduino直流电机控制教程》

    <Arduino直流电机控制教程> 在这个Arduino教程中,我们将学习如何使用Arduino控制直流电机.我们来看看控制直流电机的一些基本技术,并通过两个例子,学习如何使用L298N电 ...

  4. 如何利用电位器控制舵机

    如何在arduino中利用电位器控制舵机 一.简介 舵机是电机的一种,通上电并采取合适的方式就可以使他转动,而电位器是一种电路元件,通过扭动电位器的旋钮就可以让通过电位器的电压和电流发生变化,有点类似 ...

  5. 手把手教你看懂并理解Arduino PID控制库——调参改变

    2019独角兽企业重金招聘Python工程师标准>>> 引子 本文将分析<手把手教你看懂并理解Arduino PID控制库>中第三个问题:PID控制参数突变对系统的影响. ...

  6. 利用 Andorid 手机连接 Arduino 并控制 LED灯开关

    利用 Andorid 手机连接 Arduino 并控制 LED灯开关 ***首先,将 Arduino 断电***,然后按着蓝牙模块上的黑色按钮,再让 Arduino 通电,如果蓝牙模块指示灯按2秒的频 ...

  7. Arduino单片机控制步进电机,关于步进电机的细分

    关于步进电机的细分 查询的资料说:增加细分数并不能增加力矩.但是,细分后会运行更平稳,减少低频振动和噪声.驱动器输出的工作电流越大,力矩越大.转速越快,工作电流会减小越快,力矩也会减小越快.建议步进电 ...

  8. 利用Arduino uno控制24BYJ-48电机正反转停止( 不使用步进库实现方法三)

    利用Arduino uno控制24BYJ-48电机正反转停止( 不使用步进库实现方法三) 24BYJ48步进电机 本文不涉及指定圈数的转动,旨在控制步进正反转以及停止的控制.(知道其原理,实现指定圈数 ...

  9. 利用Arduino uno控制24BYJ-48电机正反转停止( 不使用步进库实现方法二)

    利用Arduino uno控制24BYJ-48电机正反转停止( 不使用步进库实现方法二) 继续写第二种方法,主要是受到之前写流水灯的程序原理启发. 24BYJ48步进电机 本文不涉及指定圈数的转动,旨 ...

最新文章

  1. 利用OpenCV实现图像修复(含源码链接)
  2. UVA 11259 Coin Changing Again
  3. 我的第一个微信好友分析
  4. Thinkphp编辑器扩展类kindeditor用法
  5. oracle不连续得时间如何分组,Oracle按不同时间分组统计的sql
  6. UVA 10330 Power Transmission
  7. Python深度学习---第1章 什么是深度学习
  8. 视频教程-【企业定制课】AI软件illustratorCC应用与平面印刷视频教程-UI
  9. mysql 查询去掉多余零
  10. Android自定义锁屏实现----仿正点闹钟滑屏解锁
  11. 用Python计算身份证校验码
  12. 盘点世界顶级五大黑客:个个都是神
  13. RNA-Seq质控工具RseQC安装使用
  14. Bitly:构建月处理60亿点击的分布式系统
  15. 多租户数据隔离的三种方案
  16. 收集需求的方法:群体创新技术
  17. 基于MaxEnt模型的云南红豆杉潜在适宜分布预测
  18. 好心情精神心理科医生:如何与青春期的孩子沟通?
  19. 网络安全—2.1—设备原理与操作
  20. 女孩子适合软件测试这个行业吗?华为内部测试人员是这样说的

热门文章

  1. innerText 与 innerHtml的区别 (一)
  2. ETL和ELT的区别
  3. 破解Linux主机管理员的密码
  4. 互联网、因特网以及万维网之间的区别和联系
  5. ExtJs自学教程(一)
  6. mysql关系运算选择投影连接,[转载]选择、投影和连接运算(关系数据库)
  7. 优秀的 GitHub 项目合集
  8. C/C++中substr函数的应用(简单讲解)
  9. Windows服务器IIS搭建网站
  10. InoReader—— 轻便快捷的在线 RSS 阅读器