Arduino 介绍

Arduino 并不仅仅是一块小小的开发板,而是一个基于灵活、易于使用的硬件和软件的开源电子开发平台,它即包含了硬件——各个型号的开发板、扩展板,也提供了开发所需的软件——开发环境和许许多多开发者创造的代码。这是特意为艺术家、设计师、业余爱好者和感兴趣的人创建的交互式对象和环境。由于提供了各种传感器的函数包,所以就算没有电子信息基础的爱好者,也可以使用Arduino快速开发出嵌入式作品。

官网连接:http://www.arduino.org/

由来

Arduino的核心开发团队成员包括:马西莫·班齐(Massimo Banzi)、大卫·奎提耶斯(David Cuartielles)、汤姆·伊果(Tom Igor)、赞布罗塔·马提诺(Gianluca Martino)、大卫·梅利斯(David Mellis)和尼可拉斯·兰比提(Nicholas Zambetti)。

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

arduino创始团队,资料来源:https://blog.arduino.cc/2008/03/26/arduino-summit/
arduino创始团队,资料来源:https://blog.arduino.cc/2008/03/26/arduino-summit/

硬件版本

Arduino硬件是一款开放源代码的单片机,采用了Atmel AVR单片机,但最近也有使用STM32芯片Intel® Curie芯片的Arduino产品。Arduino具有数字/模拟I/O(输入输出)端口,使用类似C语言作为开发语言。

原始的Arduino硬件是从一间意大利公司Smart Projects制造。有些Arduino硬件则是被官方授权由美国公司SparkFun ElectronicsAdafruit Industries设计。

目前,Arduino有包括Arduino Uno、Arduino Leonardo、Arduino Mega、Arduino Nano、Arduino Yun在内的多种开发板,可以根据自己需要开发项目的具体情况选择合适的开发板;Arduino 各开发板之间所使用处理器、ROM大小、I/O口数量之间的对比可以查看Arduino 官方给出的对照表.

Arduino产品
Arduino产品

特色

  • 基于知识共享开放源代码的电路图设计。
  • 免费下载,也可依需求自己修改,但需遵照姓名标示。
  • 依相同方式分享,如果修改版本并且发布时,需采用与Arduino相同或类似的授权条款。
  • Arduino可使用ICSP线上烧入器,将Bootloader烧入新的IC芯片。
  • 可依据Arduino官方网站,取得硬件的设计档,加以调整电路板及元件,以符合自己实际设计的需求。
  • 可简单地与传感器、各式各样的电子元件连接,如红外线、超音波、热敏电阻、光敏电阻、伺服马达等。
  • 使用低价格的微处理控制器(Atmel AVR)(ATMEGA 8,168,328等)。
  • 具有USB接口,不需外接电源。另外有提供直流(DC)电源输入。

开发软件

Arduino 有自己的开发IDE:Arduino Software IDE,可以在Windows、Mac os、Linux上开发,使用的语言为与C语言和C++语言类似的编程语言。使用Arduino Software IDE编写的程序成为sketch。sketch包含两个函数,它们在编译后合成为一个main函数:

  • setup():在程式执行开始时会执行一次,用于初始化设定。
  • loop():直到Arduino硬件关闭前一直会重复执行的函数。

Arduino Uno上板载LED灯闪烁的范例程序Blink如下。


// 在setup()里面的代码在接通电源或者重启时会执行一次
void setup() {
  // 初始化LED数字引脚为输出状态
  pinMode(LED_BUILTIN, OUTPUT);
}

// loop()里面的代码会不断执行。
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // 打开LED (HIGH代表高电平)
  delay(1000);                       // 等待1S
  digitalWrite(LED_BUILTIN, LOW);    // 通过将LED引脚的电平拉低从而关闭LED
  delay(1000);                       // 等待1S
}

原创文章,转载请注明: 转载自科技爱好者博客

本文链接地址: Arduino 介绍 (http://blog.lxx1.com/2704)

如果博客对您有帮助,请给我 打赏


科技爱好者

工科学生大四在读,专业嵌入式开发,喜欢计算机,喜欢单片机,喜欢各种各样美好的东西,相信科技正在改变世界! 这是我的 个人博客

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.