2018-10-05

2018年10月4日星期四:

今天国庆节,按理说该放假的。忙一天,这会已经晚上11点半了才开始写这篇总结。重点是把自己学习过程中遇到的问题记录下来,期待解答哈。

主题:《制作一个arduino的亮度可调节led灯》

预备知识点:

1、arduino数字接口和模拟接口的区别和关联 首先要区别数字接口和模拟接口,就要先区分那些是数字接口,那些是模拟接口。下图很清晰,下面的图是arduino UNO型号的板子,也是很常用的板子。 总结一下arduino型号的板子模拟和数字口的区别: 模拟输入口: A0、A1、A2、A3、A4、A5、也可以实现数字输入输出。数字输入(输出)接口 :1~13。既能数字输入输出,又能模拟输出的引脚有: 3、5、6、9、10、11 使用的是10位2进制位进行数模转换:(1111111111(二进制)=1023(10进制))

      注意普通的digitalwrite(端口,0或者1);因为数字输入(输出)只能有两种状态(高电平或者低电平),所以用于表示的只有0或者1即可。analogwrite(端口,模拟量)注意模拟量必须要属于合适的范围之内!


数字接口调制模拟信号,用的是8位2进制:(11111111 = 255)。

2、理解一下“调制模拟信号”:

    调制模拟信号就是一段时间内来回切换高低电平,从而控制这段时间内高低电平出现的时间比例,高电平出现时间的比例越高那么输出电压越接近额定电压(这里是5v),反之低电平出现的时间比例越多,输出电压就越接近0v低电压。这就牵扯到占空比的问题了,0%的占空比输出就是0v电压,100%的占空比输出就是额定电压(5v),50%的占空比输出电压计算方式和交直流电“等效值”的计算方式类似,都是乘一个固定的值,进行转化,从而得到输出电压。关于为什么在理论上可以实现任何电压值的输出,而现实不行呢?首先在“数模口”,不论你将0~5v(额定电压)分为了几份,每一份都得有一个计数值,但是“数模口”调制模拟信号用的是8位2进制。所以只能有0000001、00000002、····共255个计数值,所以0~5v的电压只能分为255份。


3、映射函数:

      map(value,fromLow,fromHigh,tolow,tohigh): 将一个“值”从一个之前所在的范围(fromLow~fromHigh),等比例的转换到新的范围(tolow~tohigh),这个值变为了一个“新的值”,但其划分新范围和旧范围的比例是一样的。一般会用于赋值:y = map(value,fromLow,fromHigh,tolow,tohigh);


      附上程序:




4、电子元器件:

    Led,旋钮开关,arduino开发板

5、 接线方式:

    Led:普通数字引脚

    旋钮开关:A0~A5

6.问题:

    13个数字接口当中,可以作为模拟输出的端口也可以设置为模拟读取端口吗?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 选择题部分 1.(),只有在发生短路事故时或者在负荷电流较大时,变流器中才会有足够的二次电流作为继电保护跳闸之用。...
    skystarwuwei阅读 13,580评论 0 7
  • modify host fileadd these to the end of host file
    LFBuildMountain阅读 239评论 0 0
  • 有一天两人聊到去欧洲旅游,他描述有多喜爱荷兰、比利时、意大利这些国家。 我突然心血来潮,不如我们去荷兰把证领了吧。...
    一去三十年阅读 277评论 0 0
  • 接着我们再说说野蛮生长。之前的游戏规则和利益分配机制,保证的是生态圈的稳定和有序运转,但想把版图做大,归根结底还是...
    袖卷千重雪阅读 231评论 0 1
  • 《圈套》写过培训+放贷的骗钱模式。 0费用,Java编程培训,学成推荐工作,月薪8000元。 0费用的意思是,帮你...
    无极领域博客阅读 569评论 0 1