3.选择适合的Arduino
Arduino发展到现在,已经有了众多型号和众多衍生控制器推出。在此,列出常用的控制器,做一下介绍。
Arduino常用型号
Arduino UNO
Arduino UNO(图一) 目前使用最广泛的Arduino控制器。
Arduino MEGA
Arduino MEGA(图二)是增强型的Arduino 控制器,相对于UNO,它提供了更多输入/输出接口,可以控制更多设备,拥有更大的内存和存储空间,一般用于较大型的项目。
Arduino Leonardo
Arduino Leonardo (图三)是2012年推出的新型Arduino 控制器,使用的是集成USB功能的AVR单片机作为主控芯片,不仅具备其他Arduino 控制器的功能,还可以模拟出USB设备。
Arduino Due
Arduino Due(图四)是2012年Arduino 官方推出的最新Arduino 控制器,使用的是32位ARM Cortex-M3主控芯片,集成了多种外设,是目前最强的Arduino 控制器。
Arduino Zero
Arduino Zero(图五)是目前最新的Arduino 控制器,使用的是ARM Cortex-M0 芯片作为主控芯片。特点是使用EDBG调试端口,允许进行联机进行单步调试,降低了Arduino 开发调试的难度。
小型化Arduino
在一些情况下(比如智能手表、智能眼镜等),使用UNO之类的Arduino做产品不适合,所以Arduino 推出了一些小型化的Arduino,常用的有:Arduino Nano,Arduino Mini,Arduino Micro,Arduino Liypad (图六)。其中Arduino Micro,Arduino Liypad需要通过外部设备才能进行程序的烧写。
与Arduino兼容的控制器
因为Arduino 公布了原理图和PCB图纸,并且是开源的硬件,所以很多厂商都在生产不同类型的Arduino 控制器,兼容性较好的如,国内知名厂商OpenJumper的Zduino和DFRobot的DFRobot,这两款是国内比较理想的控制器。
衍生控制器
衍生的控制器比如说英特尔的Intel Galileo,LeafLabs公司基于意法半导体STM32芯片开发的Maple,DIGILENT公司基于PIC32芯片开发的ChipKit和谷歌的Google ADK
Arduino外围模块
Arduino模块
Arduino 可以和许多传感器、开关、显示器等设备连接,完成不同的功能。后续用到时,将陆续讲解。
Arduino 扩展版
扩展版是可以直接堆叠到Arduino上的电路板,不同的扩展板有不同的功能,根据项目的需要,有时会出现多张扩展版堆叠在一起的情况。
一切从Arduino UNO 开始
Arduino UNO 具备平时开发时的大部分功能,并且使用起来简单。上面的图一就是Arduino UNO,现在最新的版本是Arduino UNO R3,以后的教程大部分所使用的板子就是Arduino UNO R3
下面讲解一下Arduino UNO R3的组成部分
电源
主要给开发板供电,有三种供电方式:
供电方式 | 电压 |
---|---|
USB供电 | 5V |
DC电源输入接口供电 | 7-12V |
电源接口处5V或者VIN端口供电 | 5V端口必须是5V;VIN端口电压是7-12V |
指示灯 LED
Arduino UNO 有四个LED指示灯:
LED | 作用 |
---|---|
ON | 电源指示灯,Arduino UNO 通电时亮起 |
TX 串口发送指示灯 | Arduino通过USB向计算机传输数据时TX灯会点亮 |
RX 串口接收指示灯 | 计算机通过USB向Arduino传输数据时RX灯会点亮 |
L 可编程控制灯 | L灯与Arduino的13号引脚相连,后面有一节专门讲解怎么操作这个灯 |
复位键
按下复位键,Arduino UNO 重启,烧写的程序从头开始运行。
存储空间
Arduino UNO 的存储空间可以通过外设设备扩展,Arduino UNO存储空间有以下三种:
类型 | 大小 | 说明 |
---|---|---|
Flash | 32KB | 其中0.5K作为BOOT区用于存储引导程序,31.5K为用户存储程序的空间 |
SRAM | 2K | 相当于计算机的内存,断电或者复位后存储的数据消失 |
EEPROM | 1K | 为只读存储器,断电或者复位后数据不消失 |
I/O Port
Arduino UNO 有14个数字I/O Port,6个模拟输入端口,比较特殊的有以下几个端口:
端口 | 说明 |
---|---|
0(RX)和1(TX)引脚 | 用于接收和发送串口数据 |
2和3号引脚 | 用来输入外部中断信号 |
3、5、6、9、10和11号引脚 | 可用于输出PWM波 |
10(SS)、11(MOSI)、12(MISO)和13(SCK)号引脚 | 用于SPI通信 |
A4(SDA)、A5(SCL)号引脚和TWI接口 | 用于TWI通信,兼容IIC通信 |
AREF | 模拟输入参考电压的输入端口 |
Reset | 复位端口,拉低电平使Arduino 复位。 |