完整word版ARDUINO入门及其简单实验7例.docx

上传人:b****5 文档编号:2831378 上传时间:2022-11-15 格式:DOCX 页数:25 大小:3.54MB
下载 相关 举报
完整word版ARDUINO入门及其简单实验7例.docx_第1页
第1页 / 共25页
完整word版ARDUINO入门及其简单实验7例.docx_第2页
第2页 / 共25页
完整word版ARDUINO入门及其简单实验7例.docx_第3页
第3页 / 共25页
完整word版ARDUINO入门及其简单实验7例.docx_第4页
第4页 / 共25页
完整word版ARDUINO入门及其简单实验7例.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

完整word版ARDUINO入门及其简单实验7例.docx

《完整word版ARDUINO入门及其简单实验7例.docx》由会员分享,可在线阅读,更多相关《完整word版ARDUINO入门及其简单实验7例.docx(25页珍藏版)》请在冰豆网上搜索。

完整word版ARDUINO入门及其简单实验7例.docx

完整word版ARDUINO入门及其简单实验7例

ARDUINO入门及其简单实验(7例)

1.Arduino硬件开发平台简介

Arduino硬件是一块带有USB的I/O接口板(其中包括13条数字I/O引脚,6通道模拟输出,6通道模拟输入),并且具有类似于Java、C语言的集成开发环境。

Arduino既可以扩展一些外接的电子元器件,例如开关、传感器、LED、直流马达、步进马达或其他输入、输出装置;Arduino也可以独立运行,成为一个可以跟交互软件沟通的接口装置,例如:

Flash、Processing、Max/MSP、VVVV或其他互动软件。

Arduino开发环境IDE全部开放源代码,可以供大家免费下载、利用,还可以开发出更多激发人们制作欲望的互动作品。

如图1和图2所示,分别为Arduino硬件平台的实物图和电路布局图。

图1两款Arduino硬件平台实物图

图2Arduino硬件平台电路布局图

1.1Arduino的主要特色

●开放源代码的电路图设计,程序开发环境软件也免费下载,许多现成的成功制作案例也都开放,可依需求自主修改、任意裁剪。

●使用流行的高性价比的单片机(ATmega8、ATmega168或ATmega328)。

●可以采用USB接口供电,不需外接电源。

也可以使用外部接入DC9V电源适配器供电。

●Arduino支持ISP在线烧写或者升级,可以自行将新的“bootloader(自举程序)”固件烧入单片机芯片。

有了新版bootloader之后,可以通过串口或者USB/RS232线更新固件。

●依据官方免费提供的电路板图和电路原理图(即为Eagle格式PCB和SCH电路图),可以自主修改或者简化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;

9.工作电压:

+5V;

10.外部输入电源电压(推荐值):

+7V~+12V;

11.外部输入电源电压(极限值):

+6V≤Vin≤+20V。

1.4电路原理图

最经典的一款Arduino的电路原理图如图3所示。

其电路中的核心芯片为一片ATmega328单片机。

图3Arduino电路原理图

从图中可以看出,除了核心器件单片机之外,还包含一片FT232(构成USB/UART的通信转换接口)、一片MC33269稳压器(构成稳压电源电路)、一片LM358和一只MOS晶体管2955(共同构成两路电源输入的自动切换电路)。

对于初学者来说,不需要了解电路板细节,也不需要搞懂单片机,只要记住3个排针插口的局部和用途,即可快速上手实战!

2.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:

帮助

以上命令的功能及用法跟中文说明大体一致,并附有快捷键使用方法。

2.2工具栏

校验工具按钮。

实际功能为编译。

上传工具按钮。

实际功能是把编译成功的机器码程序文件,加载(烧写)到单片机芯片内部的程序存储器中。

新建项目文件工具按钮。

打开现有项目文件工具按钮。

保存当前项目文件工具按钮。

打开串并口窗口按钮。

2.3Arduino语言简介

1.程序总体架构(三个主要部分)

①声明变量及接口名称(例如intval;intledPin=13;……)。

②voidsetup()初始化函数。

置于程序的开头部分,每次Arduino加电或者复位,仅被执行一次。

③voidloop()主循环函数。

置于setup()函数之后,即初始化之后,loop()让你的程序循环往复、周而复始地被执行。

2.常用函数

①数字I/O类:

●pinMode(pin,mode)数字IO口输入输出模式定义函数,将接口定义为输入或输出接口。

●digitalWrite(pin,value)数字IO口输出电平定义函数,将数字接口值至高或低、开或关。

●intdigitalRead(pin)数字IO口读输入电平函数,读出数字接口的值,pin表示为0~13。

②模拟I/O类:

●intanalogRead(pin)模拟IO口读函数,从指定的模拟接口读取值。

●analogWrite(pin,value)数字IO口PWM输出函数,给一个接口写入模拟值(输出PWM波)。

③扩展I/O类:

●shiftOut(dataPin,clockPin,bitOrder,value)SPI外部IO扩展函数,通常使用带SPI接口的74HC595做8个IO扩展,把资料传给用来延伸数字输出的寄存器,此函数通常使用在延伸数字输出。

●unsignedlongpulseIn(pin,value)脉冲长度记录函数,设定读取脚位状态的持续时间,返回时间参数(μs)。

3.时间函数

●unsignedlongmillis()返回时间函数(单位ms),回传单片机开始执行到目前的毫秒数。

该函数是指,当程序运行就开始计时并返回记录的时间参数。

该参数溢出大概需要50天时间。

4.数学函数

●min(x,y)求最小值,回传两数之间较小者。

●max(x,y)求最大值,回传两数之间较大者。

5.随机数函数

●randomSeed(seed)随机种子数设置函数,使得随机数发生器产生的随机数更加不可预测。

●longrandom(max)随机数返回函数,返回数据大于等于0,小于max。

●longrandom(min,max)随机数返回函数,返回数据大于等于min,小于max。

6.中断使能函数

●interrupts()使能中断函数。

放开中断功能。

●noInterrupts()禁止中断函数。

关闭中断功能。

7.串口收发函数

●Serial.begin(speed)启用串口和定义波特率函数。

设置每秒串行传输数据的速率(波特率),即指定Arduino与PC微机交换信息的速率,通常选用9600bps(比特/秒)。

●Serial.print(data)串行端口数据输出函数。

将输出结果显示于PC微机端的“串口通信窗口”里。

例如,Serial.print(数据),默认为十进制数据,等效于Serial.print(数据,DEC)。

●Serial.println(data)自动换行的串行端口输出数据函数。

在以上函数基础上增加了回车和换行功能。

●intSerial.read()串行端口数据输入函数。

读串口并返回收到的一个字节数据。

3.Arduino开发实例中所用部分器件

首先对于本文后面制作实例中所用到的主要器件进行简介。

1.LED简介

LED(LightEmittingDiode)是发光二极管的简称。

这种半导体元件一般是作为指示灯、显示板,它不但能够高效率地直接将电能转化为光能,而且拥有最长达数万小时的使用寿命,同时具备不像传统灯泡易碎并省电等优点。

图1为LED实物图,图2为LED内部结构。

图1LED实物图片

图2LED内部结构

LED还可分为普通单色LED(红、绿、黄、蓝、白)、高亮度LED、超高亮度LED、变色LED、闪烁LED、电压控制型LED、红外LED和负阻LED等。

LED特点:

◆工作电压低,工作电流很小;

◆适合于易变的环境,对环境无污染;

◆稳定性好,可靠性高,寿命长;

◆价格比较低廉,性价比高。

2.光敏电阻简介

光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器。

入射光强,电阻减小,入射光弱,电阻增大。

光敏电阻器一般用于光照测量、光的控制和光电转换(将光的变化转换为电的变化)。

图3给出了光敏电阻的实物图、结构图和电路符号。

图3光敏电阻

3.直流电机简介

利用直流电压和电流来驱动的旋转电机,称为直流电机。

它是一种能够把直流电能转换为旋转机械能的电机(也叫马达,Motor)。

如图4所示,为一款常用于玩具中的微型直流电机的实物图。

图4直流电机实物图

4.电位器简介

电位器(potentiometer)是一种最简单的模拟输入设备。

它实际上就是一个可变电阻器。

通过控制滑端所在的位置我们可以得到不同的电阻值或者电压值。

如图5所示的用法,是从电位器的滑端提取信号,作为单片机或Arduino的模拟输入信号。

图5为电位器的实物图和电路连接图。

图5电位器的实物图和接线图

4.Arduino平台应用开发实例

以下针对基础薄弱的初学者或电子制作爱好者,规划设计了几个容易仿制、方便取材、简单易行、一学就会、一会就做、一做就成的实用制作项目,以便达到培养学习兴趣、激发动手欲望的功效。

4.1【实作项目一】利用LED作光敏电阻采样实验

★实作项目简述:

在本实作中,将Arduino的USB接口与PC连接起来,将一只普通LED连接到Arduino的一个模拟输入端上,观察对应的环境光的不同变化,即Arduino中模拟量采集。

硬件上需要选用6个具有ADC功能的模拟I/O端子之一,硬件上需要选用analogRead()功能函数,来读取端子上的模拟量电压值,每读一次需要延迟1000ms的时间。

★实验电路框图:

本实作的系统框图如图6所示。

通过程序设计,让Arduino每1000ms进行

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 哲学历史

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1