SKU:RB-01C015A Arduino XBee Sensor Shield

来自ALSROBOT WiKi
跳转至: 导航搜索
RB01C015A01.png

目录

产品概述

此产品是Arduino传感器扩展板V5.0的升级版本,保留了原有功能基础上新增了Xbee接口,省去了需要购买Xbee承载板的成本,此款扩展板还增加了5V和3.3V电源的切换功能,只需要简单的更改跳线帽的位置,而且也包括了3.3V单独引出的扩展端子,非常使用。新升级后板载的贴片开关解决了外接串口模块不能直接下载程序的问题,操作简单易用,升级后板载的数字接口可以由外部直接提供9V —12V的电压源进行供电,为舵机驱动提供了便利,此款产品依旧继承了之前版本表面的沉浸工艺,标识清晰,美观大方。

规格参数

  1. 尺寸大小:55mm * 55mm
  2. 重量大小:23g
  3. 模块接口:APC220/蓝牙/SD卡/Xbee模块/SPI接口/LCD Serial/IIC
  4. 电源接口:5V/3.3V/9V - 12V
  5. 功能开关:程序下载、执行切换开关/电源隔离二极管/3.3V & 5V切换端子
  6. 指示灯:板载电源PWR指示LED/板载数字D13接口LED/Xbee指示LED
  7. 其他:复位按键
  8. 数字接口:D0 - D13
  9. 模拟接口:A0 - A5
  10. 特点:舵机单独供电接口、固定3.3V电源输出扩展

接口介绍

引脚定义

  • S:信号引脚
  • G/-:电源地
  • V/+:电源正极
  • 3V3:3.3V 电压输出
  • 5V:5V 电压输出
  • SDA:IIC 数据端口
  • SCL:IIC 时钟端口
  • MOSI:SPI 主设备数据输出,从设备数据输入
  • SS:从设备片选端口
  • MISO:SPI 主设备数据输入,从设备数据输出
  • SCK:时钟信号,由主设备产生

接口功能说明

RB01C015A02.jpg

1.舵机供电接口:当UNO控制器接有舵机的情况下,舵机需要进行单独供电,这个接口就是给舵机单独供电使用的。
2.D13 引脚LED:绿色LED,用来反映UNO控制器的D13引脚状态,D13引脚高电平时LED点亮,D13引脚低电平时LED熄灭。
3.APC220接口:APC220 无线通信模块接口.
4.数字接口D0到D13:将Arduino UNO控制器的数字引脚扩展成3线制接口说明:数字接口旁有“D”字样:代表的是数字信号(Digital Signal)。也就是对应连接到控制板的数字引脚。
(1)黑色:地(GND)
(2)红色:电源
(3)黄色:数字引脚信号端(D0 - D13)
5.Xbee扩展板接口:直接可以连接Xbee模块,实现数据的传输。
6.模拟接口A0到A5:将Arduino UNO控制器的模拟引脚扩展成3线制接口。
说明:模拟接口旁有“A”字样:代表的是模拟信号(Analog Signal)。也就是对应连接到控制板的模拟引脚。
(1)黑色:地(GND)
(2)红色:电源
(3)黄色:模拟引脚信号端(A0 - A5)
7.IIC通信接口:分别为+、-、SDA、SCL
(1)+ 接控制器电源正
(2)- 接控制器电源负
(3)SDA 接控制器 A4 引脚
(4)SCL 接控制器 A5 引脚
8.供电选择:通过跳线帽的插接可以选择5V或3.3V供电。便于给需要3.3V电源的传感器进行供电,如果没有该跳线帽,VCC引脚输出电压为0。
9.SD卡模块接口:分别为:+、-、MOSI、SS、SCK、MISO
(1)+ 接控制器电源正
(2)- 接控制器电源负
(3)MOSI 接控制器 D11 引脚
(4)SS 接控制器 D4 引脚
(5)SCK 接控制器 D13 引脚
(6)MISO 接控制器 D12 引脚
10.电源输入:接7到12V的供电电源,红色端子和排针引脚的功能是相同的,为了方便大家不同接口的电池使用。
11.蓝牙模块接口:与蓝牙串口模块可以直接插接在一起,不需要引线连接,分别为:VCC、GND、D1、D0、GND、3.3V。
12.3.3V输出:提供两个恒定3.3V电压输出引脚,这个电源输出与其他的VCC引脚输出电压有所不同,其他引脚的VCC是与电源跳线帽的选择有关,而这里则不是,而是恒定的3.3V电压输出。
13.复位按键:按下案件可以实现UNO控制器的程序复位
14.编程开关:分为运行模式(RUN)和下载(PROG)模式,用过Arduino板的用户可能都知道,Arduino只有一个串口,如果Arduino板上接有占用串口的模块时,要上传程序需要将模块拔掉才能正常,但是这款扩展板可以帮您解决问题,方法就是:将开关拨到PROG,就可以实现不拔掉占用串口的模块同时进行程序上传
15.LCD 串行接口

Chuanxingjiekou.jpg

(1)VCC 接控制器电源正
(2)GND 接控制器电源负(GND)
(3)MOSI 悬空
(4)MISO 接控制器 D4 引脚
(5)SCK 接控制器 D3 引脚
(6)RST 接控制器 D2 引脚
16.供电指示LED:供电电源灯,红色,在扩展板正常供电状态下点亮

使用方法

数字端口

使用硬件

硬件连接

RB01C015A03.jpg

例子程序

/* LED 接 D4 引脚*/
void setup() 
{
  // initialize digital pin 13 as an output.
  pinMode(4, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
  digitalWrite(4, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(4, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
}

程序效果

LED 灯1秒钟频闪

模拟端口

使用硬件

硬件连接

RB01C015A04.jpg

例子程序

/* 旋转角度电位计模块接A0引脚*/
void setup() 
{
Serial.begin(9600);
}
void loop() 
{
Serial.println(analogRead(A0));
delay(100);
}

程序效果

通过串口监视器可以观察旋转角度电位计在转动过程中模拟量的变化

蓝牙端口

使用硬件

硬件连接

RB01C015A05.jpg

测试程序

主机测试程序
void setup() 
{ 
Serial.begin(115200); //设定波特率为 115200 
} 
void loop() 
{ 
Serial.println("www.robotbase.cn"); //串口输出 www.robotbase.cn 
delay(1000);                                    //延时 1 秒 
}
从机测试程序
char val;          //定义字符变量 val 
int ledpin=13;   //定义 ledpin 引脚为 13 
void setup() 
{ 
Serial.begin(115200);   //设定波特率为 115200 
pinMode(ledpin,OUTPUT); //设定 ledpin 引脚为输出状态 
} 
void loop() 
{ 
v al=Serial.read();      //读串口接收到的数据 
if(val!=-1) 
{ 
digitalWrite(ledpin,HIGH);   //ledpin 引脚写入高电平 
delay(500);                          //延时 0.5 秒 
digitalWrite(ledpin,LOW);        //ledpin 引脚写入低电平 
delay(500);                        //延时 0.5 秒 
Serial.print(val);                   //串口打印 val 的值 
} 
} 

程序效果

Wtgd15.jpg
使用串口助手观察结果,串口助手设置串口号为从机的串口号,波特率和程序设置的一致为 115200,其它默认即可,打开串口就可以看见结果。同时从机的数字口 13的 LED 灯会闪烁。

SPI端口

使用硬件

测试程序

#include "LCD12864RSPI.h"
#define AR_SIZE( a ) sizeof( a ) / sizeof( a[0] )
unsigned char show0[]={
  0xB9, 0xFE, 0xB6, 0xFB,0xB1, 0xF5, 0xB0, 0xC2, 0xCB, 0xC9, 0xBB, 0xFA, 0xC6, 0xF7, 0xC8, 0xCB}; //哈尔滨奥松机器人
unsigned char show1[]="www.alsrobot.cn";
void setup()
{
LCDA.Initialise(); // 屏幕初始化
delay(100);
}
 
void loop()
{
LCDA.CLEAR();//清屏
delay(100);
LCDA.DisplayString(0,0,show0,AR_SIZE(show0));//第一行第三格开始,显示文智位机器人
delay(100);
LCDA.DisplayString(2,0,show1,AR_SIZE(show1));;//第三行第二格开始,显示网址dfrobot.com/
delay(5000);
}

程序效果

程序上传后12864液晶文字显示:“奥松机器人,www.alsrobot.cn”

Xbee端口

使用硬件

硬件接线

01C015A10.jpg

测试程序

int ledPin = 13;
int val;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
Serial.print('A');
delay(1000);
val = Serial.read();
if (-1 != val) {
if ('A' == val) {
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
}
}
}

程序效果

两个扩展板的板载LED均每隔1秒闪烁一次。

IIC 端口

使用硬件

例子程序

#include <RobotBase_LED_Bar.h>
RobotBase_LED_Bar bar(A5, A4, 0);
void setup()
{
bar.begin();
}
void loop()
{
for (int i = 0; i <= 10; i++)
{
bar.setLevel(i);
delay(100);
}
}

程序效果

LED 条形模块扫描显示,每个LED连续显示亮灭

舵机控制

使用硬件

硬件连接

  • 将舵机1连接在控制器数字5引脚;
  • 将舵机2连接在控制器数字6引脚;
  • 滑条变阻器1连接在控制器模拟3引脚;
  • 滑条变阻器2连接在控制器模拟4引脚;
  • 7.4V 锂电池连接一个 UBEC 3A 稳压器给舵机进行供电;

实验代码

通过两个滑条变阻器来控制二自由度舵机云台的旋转

#include <Servo.h>
Servo servo1;
Servo servo2;
int pot1, pot2;
void setup()
{
  servo1.attach(5);
  servo2.attach(6);
  servo1.write(90);
  servo2.write(90);
}
void loop()
{
  pot1 = analogRead(A3);
  pot2 = analogRead(A4);
  pot1 = map(pot1,0,1023,0,180);
  pot2 = map(pot2,0,1023,0,180);
  servo1.write(pot1);
  servo2.write(pot2);
  delay(15);
}

程序效果

分别滑动两个滑条电阻器可以控制舵机0到180度旋转。
备注:这里使用的是金属齿电机,但是由于 Arduino UNO IO 接口电流输出能力低,所以驱动金属齿舵机工作不能稳定进行,需要单独供电,我们使用了一个 7.4 V 锂电池和降压器给舵机进行了供电,保证工作的稳定性,使用降压器的原因是:舵机供电电压范围是不超过 7.2 V 的,电压过大会导致舵机损坏。

产品相关推荐

Erweima.png

产品购买地址

Arduino XBee Sensor Shield

周边产品推荐

传感器扩展板V5.0
12864液晶扩展板
XBee 1mW ZigBee 无线数传模块

相关问题解答

Arduino XBee Sensor Shield 扩展板接口说明

相关学习资料

奥松机器人技术论坛