1ARDUINO入门及其简单实验(7例).................................................................................................11.Arduino硬件开发平台简介.........................................................................................................11.1Arduino的主要特色...........................................................................................................21.2Arduino的硬件接口功能描述............................................................................................31.3Arduino的技术性能参数....................................................................................................31.4电路原理图.........................................................................................................................42.Arduino软件开发平台简介.........................................................................................................52.1菜单栏................................................................................................................................52.2工具栏................................................................................................................................62.3Arduino语言简介..............................................................................................................63.Arduino开发实例中所用部分器件..............................................................................................81.LED简介...............................................................................................................................82.光敏电阻简介.......................................................................................................................93.直流电机简介.......................................................................................................................94.电位器简介.........................................................................................................................104.Arduino平台应用开发实例.......................................................................................................104.1【实作项目一】利用LED作光敏电阻采样实验...........................................................104.2【实作项目二】利用PWM信号控制LED亮度............................................................124.3【实作项目三】单键控制一只LED的亮灭...................................................................154.4【实作项目四】利用PWM控制直流电机转速.............................................................174.5【实作项目五】利用电位器手控LED亮度...................................................................194.6【实作项目六】控制LED明暗交替...............................................................................214.7【实作项目七】利用光敏电阻控制LED的亮灭...........................................................23ARDUINO入门及其简单实验(7例)1.Arduino硬件开发平台简介Arduino硬件是一块带有USB的I/O接口板(其中包括13条数字I/O引脚,6通道模拟输出,6通道模拟输入),并且具有类似于Java、C语言的集成开发环境。Arduino既可以扩展一些外接的电子元器件,例如开关、传感器、LED、直流马达、步进马达或其他输入、输出装置;Arduino也可以独立运行,成为一个可以跟交互软件沟通的接口装置,例如:Flash、Processing、Max/MSP、VVVV或其他互动软件。Arduino开发环境IDE全部开放源代码,可以供大家免费下载、利用,还可以开发出更多激发人们制作欲望的互动作品。2如图1和图2所示,分别为Arduino硬件平台的实物图和电路布局图。图1两款Arduino硬件平台实物图图2Arduino硬件平台电路布局图1.1Arduino的主要特色开放源代码的电路图设计,程序开发环境软件也免费下载,许多现成的成功制作案例也都开放,可依需求自主修改、任意裁剪。使用流行的高性价比的单片机(ATmega8、ATmega168或ATmega328)。可以采用USB接口供电,不需外接电源。也可以使用外部接入DC9V电源适配器供电。Arduino支持ISP在线烧写或者升级,可以自行将新的“bootloader(自举程序)”固件烧入单片机芯片。有了新版bootloader之后,可以通过串口或者USB/RS232线更新固件。依据官方免费提供的电路板图和电路原理图(即为Eagle格式PCB和SCH电路3图),可以自主修改或者简化Arduino电路,以独立仿制或者改制Arduino开发板。可以方便地外接各种传感器、各式各样的人机接口器件。例如,红外线、超音波、热敏电阻、光敏电阻、伺服马达等功能器件。应用方面,利用Arduino可以突破以往只能使用鼠标、键盘、CCD等输入装置的互动内容,可以更简单地达成单人或多人游戏互动。支持多种互动程序,如:Flash、Processing、Max/Msp、VVVV等。1.2Arduino的硬件接口功能描述1.数字输入/输出(DigitalI/O)端子0~13(共14个数字输入/输出口DIO)。2.模数转换(ADC)输入端子0~5(共6个,可做模拟输入口AI)。3.脉宽调制(PWM)输出(Pin11,Pin10,Pin9,Pin6,Pin5,Pin3)共6个,可做模拟输出口AO。4.支持USB接头传输数据及供电(可以免用外接电源)。5.支援串口通信TX/RX端子。6.支持在线串行烧写(ICSP)功能。接线端子为6芯的排针。7.支持外部模数转换(ADC)的电压基准(AREF)端子输入。8.输入电压:USB接口提供,无须外部供电。也可由7V~12VDC外部供电。9.可以向外提供电源电压:DC5V输出。10.智能核心器件采用的是型号为ATmega328的高性能单片机。11.Arduino物理尺寸:宽70mm×高54mm。1.3Arduino的技术性能参数1.核心器件:AVR系列的ATmega328(运行速度可达20MIPS);2.数字信号I/O接口端子:14(其中6个可做模拟输出接口端子);3.模拟信号输入接口端子:6个;4.数字I/O端子直流驱动电流(最大值):40mA;5.程序存储器Flash容量:32KB(其中2KB用于固化自举程序bootloader);6.数据存储器SRAM容量:1KB;7.永久数据存储器EEPROM容量:512B;8.时钟频率:16MHz;49.工作电压:+5V;10.外部输入电源电压(推荐值):+7V~+12V;11.外部输入电源电压(极限值):+6V≤Vin≤+20V。1.4电路原理图最经典的一款Arduino的电路原理图如图3所示。其电路中的核心芯片为一片ATmega328单片机。图3Arduino电路原理图从图中可以看出,除了核心器件单片机之外,还包含一片FT232(构成USB/UART的通信转换接口)、一片MC33269稳压器(构成稳压电源电路)、一片LM358和一只MOS晶体管2955(共同构成两路电源输入的自动切换电路)。对于初学者来说,不需要了解电路板细节,也不需要搞懂单片机,只要记住3个排针插口的局部和用途,即可快速上手实战!52.Arduino软件开发平台简介如图4所示,为Arduino(以V1.0版本为例)软件开发平台的工作界面。图4Arduino(V1.0)软件平台2.1菜单栏(1)File:文件下拉菜单包括的命令有:new新建、open打开、sketchbook程序薄、exampels示例、close关闭、save保存、print打印、quit退出。(2)Edit:编辑下拉菜单包括的命令有:Cut剪切、Copy复制、CopyforForum、Paste粘贴、SelectAll全选等。(3)Sketch:程序(4)Tools:工具(5)Help:帮助以上命令的功能及用法跟中文说明大体一致,并附有快捷键使用方法。62.2工具栏:校验工具按钮。实际功能为编译。:上传工具按钮。实际功能是把编译成功的机器码程序文件,加载(烧写)到单片机芯片内部的程序存储器中。:新建项目文件工具按钮。:打开现有项目文件工具按钮。:保存当前项目文件工具按钮。:打开串并口窗口按钮。2.3Arduino语言简介1.程序总体架构(三个主要部分)①声明变量及接口名称(例如intval;intledPin=13;……)。②voidsetup()初始化函数。置于程序的开头部分,每次Arduino加电或者复位,仅被执行一次。③voidloop()主循环函数。置于setup()函数之后,即初始化之后,loop()让