Erduino Due R3开发板

来自Duinopeak_COM
跳转至: 导航搜索

产品简介

Arduino Due 是 Arduino 家族新的微控制器板,这是首个采用 32 位 ARM 处理器的开发板,Atmel SAM3X8E ARM Cortex-M3 MCU 提升了所有标准的 Arduino 功能,同时增加更多新特性。 Arduino Due 提供 54 个数字输入输出管脚(其中 12 个可用于 PWM 输出,支持可选分辨率),12 个模拟输入,4个 UARTs(硬件串口)和两个 DAC 输出(数模转换),84 MHz 晶振,两个 USB 口,一个电源插口,一个 ICSP 头,一个 JTAG 头和一个 Reset 按钮。I/O 管脚最大可提供 3.3v 电源,注意 5 伏电压会损坏开发板。
600px600px

规格参数

  • 主控芯片 AT91SAM3X8E
  • 工作电压 3.3V
  • 外部输入电压 (建议) 7-12V
  • 输入电压(限制) 6-16V
  • 数字 I/O 引脚 54 (12个提供PWM输出)
  • 模拟输入引脚 12
  • 模拟输出引脚 2 (DAC)
  • 总DC输出电流在所有的I/O 130 mA
  • DC电流为每个3.3V引脚 800 mA
  • DC电流为每个5V引脚 800 mA
  • 闪存(存储程序) 512 KB 所有内存都能够用作用户存储程序
  • 静态内存 96 KB (两个内存区: 64KB和32KB)
  • 时钟速率 84 MHz
  • 长度 101.52 mm
  • 宽度 53.3 mm
  • 重量 36 g

输入输出

数字 I/O: 0 号引脚到 53号引脚

54个数字引脚中的每一个都可以用作输入输出, 使用函数pinMode(), digitalWrite(), 和digitalRead()可以方便的操作这些端口. 注意这些端口都是使用3.3V的,过高的电压,比如5V可能会损坏主控板.每个引脚能够提供3~15ma的电流,具体的电流取决

于不同的引脚, 每个引脚也能接受6~9ma的电流,这个也取决于不同的数字端口.他们也有一个内部上拉电阻(默认情况下,断开)100k欧姆的电阻。此外,某些针脚可能专门功能: 串口: 0 (RX) and 1 (TX)

串口 1: 19 (RX) 和 18 (TX)

串口 2: 17 (RX) 和 16 (TX)

串口 3: 15 (RX) 和 14 (TX)

用于接收(RX)和传输(TX)TTL串口的数据(在3.3 v 电压水平下操作)。UDE的引脚0和1连接到相应的ATmega16U2 USB为TTL串行芯片的引脚。
PWM: 引脚 2 到 13
提供8-位的PWM输出使用函数analogWrite().PWM的精度能够通过函数analogWriteResolution()来改变。
SPI: SPI接线座
DUE主控板能够使用SPI库来操作SPI通信.DUE的SPI引脚和主控板中央的6针插座连在一起,为的是能够很好的兼容UNO,Leonardo和Mega2560,这个SPI接口仅仅只能用来和其他的SPI设备进行通信,但是并不能提供像其他Arduino主控板那样的在线串行编程(ICSP)功能。另外SPI还提供了另外高级功能- - - -扩展SPI模式。
CAN: CANRX和CANTX
这些引脚支持CAN通信协议,但是现在还不支持Arudino提供的APIs。
"L" LED: 13
这是一个板载的LED灯,连接在13号引脚上面. 当13号引脚高电平时,点亮LED,当13号引脚低电平时,熄灭LED. 因为DUE的13号引脚和其他Arduino主控板不一样的地方,就是这个引脚也是一个PWM引脚,所以LED灯的亮度也是能够受PWM控制的.
TWI 1: 20 (SDA) 和 21 (SCL) TWI 2: SDA1 和 SCL1.
通过使用Wire库,就能够使用TWI通信了,SDA1和SCL1能够使用Wire库提供Wire1类来实现操作。由于SDA和SCL已经有了内部的上拉电阻,但是SDA1和SCL1并没有,所以在使用时,就需要额外的增加上拉电阻才能够使用。
模拟输入: A0到A11
DUE拥有12个模拟输入,每个可提供12位精度(即4096个不同的值)。 默认情况下,读数的分辨率为10位,因为要与其他Arduino开发板的兼容性。当然你可以可以更改ADC的分辨率使用函数analogReadResolution()。 DUE的模拟输入引脚测量从GND0V到最高3.3V电压的值。如果模拟引脚接到超过3.3V的电压就有可能会损坏主控板。analogReference()函数已经不适用DUE主控板了。 AREF引脚是通过一个电阻桥连接到SAM3X模拟参考引脚上。为了能够正常使用AREF引脚,需要将电阻BR1从PCB必须焊下来。
DAC1和DAC2
这些针脚提供真实的12位分辨率模拟输出(4096级)使用analogWrite()函数。借助Audio库,可利用这些针脚来实现音频输出。其他主板上的针脚:
AREF
为模拟输入提供基准电压.使用函数analogReference().
复位
当reset引脚为低时,复位主控芯片. 通常都会把复位按钮添加到扩展板上面.

应用示例

到今天为止, Arduino Duo只能使用Arduino 1.5。 Arduino 1.5现在还是测试版本。 好多新的Arduino推出的板子在这个测试版本中都有支持. 请按照下面的图示来选择正确的主控板型号:工具--》板 --》Arduino Due(programing port)
400px
下面我们来通过Arduino的IDE来上传DUE的闪烁灯例子来演示了如何用IO口来控制DUE开发板上面的板载LED灯。

 //Turns on and off a light emitting diode(LED) connected to digital pin 13, when pressing a pushbutton attached to pin 2. 
 /*
 The circuit:
 * LED attached from pin 13 to ground 
 * pushbutton attached to pin 2 from +5V
 * 10K resistor attached to pin 2 from ground
 * Note: on most Arduinos there is already an LED on the board
 attached to pin 13.
 This example code is in the public domain.
 http://www.arduino.cc/en/Tutorial/Button
 */
 // constants won't change. They're used here to 
 // set pin numbers:
 const int buttonPin = 2;     // the number of the pushbutton pin
 const int ledPin =  13;      // the number of the LED pin
 // variables will change:
 int buttonState = 0;         // variable for reading the pushbutton status
 void setup() {
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);      
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);     
 }
 void loop(){
  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);
  // check if the pushbutton is pressed.
  // if it is, the buttonState is HIGH:
  if (buttonState == HIGH) {     
    // turn LED on:    
    digitalWrite(ledPin, HIGH);  
  } 
  else {
    // turn LED off:
    digitalWrite(ledPin, LOW); 
  }
 }


资源


购买

支持

如果你有什么困难或者好的点子, 你可以来我们的DuinoPeak论坛参与讨论.

外部链接

链接到外部网页将会给你提供更多应用创意,文档/数据表或软件库

视频