分享

关于Arduino

 宽宽r700 2016-07-11
出自开源硬件知识库
跳转到: 导航, 搜索

目录

Arduino的起源

Arduino的合作创始人Massimo Banzi之前是意大利Ivrea一家高科技设计学校的老师。他的学生们经常抱怨找不到便宜好
Arduino uno test.jpg
用的微控制器。2005年冬天, Massimo Banzi跟David Cuartielles讨论了这个问题。 David Cuartielles是一个西班牙籍晶片工程师,当时在这所学校做访问学者。两人决定设计自己的电路板,并引入了Banzi的学生David Mellis为电路板设计编程语言。两天以后,David Mellis就写出了程序。又过了三天,电路板就完工了。这块电路板被命名为Arduino。几乎任何人,即使不懂电脑编程,也能用Arduino做出很酷的东西,比如对感测器作出回应,闪烁灯光,还能控制马达。随后Banzi,Cuartielles,和Mellis把设计图放到了网上。保持设计的开放源码理念,因为版权法可以监管开源软体,却很难用在硬体上,他们决定采用Creative Commons许可。 Creative Commons(CC)是为保护开放版权行为而出现的类似GPL的一种许可(license)。在Creative Commons许可下,任何人都被允许生产电路板的复制品,还能重新设计,甚至销售原设计的复制品。你不需要付版税,甚至不用取得Arduino团队的许可。然而,如果你重新发布了引用设计,你必须说明原始Arduino团队的贡献。如果你调整或改动了电路板,你的最新设计必须使用相同或类似的Creative Commons许可,以保证新版本的Arduino电路板也会一样的自由和开放。唯一被保留的只有Arduino这个名字。它被注册成了商标。如果有人想 用这个名字卖电路板,那他们可能必须付一点商标费用给Arduino的核心开发团队成员。


Arduino是什么

Arduino是一个能够用来感应和控制现实物理世界的一套工具。它由一个基于单片机并且开放源码的硬件平台,和一套为Arduino板编写程序的开发环境组成。准确的说Arduino是一块简单、方便的以AVR单片机为核心的GPIO接口板,并可以通过USB接口和电脑通信。它基于开放的源代码编程,具有使用类似Java,C语言的IDE集成开发环境,提供丰富的库函数。作为一块GPIO接口板,Arduino提供丰富的资源,一般来说包括:

  • 13通道数字输入输出口
  • 4通道PWM输出
  • 6-8通道10位ADC输入
    Arduino uno top.jpgArduino bottom.jpg


Arduino可以做什么

Arduino像是一种半成品,它提供通用的输入输出接口。你可以通过编程,把Arduino加工成你需要的输入输出设备。Arduino可以使用开发完成的电子元件例如Switch或sensors或其他控制器、LED、步进马达或其他输出装置。Arduino也可以独立运作成为一个可以跟软件沟通的接口,例如说:flash processing Max/MSP VVVV 或其他互动软件…。Arduino开发IDE接口基于开放源代码,可以让您免费下载使用开发出更多令人惊艳的互动作品。
你可以把Arduino做成键盘、鼠标、麦克等输入设备;你也可以把Arduino做成音响、显示器等输出设备。重要的是,你可以把Arduino做成任何你希望的互动设备。总之,Arduino是什么,是根据你的需求来确定的。你跟电脑之间的交互,从此插上了翅膀。

Arduino IO.jpg



为什么用Arduino

有很多的单片机和单片机平台都适合用做交互式系统的设计,所有这些工具,你都不需要去关心单片机编程繁琐的细节,提供给你的是一套容易使用的工具包。Arduino同样也简化了同单片机工作的流程,但同其它系统相比Arduino在很多地方更具有优越性,特别适合老师,学生和一些业余爱好者们使用:

  • 便宜 —— 和其它平台相比,Arduino板算是相当便宜了。最便宜的Arduino版本可以自己动手制作,即使是组装好的成品,其价格也不会超过200元。
  • 跨平台 —— Arduino IDE可以运行在Windows,Macintosh OSX,和Linux操作系统。大部分其它的单片机编译软件都只能运行在Windows上。
  • 简易的编程环境 —— 初学者很容易就能学会使用Arduino编程环境,同时它又能为高级用户提供足够多的高级应用。对于老师们来说,一般都能很方便的使用Processing 编程环境,所以如果学生学习过使用Processing 编程环境的话,那他们在使用Arduino开发环境的时候就会觉得很相似很熟悉。
  • 软件开源并可扩展 —— Arduino软件是开源的,对于有经验的程序员可以对其进行扩展。Arduino编程语言可以通过C++库进行扩展,如果有人想去了解技术上的细节,可以跳过Arduino语言而直接使用AVR C 编程语言(因为Arduino语言实际上是基于AVR C的)。类似的,如果你需要的话,你也可以直接往你的Arduino程序中添加AVR-C 代码。
  • 硬件开源并可扩展 —— Arduino板基于Atmel的ATMEGA8 和ATMEGA168/328 单片机。Arduino基于Creative Commons 许可协议,所以有经验的电路设计师能够根据需求设计自己的模块,可以对其扩展或改进。甚至是对于一些相对没有什么经验的用户,也可以通过制作试验板来理解Arduino是怎么工作的,省钱又省事。


    Arduino hw.jpgArduino sw.jpg



Arduino的文化

Arduino代表了一种开源文化的精神,借助协作的力量来加速创新。从电路设计图到编译开发环境,所有的硬件资源和软件资源是全开放式的。Arduino有自己一套完整的规范和软件封装,对于电子工程师和爱好者来说,编程简单了.接口也规范了.资源也非常丰富,是很好上手的控制平台。作为科学技术的精华与互动媒体的艺术结合,加上它开源的创意文化,能做出各种各样使人眼花缭乱的创新产品。

wii控制的机器手
复古的音乐播放器


Arduino的发展趋势

Arduino已经发布了许多不同版本的平台,有USB接口、蓝牙接口、以太网接口等以及各种mini版本。最近Google发布了Android的配件标准(Android Open Accessory)与ADK开发工具(基于Arduino平台)。Arduino有着庞大的用户基数,开源的电路设计、IDE,无数的代码,低廉成本,同时另一方面,Android自身也有庞大的用户和开发者,当这两者结合,前途无可限量!



Arduino是基于AVR 8位MCU发展而来,随着Arduino的影响越来越大,越来越多的MCU厂商开始关注,开始推出了各种与Arduino兼容的产品。同时随着开源硬件的发展,会有更多的基于32位MCU的兼容Arduino平台出现,竞争将会越来越激烈。Arduino与一些兼容平台的比较

  • Maple————基于32位STM32微处理器
  • chipKIT————基于32位PIC32微处理器

Arduino在中国

参考链接

扩展阅读

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多