认识Arduino
Arduino是一款上手容易但功能强大的开源电子原型平台,主要包括硬件部分(各种型号的arduino板)和软件部分(arduino IDE),通过软、硬件交互完成设计者想要的特定功能.
Arduino板是已经集成各种电子元件后的主板,也是实验的主要平台,其中封装好的各种接口便于与外部传感器、控制器相连;arduino IDE则是使用类似Java、C等开发语言的基于Wiring的开发语言和基于Processing的开发环境,在计算机中输入代码并上传至arduino板即可完成特定功能而不需要太多的单片机基础和编程基础,也可以使用arduino与计算机中的其他软件进行通信。
发展简史
从Arduino UNO历代版本演化看其发展简史
第一版.png
第一个Arduino板,采用单面PCB板,程序下载接口采用DB9接口,元器件采用直插封装。用现在的眼光来看,这一版的美观度很差,但是把Arduino的整个框架定义好了,包括Arduino引脚排列和分配,用串口通过Bootloader引导程序来下载程序代码,软件上封装了常用模块的库,奠定了Arduino的接口标准和发展方向。
第二版.png
第二版,采用了双面PCB板,阻焊油墨采用了蓝色,板子外形比第一版做了一些变化,定位孔也重新调整了位置,外观更好看,奠定了后面好几年的Arduino电路板风格。
第三版.png
第三版的Arduino Extreme 采用了USB接口和USB转TTL芯片,让后面新出的不带DB9接口的电脑,通过USB就可以下载程序。另外元器件开始采用表贴元件,体积减小也适合机器大批量加工。
第四版.png
第四版的Arduino NG把串口芯片换成了性能和质量最好的FTDI公司的FT232RL芯片,另外增加了一个LED指示灯和D13脚相连,让用户拿到电路板,下载一个LED闪烁程序,不用接外围电路就能看到现象,非常方便。
第五版.png
第五版的Arduino Diecimila比上一版最大的改进是增加了软件复位功能,用户不再需要下载完程序后手动去按下复位按钮。USB端增加了保险丝,防止不当操作短路时,烧坏电脑USB接口。用了一个低压差的稳压芯片替换了原来的芯片,可以让电池供电。另外增加了3.3V的稳压芯片,可以让Arduino和3.3V模块连接。
第六版.png
2009年,第六版的Arduino Duemilanova 相比上一版增加了电源自动切换功能,当USB和DC接口同时供电时,会自动切断USB端的供电。另外把原先 ATmega168单片机换成ATmega328p,内存和Flash容量都翻倍,可以让Arduino运行更大的程序。
第六版2.png
2012,第六版的Arduino UNO发布,把串口芯片换成了 ATMega8U2,为了能让设备管理器里显示Arduino。这个改动至少对国内用户来说带来了经常会驱动安装失败之类的问题。导致这个驱动安装失败的原因是国内的操作系统不是正版,大部分盗版Ghost系统都精简过,导致文件丢失。所以现在能看到很多国内厂商,稍微重视一点客户体验的基本把串口芯片换成了CH340。
7.png
2013年,这个时候国内淘宝上基本都是山寨UNO,价格低至十几元,但是质量参差不齐。第三代Arduino UNO板,把油墨换成了特制的一种油墨,可以用来区分盗版,发布了Arduino LOGO的产权,其它公司生产同类型的电路板不能用相同的LOGO。Arduino开始注重品牌管理。
另外增加了一些Arduino端口,用来更好的适配各种类型的扩展版。
2015年,Arduino在深圳Maker Faier上发布了Genuino,开启了双品牌战略来抗击山寨。有幸用我的破英语和板子大叔交流了当时做的一款产品。
8.png
Genuino又用了一种重新调制的油墨,同时排针母座侧面,印上了引脚名字,方便用户插杜邦线时不会看错,非常友好。
性能指标
控制板.png
电路板上安装了一个微控制器、一个USB接口、一个直流电源插口、许多输入输出线路(以后会详细介绍)还有许多用来显示状态的LED和其他一些杂七杂八的部件。图中的这块Arduino的型号是Uno,它使用ATMega328微控制器除了Uno还有许多尺寸大一些、小一些的,型号旧的、新的不同的Arduino控制板。他们之间的区别在于物理尺寸、接口类型、可用的代码和内存空间大小等等。总结一下 – 使用Arduino,你能够连接不同形式的输入输出设备,创建一个程序来处理和响应输入输出。例如,你可以制作一个温度报警器 – 当你的房间的温度超过了你所设定的值时,让Arduino发出声音警报。输入设备包括:按钮、开关、运动传感器、温度传感器、光线传感器、气体传感器(!)、旋钮/拨盘(比如音量旋钮)、无线数据接收设备等等。输出设备包括:灯光、声音发生器、马达、泵、其他电路、液晶显示屏等等。
概要
微控制器 ATmega328P
工作电压 5V
输入电压(推荐) 7-12V
输入电压(范围) 6-20V
数字I/O引脚 14 (其中6路作为PWM输出)
模拟输入引脚 6
I/O脚直流电流 20 mA(最大40mA)
3.3V脚直流电流 50 mA
Flash Memory 32 KB(ATmega328P,其中0.5 KB 用于bootloader)
SRAM 2 KB (ATmega328P)
EEPROM 1 KB (ATmega328P)
时钟频率 16 MHz