KE0125 Keyes Voice ARM控制板 V1.0

  Arduino 兼容开发板

KE0125-3(1)

1、说明

Keyes Voice ARM控制板 V1.0是一款基于ATMEGA328微控制器的控制板,它上传的固件为UNO R3固件。为方便使用,扩展板自带一根60cm的黑色的mini USB线。使用时,控制板上mini USB接口连接mini USB线,既可以用于可控制板供电,又可以用于烧录测试代码。控制板上的POWER-1、POWER-2接口只用作DC 5V电源供电,提供大电流。并且控制板上自带一个复位按键;一个拨码开关,用于控制电源开关。

为方便外接其他传感器模块,控制板用间距为2.54mm的排针将一些常用的接口引出,如串口通信接口、I2C通信接口等。利用间距为2.54mm的白色接口,用于连接激光设备(5V),由D13控制。

同时,为了方便控制板进行扩展板实验,扩展板板上还自带有各种传感器等元件。如控制板自带4个SK6812-P4 RGB灯(D2控制),1个有源蜂鸣器(D3控制)。1个红外接收头(D4控制),2个光敏电阻元件(连接A6 A7),2个遥感元件(连接A0 A1 D7 A2 A3 D8)。

2、开发板参数

Micro USB输入:DC5V 1-2A

主芯片:MEGA 328P

串口芯片:CH340G

主芯片固件:UNO R3固件

Flash Memory:32 KB (ATmega328P-PU) of which 0.5 KB used by bootloader

SRAM:2 KB (ATmega328P-PU)

EEPROM:1 KB (ATmega328P-PU)

Clock Speed:16 MHz

尺寸:94.2*60mm

环保属性:ROHS

3、相关接口说明

KE0125-6

4、使用环境说明

4.1 Arduino介绍

什么是 Arduino?

Arduino是一款便捷灵活、方便上手的开源电子原型平台。它构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。主要包含两个主要的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。

4.2 Arduino IDE安装方法

首先,点击以下网站下载安装程序和驱动。

https://www.arduino.cc/en/Main/OldSoftwareReleases#1.5.x

点击下载arduino-1.5.6-r2-windows.zip文件,解压到文件夹。

双击Arduino-1.5.6 .exe,点击“I agree”。

点击“Next”。

然后点击“Install”。

等待安装成功, 然后点击close。

安装成功显示如下图。

7S25LCH1RSV4Q)GZE(R~)EQ

4.3 Arduino driver驱动安装方法

下面我们开始安装Arduino的驱动。

这个开发板的USB转串口芯片为CH340G,在有些电脑系统可以自动安装驱动程序,即将开发板连接到电脑上电脑右下角 有图标就代表在自动安装驱动。安装成功后, 右键点击 “计算机” —>“属性”—> “设备管理器”, 即可以看到对应的COM口。

我们还可以通过驱动精灵软件,对产品进行驱动安装,点击打开驱动精灵,点击驱动管理,即可看到CH340G的驱动,点击安装即可,安装成功后,使用上述方法进入设备管理器,即可以看到对应的COM口。

假如没有安装驱动精灵,需要安装这芯片的驱动,我们提供对应驱动,驱动为usb_ch341_3.1.2009.06,把该驱动放到D盘,然后开始安装驱动。在不同系统在安装驱动方式大同小异,这里我们在win7系统上开始安装驱动。

我们将开发板利用USB线连接到电脑, 右键点击 “计算机” —>“属性”—> “设备管理器”, 你可以看到 “USB2.0-Serial”.

点击 “USB2.0-Serial”, 选择 “更新驱动程序软件”.

在这页面, 点击 “浏览计算机以查找驱动程序软件”.

在D盘找到对应驱动,然后点击下一步.

驱动安装成功,点击 “关闭”。

驱动安装成功,我们就可以在设备管理器中看到对应的COM口。

测试代码

#include <IRremote.h>

#include <Adafruit_NeoPixel.h>

#define PIN 2

Adafruit_NeoPixel strip = Adafruit_NeoPixel(4, PIN, NEO_GRB + NEO_KHZ800);

int RECV_PIN = 4;

IRrecv irrecv(RECV_PIN);

decode_results results;

//////////////////////////////////////////////////////////////////////////

void IRrecv_()

{

if (irrecv.decode(&results))

{

Serial.println(results.value, HEX);

irrecv.resume(); // Receive the next value

}

}

//////////////////////////////////////////////////////////////////////////

void setup() {

Serial.begin(9600);

irrecv.enableIRIn(); // Start the receiver

strip.begin();

strip.show(); // Initialize all pixels to ‘off’

pinMode(3,OUTPUT);

}

//////////////////////////////////////////////////////////////////////////

void loop() {

if (irrecv.decode(&results))

{

irrecv.resume(); // Receive the next value

Serial.println(results.value, HEX);

}

if(results.value==0xFF30CF) //1

{

Serial.println(“RGB test:”);

colorWipe(strip.Color(127, 127, 127), 1000); // White

colorWipe(strip.Color(0, 0, 0), 500); // Clear

}

if(results.value==0xFF18E7) //2

{

Serial.println(“buzzer test:”);

digitalWrite(3,HIGH);

}

if(results.value!=0xFF18E7)

digitalWrite(3,LOW);

if(results.value==0xFF7A85) //3

{

Serial.println(“Laser test:”);

digitalWrite(13,HIGH);

}

if(results.value!=0xFF7A85)

digitalWrite(13,LOW);

if(results.value==0xFF10EF) //4

{

Serial.println(“CDS test:”);

Serial.print(“CDS1:”);

Serial.println(analogRead(A6));

Serial.print(“CDS2:”);

Serial.println(analogRead(A7));

}

if(results.value==0xFF38C7) //5

{

Serial.println(“JY test:”);

Serial.print(“JY1 X:”);

Serial.print(analogRead(A1));

Serial.print(” JY1 Y:”);

Serial.print(analogRead(A0));

Serial.print(” JY1 Z:”);

Serial.println(digitalRead(7));

Serial.print(“JY2 X:”);

Serial.print(analogRead(A3));

Serial.print(” JY2 Y:”);

Serial.print(analogRead(A2));

Serial.print(” JY3 Z:”);

Serial.println(digitalRead(8));

}

delay(500);

}

//////////////////////////////////////////////////////////////////////////

// Fill the dots one after the other with a color

void colorWipe(uint32_t c, uint8_t wait)

{

for(uint16_t i=0; i<strip.numPixels(); i++) {

strip.setPixelColor(i, c);

strip.show();

delay(wait);

}

}

//////////////////////////////////////////////////////////////////////////

//Theatre-style crawling lights.

void theaterChase(uint32_t c, uint8_t wait) {

for (int j=0; j<10; j++) { //do 10 cycles of chasing

for (int q=0; q < 3; q++) {

for (int i=0; i < strip.numPixels(); i=i+3) {

strip.setPixelColor(i+q, c); //turn every third pixel on

}

strip.show();

delay(wait);

for (int i=0; i < strip.numPixels(); i=i+3) {

strip.setPixelColor(i+q, 0); //turn every third pixel off

}

}

}

}

注意

1.在打开Arduino IDE上传代码前,要把Adafruit_NeoPixel文件夹和

Arduino_IRremote放到 编译器安装目录下的\Arduino\libraries里。不然编译不过。

例如我的:C:\Program Files (x86)\Arduino\libraries

2.在Arduino IDE上传代码前,需设置板为Arduino Uno和COM口(根据设备管理器中显示)。

3.上传代码成功后,测试时需要用到红外遥控。实验中我们用到的红外遥控产品链接为:

https://item.taobao.com/item.htm?spm=a1z10.3-c-s.w4002-441584794.25.4cab29bcECOIGv&id=13724448755

6、测试结果

上传前面测试代码成功后,利用mini USB线连接到电脑,拨码开关拨到ON,上电。打开串口监视器,设置波特率为9600。

红外遥控对照红外接收头按下1键,控制板上4个RGB灯类似流水灯循环亮白灯,串口监视器显示如下。

图片1

测试遥控图案

红外遥控对照红外接收头按下2键,控制板上有源蜂鸣器响起,串口监视器显示如下。

红外遥控对照红外接收头按下3键,控制板上有源蜂鸣器关闭,如果外接激光设备(5V驱动),激光设备发射对应激光,串口监视器显示如下。

红外遥控对照红外接收头按下4键,控制板上如果外接激光设备(5V驱动),激光设备关闭对应激光;串口监视器显示两个光敏电阻测试的对应光照的模拟值,光线越暗,数值越大。

红外遥控对照红外接收头按下5键,串口监视器显示两个摇杆对应位置的数值,分别代表两个摇杆X Y Z轴位置数值;X Y轴,对应两个模拟值,Z轴对应数字值,按下Z轴按键时,显示0,;如下图。

7、相关资料下载链接

https://pan.baidu.com/s/1W6OWPXwazYUSLeRLEbH32g

提取码为:oahy

Keyes Voice ARM控制板 V1.0

KE0125-3(1)

1、说明

Keyes Voice ARM控制板 V1.0是一款基于ATMEGA328微控制器的控制板,它上传的固件为UNO R3固件。为方便使用,扩展板自带一根60cm的黑色的mini USB线。使用时,控制板上mini USB接口连接mini USB线,既可以用于可控制板供电,又可以用于烧录测试代码。控制板上的POWER-1、POWER-2接口只用作DC 5V电源供电,提供大电流。并且控制板上自带一个复位按键;一个拨码开关,用于控制电源开关。

为方便外接其他传感器模块,控制板用间距为2.54mm的排针将一些常用的接口引出,如串口通信接口、I2C通信接口等。利用间距为2.54mm的白色接口,用于连接激光设备(5V),由D13控制。

同时,为了方便控制板进行扩展板实验,扩展板板上还自带有各种传感器等元件。如控制板自带4个SK6812-P4 RGB灯(D2控制),1个有源蜂鸣器(D3控制)。1个红外接收头(D4控制),2个光敏电阻元件(连接A6 A7),2个遥感元件(连接A0 A1 D7 A2 A3 D8)。

2、开发板参数

Micro USB输入:DC5V 1-2A

主芯片:MEGA 328P

串口芯片:CH340G

主芯片固件:UNO R3固件

Flash Memory:32 KB (ATmega328P-PU) of which 0.5 KB used by bootloader

SRAM:2 KB (ATmega328P-PU)

EEPROM:1 KB (ATmega328P-PU)

Clock Speed:16 MHz

尺寸:94.2*60mm

环保属性:ROHS

3、相关接口说明

KE0125-6

4、使用环境说明

4.1 Arduino介绍

什么是 Arduino?

Arduino是一款便捷灵活、方便上手的开源电子原型平台。它构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。主要包含两个主要的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。

4.2 Arduino IDE安装方法

首先,点击以下网站下载安装程序和驱动。

https://www.arduino.cc/en/Main/OldSoftwareReleases#1.5.x

点击下载arduino-1.5.6-r2-windows.zip文件,解压到文件夹。

双击Arduino-1.5.6 .exe,点击“I agree”。

点击“Next”。

然后点击“Install”。

等待安装成功, 然后点击close。

安装成功显示如下图。

7S25LCH1RSV4Q)GZE(R~)EQ

4.3 Arduino driver驱动安装方法

下面我们开始安装Arduino的驱动。

这个开发板的USB转串口芯片为CH340G,在有些电脑系统可以自动安装驱动程序,即将开发板连接到电脑上电脑右下角 有图标就代表在自动安装驱动。安装成功后, 右键点击 “计算机” —>“属性”—> “设备管理器”, 即可以看到对应的COM口。

我们还可以通过驱动精灵软件,对产品进行驱动安装,点击打开驱动精灵,点击驱动管理,即可看到CH340G的驱动,点击安装即可,安装成功后,使用上述方法进入设备管理器,即可以看到对应的COM口。

假如没有安装驱动精灵,需要安装这芯片的驱动,我们提供对应驱动,驱动为usb_ch341_3.1.2009.06,把该驱动放到D盘,然后开始安装驱动。在不同系统在安装驱动方式大同小异,这里我们在win7系统上开始安装驱动。

我们将开发板利用USB线连接到电脑, 右键点击 “计算机” —>“属性”—> “设备管理器”, 你可以看到 “USB2.0-Serial”.

点击 “USB2.0-Serial”, 选择 “更新驱动程序软件”.

在这页面, 点击 “浏览计算机以查找驱动程序软件”.

在D盘找到对应驱动,然后点击下一步.

驱动安装成功,点击 “关闭”。

驱动安装成功,我们就可以在设备管理器中看到对应的COM口。

测试代码

#include <IRremote.h>

#include <Adafruit_NeoPixel.h>

#define PIN 2

Adafruit_NeoPixel strip = Adafruit_NeoPixel(4, PIN, NEO_GRB + NEO_KHZ800);

int RECV_PIN = 4;

IRrecv irrecv(RECV_PIN);

decode_results results;

//////////////////////////////////////////////////////////////////////////

void IRrecv_()

{

if (irrecv.decode(&results))

{

Serial.println(results.value, HEX);

irrecv.resume(); // Receive the next value

}

}

//////////////////////////////////////////////////////////////////////////

void setup() {

Serial.begin(9600);

irrecv.enableIRIn(); // Start the receiver

strip.begin();

strip.show(); // Initialize all pixels to ‘off’

pinMode(3,OUTPUT);

}

//////////////////////////////////////////////////////////////////////////

void loop() {

if (irrecv.decode(&results))

{

irrecv.resume(); // Receive the next value

Serial.println(results.value, HEX);

}

if(results.value==0xFF30CF) //1

{

Serial.println(“RGB test:”);

colorWipe(strip.Color(127, 127, 127), 1000); // White

colorWipe(strip.Color(0, 0, 0), 500); // Clear

}

if(results.value==0xFF18E7) //2

{

Serial.println(“buzzer test:”);

digitalWrite(3,HIGH);

}

if(results.value!=0xFF18E7)

digitalWrite(3,LOW);

if(results.value==0xFF7A85) //3

{

Serial.println(“Laser test:”);

digitalWrite(13,HIGH);

}

if(results.value!=0xFF7A85)

digitalWrite(13,LOW);

if(results.value==0xFF10EF) //4

{

Serial.println(“CDS test:”);

Serial.print(“CDS1:”);

Serial.println(analogRead(A6));

Serial.print(“CDS2:”);

Serial.println(analogRead(A7));

}

if(results.value==0xFF38C7) //5

{

Serial.println(“JY test:”);

Serial.print(“JY1 X:”);

Serial.print(analogRead(A1));

Serial.print(” JY1 Y:”);

Serial.print(analogRead(A0));

Serial.print(” JY1 Z:”);

Serial.println(digitalRead(7));

Serial.print(“JY2 X:”);

Serial.print(analogRead(A3));

Serial.print(” JY2 Y:”);

Serial.print(analogRead(A2));

Serial.print(” JY3 Z:”);

Serial.println(digitalRead(8));

}

delay(500);

}

//////////////////////////////////////////////////////////////////////////

// Fill the dots one after the other with a color

void colorWipe(uint32_t c, uint8_t wait)

{

for(uint16_t i=0; i<strip.numPixels(); i++) {

strip.setPixelColor(i, c);

strip.show();

delay(wait);

}

}

//////////////////////////////////////////////////////////////////////////

//Theatre-style crawling lights.

void theaterChase(uint32_t c, uint8_t wait) {

for (int j=0; j<10; j++) { //do 10 cycles of chasing

for (int q=0; q < 3; q++) {

for (int i=0; i < strip.numPixels(); i=i+3) {

strip.setPixelColor(i+q, c); //turn every third pixel on

}

strip.show();

delay(wait);

for (int i=0; i < strip.numPixels(); i=i+3) {

strip.setPixelColor(i+q, 0); //turn every third pixel off

}

}

}

}

注意

1.在打开Arduino IDE上传代码前,要把Adafruit_NeoPixel文件夹和

Arduino_IRremote放到 编译器安装目录下的\Arduino\libraries里。不然编译不过。

例如我的:C:\Program Files (x86)\Arduino\libraries

2.在Arduino IDE上传代码前,需设置板为Arduino Uno和COM口(根据设备管理器中显示)。

3.上传代码成功后,测试时需要用到红外遥控。实验中我们用到的红外遥控产品链接为:

https://item.taobao.com/item.htm?spm=a1z10.3-c-s.w4002-441584794.25.4cab29bcECOIGv&id=13724448755

6、测试结果

上传前面测试代码成功后,利用mini USB线连接到电脑,拨码开关拨到ON,上电。打开串口监视器,设置波特率为9600。

红外遥控对照红外接收头按下1键,控制板上4个RGB灯类似流水灯循环亮白灯,串口监视器显示如下。

图片1

测试遥控图案

红外遥控对照红外接收头按下2键,控制板上有源蜂鸣器响起,串口监视器显示如下。

红外遥控对照红外接收头按下3键,控制板上有源蜂鸣器关闭,如果外接激光设备(5V驱动),激光设备发射对应激光,串口监视器显示如下。

红外遥控对照红外接收头按下4键,控制板上如果外接激光设备(5V驱动),激光设备关闭对应激光;串口监视器显示两个光敏电阻测试的对应光照的模拟值,光线越暗,数值越大。

红外遥控对照红外接收头按下5键,串口监视器显示两个摇杆对应位置的数值,分别代表两个摇杆X Y Z轴位置数值;X Y轴,对应两个模拟值,Z轴对应数字值,按下Z轴按键时,显示0,;如下图。

7、相关资料下载链接

https://pan.baidu.com/s/1W6OWPXwazYUSLeRLEbH32g

提取码为:oahy