Arduino Yun 是一款基于ATmega32U4 和Atheros AR9331 的单片机板。 Atheros AR9331 可以运行一个基于Linux 和OpenWRT 的操作系统 Linino. 这款单片机板有内置Ethernet, Wifi, 一个USB端口,一个Micro 插槽, 20个数字输入输出端口(其中7个可以用于PWM, 12个可以用于ADC),1个MICRO USB,1个ICSP插头,3个复位开关.
Arduino Yun有别于其他Arduino, 这主要体现在他可以与LINUX 通信。这给Yun带来前所未有的网络能力。并且由于使用了LINUX,你可以自由的选择你需要的通信接口. Yun的其他部分跟Arduino leonardo类似,他的ATmega32U4芯片自带了USB接口,所以YUN可以用作电脑的鼠标或键盘。
一个Bridge库建立了传统ARDUINO的主芯片和使用LINUX的AR9331的连接。他帮组用户运行shell scripts, 并以此建接口从AR9331获取数据。USB插槽,网络接口,SD插槽直接与AR9331相。ARDUINO可以通过Bridge 库访问这些设备。
一些系统参数:
哔~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~请检查你的网络连接
电路原理图:arduino-Yun-schematic
电源:
推荐使用MICRO USB提供的5V电压为系统供电。
如果想使用外部电源供电,则必须使用稳定的5VDC电压,因为YUN上并不携带任何稳压管。
Yun也可以使用PoE电源,但是必须使用一个额外的PoE模块(买板子不送这玩意)。
电源PIN :
VIN: 外部电源接口,只能接稳定的5VDC
5V: 短接VIN,同上
3V3: 由板上的稳压管降压而得的3.3V 电压输出
GND:地
IOREF: I/O pin输出参考电压,YUN默认为5V
存储设备
YUN上的ATmega32U4芯片有32K的空间(4K 用做BOOTLOADER), 2.5KB的SRAM, 和1KB的EEPROM。
AR9331使用外部存储设备。他包含64MB的DDR2 RAM和16MB的FLASH。FLASH里已经在出厂时预装了OPENWRT的LININO版本。你可以根据你的需要改变配置文件。长按WLAN RST键30秒即可还原成出厂设置。
输入与输出
AR9331的管脚不能使用。YUN的全部的IO 口都是从AVR的。
全部的20个数字IO都可以用作输入或输出。使用方法为调用pinMode(), digitalWrite(),digitalRead(), 三个函数。他们的工作电压为5V。 每个IO可最大可灌入40MA电流,并内置20-50千欧上拉电阻。部分IO还有其他功能。
串口:0 RX, 1 TX。AVR的硬件串口。在YUN上,IDE中所调用的SERIAL函数不再是访问ATmega32U4, 而是访问USB. ATmega32U4的硬件串口已经与AR9331连接。如果想使用串口来访问ATmega32U4,则需要操作AR9331上的LINUX系统来完成,你可以直接使用LINXU串口命令或者使用相关软件。
TWI/IIC : 2 SDA, 3 SCL。 详见http://arduino.cc/en/Reference/Wire
外部中断: 3 中断0, 2 中断1, 0 中断2, 1 中断3, 7 中断4。这些外部中断可以通过设置中断触发条件,如低电平触发,下降沿触发,上升沿触发。详见http://arduino.cc/en/Reference/AttachInterrupt。 不推荐使用0和1脚,因为他们已经与AR9331连接做串口通信。 同样7脚也不推荐使用,因为他在稍后的版本中会用作和AR9331的握手信号。使用0 1 7脚会给你的设计带来不便。
PWM: 3 5 6 9 10 11 13, 这些管脚可以提供8-BIT的PWM输出。 详见:http://arduino.cc/en/Reference/AnalogWrite
SPI/ICSP: 这些管脚支持SPI通信接口,详见:http://arduino.cc/en/Reference/SPI。 需要注意的是YUN不同于UNO,YUN的SPI不与任何数字IO口连接,而与ICSP端口连接。如果想使用任何使用数字IO SPI的盾板, 盾板不会工作。
SPI接口同时也接到了AR9331的通用IO上,用户可以使用SPI作为第二个ATmega32U4和AR9331的通信界面。
LED:
PIN 13 LED同其他ARDUINO 一样,输出高点亮,输出低熄灭。
Analog Input: A0- A5, A6-A11(对应数字端口4,6,8,9,10,12). YUN拥有12个模拟输入,从A0-A11. 全部模拟输入接口可以用作数字IO。 A0-A5的在板上的位置和UNO一致。 A6-A11在数字口4,6,8,9,10,12上。 全部模拟输入都为10位精度。在默认参考电压为5V的调节下,输出0~1024对应0~5V。如用户需要调整参考电压,详见:http://arduino.cc/en/Reference/AnalogReference
AREF 模拟输入口的参考电压输入口,详见:http://arduino.cc/en/Reference/AnalogReference
ARDUINO YUN一共有3个复位按键。如图:
YUN RST:按下后复位AR9331,AR9331会重启,全部RAM中的数据会消失,正在运行的程序会被强制关闭,LINUX会重启。
32U4 RST : 按下后复位ATmega32U4.
WLAN RST: 该按键有两个功能
按住5秒后释放为还原WIFI的出厂设置。
按住30秒后释放为还原LINUX的出厂设置。
通信
ARDUINO yun 有非常多的通信设备可以与电脑,其他ARDUINO,或其他单片机通信。ATmega32U4内建UART TTL端口,虚拟COM端口,和标准USB2.0端口。通过使用ARDUINO IDE的串口监视器可以简单的发送数据给ARDUINO YUN. 当有数据传输时,RX, TX两个LED会发光。
串口
数字端口0,1被用于ATmega32U4和AR9331的通信接口。该接口由 http://arduino.cc/en/Reference/YunBridgeLibrary 负责。
软件串口
如果用户需要使用串口连接ATmega32U4,使用软件模拟串口即可,详见:http://www.arduino.cc/en/Reference/SoftwareSerial
IIC
详见http://arduino.cc/en/Reference/Wire
SPI
详见http://arduino.cc/en/Reference/SPI
模拟键盘和鼠标输入
详见http://arduino.cc/en/Reference/MouseKeyboard
网络和WIFI
ARDUINO YUN的网络和WIFI都直接与AR9331相连,发送和接受详见:http://arduino.cc/en/Reference/YunBridgeLibrary。 用户如果需要配置网络,请移步:http://arduino.cc/en/Guide/ArduinoYun#toc14(随后翻译 ——Lee苦海)
USB
AR9331带的LINUX系统管理着USB端口,用户可以使用外接USB闪存,键盘,鼠标等设备。部分设备可能需要另装驱动。如何给AR9331安装软件, 详见:http://arduino.cc/en/Tutorial/YunPackageManager
编程
ARDUINO YUN使用ARDUINO IDE 1.5来编程,下载地址:http://arduino.cc/en/Main/Software。 上传程序到YUN前需要先在TOOL–>BOARD菜单中悬着ARDUINO YUN.
ATmega32U4 预烧了一个BOOTLOADER,让用户不需要额外购买烧录器就能添加修改ATmega32U4内部的程序。
用户也可以绕过BOOTLOADER, 使用ICSP来下载程序。
软件重启和BOOTLOAD初始化(该段抄自奈何的Leonardo中文介绍)
在Leonardo中被设定为在上传时,软件建立连接让控制器复位,从而免去了我们手动按下复位按钮的操作。当Leonardo 作为虚拟(CDC)串行/COM端口以1200波特率运行时,复位功能将被促发,串口也将关闭。此时,处理器会复位,USB连接会断开(即虚拟(CDC)串行/COM端口 会断开)。处理器复位后,引导程序紧接着启动,大概要等待8秒来完成这个过程。引导程序也可以通过按板子上复位按钮来启动。注意当板子第一次通电时,如果有用户程序,他将直接跳转到用户程序区,而不启动bootloader。
Leonardo 最好的复位处理方式是在上传程序前让arduino软件端试图启动复位功能,而不是你手动点击复位按钮。
如果软件没有让控制板自动复位,你也可以通过手动按下复位按钮从而让板子复位运行引导程序
USB 过载保护
ARDUINO YUN自带一个可恢复保险用于保护其USB端口,当USB端口的电流超过500MA时,保险丝会自动关闭USB接口直到电流回到500MA以内。
物理特征
YUN电路板只有2.7*2.1英寸大(68.6*53.4 mm ). 虽然USB口会让板子看起来长一点,但是YUN依然很小。他一共有4个螺丝孔可用于安装固定。板子全重40.6克。