Arduino开发板资源使用方法介绍

网友投稿 2019-10-13 11:10

        点亮LED实验中,主要是利用Arduino UNO开发板的数字IO功能,通过IO输出高低电平来实现LED灯的量灭控制。除了数字IO,Arduino UNO开发板上还有许多其他丰富的外设,它们在Arduino IDE中的使用方法与平时我们常用的单片机的开发是不同的,本文主要是通过多个实验来介绍一下Arduino UNO开发板其他资源的使用(Arduino下其实有许多其他类型的开发板,这些开发板除了功能不同,其在Arduino IDE下的使用方法都一致)。

        Arduino串口使用方法。串口是Arduino编程经常要用到的一个外设,他可以将开发板的信息传递给PC上位机或者其他底层设备,使用起来十分方便。Arduino的开发者液晶串口的操作进行了封装,用户在使用串口时只需要对串口的波特率进行设定以后,就可以使用串口来发送信息。

        接下来我们通过实际编程操作来介绍一下Arduino的串口使用方法。首先利用Arduino IDE新建一个名称为UART的工程然后保存。

https://cdn.china-scratch.com/timg/191015/1109554537-0.jpg

      接下来在setup函数中对串口进行初始化,串口初始化主要使用Serial.begin(BAUD)这个函数,这个函数的主要作用是对串口进行初始化,后面的参数就是要设定的串口波特率,调用这个函数以后,Arduino的串口就已经设定好了,接下来就可以利用串口发送数据给上位机了。利用串口发送信息需要使用Serial.print()或Serial.println(),这两个函数都可以完成串口信息的发送,主要区别是Serial.println()发送完数据后会换行,函数的参数部分为想要发送的字符数据。然后编写如下程序,该部分程序的主要功能是,在完成对串口的初始化以后,通过串口发送字符串“Hello World!!!!”

,然后延时1秒钟,接着在循环程序中延时一秒钟发送“I am Arduino UNO”。接下来编译上传程序到开发板中,上传完成后怎么来验证程序编写的是否正确呢https://cdn.china-scratch.com/Public/Home/images/grey.gif,这里可以使用Arduino自带的串口监视窗口,可以在菜单中的“工具”选项下打开。打开串口监视串口时必须要保证Arduino开发板和PC时相连接的,否则会出现错误。

https://cdn.china-scratch.com/timg/191015/1109554K7-2.jpg

       打开串口监视窗口后,将窗口下方的波特率调整为与程序中设定的波特率一致就可以接收到Arduino UNO开发板发送来的串口字符串。

https://cdn.china-scratch.com/timg/191015/1109554C1-3.jpg

        这样就实现了Arduino发送信息给电脑,说道Arduino的串口,还有几个函数需要介绍一下,分别是Serial.end()、Serial.available()、Serial.read()、Serial.readBytes()。Serial.end()函数的主要作用是关闭串口,在不使用串口的情况下可以利用该函数将已经开启的串口关闭;Serial.available()函数的主要作用是判断串口缓冲区的状态,也就是判断缓冲区中是否有外部发来的数据可以进行读取;Serial.read()的主要功能是从串口缓冲区中读取1个字节的数据;Serial.readBytes()则可以从缓冲区中读取多字节数据。上面这几个函数主要用于串口数据的接收,在以后的文章中会涉及到这些函数的用法,在这里不详细的叙述。

        上面介绍的是Arduino开发板串口的使用方法,接下来介绍一下Arduino的模拟输入功能使用方法。模拟输入功能主要是利用单片机IO将外部模拟电压信号传输到单片机内部的模拟转换模块,然后利用模块将模拟信号转换为数字信号,以便在程序内部进行操作。Arduino UNO开发板上面共有6个模拟输入端口,这6个端口都可以对电压信号进行采集。

https://cdn.china-scratch.com/timg/191015/1109562L8-4.jpg

        在进行AD采集编程时,利用函数 analogRead(模拟引脚编号)就可以实现对指定的模拟输入引脚上的电压进行采集,函数的参数为模拟引脚编号。      

        对模拟信号进行采集,本次编写的程序如下图所示。上电以后首先进行串口初始化,初始化串口完成以后,定义一个int型变量,这个变量用于存储转换完成的数字量,然后利用串口将转换的结果发送给上位机。对程序进行编译上传以后打开串口监视窗口就可以看到有数字显示。

https://cdn.china-scratch.com/timg/191015/11095C5D-5.jpg

https://cdn.china-scratch.com/timg/191015/11095M613-6.jpg

        通过串口监视窗口可以看到采集到的电压信号的数字量,但是此时开发板的模拟输入A0口并没有接输入电压,所以此时采集到的电压其实是不确定的。所以在这里我们使用一个与Arduino UNO开发板配套的实验板,通过实验板完成接线进而实现输入电压的可调。

https://cdn.china-scratch.com/timg/191015/11095H495-7.jpg

        上图就是本次所使用的实验板,这个实验板可以与Arduino UNO开发板实现无缝对接,上面配置有一块小尺寸的面包板,可以在上面完成一些简单的插接电路实验。实验板与开发板对接口如下图所示。

https://cdn.china-scratch.com/timg/191015/11095S044-8.jpg

        这个实验主要用到三根跳线和一个电位器,电位器的两个端点分别与5V和GND相连,抽头端与Arduino开发板你的模拟输入A0相连,接线后如图所示。

https://cdn.china-scratch.com/timg/191015/11095Q417-9.jpg

https://cdn.china-scratch.com/timg/191015/11095Q160-10.jpg

https://cdn.china-scratch.com/timg/191015/11095Q649-11.jpg

https://cdn.china-scratch.com/timg/191015/1109593020-12.jpg

        这样通过调节电位器就可以改变模拟输入端口A0的输入电压,进而看到串口监视窗口输出数据的变化。

      说完了AD采集接下来说一下模拟输出。Arduino的模拟输出并不是DAC,而是PWM,他可以将模拟信号转换成一定频率、占空比的PWM方波模拟输出电压。通过对PWM占空比的调节,就可以调节输出电压。Arduino UNO开发板一共有6个PWM输出端口,这6个端口分别是3、5、6、9、10、11,在使用PWM输出时只能够使用这6个端口中的一个。在使用PWM输出功能时,主要利用analogWrite(pin,value)这个函数,函数包括两个参数,两个参数分别是输出引脚和输出数值,value数值的范围为0-255,,在使用的时候只需要正确的配置这两个参数就可以输出正确的PWM方波。为了验证PWM输出,本次实验编写程序实现呼吸灯功能。程序如下:

https://cdn.china-scratch.com/timg/191015/11095952R-13.jpg

https://cdn.china-scratch.com/timg/191015/11100055M-14.jpg     

        程序中主要通过计数变量进行周期计数,然后通过对计数变量进行处理产生三角波输出的结果,进而驱动LED产生呼吸灯的效果。效果可以点开视频观看。

        本文主要介绍了Arduino的串口、模拟输入引脚、模拟输出引脚的使用方法,通过几个简单小实验介绍使用方法。三个实验的源码已经上传需要的小伙伴可以自行下载。

UART:

链接:https://pan.baidu.com/s/1qypcHgoffwPQyiIovW2i5A

提取码:x22g

ADC:

链接:https://pan.baidu.com/s/189BluOVuQgmqIchMTZXRBg

提取码:4ner

BLN:

链接:https://pan.baidu.com/s/1aOlCADBaOtSKVkx9QI5Rdw

提取码:bvh3

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com