前面,我们学习里模拟量的输入输出,这里我们进一步熟悉它们。这里我们精准实现亮度的调节与控制,做一个可以调节亮度的小台灯。
实物图如下(我们用LED灯来替代台灯):

大致代码如下:

int potpin=A0;//定义模拟输入口接口A1
int ledpin=11;//定义数字接口11int val=0;void setup(){
pinMode(ledpin,OUTPUT);//定义数字接口11 为输出}void loop(){val=map(analogRead(potpin),0,1024,0,255);// 读取传感器的模拟值并赋值给val
analogWrite(ledpin,val);// 打开LED 并设置亮度
delay(30);}

可能我们会好奇,为什么val获得的值这里我们会用一个map函数来处理呢?这个map函数是如何使用的?
首先我们应该记得上一篇博文中提到,analogWrite的输出值是0~255,而我们直接从analogRead读取到的值很多时候都是会超过255的。所以我们必须想办法让我们读取到的值在0到255范围内,那么map函数就是起到这个作用的。
map函数的用法如下:
map(value, fromLow, fromHigh, toLow, toHigh)
参数说明如下
value: the number to map
fromLow: the lower bound of the value’s current range
fromHigh: the upper bound of the value’s current range
toLow: the lower bound of the value’s target range
toHigh: the upper bound of the value’s target range

返回值
The mapped value.

analogWrite这里的输出,我们也还有另外一种叫法,叫做PWM。后面我们接续介绍PWM。

Arduino制作实践课程(4)可调节亮度的台灯相关推荐

  1. Arduino制作实践课程(3)呼吸灯与声控小夜灯

    上周我们介绍了arduino的数字端口的输入输出的操作,这周的课程我们开始了解arduino对模拟口的操作. 具体我们这里使用呼吸灯.声控小夜灯来呈现. 首先我们通过呼吸灯的程序来熟悉模拟量输出的指令 ...

  2. Arduino制作实践课程(6)数码管

    数码管的操作实际和前面的共阳极的三色灯非常类似,一位数的数码管其实也就是共阳极(或者共阴极)的7个LED灯(有点号的就是8个LED灯),所以数码管常常是8个有效管脚或者9个有效管脚(也就是说10管脚中 ...

  3. 机器人实践课程镜像分享及使用说明(Arduino+ROS1+ROS2+Gazebo+SLAM+...)

    经过5年尝试和努力,在吸取indigo.kinetic版本经验后,融合Arduino.ROS1.ROS2.Gazebo和SLAM的适用机器人爱好者的实践课程镜像尝鲜版(bug是免不了的!_!)终于完成 ...

  4. 工业设计课程作业——基于Arduino制作的宋代点茶文化小夜灯

    文章目录 前言 一.产品介绍 二.代码分享 总结 前言 工业设计--电子信息课程作业,我们第一次使用Arduino制作了一个以宋代点茶文化为背景的带有交互体验的小夜灯. 一.产品介绍 简单介绍一下宋代 ...

  5. 2021春季学期-创新设计与实践-课程结构设计

    ▌01 课程背景 根据2021年之初,与自动化系张长水教授讨论,对于 2021春季学期-创新设计与实践-高级下 中关于工程部分(智能控制)内容,进行了初步的设计,详细参见: CDIE-2021春季课程 ...

  6. 计算机动漫与游戏制作报告,计算机动漫与游戏制作专业课程体系建设总结报告.PDF...

    计算机动漫与游戏制作专业课程体系建设总结报告 计算机动漫与游戏制作专业 课程体系建设总结报告 以服务为宗旨,以就业为导向,以能力培养为主线,瞄准职业岗位, 按岗位标准要求设定人才培养目标:根据职业岗位 ...

  7. 计算机音乐文本制作,《计算机音乐制作》课程教学大纲

    <<计算机音乐制作>课程教学大纲>由会员分享,可在线阅读,更多相关<<计算机音乐制作>课程教学大纲(5页珍藏版)>请在人人文库网上搜索. 1.计算机音乐 ...

  8. 设计模式之工厂方法模式、抽象工厂模式的概念和实现及使用“反射技术+读取配置文件”的方法对工厂模式进行改进(软件工程综合实践课程第三周个人作业)

    文章目录 一.实验目的 二.知识总结 1.工厂方法模式简介 2.抽象工厂模式简介 3.工厂模式小结 4.利用"反射技术+读取配置文件"的方法改进程序 三.实验内容 1. 工厂模式实 ...

  9. 计算机专业的教学内容落后实例,中职《Flash动画制作》课程教学改革

    中职<Flash动画制作>课程教学改革 来源:用户上传 作者: 李绍园 作者简介:李绍园(1981-),女,广东惠州市博罗中等专业学校计算机助理讲师.研究方向:计算机教育教学.(广东 惠州 ...

最新文章

  1. Scapy学习笔记二
  2. 电子商务人们广泛使用计算机,电子商务基础——PPT课件
  3. 你可能不知道的C#语言特性
  4. LeetCode 98. 验证二叉搜索树 思考分析
  5. 转载:迷你云 – 搭建自己的本地多人团队Dropbox 服务
  6. 关于ios7 navigationController中view的frame以及坐标点
  7. Flex全局错误处理/Global Error Handling in AIR 2.0 and Flash 10.1
  8. 《软件测试》实验一:测试入门
  9. Flutter实战之Hello Flutter
  10. 在php中使用守护进程
  11. 数字图像处理与机器视觉,机器视觉算法与应用 pdf电子版
  12. MySQL配置+SQLyog安装教程
  13. 多台欧姆龙PLC通过智能网关实现HTTP协议对接MES系统
  14. FireWorks-程序员的做图工具
  15. 编译原理-语法制导翻译
  16. JavaScriptAPI编程_History对象(获取浏览历史)
  17. 微信计算机内存是32位吗?,windows7旗舰版32位和64位的区别是什么
  18. [Python3] 线程池的使用
  19. 计算机仿真程序设计,计算机仿真技术-MATLAB-综合实验-(8页)-原创力文档
  20. 形容等待时间长的句子_形容等待的时间很漫长的句子

热门文章

  1. 谁在CALL我 -- callstack的实现原理
  2. 8086cpu中,FR寄存器的标志位
  3. 电脑四核处理器与双核处理器的区别?
  4. matlab求解时域特征参数,matlab 实现数据时域特征提取
  5. 大数据HiveSQL学习笔记三-查询基础语法以及常用函数
  6. zjnu 1744 EKSPLOZIJA(模拟栈)
  7. CT一般扫描参数_CT胶片上哪些参数和剂量有关?
  8. 14-SpringSecurity:前后端分离项目中用户名与密码通过RSA加密传输
  9. 2023江苏海洋大学计算机考研信息汇总
  10. Flex Chart技巧-移除浮水印