首页资源分类嵌入式系统 > Arduino简介

Arduino简介

已有 445122个资源

下载专区

嵌入式系统热门资源

本周本月全部

文档信息举报收藏

标    签:Arduino

分    享:

文档简介

开源硬件Arduino简介

文档预览

开源硬件平台 ——ARDUINO 随着嵌入式软硬件的发展,各项技术 的集成度越来越高。软硬件结合开发 的门槛越来越高,工程师学习的周期 也越来越长。 这两年,以Arduino为代表的开源硬 件运动在世界范围内越来越普及,用 户群体开始从工程师扩散到大学生, 然后到中学生,甚至小学生。各种开 源硬件平台的出现,通过全球网络社 区的驱动共享资源,极大的降低了学 习门槛,刺激了创新,加速了各种创 意从构思到实现的落地。 开源软件和开源硬件都在于共享,分 享。不管是开源软件也好,开源硬件 也好,都有四个维度: 第一:人人可用(任何人可以任何目 的自由的使用); 第二:人人可探(任何人可以探知其 原理); 第三:人人可改(任何人可以按照自 己的方式自由修改); 第四:人人可再分发(任何人可以把 自己修改过成果自由地再次发布)。 Arduino概述 • 第一块Arduino 是由米兰交互设计学院的两位 老师—David Cuartielles和Massima Banzi在2005 年1月创造的。拥有庞大的全球性开源社区和 爱好者,全球非常多的人都在参与和使用, 有丰富的资源可以利用,许多厂家都在生产 相关产品。目前已成为最主流的DIY制作微控 制器平台。 • Arduino是一个基于开放源码的软硬件平台, 其软件的开发环境工具、库函数、应用代码 等都是开源的,硬件的电路图和PCB设计也都 是开源的,都可以免费下载,也可依据自己 的需求修改。 Arduino概述 • Arduino采用的是低价位的高性能MCU(微控制器, 即单片机,目前主要使用Atmel AVR系列器件)作 为基础平台,通过各种功能扩展板可以按照需求构 建各种用途的功能系统,实现各种创意,如机器人、 飞行器等,还可与Macromedia Flash,Processing, Max/MSP,Pure Data,SuperCollider等软件配合交 互,实现各种艺术互动作品及游戏。 • 它拥有大量功能丰富的扩展板,并封装和隐藏了的 复杂的硬件驱动,设计了快速上手的语言,以及统 一的硬件接口,使跨学科的各界人士都能使用,把 更多地把精力放在创意上,花尽可能少的时间来实 现具体的创意。“这是一个生态系统,而创意者则 能很方便地找到现成的硬件,来快速实现想法。” Arduino硬件 最经典的Arduino UNO 最常用最经典的Arduino控制器平台是Arduino UNO,价格约¥80。 Arduino电路图 • Arduino的电路图(原理图和PCB)均开放, 采用的是CadSoft公司的EAGLE软件格式。 EAGLE软件费用低廉,简便易用且功能不 弱,提供了简化、免费、标准、专业4个版 本,其中简化版和免费版均可免费使用, 在开源社区被广泛采用。 Arduino UNO原理图 Arduino UNO技术规格 • 微处理器:ATmega328 • 时钟频率:16 MHz • 输入电压:接上USB时无须外部供电或外部7V~12V DC 输入 • USB转串口采用ATmega16U2,实现与上位机的USB通信 及程序烧录等 • 支持ISP下载功能 • 直流电流I/O端口:40mA • 直流电流3.3V端口:50mA • 通信接口:UART×1、SPI×1、I2C×1 • Flash 内存:32 KB (ATmega328) (0.5 KB用于引导程序) • SRAM :2 KB (ATmega328) • EEPROM: 1 KB (ATmega328)(用于需断电后保存的重 要参数等应用) 小巧方便的Arduino Nano Arduino Nano功能上和UNO 基本一样,但是体积更加 紧凑小巧,适合用于遥控 飞行器等空间限制大的应 用。Nano采用了标准间距 的双列直插连接形式 (Nano电路板只有30个引 脚,甚至比40引脚的8051 单片机芯片的尺寸还要小 许多),可以直接插进面 包板上,也可以用专用的 连接板实现方便的连接。 Arduino Nano,价格约人民 币¥70(带连接扩展板约 ¥120)。 Arduino Nano外部接口 Arduino Nano传感器及IO连接扩展板 Arduino Nano技术规格 • 微处理器:ATmega328 • 时钟频率:16 MHz • 数字I/O端口:14(6个PWM输出口) • 模拟输入端口:8 • 通信接口:UART×1、SPI×1、I2C×1 • Flash 内存:32 KB (ATmega328) (2 KB用于引导程 序) • SRAM :2 KB (ATmega328) • EEPROM: 1 KB (ATmega328)(用于需断电后保 存的重要参数等应用) 豪华的Arduino Mega2560 Arduino Mega2560具有更多的存储空间和更多的外部 接口,可以适应更复杂的应用需求。Arduino Mega2560,价格约¥120。 Arduino Mega2560技术规格 • 微处理器:ATmega2560 • 时钟频率:16 MHz • USB转串口采用ATmega16U2,实现与上位机的USB通信 及程序烧录等 • 数字I/O端口:54(15个PWM输出口) • 模拟输入端口:16 • 通信接口:UART×4、SPI×1、I2C×1 • Flash 内存:256 KB (ATmega2560) (8 KB用于引导程序) • SRAM :8 KB (ATmega2560) • EEPROM: 4 KB (ATmega2560)(用于需断电后保存的重 要参数等应用) 灵活多变的Arduino Leonardo Arduino Leonardo,价格约¥70。Arduino Leonardo是基于ATmega32U4一个微控制器板。不 同于之前所有的Arduino控制器(以往的控制器都是有一个单独的USB转UART器件,通常都 是使用一片ATmega16U4),直接使用了ATmega32U4的USB通信功能,取消了USB转UART芯 片,降低了成本,而且这使得Leonardo不仅可以作为一个虚拟的(CDC)串行/COM端口, 还可以作为鼠标或者键盘连接到计算机,其自身的UART也彻底解放出来可以单独使用,具 有一些别的控制器不具备的特殊功能。 Arduino Leonardo技术规格 • 微控制器:ATmega32u4 • 数字I/O引脚:20 • PWM通道:7 • 模拟输入通道:12 • 通信接口:UART×1、SPI×1、I2C×1 • Flash:32 KB(ATmega32u4)其中4 KB由引导 程序使用 • SRAM:2.5 KB(ATmega32u4) • EEPROM:1 KB(ATmega32u4) • 时钟速度:16MHz 高性能的Arduino Tre • 随着Arduino的影响力日渐增大,美国科技巨头TI(德州仪 器)宣布与Arduino开源计划达成合作协议,为其提供主 板,名为Arduino Tre。使用TI的1GHz Sitara AM335x ARM Cortex-A8处理器,这款32位RISC处理器拥有强大的定点和 浮点处理能力,支持大容量的存储器和丰富的接口,具有 支持工业实时以太网标准的双千兆以太网,支持3D加速和 音视频处理。这一处理器的功耗很低,执行MPEG-4、 H.264编解码和3D图像处理等高强度运算时,功耗也仅 600~700mW。 • 该主板在Arduino基础上借鉴了BeagleBoard的成功经验, 运算处理能力比现在Arduino最强大的型号还要再强大100 倍,可以运行完整版本的Linux,将使得Arduino拥有实现 更多复杂创意的可能,例如3D打印以及无线数据传输等。 • 这一产品将于2014年春天正式上市。 高性能的Arduino Tre Arduino Tre技术规格 AVR微控制器: • 微处理器:ATmega32U4 • 时钟频率:16 MHz • Flash:32 KB • SRAM:2.5 KB • EEPROM:1 KB • 数字I/O端口:14 • PWM输出口:7 • 模拟输入端口:6(另有 6个与数字I/O复用) ARM微处理器 • 微处理器:TI Sitara AM3359AZCZ100(ARM CortexA8) • 时钟频率:1GHz • SRAM:DDR3L 512MB • 以太网接口:10/100Mbps (IEEE802.3) • USB接口:1×USB2.0 Device, 4×USB2.0 HOST • 视频接口:HDMI(1920×1080) • 音频接口:HDMI,立体声模拟 输入输出 • 数字I/O端口:12路(3.3V) • PWM通道:4路(3.3V) • 外部存储:支持SD卡 • 显示接口:支持LCD显示器 结合了MIPS处理器的Arduino Yún Arduino Yún,价格约¥300,是Linux与Arduino相结合的WiFi产品。Yún就是汉语 中的“云”(Cloud),目的是使其轻松连接到复杂的网络服务。Arduino Yún是 基于ATMEGA32U4和Atheros的MIPS处理器AR9331,Atheros的处理器支持 OpenWRT的名为Linino的Linux发行版,Arduino Yún已内置以太网和WiFi的支持, USB-A端口、Micro-SD卡插槽等设施。 Arduino Yún与Linux的桥接 Arduino Yún对于Arduino开发和运行环境而言,类似一块Arduino Leonardo,其控 制器ATmega32u4通过桥接装置(Bridge)与另一片运行Linux的MIPS微处理器 AR9331通信,使其可以作为一个Linux的终端运行Shell命令和脚本,支持Shell和 Python脚本的即装即用,并可使用以太网、WiFi、USB、SD卡存储等功能。 Arduino Yún技术规格 AVR微控制器: • 微控制器: ATmega32u4 • 数字I/O端口:20 • PWM通道:7 • 模拟量输入通道:12 • Flash内存:32 KB (其中 4 KB用于Bootloader) • SRAM:2.5 KB • EEPROM:1 KB • 时钟频率:16 MHz Linux微处理器 • 微处理器:Atheros AR9331 • 架构:MIPS • 以太网接口:10/100Mbps (IEEE802.3) • 以太网供电(PoE):支持 IEEE802.3af • WiFi接口:IEEE802.11b/g/n • USB接口:Type-A2.0 HOST/Device • 外部存储:MicroSD • RAM:DDR2 64MB • Flash内存:16MB 以太网通信及固态存储扩展板 • Arduino Ethernet扩展板,价格约¥160,可以让Arduino控 制器连接以太网。它是一块内置WizNet W5100 TCP/IP微处 理器的扩展板。使用Arduino IDE中的Ethernet库程序,不需 要了解网络编程便可以轻松地使用这款扩展板连接到网络 中。这款扩展板支持同时4个socket的连接。扩展板上还具 备micro-SD卡的插槽,拥有存储功能,结合网络通信功能 可实现网络存储。 • 此外,Arduino Ethernet扩展板还拥有一个独立的符合 IEEE802.3af标准的PoE(以太网供电,Power-over-Ethernet) 模块。该模块可以焊接到主板上,从而通过以太网双绞线 来传输电力。 • Arduino控制器与扩展板上的以太网控制器W5100及SD存储 器均通过SPI同步串行接口通信(分时使用),以太网的 TCP/IP协议处理由W5100通过硬件实现,不需要消耗处理 器的资源,也不需要进行复杂的网络协议编程。 以太网通信及固态存储扩展板 以太网通信示例 以太网通信和存储示例 GPS扩展板 • GPS, Galileo ready (LEA-6H)扩展板,价格约¥490。使用ublox公司的GPS模块,定位精度是2.5米,在防漫反射及抗 干扰能力十分强劲,在韩国及瑞士拥有95%以上的GPS模 块市场。 • u-blox公司最初于1997年生产的GPS采用美国SIRF公司的 GPS芯片来生产模块,之后由于采用其它公司的芯片难以 发挥自己掌握到的GPS绝技,于是在2000年后开始设计GPS 芯片组并委托ATMEL公司代工生产,使u-blox对于GPS产品 整体性能的发挥到了一种极致的地步,在连续几年的销售 中蝉联GPS芯片/模块类全球销售之首。 • Arduino的GPS扩展板是u-blox公司采用最新推出的芯片组, 模块体积不到一元硬币大小,以突出的65mW的低功耗及 竟达到-158dB的高定位灵敏度令人叹为观止,可毫不费力 的进行室内及桥梁底部定位。 GPS扩展板 GPS扩展板原理图 GPS扩展板技术规格 • 50个通道的u-blox引擎,1百多万个有效 • 精度: 相关器  最大更新速率: 4Hz • 热启动和辅助启动首次定位时间小于1  精确度定位 :2.5Mcep 秒  SBAS : 2.0mCEP • -160dBm的SuperSense捕获和跟踪灵敏  捕获 冷启动 : 29s 度  温启动: 29s • 具备KickStart功能,型号微弱时可实现 加速启动 • 支持AssistNow Online和AssistNow Offline 等A-GPS服务 • GPS、GALILEO、SBAS(WAAS、EGNOS、 MSAS、GAGAN)混合引擎  辅助启动: <1s  热启动: <1s 电压 2.7~3.6V  功耗 :120mW @ 3.0V  备用电源: 1.3~4.8V  天线类型: 有源与无源 • 4Hz定位更新速率  灵敏度 捕获 : -160dBm • 接收机类型 50通道u-blox 5引擎  跟踪: -160dBm • GPS L1 C/A码 • GALILEO L1公用服务SBAS:WAAS、EGNOS、 MSAS、GAGAN • 增益天线接口:SMA接头 • 接口类型:  支持USB v2.0直接驱动,全速 12Mbit/s  支持与控制器的I2C(DDC)和 UART(TTL)接口数据通讯  冷启动: -145dBm 天线供电方式外部或内部 VCC-RF  天线监测 集成短路检测和天线关断功能,开路 检测由AADET-N输入和外部小电路提供  多径抑制 智能化多径检测与抑制  A-GPS 支持AssistNow Online及AssistNow Offline 运行温度 -40℃- +85℃  存储温度: -40℃- +85℃  运行限制 速度: 515m/s(1000节) • 尺寸:72x55mm I2C GPIO扩展板 • 在使用Arduino做机器人或互动媒体时,当数字IO口不够用 时,可采用I2C转I/O模块扩展,价格约¥70,只需要2根线 (SCL-Analog PIN5,SDA-Analog PIN4)即可通讯,转换出16路 数字I/O口,可读可写,可同时并联8个模块(支持设定8个 不同的地址)。 • 技术规格:  模块电源:+5V  扩展16个数字IO口自带内部上拉  可设置8个地址(地址范围0x20~0x27),同时并联8个模块 • 通过I2C总线扩展接口是非常容易的,I2C总线通信只需要 两条线,具有完善的通信协议,使用起来方便可靠,而且 可以在一条总线上挂接多个器件,在低速的测量控制电路 中使用非常广泛。 I2C GPIO扩展板 I2C GPIO扩展芯片 I2C GPIO扩展板例程 I2C IO扩展设计漫谈 I2C IO扩展设计漫谈 I2C IO扩展设计漫谈 I2C IO扩展设计漫谈 IO传感器扩展板 Arduino是一款开源的控制板,但要在Arduino上添加电路是一个比较麻烦是事, 而且用面包板来搭建电路连接各种传感器既不美观又不稳定。使用IO传感器扩展 板,能使大部分传感器轻松地和Arduino控制板连接,价格约¥50。 IO传感器扩展板 IO传感器扩展板 Arduino开发语言 • Arduino采用USB供电(也可采用外部直流供电),并通过USB完成软 件下载及与开发用的上位机数据通信,可以不需要专用的下载设备, 降低了编程开发难度。 • 为了提高软件开发的便利性和标准化,提高各种创意应用的共享程度, Arduino专门设计了一套自身的开发语言,这是一种类C风格的语言, 通过C++方式对底层操作进行了封装,屏蔽了对MCU的汇编操作以及 AVR MCU的C库函数操作,提供了大量的功能强大的Arduino库函数, 按照其标准架构即可进行编程,不需要关心底层硬件的配置等操作, 非常简洁方便,开发速度极快效率极高。 • 因为Arduino的架构和软件接口是标准化的,各种应用的通用性非常好, 可以从网络上直接找到各种例程者应用来构建自己的软件,代码的重 用性非常好。 • 但是其代价是软件运行资源消耗和效率较低,对此解决方法是用户可 以直接利用AVR的C库函数开发或者直接利用汇编编程,由于Arduino是 开源的,其开发环境的代码都是公开的,用户可以按照需求自行修改 扩展完善。 Arduino开发语言 • Arduino的软件架构非常简洁,包括如下基本组成部分: Arduino函数库 Arduino函数库 Arduino函数库 Arduino函数库 Arduino IDE官方开发环境 Arduino IDE官方开发环境 Arduino IDE官方开发环境 与Visual Studio集成的Arduino • Arduino IDE开发环境可以和微软的Visual Studio集成,这一 方法适合对VS有开发经验的设计人员使用。 1) 对应的Visual Studio安装版本为Visual Studio 2012/2010/2008; 2) 下载Arduino for VS插件并安装; 3) 插件安装完毕后进入Visual Studio,在“工具>选项>Visual Micro” 中填写Arduino IDE开发环境的安装地址; 4) 关闭后重新启动Visual Studio,在“文件>新建”中就可以看到 Arduino Project选项建立Arduino工程了。 与CodeBlocks集成的Arduino • CodeBlocks是一款优秀的开源软件开发环境平台,Arduino目前已经可 以与其集成使用,可以下载已经集成好的CodeBlocks,直接建立 Arduino工程。 • 此外在CodeBlocks中支持直接建立AVR Project,可以绕开Arduino语言 和开发环境,直接对控制器进行编程。 专用Arduino开发环境SonxunStudio • SonxunStudio是国内的松讯科技公司(http://www.sonxun.com)开发的一款免 费Arduino开发环境,目前只有Windows版本,外观和VC++6.0非常像,对于复 杂的多文件工程的应用开发更方便。SonxunStudio已经把官方的Arduino IDE开 发环境集成好了,可以直接安装使用,不用单独安装Arduino IDE,但要注意不 同版本的SonxunStudio集成的Arduino IDE不一样,需要注意更新版本。 专用Arduino开发环境SonxunStudio • SonxunStudio中集成了一个功能更强大的串口调试工具。 专用Arduino开发环境SonxunStudio • SonxunStudio中集成了丰富详尽的Arduino软硬件技术资料 文档。 专用Arduino开发环境MariaMole • MariaMole是一款国外开发的Arduino专用开发环境,具有更强大的功能,便于 专业用户开发更复杂Arduino应用,如多文件工程等。 • MariaMole是为Arduino IDE增加一个功能更强大的外壳,因此使用前需要安装 官方的Arduino IDE后与其集成。Arduino IDE版本更新后需要重新制定路径,因 此MariaMole可以和多个版本的Arduino IDE集成,便于处理老版本硬件或库函 数的兼容性问题。 图形化Arduino开发环境ArduBlock Arduino语言是一种类C编程语言,对于很多不熟悉编程的设计人员而言还是麻烦 了些,为了方便对编程不熟练的人使用Arduino进行创意应用开发,Arduino专门 设计了一种类似LabView的图形化开发环境——ArduBlock。这一软件是由位于上海 新车间创客空间发布的。 图形化Arduino开发环境ArduBlock 图形化Arduino开发环境Mind+ • Mind+是一款图形化的编程工具,由新车间创客空间Mind+工作坊发布, 可以让你不用学习编程以极快的速度上手,并且获得控制Arduino从而 控制电路的能力。 • 正因为没有理工类基础的普通人学习编程容易遇到各种各样的障碍, 所以其创始人陈正翔和他的同事们开发出Mind+这一款简单的Arduino 图形化编程工具,能够在避免敲代码的情况下进行编程,操作使用 Arduino实现自己的创意,所见即所得,降低Arduino的上手难度。 • 即便是从零开始用Mind+学习Arduino设计,设计出电灯开关、无线电 灯开关、遥控小车、LED灯,也不过是一个上午或一个下午的事情。 图形化Arduino开发环境Mind+ Arduino应用示例——数字量开关控制 Arduino应用示例——直流电机驱动 Arduino不能直接驱动直流电机,但可以驱动电机驱动器,利用Arduino的 数字量IO接口控制电机的正转、反转、停止等动作,通过PWM接口(AVR MCU自带)实现PWM调速(通过调整占空比模拟各种电压值,实现类似 D/A的输出效果,通过不同的电压值对电机速度控制调整)。 Arduino应用示例——直流电机驱动 Arduino应用示例——直流电机驱动 Arduino应用示例——温湿度采集 • SHT1x温湿度传感器,价格约¥90。采用瑞士Sensirion公司SHT1x单片 数字温湿度集成传感器。该传感器由1个电容式聚合体测湿元件和1个 能隙式测温元件组成,并与1个14位A/D转换器以及1个2-wire数字接口 在单芯片中无缝结合,具有功耗低、反应快、抗干扰能力强等优点。 • 在对环境温度与湿度测量要求高的情况下使用,该产品具有极高的可 靠性和出色的稳定性。与Arduino专用传感器扩展板结合使用,可以非 常容易地实现与温度和与湿度感知相关的互动效果。Arduino针对 SHT1x温湿度传感器采集模块设计了专门的库函数,编程非常简便。 Arduino应用示例——温湿度采集 SHT1x温湿度传感器技术规格: • 传感器工作电压:5v • 接口简单(2-wire,数据和时钟信号, 同步串行),响应速度快 • 相对湿度和温度的测量兼有露点输出 • 全部校准,数字输出 • 超低功耗,自动休眠 • 出色的长期稳定性 • 超小体积(表面贴装) • 湿度范围0-100%RH、温度范围-40- 128.8℃ • 测湿精度±4.5%RH、测温精度 ±0.5℃(25℃) • 使用Arduino SHT1x库可以直接驱动 • 模块尺寸:32X17mm Arduino应用示例——温湿度采集 Arduino应用示例——烟雾采集 模拟烟雾传感器MQ2,价格约¥40。采用模拟量接口,可以很灵敏的检测到空气 中的烟雾、液化气、丁烷、丙烷、甲烷、酒精、氢气等气体。与Arduino专用传感 器扩展板结合使用,可以制作火灾烟雾报警、液化气、丁烷、丙烷、甲烷、酒精、 氢气气体泄露报警等相关的作品。 技术规格: • 引脚定义:1--输出2--地3--电源。 • 具有输出调节电位器:顺时针调节大,逆时针调节小。 • 模块供电需要和控制器一致,典型5V。 Arduino应用示例——烟雾采集 Arduino应用示例——异步串口通信 由于Arduino采用USB转串口的ICSP在线编程烧录模式,完成烧录后这个接口就可以当作普通 的串口使用,因此不需要专门的串口板直接用USB接口就可以实现串口通信。实际应用中也 可以断开USB连接采用外部供电,从外部引出IO管脚中的串口实现与其他设备的串口通信。 Arduino应用示例——RS-485总线通信 • RS-485总线采用差分信号负逻辑通信,采用2线制时可以实现主从式多点总线通信,同 一总线可支持32个节点,其中一台为主机,控制整个总线的数据传输,其逻辑协议为异 步串行机制。RS-485总线通信最远距离可达1200米,最大通讯速率可达20Mbps,当然不 可能同时达到,通信距离远了速率就会下降。RS-485总线可靠性高,可在强噪声环境下 工作,在工业领域应用广泛。 • Arduino具备UART(通用异步串行通信),利用其Rx和Tx端口,通过RS-485电平转换扩展 板可以实现RS-485总线通信。 Arduino应用示例——RS-485总线通信 Arduino应用示例——I2C(TWI)总线通信 • I2C或称IIC总线,是PHILIPS公司推出的芯片间串行传输总线。它以1根串行数据 线(SDA)和1根串行时钟线(SCL)实现了双工的同步数据传输。具有接口线 少,控制方式简化,器件封装形式小,通信速率较高(标准模式0~100Kbps、 快速模式0~400Kbps、增强型快速模式0~1Mbps)等优点。在低速采集控制电 路中目前使用非常广泛,特别是许多传感器目前都采用这一通信方式。相比 主要用于点对点通信的SPI接口,I2C智能化程度更高,更适合一条总线上挂接 多个器件的应用场合。 • 在主从通信中,可以有多个I2C总线器件同时接到I2C总线上,通过地址来识别 通信对象。I2C的地址识别通过器件上的管脚设置高低电平来设定,当所需地 址较多发生冲突时,可以通过多路复用开关、集线器、中继器等方式扩展地 址。此外I2C还配有专用的基于光耦、电磁等原理的隔离器件,可以非常方便 地实现电气隔离。 Arduino应用示例——I2C(TWI)总线通信 • Arduino使用的AVR MCU中这个接口为TWI,AVR对I2C进行了一定的功能拓展。 Arduino为我们提供了I2C的库函数(Wire.h),可以轻松使用I2C通讯。 • 这里使用Arduino UNO做主机,2个Arduino Nano 做从机。 Arduino应用示例——I2C(TWI)总线通信 Arduino应用示例——I2C(TWI)总线通信 Arduino应用示例——液晶屏显示 I2C LCD1602液晶模块,价格约¥60。Arduino控制器的控制端口数量有限,可以采 用I2C接口扩展LCD显示器。I2C LCD1602液晶模块,可显示2行,每行16个字符。 Arduino为其设计了专门的库函数,只需使用几行简单的Arduino控制代码便能完 成LCD控制显示的功能。液晶模块背面的电位器还能提供调节液晶显示器对比度 的功能。技术规格: • 模块供电电压:5v • 接口: 1个I2C / TWI 两线数据通讯接口 • I2C接口通讯地址:0x20-0x27(出厂默认地址0x20),便于并联 • 背光:蓝色,白色字符 • 对比度:可调节 Arduino应用示例——液晶屏显示 Arduino应用示例——液晶屏显示 Arduino应用示例——机器人 • 机器人是一种典型的机电一体化自动控制系统,目前已经广泛应用于工业制造等各领域。机器人可以 通过各种传感器感知外部环境和自身状态,驱动执行机构实施各种动作,执行结果再通过传感器采集, 经智能化的控制系统按照一定的控制算法计算后调整修正执行机构的动作,形成闭环反馈,并通过信 息通信系统接收外部操作指令、发送状态信息,实现与外界的互动。 • 利用Arduino可以非常方便地实现一个机器人系统,学习实验机电一体化自动控制系统及其原理。 Arduino的各种控制板可以充当其中的智能计算核心,各种扩展板可以利用各种传感器模块实现传感 器采集功能,并驱动电机等执行机构模块实施动作,还能利用各种有线或无线通信扩展模块与外界通 信,通过按键、遥控器、显示屏等扩展模块实现人机交互。 Arduino应用示例——机器人 Arduino应用示例——卫星 位于美国加州的NanoSatisfi团队利 用Arduino开发了一个开源卫星项 目ArduSat,其长宽高都只有10cm, 重量在1kg左右。其构成包括:1个 十字偶极天线、几片太阳能电板、 一个容纳元件的CubeSat结构、装 载着Arduino和传感器的载荷电路 板、UHF射频收发器、飞行控制计 算机。在轨寿命6~8个月。 Arduino应用示例——卫星 • 在ArduSat卫星中,Arduino主要负责载荷及其控制管理,共有25种传感器,包括摄像机、 电磁波测定装置、分光器、振动感应器、光感应器、GPS、盖氏计算器、回转仪、磁场 感应器、二氧化碳探测器等。 • 由于Arduino是开源硬件,因此ArduSat的优点之一,是拥有强大的自定义性,只要你会编 写Arduino程序,就可以为卫星编写程序,程序提交后经NanoSatisfi团队通过后即可上传 至ArduSat运行,利用其上的相机和传感器获取数据,如图片、二氧化碳浓度等,再经由 GENSO网络来发送到地面供使用者下载。 CubeSat简介 CubeSat是一类微小卫星,由加州理工大学和斯坦福大学的一个团队于1998年发起的,而第 一次CubeSat发射是在2003年,此后CubeSat如同雨后春笋般出现,至今已有几十颗成功发射。 CubeSat简介 CubeSat简介 • 我国首次参加的CubeSat项目 是欧洲的QB50-CubeSat。QB50 工程由比利时冯卡门流体动力 学研究所(VKI)联合欧空局 (ESA)、陕西省微小卫星工 程实验室(SELM)、荷兰代 尔夫特理工大学等世界多个研 究机构共同提出:采用50颗 CubeSat组网,实现对目前人 类尚未深入涉足的低层大气进 行多点在轨测量,同时在星座 中开展卫星再入大气层过程的 一些相关研究。 • 全世界有77所大学与研究机构 参与了相关项目。我国有包括: 西工大、北大、浙大、国防科 大、哈工大、北航、南航、上 交大等8所高校参与了该项目。 陕西省微小卫星工程实验室 (SELM)成为亚洲区唯一发 起单位与亚洲区总协调单位。 CubeSat简介 • CubeSat标准定义了卫星的标 准尺寸、必要的机械结构以 及通用释放装置等规范。 • 通用释放装置即星箭接口, 每个装置中可以容纳3颗 CubeSat卫星。 • 这些标准的制定,极大方便 了卫星的测试与发射。 CubeSat简介 CubeSat是标准尺寸 (1U)为10 × 10 × 10 cm3的立方体, 可在一个轴或多个 轴上缩放成为多U 的CubeSat。 CubeSat简介 Arduino与CubeSat • 早期的CubeSat的电路板是没有标准的,但随着pumpkin公司的产品FM4 30(使用TI公司MSP430,这是一种16位的RISC单片机,用于星务管理 分系统)的成功,以及兼容FM430的其他分系统板架上产品的涌现。 • 一颗1U CubeSat,轨道平均功耗仅略大于1W。 Arduino与CubeSat • 基于FM430的机械和电气接口已经成为CubeSat实质上的电路板标准(CubeSat Board Specification,简称CBS),这一标准最显著的特征是采用了类似PC104工 控机的长针排插,通信总线采用了CAN、I2C、UART。 Arduino与CubeSat • 今日的架上产品已经丰富到可以直接购买并组装成一个完整的卫星。 Arduino与CubeSat • Arduino和CubeSat的一些理念很类似,如标准硬件接口、即 插即用,因此现有的Arduino模块也可以完成CubeSat所需要 的大部分功能。 • Arduino最大的优点——编程简单,开发容易,对于CubeSat 开发来说也非常有吸引力。 • 有关Arduino的开源硬件卫星项目现在有2个:  ArduSat卫星。这颗卫星将会搭载由Arduino控制的载荷,但实际上卫星并不 是主要由Arduino控制的。http://www.kickstarter.com/projects/575960623/ar dusat-your-arduino-experiment-in-space。  TJ3Sat项目的ArduSat板(星务管理),用于替换FM430,采用了ATmega328 芯片,提供的资源较少,104针接插件的大部分脚位是空着的。 http://tj3sat.wikidot.com/overview。 AVR MCU特点 • AVR MCU集成度非常高。 • 其内部含有大容量的存储器:Flash、EEPROM、RAM等,因此不需要利 用外部接口进行存储器扩展。 • AVR MCU所有管脚都可用于外部接口功能,可灵活设置为数字IO(包 括与并行接口外设通信)、模拟量采集AD、PWM输出、异步串行通信 UART、同步串行SPI、I2C总线、定时/计数器、外部中断等。其IO口直 流驱动能力为40mA,可直接驱动LED灯及小功率继电器等执行器件, 且拉电流和灌电流能力一致(即输出逻辑1和逻辑0时驱动能力相同)。 • AVR高端的产品具有更大的内部存储器和更多外部接口,有的还增加了 USB、CAN总线等接口。 AVR MCU特点 AVR MCU设计示例——信号采集和通信 AVR系列MCU构建的系统非常简洁,只需要外部供电和晶振即可构成最小 系统,对于时钟精度要求不高时甚至可不是用外部晶振,其内部有内置振 荡器。 这是一个常用的应用系统, 具备AD采样(获取外部状 态信息,通过可调电阻调 节输入电压作为激励)、 数字开关量输出(对外部 执行部件进行ON/OFF控制, 通过LED灯显示其状态)和 串口通信(与外界进行数 据通信交互,传递采样结 果接收上位机指令)功能, 外加的那个芯片实现RS232电平转换,可直接连接 电脑,如果串口采用TTL电 平则这个芯片都是不需要 的。 AVR MCU设计示例——以太网通信 • 利用其SPI同步串行通信功能,甚至还可以很方便地扩展出以太网通信能力。由于 MCU的运算处理能力有限,可以采用WIZ820io以太网通信模块,可实现10/100Mbps 速率的以太网通信。WIZ820io采用的是W5200全硬件TCP/IP芯片,其PCB尺寸是极为 精简的2.54mm标准间距双列直插12针引脚,整个模块体积仅仅和RJ45接插件的大 小差不多。 • W5200支持标准以太网,通信速率可达100Mbps,支持几乎所有TCP/IP协议栈(包 括TCP、UDP、IPV4、ICMP、ARP、IGMP和PPPoE),具备32KB内部通信缓冲,支持 8个独立的Socket端口同时连接。 • W5200将网络协议从主控芯片中脱离出来,用户也不用考虑复杂的以太网协议及编 程,使用难度及处理器负担和普通的串口相当,应用程序的移植也变得非常容易。 AVR MCU设计示例——以太网通信 AVR MCU设计示例——以太网通信 更简洁的AVR MCU设计 • 如果需要更小巧更低成本,Atmel还提供了更简化的版本: ATtiny45/85(两种芯片几乎完全一样,只是ATtiny85的内存 是ATtiny45的两倍),只有8个管脚,体积小,价格低(仅 2~3美元)。 8051 MCU特点 相比之下,传统的8051系列MCU使用方面就非常不便。先看8051系列MCU 的概况: 8051 MCU典型应用系统设计 8051 MCU应用系统设计 8051 MCU应用系统设计 • 8051没有SPI和I2C等接口,如果要使用只能通过其数字IO模拟,需要复杂的编 程,而且受限于程序执行的速度(8051指令执行效率低下),其通信速率非常 低,更不具备DMA、数据缓存等功能。 • 8051的IO口驱动能力仅为uA级,且输出高电平时没有驱动能力,需要配合外部 驱动电路(如74HC245等)才能驱动外部电路。 • 从指令执行和运算能力方面看,8051更是无法与AVR相比。AVR采用的是RISC结 构,是单时钟周期的,即每个时钟周期即可完成一次操作,绝大部分指令的执 行时间为单时钟周期,硬件乘法也只需2时钟周期。也就是说12MHz的时钟, 操作速度就是12MHz,指令执行时间为1/12~1/6μs。而8051是CISC结构的,指 令效率低,没有采用流水线,取指、取数、执行等操作都要顺序进行,而且还 不是单时钟周期的,12MHz的时钟频率最快指令执行频率也只能是1MHz,指 令执行时间为1~4μs。其时钟和指令执行情况如下: 也就是说,同主频 的ARV MCU,处理速 度基本上是8051的 12倍以上。 谢谢!

Top_arrow
回到顶部
EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_service@eeworld.com.cn 或通过站内短信息或QQ:273568022联系管理员 高进,我们会尽快处理。