Arduino程序设计教程.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Arduino程序设计教程.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Arduino 程序设计 教程
- 资源描述:
-
1、ARDUINO简介 目录1.1 1.1 ArduinoArduino简介简介1.2 1.2 ArduinoArduino Uno Uno简介简介一.什么是ArduinoArduino的产生是为了满足创意创新的需求!Arduino 是一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。它适用于爱好者、艺术家、设计师和对于“互动”有兴趣的朋友们。Arduino能通过各种各样的传感器来感知环境,通过控制灯光、电动机和其他的装置来反馈、影响环境。二.为什么使用Arduino做开发 用Arduino制作作品或者进行产品开发的优势是很明显的。跨
2、平台Arduino IDE可以在Windows、Macintosh OSX、Linux三大主流操作系统上运行,而其他的大多数控制器只能在Windows上开发。简单清晰的开发Arduino IDE基于processing IDE开发。对于初学者来说,极易掌握,同时有着足够的灵活性。Arduino语言基于wiring语言开发,是对 AVR GCC库的二次封装,不需要太多的单片机基础、编程基础,简单学习后,你也可以快速的进行开发。三.Arduino的优势 Arduino不仅仅是全球最流行的开源硬件,也是一个优秀的硬件开发平台,更是硬件开发的趋势。Arduino简单的开发方式使得开发者更关注创意与实现
3、,更快的完成自己的项目开发,大大节约了学习的成本,缩短了开发的周期。因为Arduino的种种优势,越来越多的专业硬件开发者已经或开始使用Arduino来开发他们的项目、产品;越来越多的软件开发者使用Arduino进入硬件、物联网等开发领域;大学里,自动化、软件,甚至艺术专业,也纷纷开展了Arduino相关课程。2.Arduino的历史这个最经典的开源硬件项目,诞生于意大利的一间设计学校。Arduino的核心开发团队成员包括:Massimo Banzi,David Cuartielles,Tom Igoe,Gianluca Martino,David Mellis和Nicholas Zambet
4、ti。四.Arduino的历史 据说Massimo Banzi的学生们经常抱怨找不到便宜好用的微控制器,2005年冬天,Massimo Banzi跟朋友David Cuartielles讨论了这个问题,David Cuartielles是一个西班牙籍晶片工程师,当时在这所学校做访问学者。两人决定设计自己的电路板,并引入了Banzi的学生David Mellis为电路板设计编程语言。两天以后,David Mellis就写出了程式码。又过了三天,电路板就完工了。这块电路板被命名为Arduino。几乎任何人,即使不懂电脑编程,也能用Arduino做出很酷的东西,比如对感测器作出回应,闪烁灯光,还能控
5、制马达。四.Arduino的历史 意大利北部一个如诗如画的小镇Ivrea,横跨过蓝绿色Dora Baltea河,它最著名的事迹是关于一位受压迫的国王。公元1002年,国王Arduin成为国家的统治者,不幸的是两年后即被德国亨利二世国王给废掉了。今日,在这位无法成为新国王的出生地,cobblestone街上有家叫di Re Arduino的酒吧纪念了这位国王。Massimo Banzi经常光临这家酒吧,而他将这个电子产品计划命名为Aruino以纪念这个地方。四.ArduinO的历史随后Banzi,Cuartielles,和Mellis把设计图放到了网上。保持设计的开放源码理念,因为版权法可以监管
6、开源软体,却很难用在硬体上,他们决定采用Creative Commons许可。Creative Commons(CC)是为保护开放版权行为而出现的类似GPL的一种许可(license)。在Creative Commons许可下,任何人都被允许生产电路板的复制品,还能重新设计,甚至销售原设计的复制品。你不需要付版税,甚至不用取得Arduino团队的许可。唯一被保留的只有Arduino这个名字。它被注册成了商标。如果有人想用这个名字卖电路板,那他们可能必须付一点商标费用给Arduino的核心开发团队成员。五五.ArduinoArduino的优点的优点1.跨平台Arduino IDE可以在Windo
7、ws、Macintosh OSX、Linux三大主流操作系统上运行,而其他的大多数控制器只能在Windows上开发。2.简单清晰的开发Arduino IDE基于processing IDE开发。对于初学者来说,极易掌握,同时有着足够的灵活性。Arduino语言基于wiring语言开发,是对 AVR GCC库的二次封装,不需要太多的单片机基础、编程基础,简单学习后,你也可以快速的进行开发。五五.ArduinoArduino的优点的优点3.3.开放性开放性Arduino的硬件原理图、电路图、IDE软件及核心库文件都是开源的,在开源协议范围内里可以任意修改原始设计及相应代码。4.4.社区与第三方支持
8、社区与第三方支持Arduino有着众多的开发者和用户,你可以找到他们提供的众多开源的示例代码、硬件设计。例如,可以在G、Arduino.cc、O等网站找到Arduino第三方硬件、外设、类库等支持,更快更简单的扩展你的Arduino项目。五五.ArduinoArduino的优点的优点5.5.硬件开发的趋势硬件开发的趋势Arduino不仅仅是全球最流行的开源硬件,也是一个优秀的硬件开发平台,更是硬件开发的趋势。Arduino简单的开发方式使得开发者更关注创意与实现,更快的完成自己的项目开发,大大节约了学习的成本,缩短了开发的周期。六.Arduino系列控制器特色1.开放源代码的电路图设计,程序开
9、发接口免费下载,也可依需求自己修改;2.可以采用USB 接口供电,也可以外部供电,双向选择;3.Arduino支持ISP 在线烧写,可以通过USB 更新程序;4.可依据官方提供的Eagel格式PCB 和SCH 电路图,简化Arduino模组,完成独立运作的微处理控制。可简单地与传感器,各式各样的电子元件连接(红外线、超音波、热敏电阻、光敏电阻、伺服舵机等);5.支持多种互动程序,如:Flash、Max/Msp、VVVV、C、Processing 等;6.应用方面,利用Arduino,突破以往只能使用鼠标、键盘,CCD等输入的装置的互动内容,可以更简单地达成单人或多人游戏互动。七.Arduino
10、作品首款完整机器人平台Arduino宣布向机器人领域进发,发布了名为Arduino Robot的首款完整机器人。这款机器人尺寸为178 x 102mm,将两个圆形Arduino板叠一起。上部的Arduino板名为“Control Board”,主要读取主板传感器的各种数据并且内置处理器进行相应的计算处理。在机器人身上装备了一些常见的传感器设备,比如数字罗盘,红外感应器,彩色液晶屏,扬声器,地面传感器,可活动的LED指示灯等等。这款机器人还能进行各种编程,能够通过USB连接到电脑上连接。机器人通过四节可充电AA镍氢电池提供能量。Will OBrien最近利用自己手头的老iPhone和一个Ardu
11、ino(可开发电路板)自行研制了一个通过iPhone短信发动汽车的组合,短信也能发动汽车,听起来是不是很神奇?基于Arduino的智能家居方案将你需要互相控制灯光的每个房间,换上智能开关,配对后就能通过无线在一个房间对另一个房间的灯光进行控制和监视。简答的说,就是你只需要更换掉你卧室和厕所里的普通照明开关,就可以在卧室里看到厕所的灯是否关闭了,能通过卧室的面板来关闭厕所的灯光。用Arduino UNO去显示图像 全彩RGB LED阵列屏Arduino驱动板Colorduino“tilt radio”倾斜收音机是以色列设计师luka or的作品,他利用Arduino来研究交互设计中的极简主义。设
12、计师将收音机和使用者体验等元素全都剥离,仅留下必要部分收音机的AM/FM调幅/调频系统,设计师甚至把物理上的调节按钮也去掉了。使用者通过将收音机左右倾斜来实现波段和频道调节,省去了传统的调频按钮。在用户体验方面,收音机倾斜的位置还反映了使用者的收听频率和习惯。Arduino Moisture Sensor土壤湿度传器 自动浇花 这款阿迪达斯帆布胶底运动鞋内置有Arduino控制板,板上连接有陀螺仪、加速度传感器、压力传感器、喇叭和蓝牙等,它判断穿戴者的活动与行走路径,时不时的用英国男人忠告式的腔调说一些鼓励的话或不耐烦的话。当你坐着不动,它会说:“超级无聊。”而当你运动跳跃时,它会说:“我喜欢
13、鞋带上有风的感觉”。你也可以设置鞋子的个性,这样它也会说脏话。会说话的运动鞋,还有什么不能?利用Arduino玩出来的各种各样发烧级玩具 基于Arduino编程 捷克学生发明智能照明灯一名捷克学生通过Arduino编程,设计了这台能够自动寻找黑暗角落并将其照亮的机器人灯。这款灯采用了S型仿生外观设计,由底部的轮子、配重块、主体程序和头部聚光灯组成。设计者还赋予了它“生命”当它发现黑暗或者光线不足的角落,就会停下来在原地做出前后俯仰的动作,如同在兴奋地炫耀它的劳动成果。用Arduino在彩色显示屏上显示Google天气信息 看到街边停车场的自动栏杆随轿车的进出自动升降,于是前去观察,一上一下的,
14、蛮有意思,想想,是否可以做个原型产品娱乐下,所以我就制作了这个Arduino与LEGO结合下的自动栏杆。这个作品的工作过程是:当红外传感器(图中黄色圆柱状器件)检测到小车到达栏杆前方,栏杆自动升起打开,并保持打开状态一小会,小车通过栏杆处后,栏杆会放下关闭。Arduino与LEGO结合下的自动栏杆推荐网站http:/www.A Duemilanove这是一款基本的Arduino产品,控制器采用Atmega168或Atmega328,支持直流电源供电和USB口供电,如图所示。后续很多产品都是这款产品的基础上发展而来的。八.Arduino的种类2.Arduino NanoArduino Nano在
15、设计中去掉了直流电源接口,采用Mini-B标准的USB接口来连接电脑,除了外观变了,其他接口及功能保持不变,控制器同样采用Atmega168或Atmega328,是一款缩小版的Arduino Duemilanove,如图所示。八.Arduino的种类3.Arduino mini考虑到存在一些空间要求十分严格的使用者,Arduino mini在设计中甚至去掉了USB接口和复位开关,这样能够减小Arduino的尺寸。唯一的问题是连接电脑或烧写程序时需要一个USB或RS232转换成TTL,Arduino官方也有相应的适配座Mini USB Adapter。八.Arduino的种类4.Arduino
16、BTArduino BT本身包含了一个Bluegiga WT11蓝牙模块,支持蓝牙无线串行通信,但不支持蓝牙音频设备。若没有USB接口,连接电脑或烧写程序可以通过蓝牙适配器与Arduino BT连接实现无线程序下载与控制。八.Arduino的种类5.LilyPad Arduino这是一款真正有艺术气质的产品,面向的主要使用者是从事服装设计之类工作的设计师,他可以使用导电线和或普通线缝在衣服或不料上,LilyPad Arduino每个引脚上的小东大到足够缝纫针可以轻松穿过,如图。如果用导电线缝纫的话,即可以起到固定作用,又可以起到传导作用。比起普通的Arduino板,LilyPad Arduin
17、o相对比较脆弱,比较容易损坏,但是他的基本功能都保留了下来,除了一点,它没有USB接口,所以LilyPad Arduino连接电脑或烧写程序时需要一个USB或RS232转换成TTL的适配座。八.Arduino的种类6.Arduino pro和Arduino pro MINI设计Arduino Pro的目的是为了那些便利性和低成本的高级用户。为了降低成本,它省去了USB接口、直流电源接口和引脚排针,连接电脑或烧写程序时需要一个USB或RS232转换成TTL的适配座。Arduino Pro更像是一个大号的Arduino mini,如图。需要注意的是,Arduino Pro有3.3V/8MHz和5V
18、/16MHz两个版本,使用的时候要留意。另外Arduino Pro同样有一个Arduino Pro Mini的版本。八.Arduino的种类八.Arduino的种类7.Arduino fioArduino Fio的工作电压是3.3V,控制器的工作频率是8MHz,采用Mini-B标准的USB接口,提供一个锂聚合物电池接口,底部预留一个Xbee模块插座,Xbee模块可使Arduino方便的应用于无线网络。八.Arduino的种类8.Arduino UnoArduino Uno是最新的Arduino产品系列,如图所示,它与之前的Arduino板最大的区别在于它不是使用FTDI USB-to-seri
19、al串行驱动器芯片,而是采用Atmega8U2芯片进行USB到串行数据转换。目前Arduino Uno已成为Arduino的主推产品。八.Arduino的种类9.Arduino mega2560Arduino Mega2560的控制器采用ATMega2560,他的资源要比之前的Arduino产品丰富很多,用于满足需使用较多资源进行产品设计与开发的用户需求,同时Arduino Mega2560也兼容之前基于Ardino Duemilanove1.2 1.2 ArduinoArduino Uno Uno简介简介Arduino Uno开发板以ATmega328 MCU控制器为基础.14路数字输入/输
20、出引脚(其中6路可用于PWM输出)、6路模拟输入、一个16MHz晶体震荡器、一个USB接口、一个电源插座、一个ICSP接头和一个复位按钮。它采用Atmega16U2芯片进行USB到串行数据的转换。Uno PCB的最大长度和宽度分别为2.7和2.1英寸,USB连接器和电源插座超出了以前的尺寸。4个螺丝孔让电路板能够附着在表面或外壳上。1.2 1.2 ArduinoArduino Uno Uno简介简介1.ATmega328具有32 KB闪存(其中0.5 KB被启动加载器占用)。它还具有2KB SRAM和1KB EEPROM(可以利用EEPROM库读取和写入)。2.Arduino Uno可通过US
21、B连接或者外部电源供电。外部(非USB)电源可以是AC-DC适配器,也可以是电池。通过将2.1mm中心正极插头插入电路板的电源插座即可连接适配器。电池的引线可插入电源连接器的Gnd和Vin排针。电路板可由620V外部电源供电。然而,如果电源电压低于7V,那么5V引脚可能会提供低于5V的电压,电路板也许会不稳定。如果电源电压超过12V,稳压器可能会过热,从而损坏电路板。电压范围建议为712V。电源引脚如下:1.2 1.2 ArduinoArduino Uno Uno简介简介VIN.使用外部电源时Arduino板的输入电压(与通过USB连接或其它稳压电源提供的5V电压相对)。可以通过该引脚提供电压
22、,或者如果通过电源插座提供电压,则可通过该引脚使用它。5V.该引脚通过电路板上的稳压器输出5V电压。电路板可由DC电源插座(7-12V)、USB连接器(5V)或电路板的VIN引脚(7-12V)供电。通过5V或3.3V引脚供电会旁路稳压器,从而损坏电路板。我们不建议如此。3V3.板载稳压器产生的3.3V电源。最大电流消耗为50 mA。1.2 1.2 ArduinoArduino Uno Uno简介简介GND.接地引脚。IOREF.Arduino板上的该引脚提供微控制器的工作电压参考。配置得当的盾板可以读取IOREF引脚电压,选择合适的电源或者启动输出上的电压转换器以便在5V或3.3V电压下运行。
23、1.2 1.2 ArduinoArduino Uno Uno简介简介1.2 1.2 ArduinoArduino Uno Uno简介简介利用pinMode()、digitalWrite()和digitalRead()功能,Uno上的14个数字引脚都可用作输入或输出。它们的工作电压为5V。每个引脚都可以提供或接受最高40 mA的电流,都有1个20-50 k的内部上拉电阻器(默认情况下断开)。此外,某些引脚还具有特殊功能:串口:0(RX)和1(TX)。用于接收(RX)和发送(TX)TTL串口数据。这些引脚与ATmega8U2 USB转TTL串口芯片的相应引脚相连。1.2 1.2 ArduinoAr
24、duino Uno Uno简介简介3.外部中断:2和3。这些引脚可以配置成在低值、上升或下降沿或者数值变化时触发中断。详情请参照attachInterrupt()功能。4.PWM:3、5、6、9、10和11。为8位PWM输出提供analogWrite()功能。5.SPI:10(SS)、11(MOSI)、12(MISO)、13(SCK)。这些引脚支持利用SPI库进行SPI通信。1.2 1.2 ArduinoArduino Uno Uno简介简介5.LED:13。有1个内置式LED连至数字引脚13。在引脚为高值时,LED打开;引脚为低值时,LED关闭。Uno有6个模拟输入,编号为A0至A5,每个模
25、拟输入都提供10位的分辨率(即1024个不同的数值)。默认情况下,它们的电压为05V,虽然可以利用AREF引脚和analogReference()功能改变其范围的上限值。此外,某些引脚还具有特殊功能:6.TWI:A4或SDA引脚和A5或SCL引脚。支持通过线库实现TWI通信。电路板上还有另外2个引脚:1.2 1.2 ArduinoArduino Uno Uno简介简介7.AREF.模拟输入的参考电压。与analogReference()一起使用。8.Reset.降低线路值以复位微控制器。通常用于为盾板添加复位按钮。第2章 Arduino编程 目录2.1 Arduino2.1 Arduino开发
展开阅读全文