SKU:RB-01C102 Steven控制器

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

目录

产品概述

Steven 控制器是一款基于 Leonardo 内核的 mini 控制器,主控芯片采用 ATMEGA32U4,但是“麻雀虽小,五脏俱全”板载一个数字 IO 接口、一个模拟 IO 接口及一个 I2C 接口。可通过外部电源供电(7-15V)也可以直接通过 Micro USB 接口供电,数字端口可驱动舵机工作。板载 4 颗 M3 固定孔,使用灵活,安装方便,PCB 采用沉金工艺,外观美观大方,非常适合用于控制器体积要求比较严格的场合。

产品参数

  1. 微控制器:ATMEGA32U4(处理速度可达16MIPS)
  2. 工作电压:DC +5V(Micro USB直接供电)
  3. 外部供电电压:建议 DC +7V - +15V
  4. 输出电压: DC +5V
  5. 数字接口:D10
  6. IIC 接口:1个(D2、D3)
  7. 模拟接口:A1
  8. 尺寸大小:30mm x 50mm
  9. 重量大小:8g
  10. 固定孔:M3 * 4个
  11. 复位按键:1个
  12. 指示灯:红色(供电指示灯)

接口说明

01C10203.png

详解说明:

  • 1号位置:数字接口(D10),可以输出 PWM 信号。
  • 2号位置:模拟输入接口(A1),用于连接输出是模拟量信号的传感器。
  • 3号位置:ICSP 下载接口,可用于烧录产品 bootloader
  • 4号位置:复位按键,按下后,控制器复位
  • 5号位置:USB 通信/供电接口,通过此接口连接控制器和PC,实现控制器与 PC 的通信和控制器的供电。
  • 6号位置:IIC 接口,连接到控制器的 D2、D3 接口,用来连接 IIC 接口模块或设备。
  • 7号位置:电源指示灯,当控制器供电正常即亮起。
  • 8号位置:外接供电端,用于连接电池或电源等外部供电。
  • 9号位置:控制器主控芯片 ATmega 32U4。

使用方法

驱动安装

1.软件下载(请下载 Arduino IDE 1.0.1以上版本),目前最新版本是 1.7.8
Arduino IDE 软件官方下载地址
进入官方的软件下载地址,根据电脑系统,选择相应的软件进行下载。

01C10204.png

2.软件安装

  • Arduino IDE 软件有绿色免安装版本,如果您下载的是绿色免安装版本的话,只需要进行解压,软件就可以正常使用。
  • Arduino IDE Installer 版本,如果下载安装版本的话,下载的文件是 .exe 安装文件,双击进行安装即可使用。

3.Steven 控制器驱动安装 软件安装完成后,接下来要安装 Steven 硬件驱动。
将 Steven 控制器上的 Micro USB 连接好之后,另外一端的 USB 连接到计算机任意一个 USB 接口,正常连接后,板载的红色供电指示灯亮起。 接下来系统就会出现 Arduino Leonardo 的 Windows Update 驱动程序安装画面。

Carduino Leonardo03.jpg

不过目前在 Windows Update 中还无法找到驱动程序。

Carduino Leonardo04.jpg

这时需要我们手动安装驱动,打开“控制面板”下的“设备管理器”

Carduino Leonardo05.jpg

这时在其他设备里会出现一个带有叹号的 Arduino Leonardo 设备。在上图标上点击右键选择“更新驱动程序软件”

Carduino Leonardo06.jpg

在“您想如何搜索驱动程序软件”中选择“浏览计算机以查找驱动程序软件”

Carduino Leonardo07.jpg

然后选择你Arduino IDE软件解压到盘符找到 Drivers 文件夹点击下一步

Carduino Leonardo08.jpg

这时会出现 Windows 无法验证此驱动程序软件发布者警告

Carduino Leonardo09.jpg
Carduino Leonardo10.jpg

安装完成后在“端口(COM和LPT)”下回生成一个新的端口我这里生成的是COM3

Carduino Leonardo11.jpg

IIC 接口使用

使用硬件

实验连接图

如图所示连接 Steven 控制器和数码管模块

01C10205.png

例子程序

将库文件放在 Arduino IDE 的 libraries 文件夹下,再复制下面的程序编译上传,否则会出现编译失败的问题。

#include <RobotBase_LED_Bar.h>
RobotBase_LED_Bar bar(3,2,0);//时钟 SCL 接 D3,数据 SDA 连 D2 

void setup(){
	bar.begin();
}
void loop(){
	bar.setGreenToRed(false);
	for (float i = 0; i < 10.1; i += 0.125) {
		bar.setLevel(i);
		delay(25);
	};
	for (float i = 0; i < 10.1; i += 0.125) {
		bar.setLevel(10-i);
		delay(25);
	};
	bar.setGreenToRed(true);
	for (float i = 0; i < 10.1; i += 0.125) {
		bar.setLevel(i);
		delay(25);
	};
	for (float i = 0; i < 10.1; i += 0.125) {
		bar.setLevel(10-i);
		delay(25);
	};
}

程序效果

编译上传无误的情况下,可以看到的现象是:LED Bar (条形 LED 模块)从左到右逐渐点亮又从右到左逐渐熄灭然后从右到左逐渐点亮再从左到右逐渐熄灭。

数字和模拟接口

使用硬件

实验连接图

01C10206.png

例子程序

#include <Servo.h>
Servo duoji;
int duration;                        //定义变量duration 用来存储脉冲
int distance;                        //定义变量distance 用来存储距离值
int SFR_distance;                    //定义超声波距离存储变量
int SFRPIN=A1;
void setup(){
  pinMode(10, OUTPUT);
  Serial.begin(9600);
}

void loop(){
  SFR_distance = Ultrasonic();    //将超声波读取的距离值赋值给val
  if(SFR_distance<50){         
    duoji.attach(10);
    duoji.writeMicroseconds(1580);  
    
  }  
  else duoji.detach();  
}
int Ultrasonic(){                     //红外避障处理函数
  distance = 0;                     //定义一个距离变量
  pinMode(SFRPIN,OUTPUT);
  digitalWrite(SFRPIN, LOW);        //高电平触发前发送2 微秒的低电平
  delayMicroseconds(15);
  digitalWrite(SFRPIN, HIGH);       //发送10 微秒的高电平开始检测
  delayMicroseconds(11);
  digitalWrite(SFRPIN, LOW);        //等待脉冲返回前发送一个低电平
  pinMode(SFRPIN, INPUT);
  duration = pulseIn(SFRPIN, HIGH); //从URF02 读取脉冲
  distance = duration/58;           //除以58 得到距离值
  Serial.print(" ju li = ");
  Serial.print(distance);
  Serial.println(" cm ");
  delay(1000);
  return distance;
}

程序效果

程序正常编译上传后,看到的现象是:物体在程序设定距离范围内(本程序设定为小于 50 cm),靠近超声波传感器,360度舵机以程序设定速度连续转动。当前障碍物距离可以通过 Arduino IDE 的串口监视器进行显示。如下图所示:

01C10207.png

产品相关推荐

Erweima.png

产品购买地址

Steven 控制器

周边产品推荐

Micro USB 数据线 控制器使用必备配件
原装进口 Arduino Micro 控制器
基于Arduino 电子积木

相关问题解答

相关学习资料

ATmega 32U4 芯片资料
奥松机器人技术论坛