Arduino UNO R3

Arduino是什么?

Arduino是一个开放源码电子原型平台,拥有灵活、易用的硬件和软件。Arduino专为设计师,工艺美术人员,业余爱好者,以及对开发互动装置或互动式开发环境感兴趣的人而设的。

Arduino可以接收来自各种传感器的输入信号从而检测出运行环境,并通过控制光源,电机以及其他驱动器来影响其周围环境。板上的微控制器编程使用Arduino编程语言(基于Wiring)和Arduino开发环境(以Processing为基础)。Arduino可以独立运行,也可以与计算机上运行的软件(例如,Flash,Processing,MaxMSP)进行通信。Arduino开发 IDE 接口基于开放源代码,可以让您免费下载使用开发出更多令人惊艳的互动作品。

Arduino是人们连接各种任务的粘合剂。要给Arduino下一个最准确的定义,最好用一些实例来描述。

  • 您想当咖啡煮好时,咖啡壶就发出“吱吱”声提醒您吗?
  • 您想当邮箱有新邮件时,电话会发出警报通知您吗?
  • 想要一件闪闪发光的绒毛玩具吗?
  • 想要一款具备语音和酒水配送功能的X教授蒸汽朋克风格轮椅吗?
  • 想要一套按下快捷键就可以进行实验测试蜂音器吗?
  • 想为您的儿子自制一个《银河战士》手臂炮吗?
  • 想自制一个心率监测器,将每次骑脚踏车的记录存进存储卡吗?
  • 想过自制一个能在地面上绘图,能在雪中驰骋的机器人吗?

Arduino都可以为您实现。

Arduino的起源

自左向右:David Cuartielles, Gianluca Martino, Tom Igoe, David Mellis和Massimo Banzi摄于纽约

这个最经典的开源硬件项目,诞生于意大利的一间设计学校。Arduino的核心开发团队成员包括:Massimo Banzi,David Cuartielles,Tom Igoe,Gianluca Martino,David Mellis和Nicholas Zambetti。

据说Massimo Banzi的学生们经常抱怨找不到便宜好用的微控制器,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官方网站,你会找到各种创意作品的源码,当然也有很多机器人应用实例代码,例如直流电机PWM 调速、舵机控制、超声波测距、红外传感器寻迹等,相信它能使你早日实现机器人DIY 的梦想。

Arduino名称的由来

意大利北部一个如诗如画的小镇「Ivrea」,横跨过蓝绿色Dora Baltea河,它最著名的事迹是关于一位受压迫的国王。公元1002年,国王Arduin成为国家的统治者,不幸的是两年后即被德国亨利二世国王给废掉了。今日,在这位无法成为新国王的出生地,cobblestone街上有家叫「di Re Arduino」的酒吧纪念了这位国王。Massimo Banzi经常光临这家酒吧,而他将这个电子产品计划命名为Aruino以纪念这个地方。

UNO R3

Uno,源于意大利语,代表第一的意思。DFRobot秉着忠于原著,又高于原著的理念,还原出一个原汁原味的Arduino。

UNO R3的升级

  • DFRduino UNO R3完全兼容Arduino UNO R3版本。同样使用了更强大的ATmega16U2替代了8U2。(或者说是之前版本的FTDI板)这允许更快的转换速度和更大内存,使得UNO R3版本在Linux或者Mac下不需要安装任何驱动程序,(Windows系统需要inf文件)并且有能力外接键盘,鼠标,摇杆等。
  • UNO R3还增加了AREF边上的SDA和SCL端口。此外,RESET边上还有两个新的端口。一个端口是IOREF,它能够使扩展板适应主板的电压。另一个空的端口预留给将来扩展的可能。UNO R3能够兼容任何现存扩展板并且能用它额外的端口适应新的扩展板。
  • 更稳定的RESET电路。RESET键位置也变了,被移到了靠近USB接口的板角处,更方便按。
  • ATmega16U2代替了8U2,这并不意味着有16K flash的R3能让你的code跑的更快,这个更新为是USB接口芯片服务的,理论上它让UNO能模拟USB HID,比如 MIDI/Joystick/Keyboard。
  • 注意事项:为了正确安装在某些电脑上,DFRduino Uno R3需要Arduino 1.0的驱动文件夹。我们已经测试过并且确定R3能够在老版本的IDE上编程。然而,在一台电脑上第一次运行R3,你将需要Arduino 1.0. 如果你对新版本IDE变化感兴趣,请查看Arduino官网 Arduino 1.0的版本记录。

产品参数

  • 工作电压:5V
  • 输入电压:接上USB时无须外部供电或外部7V~12V DC输入
  • 输出电压:5V DC输出和3.3V DC输出 和外部电源输入
  • 微处理器:ATmega328
  • Bootloader:Arduino Uno
  • 时钟频率:16 MHz
  • 输入电压(推荐):7-12V
  • 输入电压(限制):6-20V
  • 支持USB接口协议及供电(不需外接电源)
  • 支持ISP下载功能
  • 数字I/O端口: 14(6个PWM输出口)
  • 模拟输入端口: 6
  • 直流电流 I/O端口: 40mA
  • 直流电流 3.3V端口: 50mA
  • Flash 内存:32 KB (ATmega328) (0.5 KB用于引导程序)
  • SRAM :2 KB (ATmega328)
  • EEPROM: 1 KB (ATmega328)
  • 尺寸:75x55x15mm

UNO电路图和PCB板

引脚说明

电源

Arduino UNO可以通过3种方式供电,而且能自动选择供电方式

  • 外部直流电源通过电源插座供电
  • 电池连接电源连接器的GND和VIN引脚
  • USB接口直接供电

电源引脚说明:

  • VIN --- 当外部直流电源接入电源插座时,可以通过VIN向外部供电;也可以通过此引脚向UNO直接供电;VIN有电时将忽略从USB或者其他引脚接入的电源
  • 5V --- 通过稳压器或USB的5V电压,为UNO上的5V芯片供电
  • 3.3V --- 通过稳压器产生的3.3V电压,最大驱动电流50mA
  • GND --- 地脚

输入输出

1.14路数字输入输出口:
工作电压为5V,每一路能输出和接入最大电流为40mA。每一路配置了20-50K欧姆内部上拉电阻(默认不连接)。
除此之外,有些引脚有特定的功能:

  • '''串口信号RX(0号)、TX(1号): ''':与内部 ATmega8U2 USB-to-TTL 芯片相连,提供TTL电压水平的串口接收信号。
  • 外部中断(2号和3号):''触发中断引脚,可设成上升沿、下降沿或同时触发。可以参看attachInterrupt()函数。
  • **脉冲宽度调制PWM(3、5、6、9、10 、11):**提供6路8位PWM输出,通过analogWrite()函数实现。
  • **SPI(10(SS),11(MOSI),12(MISO),13(SCK)):**这些引脚支持SPI通信接口,可以使用SPI库
  • **LED(13号):**有个内置的LED灯与数字口13连接,从上图功能图中看出。Arduino专门用于测试LED的保留接口,输出为高时点亮LED,反之输出为低时LED熄灭。

2.6路模拟输入A0到A5:
每一路具有10位的分辨率(即输入有1024个不同值),默认输入信号范围为0到5V,可以通过AREF调整输入上限。
除此之外,有些引脚有特定功能:

  • **TWI接口(SDA A4和SCL A5):**支持通信接口(兼容I2C总线)。可用Wire库

**3.AREF:**模拟输入信号的参考电压。

**4.Reset:**信号为低时复位单片机芯片。

也可以看下ATmega328的引脚图。Atmega8,168和328是相同的。

通信接口

UNO可以与电脑,其他的Arduino控制器或是其他微处理器等其他设备进行通信。ATmega328内置的UART TTL可通过数字口0(RX)和1(TX)(5V)与外部实现串口通信。ATmega16U2通过USB和串行通信软件在电脑上显示为一个虚拟COM端口。ATmega16U2固件使用的是标准的USB串口驱动,不需要外置驱动。Arduino的软件包含一个串口监视器,可实现Arduino板和电脑的简单文本数据通信。当通过USB数据线下载程序时,RX和TX灯会不停的闪烁。

Atmega328还支持I2C和SPI通信。

注意:由于下载过程中TX与RX已被占用,所以当TX和RX在程序中被使用到时,在下载程序时,先将TX、RX连接断开,下载完成后再连上。

注意要点

  • Arduino UNO上USB口附近有一个可重置的保险丝,对电路起到保护作用。当电流超过500mA是会断开USB连接。
  • Arduino UNO提供了自动复位设计,可以通过主机复位。这样通过Arduino软件下在程序到UNO中软件可以自动复位,不需要在复位按钮。在印制板上丝印"RESET EN"处可以使能和禁止该功能。

新版本烧录教程

Arduino官方入门套装及配套教程

Massimo Banzi是Arduino的始创人之一。从十月初开始,Massimo 亲自制作了一系列教学视频,让您学会使用Arduino 。让您释放您的创造力,建立您的创作!

Arduino官方入门套装(意大利原装)

视频教程:

本视频将指导您如何用Arduino开发板建立一个基本的电路板,以及如何使用其他组件如发光二级管、开关和电阻器。

将Arduino将设置成科幻片的场景。利用开关就可以开启不同的灯,让你了解Arduino的简单输入和输出。

会做一个爱情指数计(LOVE-O-METER),一个非常简单的温度计,用来测量你的体温。

使用光敏电阻和压电器件,制造出一个基于光的特雷门。

本教程以之前的光特雷门教程视频为基础。在这个视频教程,Massimo介绍了如何用按钮取代传感器來控制和构建一个简单的乐器。这项目引进的“梯形电阻”的概念,它可以用来调节从按钮到Arduino的输入信号。

利用一个马达来转动色彩丰富的风车。

“魔力八号球”电子版配备 LCD 屏幕及倾角传感器,可在摇动电路装置后为使用者提供一个随机生成的答案。如果你想了解其中的奥妙,Banzi 还会参照代码,向我们讲解其运作原理。

Massimo Banzi 先生将向我们展示触控感应灯的整个制作过程。Banzi 也将向我们介绍为 Arduino 而构思的外部图书馆概念。这是一件极有用的工具,可帮助初学者及专家简化开发过程。 简单地说,外部图书馆可以下载并安装至 Arduino 开发环境中。它们实质上是预先编码的资料库,可用在你的装置内编写某些功能程式。在本次示范中,外部图书馆让Banzi 能够迅速高效地制作其触控感应灯。

Banzi 将通过 USB 连接,将 Arduino 开发板与电脑连接在一起,然后再利用一个特定的程序来改变 Arduino 标志的颜色。

这是 Massimo Banzi 的最后一段 Arduino 课程视频,这次他将利用 Wi-Fi Shield 模块将其 Arduino 装置连接至互联网。此举势必会为 Banzi 在视频中所进行的探索开启众多全新的可能。

DFRobot相关套件

Ardublock 入门套装 (图型化编程)

DFRobot 中级套件(即插即用)

疑难解答

更多问题及有趣的应用,可以访问论坛进行查阅或发帖!

更多

DFRobot 中级套件使用教程(即插即用)

瓮凯老师的云课堂

Arduino入门教程系列 来自极客工坊

Arduino编程中常用语句使用方法

Arduino常用库下载

DFRobot商城购买链接