设置参考电压
通常arduino默认的工作电压是5V,当用户没有设置参考电压时,arduino会使用默认的工作电压作为参考电压,而多数的arduion控制器的工作电压都是5V。
当测量的电压较小或者对测量精度要求较高时,可以通过降低参考电压来使测量的结果更为精准。arduino提供内部参考电压,但内部的参考电压并不准确,如果使用的话反而会使精度降低。在实际应用中,一般通过输入高精度的外部参考电压来提高检测精度。
在Arduino控制器上有一个ARER引脚,可以从该引脚给Arduino输入外部参考电压,同时需要使用analogReference()函数来设置arduino使用外部参考电压。
analogReference(type);
type参数参考下表:
image.png
image.png
外部输入电压必须大于0,小于当前的工作电压(一般是5V),否则可能损坏arduino控制器。
其中读取的模拟输入口的电压,其函数返回方法:
image.png
(这里确实有些抽象,不太理解,因为没有具体的实例来观察到底是怎么测量计算的。)
外部中断
程序运行过程中时常需要监控一些事件的发生,如对某一传感器的检测结果做出反应,使用轮询的方式进行检测时效率较低,等待时间较长,而使用中断的方式进行检测则可以达到实时检测的效果。
外部中断是由外部设备发起请求的中断,要想使用外部中断,就需要了解中断引脚的位置,根据外部设备选择中断模式,以及编写一个中断被触发后需执行的中断函数。
①在不同型号的arduino控制器上,中断的引脚位置也不相同。
image.png
②为了设置中断模式,还需要了解设备出发外部中断的输入信号类型。中断模式也是中断触发的方式。
image.png
在UNO板子上不支持高电平触发。
③中断函数
除了设置中断 模式外,还需要编写一个响应中断的处理程序——中断函数,当中断被触发后,便可以让Arduino运行中断函数。
这些准备工作完成后,还需要在setup()中使用attachInterrupt()函数对中断引脚进行初始化配置,以开启arduino的外部中断功能。
attachInterrupt(interrupt,function,mode)
image.png
image.png
interrupt,中断编号,注意并不是引脚编号。
function,中断函数名,当中断函数被触发后即会运行此函数名词代表的中断函数。
mode,中断模式。
例如:attachInterrupt(0,hello,FALLING);
如果不需要用外部中断了,则可以使用中断分离函数detachInterrupt()来关闭中断功能。
detachInterrupt(interrupt)
禁用外部中断。
image.png
网友评论