您好,欢迎访问我们的官方网站,我们将竭诚为您服务!
咨询热线13798350430
您的位置:主页  > 百科资讯  > PCB(A)百科  > Arduino相关知识
联系我们

深圳PCBA打样-代工代料-SMT贴片加工厂:深圳市优勤电子

联系人:童先生
电 话:0755-2664 8283
传 真:0755-2664 8236
手 机:13798350430
邮 箱:sales@fully-hong.com / libercod@vip.163.com
市场部地址:深圳市南山区南海大道粤海大厦A座11B
工厂地址:深圳宝安区石岩街道中运泰科技工业园一栋

Arduino相关知识

发布时间:2020-06-08 11:28人气:55

Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。由一个欧洲开发团队于2005年冬季开发。其成员包括Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mellis和Nicholas Zambetti等。

它构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。主要包含两个的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。


Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。对Arduino的编程是通过 Arduino编程语言 (基于Wiring)和Arduino开发环境(基于 Processing)来实现的。基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,他们之间进行通信 (比如 Flash, Processing, MaxMSP)来实现。

发展历程

Massimo Banzi之前是意大利Ivrea一家高科技设计学校的老师。他的学生们经常抱怨找不到便宜好用的微控制器。 2005年冬天, Massimo Banzi跟David Cuartielles讨论了这个问题。 David Cuartielles是一个西班牙籍晶片工程师,当时在这所学校做访问学者。两人决定设计自己的电路板,并引入了Banzi的学生David Mellis为电路板设计编程语言。两天以后,David Mellis就写出了程式码。又过了三天,电路板就完工了。Massimo Banzi喜欢去一家名叫di Re Arduino的酒吧,该酒吧是以1000年前意大利国王Arduin的名字命名的。为了纪念这个地方,他将这块电路板命名为Arduino。

随后Banzi、Cuartielles和Mellis把设计图放到了网上。版权法可以监管开源软件,却很难用在硬件上,为了保持设计的开放源码理念,他们决定采用Creative Commons(CC)的授权方式公开硬件设计图。在这样的授权下.任何人都可以生产电路板的复制品,甚至还能重新设计和销售原设计的复制品。人们不需要支付任何费用,甚至不用取得Arduino团队的许可。然而,如果重新发布了引用设计,就必须声明原始Arduino团队的贡献。如果修改了电路板,则最新设计必须使用相同或类似的Creative Commons(CC)的授权方式,以保证新版本的Arduino电路板也会一样是自由和开放的。唯一被保留的只有Arduino这个名字,它被注册成了商标,在没有官方授权的情况下不能使用它。

Arduino发展至今,已经有了多种型号及众多衍生控制器推出。

平台特点

·跨平台

Arduino IDE可以在Windows、Macintosh OS X、Linux三大主流操作系统上运行,而其他的大多数控制器只能在Windows上开发。

·简单清晰

Arduino IDE基于processing IDE开发。对于初学者来说,极易掌握,同时有着足够的灵活性。Arduino语言基于wiring语言开发,是对 avr-gcc库的二次封装,不需要太多的单片机基础、编程基础,简单学习后,你也可以快速的进行开发。

·开放性

Arduino的硬件原理图、电路图、IDE软件及核心库文件都是开源的,在开源协议范围内里可以任意修改原始设计及相应代码。

·发展迅速

Arduino不仅仅是全球最流行的开源硬件,也是一个优秀的硬件开发平台,更是硬件开发的趋势。Arduino简单的开发方式使得开发者更关注创意与实现,更快的完成自己的项目开发,大大节约了学习的成本,缩短了开发的周期。

因为Arduino的种种优势,越来越多的专业硬件开发者已经或开始使用Arduino来开发他们的项目、产品;越来越多的软件开发者使用Arduino进入硬件、物联网等开发领域;大学里,自动化、软件,甚至艺术专业,也纷纷开展了Arduino相关课程。 [3] 

Arduino功能

可以快速使用Arduino与Adobe Flash, Processing, Max/MSP, Pure Data, SuperCollider等软件结合,作出互动作品。 Arduino可以使用现有的电子元件例如开关或者传感器或者其他控制器件、LED、步进马达或其他输出装置。 Arduino也可以独立运行,并与软件进行交互,例如: Macromedia Flash, Processing, Max/MSP, Pure Data, VVVV或其他互动软件。Arduino的IDE界面基于开放源代码,可以免费下载使用,开发出更多令人惊艳的互动作品。

Arduino本质上是一种电子工具,它可以被用来制作许多有趣的创意电子制作,比如电子时钟、四轴飞行器、宠物喂食机、3D打印机、电子显微镜等。全世界的电子爱好者们还在不断开发基于Arduino的创意电子制作。

相比Arduino,也许我们更熟悉“集成电路”这一概念。集成电路是为了实现某种特定功能的计算而设计的微小芯片。对于普通人来说,传统的集成电路应用比较繁琐,一般需要具有一定电子知识基础,并懂得如何进行相关的程序设计的工程师才能熟练使用。但是Arduino的出现让曾经只有专业人士才能使用的集成电路变为平易近人的电子设计工具,即使没有程序设计基础,也可以通过简单的学习,掌握使用Arduino的方法。为了实现这一目标,Arduino从两方面进行了努力与改进。首先,在硬件方面,Arduino本身是一款非常容易使用的印刷电路板。电路板上装有专用集成电路,并将集成电路的功能引脚引出方便我们外接使用。同时,电路板还设计有USB接口方便与电脑连接。其次,在软件方面,Arduino提供了专门的程序开发环境Arduino IDE。其界面设计简洁,对于没有接触过程序设计的“小白”也可以轻松上手。

那么我们用Arduino到底可以做些什么呢?首先,Arduino可以进行逻辑运算。其实生活中用到的逻辑运算还是很多的,比如:当我按下一个按钮时可以点亮某盏灯;当某个灯亮了对应的监控探头可以被激活;当某扇门打开了会响起音乐;土壤太干燥了可以加些水;太阳光太足了可以开启空调。你也可以考虑一些更复杂的情况,比如:当我按下按钮并且强烈的阳光照射到窗台上的植物时,给土壤浇水、响起音乐并打开空调。以上这些生活中的例子都是可以用Arduino实现的逻辑运算。当然,除了Arduino本身,我们还需要一些其他的外围电子元器件、传感器等。Arduino在这些应用中扮演着“大脑”的角色。

除了硬件的材料外,使用Arduino还需要一些软件的资源。你只要到Arduino的官方网站上,就可以下载到许多免费的开源软件资源。除了软件资源意外,Arduino的硬件设计也是开源的,你可以下载到Arduino电路板的电路原理图,甚至是印刷电路板的加工文件。

首先我们看看Arduino的实物图,图0.1所示是最常见的一种Arduino实物。图中已经根据功能将各个模块区分出来,相信对单片机开发稍有了解的朋友一定已经发现,这不就是一个以ATmega单片机最小系统为核心的控制板吗?不错,Arduino就是以ATmega单片机为控制核心的单片机控制板,板上除了ATmega328最小系统电路外,还包含了稳压电路、USB转串口电路、一些指示用的LED,以及一些扩展用的电路插座。


Arduino独有的优势

Arduino独有的几种优势表现在下列方面:


开放性:Arduino是起步比较早的开源硬件项目。各种开源项目目前已经得到广泛的认可和大范围的应用。它的硬件电路和软件开发环境都是完全公开的,在不从事商业用途的情况下,任何人都可以使用、修改和分发它。这样不但可以使用户更好地理解Arduino的电路原理,更可以根据自己的需要进行修改,比如由于空间的限制,需要设计异形的电路板,或是将自己的扩展电路与主控制电路设计到一起。

易用性:对于稍微有心的人,不论基础如何,只要他有兴趣,拿到Arduino之后的1个小时之内,应该就可以成功运行第一个简单的程序了。Arduino与PC的连接采用了当下最主流的USB连接,你可以像使用一台智能手机一样,把Arduino与电脑直接连起来,而不需要再额外安装任何驱动程序。而且Arduino的开发环境软件也非常简单,一目了然的菜单仅提供了必要的工具栏,除去了一切可能会使初学者眼花缭乱的元素,你甚至可以不阅读手册便实现例程的编译与下载。

交流性:对于初学者来说,交流与展示是非常能激发学习热情的途径。但有些时候,你用AVR做了个循迹小车,我用PIC做了个小车循迹,对单片机理解还不是特别深刻的初学者,交流上恐怕就会有些困难。而Arduino已经划定了一个比较统一的框架,一些底层的初始化采用了统一的方法,对数字信号和模拟信号使用的端口也做了自己的标定,初学者在交流电路或程序时非常方便

丰富的第三方资源:Arduino无论硬件还是软件,都是全部开源的,你可以深入了解底层的全部机理,它也预留了非常友好的第三方库开发接口。秉承了开源社区一贯的开放性和分享性,很多爱好者在成功实现了自己的设计后,会把自己的硬件和软件拿出来与大家分享。对于后来者,你可以在Arduino社区轻松找到自己想要使用的一些基本功能模块,比如舵机控制、PID调速、A/D转换等。一些功能模块供应商也越来越重视Arduino社区,会为自己的产品提供Arduino下的库和相关教程。这些都极大地方便了Arduino开发者,你可以不必拘泥于基本功能的编写,而把更多的精力放在自己想要做的功能设计中去。

是的,从专业嵌入式开发的技术角度来说,Arduino并不是第一选择,为了尽可能地照顾初学者甚至是电子开发的门外汉,Arduino定制了很多底层的设计,自然也损失了很多嵌入式开发的灵活性和效率性,这也是许多经验丰富的嵌入式设计人员对Arduino嗤之以鼻的原因之一。那么Arduino的定位究竟在何处呢?


Arduino的定位

Arduino最初确实是为嵌入式开发的学习而生,但发展到今天,它已经远远超出了嵌入式开发的技术领域。有些人将Arduino称为“科技艺术”,很多电子科技领域以外的爱好者,凭借丰富的想象力和创造力,也设计开发出了很多有趣的作品。在国内,Arduino更多还是作为一种嵌入式学习工具和电子开发原型模块出现,但是它的魅力绝不仅仅如此,它完全可以作为一种新“玩具”,甚至新的艺术载体,来吸引更多领域的人们加入Arduino的神奇世界。

13798350430