一、图片:
二、概括:
1、说明:
Arduino 是一个能够用来感应和控制现实物理世界的一套工具。它由 一个基于单片机并且开放源码的硬件平台,和一套为 Arduino 板编写 程序 的开发环境组成。Arduino 可以用来开发交互产品,比如它可以读取大量的开关和传感器信号,并且可以控制各式各样的电灯、电机和其他物理设备。 Arduino 项目可以是单独的,也可以在运行时和你电脑中运行的程序 (例如:Flash,Processing,MaxMSP)进行通讯。Arduino 板你可 以选择自己去手动组装是购买已经组装好的;Arduino 开源的 IDE 可以免费下载得到。 Arduino 的编程语言就 像似在对一个类似于物理的计算平台进行相应 的连线,它基于处理多媒体的编程环境。
2、特点:
(1).Digital I / O 数字输入/ 输出端口 0—13
(2).Analog I / O 模拟输入/ 输出端口 0-5
(3).支持 ICSP 下载,支持 TX / RX
(4).输入电压:USB 接口供电或者 5V-12V 外部电源供电
(5).输出电压:支持 3 .3V 级 5V DC 输出
(6).处理器:使用 A tm el A tm ega168 328 处理器
3、Arduino 板子上基本端口:
VIN 端口:VIN 是 input voltage 的缩写,表示有外部电源时的输入端口
AREF:R eference voltage for the analog inputs(模拟输入的基准电压)。使用 analogR eference()命令调用。
ICSP:也有称为 ISP(I n System P rogramm er),就是一种线上 即时烧录,目前比较新的芯片都支持这种烧录模式,包括大家常听说的 8051 系列的芯片,也都慢慢采用这种简便的烧录方式。我们都知道传统的烧录方式,都是将被烧录的芯片,从线路板上拔起,有的焊死在线路上的芯片,还得先把芯片焊接下来才能烧录。为了解决这种问题,发明了 ICSP 线上即时烧录方式。只需要准备一条 R232 线(连接烧录器)及一条连接烧录器与烧录芯片针脚的连接线就可以。电源的+5V,GND,两条负责传输烧录信息的针脚,再加上一个烧录电压针脚,这样就可以烧录了。
4、函数:
(1).setup()——函数在程序开始时使用,可以初始化变量、接口模式、启用库等(pinMode(ledPin,OUTUPT);)。
(2).loop()——在 setup()函数之后,即初始化之后,loop() 让你的程序循环地被执行。使用它来运转 Arduino。
**5、串口通讯函数:**<br />**(1)**.Serial.begin(int speed) //初始化串口比特率函数<br /> 例:Serial.begin(9600);<br /> **(2)**.Serial.available() //串口输入数据读取前的判断函数<br /> 返回值为1时说明串口缓存(buff)中有数据,返回值为0时说明串口buff中无数据或者数据已经读取出来过<br /> 例:if(Serial.available())<br /> **(3)**.Serial.read() //从串口buff中读取数据进来<br /> 例:information=Serial.read();<br /> **(4)**.Serial.flush() //清空串口buff中的数据<br />** (5)**.Serial.print(data) //把数据data从串口发送出去<br /> **a、**Serial.print(data) //把data对应的字符串ASCII码发送出去。<br /> 如:int data=79;<br /> Serial.print(data);<br /> 串口发送出去的就是字符串"79"的ASCII<br /> **b、**Serial.print(data,DEC) //发送的是data的10进制字符串<br /> 如:int data=79;<br /> Serial.print(data,DEC);<br /> 串口发出去的就是字符串"79"<br /> **c、**Serial.print(data,HEX) //发送的是data的16进制字符串<br /> 例:<br /> int data=79;<br /> Serial.print(data,HEX);<br /> 串口发出去的就是10进制数字79对应的16进制值“4F”<br /> ** d、**Serial.print(data,OCT) //发送的是data的8进制字符串<br /> 例:<br /> int data=79;<br /> Serial.print(data,OCT);<br /> 串口发出去的就是10进制数字79对应的8进制值“117”<br /> **e、**Serial.print(data,BIN) //发送的是data的二进制字符串<br /> 例:<br /> int data=79;<br /> Serial.print(data,BIN);<br /> 串口发出去的就是10进制数字79对应的二进制值“1001111”<br /> **f、**Serial.print(data,BYTE)<br /> 这是把data作为ASCII码对应的字符后发送,有的Arduino版本不支持这个函数<br /> **g、**Serial.println(data)<br /> 类似Serial.print (data),把数据发送出去,不同的是发送的数据后面带上了换行符号<br />**6、模拟IO口:**<br />**1.**analogReference()<br />作用:是配置模拟引脚的参考电压。<br />在嵌入式应用中,引脚获取模拟电压值之后,将根据参考电压的大小把模拟值转换为0~1023之间的一个数。该函数为无返回值,此数有3种类型:DEFAULT、INTERNAL、EXTERNAL,具体含义为:<br />DEFAULT:默认值,参考电压为5V<br />INTERNAL:低电压模式,使用片内基准电压源<br />EXTERNAL:扩展模式,通过AREF引脚获取参考电压
2.analogRead(pin)
模拟I/O口读函数。读出该引脚位的电压源并回传一个0到1023之间的数值表示相对应的0到5的电压值
例:val=analogRead(0); //读出模拟量引脚的值并回传给val
3.analogWrite(pin,value)
和函数analogRead(pin)相反,它是向模拟口pin引脚写入一个数值,该函数值的大小为value