当前位置:首页 > 科技 > 正文

Arduino基础教程:数字输出/输入、模拟输出/输入、串口输出/输入

摘要:

第一个程序:数字输出

我们知道的引脚上有数字量IO和模拟量IO。至于其中它们有什么不同,这里就不再阐述。

而下面将用“点亮一个灯”的简单程序,说明的数字输出功能。也许很好理解,在单片机的编程中“点亮一个灯”程序跟写“Hello World”的程序,两者有异曲同工之妙。都是占领了硬件编程和软件编程的TEST地位。

硬件电路连接:将的第2脚引出来接上1K电阻,将发光二极管负极接电阻的另一端,正极接电源(VCC)。

Arduino基础教程:数字输出/输入、模拟输出/输入、串口输出/输入

基础教程:数字输入

在数字电子的世界中,有输出,也会有输入。这跟你在生活中有财务支出,也有收入类似。开关()是一种最基本的输入形式了。通常我们按一个开关就能打开电灯,或者按一个开关打开用电器的电源。开关的功能是连接或断开电路。

的数字IO口上能读出两个状态值,一个是高电平(5V),另一个是低电平(0V)。所以我们只要设计一个电路能让的引脚在高低电平这两个状态值之间切换,就能让分辨出开关的状态了。

基础教程:模拟输入

能对数字信号进行有效的处理和识别,但是生活上很多东西,很多概念都不是一个数字量。比如说温度值,就是一个很好的例子,它是一个连续变化的信号,不可能有0到1的突变。这也是模拟输入存在的必要性了。

很好理解。我们只要使用传感器(),将模拟量有效转换为能够识别的形式。例如转换成电压。

再如,一种温度传感器能够将温度值转换成0V到5V间的某个电压,比如0.3V、3.27V、4.99V等等。由于传感器表达的是模拟信号,它不会像数字信号那样只有简单的高电平和低电平,而有可能是在这两者之间的任何一个数值。至于到底有多少可能的值则取决于模数转换的精度,精度越高能够得到的值就会越多。

而采用的ADC( to ),称模数转换,每一个模数转换器的精度都是10bit,也就是说能够读取1024(2^10 = 1024)个状态。在的每一个模拟输入管脚上,电压的变化范畴是从0V到5V,因此能够感知到的最小电压变化是4.8毫伏(5/1024 = 4.8mV)。

基础教程:模拟输出

既然都有了模拟输入了,当然少不了模拟输出。还是那个例子,你总吃饭不拉怎么行呢?!开个玩笑,禁止想象!

但也正如你想象的,现实生活中可能会遇到要输出0和1之外的数值。有时候除了开灯,关灯之外,可能还需要调光,而调光也就是模拟的一种输出方式。

由于的微控制器只能产生高电平(5V)或者低电平(0V),而不能产生变化的电压,因此必须采用脉宽度调制技术(PWM,Pulse Width )来模拟电压变化。

基础教程:串口输出

先这么理解,是个独立的个体,可以说是一个没有外围设备的计算机微控制系统。而在一些应用的环境下,我们需要让跟其他设备进行通信。在微控制领域,常见的是使用串行通信。我们将通过连接PC机进行通信,说明串行通信的一个例子:串口输出功能。

基础教程:串口接收

很多时候,我们需要用接收PC机下发的命令,有效的识别后,进行相应的响应。也就是通过PC机(上位机)控制(下位机)。

而实现这一功能 也是通过的串行口通信来完成的。上一篇文章讲了串行口输出,其实也就是串行口的一个发送数据功能,而这篇文章,也就是讲串口通信的接收数据功能。通过.read()函数,我们可以接收到从串口发来的数据。

一样的,将 UNO 通过USB线与PC机连接

Arduino基础教程:数字输出/输入、模拟输出/输入、串口输出/输入

详情见PDF文档(点击PDF文档**)

有话要说...

取消
扫码支持 支付码