0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用自己声音或智能手机控制RGB LED灯带实现梦幻效果

芯情观察猿 来源:芯情观察猿 作者:芯情观察猿 2022-07-15 09:11 次阅读

本项目将使用智能手机设置RGB LED灯带的颜色,这些RGB灯带内建蓝牙功能,可接收智能手机上的android应用程序发送的指令。这样,我们就可以通过手机控制RGB LED灯带的颜色了。如果你觉得这还不够酷,文章后部分介绍的是声控RGB LED灯带的制作,同一电路,两种用途!

电路图及BOM表

本项目只有三个关键组件,BOM表如下:
- Bluetooth模组(HC05)
- Arduino NANO开发板
- 可寻址RGB LED灯带
- 杜邦线

pYYBAGLQviCAE40aAAGuiWnmn-Y003.png

RGB LED灯带只有三个接口线:12V、Gnd、Din。其中,Din用于数据输入,连接于Arduino开发板的数字引脚D13;灯带和Arduino NANO开发板使用来自适配器的同一12V电源供电
HC05具有四个引脚:Vcc、Gnd、TXD、RXD。其中,Vcc引脚从Arduino开发板的5V供电;Gnd连接于公共接地引脚,TXD和RXD分别连接于数字引脚D4、D5。

操作说明

电路从适配器供电后,灯带的所有LED熄灭,只有HC05模组闪烁,表示正在寻找另一个即将配对的蓝牙设备。
如果希望改变灯带颜色,就用智能手机发送配对信息,HC05模组的默认密码为1234。当手机与HC05模组连接后,闪烁速度将会慢下来。
用手机输入并发送字母‘R’,手机就通过蓝牙把‘R’发送给HC05模组。HC05模组收到‘R’后,将通过串口将其发送给 Arduino。
Arduino收到‘R’后,就把数据传递给 RGB 灯带,并设置灯带中所有RGB LED灯珠的颜色为红色(RED),灯带中的所有LED灯珠以红色(RED)方式点亮。
同样,用android应用程序发送如下字母,将看到预期的灯带颜色。

poYBAGLQvjqAHGh2AABnvYRkcoY871.png

最后,如果希望灯带上的所有LED熄灭,那就用android程序发送字母一个‘X’吧。

有趣吧!以下是本项目的Arduino代码:

#include

#include

#define NUM_LEDS 40

#define DATA_PIN1 13

#define Tx_pin 4

#define Rx_pin 5

int i;

char recv_char;

CRGB led_strip1[NUM_LEDS];

SoftwareSerial BT_serial(Rx_pin,Tx_pin);

void setup()

{

FastLED.addLeds(led_strip1, NUM_LEDS);,>

for(i=0;i;i++)>

FastLED.show();

delay(1000);

for(i=0;i;i++)>

FastLED.show();

delay(1000);

for(i=0;i;i++)>

FastLED.show();

delay(1000);

BT_serial.begin(9600);

BT_serial.println("select desire colour");
}

void loop()

{

if(BT_serial.available())

{

recv_char = BT_serial.read();

BT_serial.println(recv_char);

switch(recv_char)

{

BT_serial.println(recv_char);

case 'R':

for(i=0;i;i++)>

FastLED.show();

break;

case 'Y':

for(i=0;i;i++)>

FastLED.show();

break;

case 'O':

for(i=0;i;i++)>

FastLED.show();

break;

case 'G':

for(i=0;i;i++)>

FastLED.show();

break;

case 'L':

for(i=0;i;i++)>

FastLED.show();

break;

case 'B':

for(i=0;i;i++)>

FastLED.show();

break;

case 'S':

for(i=0;i;i++)>

FastLED.show();

break;

case 'C':

for(i=0;i;i++)>

FastLED.show();

break;

case 'P':

for(i=0;i;i++)>

FastLED.show();

break;

case 'M':

for(i=0;i;i++)>

FastLED.show();

break;

case 'x':

for(i=0;i;i++)>

FastLED.show();

break;

case 'W':

for(i=0;i;i++)>

FastLED.show();

break;

}

}

}

项目升级:声控LED灯带


如果觉得蓝牙还不够方便,那就来个声控的!也就是说,你可以说出想要的LED灯带颜色。例如,你大声说“BLUE”,LED灯带就显示蓝色了!!!!

其实,这无需额外电路,只要从Google商店下载一个“Arduino Bluetooth controller” app即可,这个app会将语音命令转化成text文本,并通过手机的蓝牙功能发送给另一部手机。具体操作步骤如下:
1.下载并安装 Arduino Bluetooth controller 应用程序。
2.打开并安装该,程序会提示你开启手机的蓝牙功能。
3.Turn ON 蓝牙功能。
4.程序将寻找另一台蓝牙设备,点按 “available device”就会发现 HC05模组。
5.最后,连接 HC05 模组。
6.下载如下 Arduino 代码:

#include

#include


#define NUM_LEDS 43

#define DATA_PIN1 4

#define Tx_pin 3

#define Rx_pin 2

int i,j=0,k;

char recv_color_str[8];

char red[4] = "red";

char green[6] = "green";

char blue[5] = "blue";

char magenta[8] = "Magenta";

char yellow[7] = "yellow";

char orange[7] = "orange";

char white[6] = "white";

char purple[7] = "purple";

char rainbow[8] = "rainbow";

char black[6] = "black";

CRGB led_strip1[NUM_LEDS];

SoftwareSerial BT_serial(Rx_pin,Tx_pin);

void setup()

{

FastLED.addLeds(led_strip1, NUM_LEDS);,>

for(i=0;i;i++)>

FastLED.show();

delay(1000);

for(i=0;i;i++)>

FastLED.show();

delay(1000);

for(i=0;i;i++)>

FastLED.show();

delay(1000);

BT_serial.begin(9600);

// Serial.begin(9600);

//Serial.println("select desire colour");

}

void loop()

{

while(BT_serial.available())

{

if(BT_serial.available()>0)

{

recv_color_str[j] = BT_serial.read();

Serial.print(recv_color_str[j]);

j++;

}

}

if(strcmp(recv_color_str,black)==0)

{

//Serial.println(recv_color_str);

for(i=0;i;i++)>

FastLED.show();

j=0;

for(k=0;k<8;k++) recv_color_str[k] = '\0';

}

else if(strcmp(recv_color_str,red)==0)

{

//Serial.println(recv_color_str);

for(i=0;i;i++)>

FastLED.show();

j=0;

for(k=0;k<8;k++) recv_color_str[k] = '\0';

}

else if(strcmp(recv_color_str,purple)==0)

{

// Serial.println(recv_color_str);

for(i=0;i;i++)>

FastLED.show();

j=0;

for(k=0;k<8;k++) recv_color_str[k] = '\0';

}

else if(strcmp(recv_color_str,white)==0)

{

// Serial.println(recv_color_str);

for(i=0;i;i++)>

FastLED.show();

j=0;

for(k=0;k<8;k++) recv_color_str[k] = '\0';

}

else if(strcmp(recv_color_str,green)==0)

{

// Serial.println(recv_color_str);

for(i=0;i;i++)>

FastLED.show();

j=0;

for(k=0;k<8;k++) recv_color_str[k] = '\0';

}

else if(strcmp(recv_color_str,blue)==0)

{

// Serial.println(recv_color_str);

for(i=0;i;i++)>

FastLED.show();

j=0;

for(k=0;k<8;k++) recv_color_str[k] = '\0';

}

else if(strcmp(recv_color_str,yellow)==0)

{

//Serial.println(recv_color_str);

for(i=0;i;i++)>

FastLED.show();

j=0;

for(k=0;k<8;k++) recv_color_str[k] = '\0';

}

else if(strcmp(recv_color_str,orange)==0)

{

// Serial.println(recv_color_str);

for(i=0;i;i++)>

FastLED.show();

j=0;

for(k=0;k<8;k++) recv_color_str[k] = '\0';

}

else if(strcmp(recv_color_str,magenta)==0)

{

//Serial.println(recv_color_str);

for(i=0;i;i++)>

FastLED.show();

j=0;

for(k=0;k<8;k++) recv_color_str[k] = '\0';

}

else if(strcmp(recv_color_str,rainbow)==0)

{

//Serial.println(recv_color_str);

for(i=0;i<3;i++) {led_strip1[i] = CRGB::Yellow;}

for(i=3;i<6;i++) {led_strip1[i] = CRGB::Magenta;}

for(i=6;i<9;i++) {led_strip1[i] = CRGB::Orange;}

for(i=9;i<12;i++) {led_strip1[i] = CRGB::Blue;}

for(i=12;i<15;i++) {led_strip1[i] = CRGB::Green;}

for(i=15;i<18;i++) {led_strip1[i] = CRGB::Red;}

for(i=18;i<21;i++) {led_strip1[i] = CRGB::Cyan;}

for(i=21;i<24;i++) {led_strip1[i] = CRGB::Yellow;}

for(i=24;i<27;i++) {led_strip1[i] = CRGB::Magenta;}

for(i=27;i<30;i++) {led_strip1[i] = CRGB::Orange;}

for(i=30;i<33;i++) {led_strip1[i] = CRGB::Blue;}

for(i=33;i<36;i++) {led_strip1[i] = CRGB::Green;}

for(i=36;i<39;i++) {led_strip1[i] = CRGB::Red;}

for(i=39;i<43;i++) {led_strip1[i] = CRGB::Cyan;}

FastLED.show();

j=0;

for(k=0;k<8;k++) recv_color_str[k] = '\0';

}

else

{

j=0;

for(k=0;k<8;k++) recv_color_str[k] = '\0';

}

}


将这些代码上传到 Arduino IDE后,只要对着手机喊出颜色名称,灯带就会按照你的要求改变颜色了。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    237

    文章

    22450

    浏览量

    645894
  • Android
    +关注

    关注

    12

    文章

    3851

    浏览量

    125644
  • RGB
    RGB
    +关注

    关注

    4

    文章

    763

    浏览量

    57412
收藏 人收藏

    评论

    相关推荐

    蓝牙4.0 RGB LEDiPhone5控制方案

    `蓝牙4.0 RGB LEDiPhone5控制方案 智能手机虽然都有蓝牙功能,但除了用来连接耳机跟键盘,实际效用实在有限。或者,拿来遥控灯
    发表于 03-21 11:22

    【转】智能手机如何“越狱”和ROOT?

    update from sdcard,按HOME键确认。系统更新完成后,将光标放在reboot system now上,再按HOME键,手机自动重启,ROOT完成。特别提示:智能手机越狱ROOT后
    发表于 06-08 14:48

    智能手机

    智能手机图纸谁有呢能看清
    发表于 06-23 19:55

    智能手机外置无线微型投影仪!!

    很厉害,为了提升移动电源附加值,我司可以提供移动电源加微型投影方案,给手机充电的同时可以可以投影,实现一机多用,分享手机拍摄及存储内容,可以兼容所有智能手机,有相当的利润。对于
    发表于 09-27 11:05

    智能手机如何判断人脸的贴近

    智能手机里应用的传感器是多种多样的,其中距离传感器就是智能手机里面经常应用的一种传感器,距离传感器有什么作用呢?我们都知道,智能手机都是触屏手机,当人体接触屏幕时,能激活相应用的应用软
    发表于 09-30 16:03

    你怎么定义智能手机壳,觉得高科技+手机壳=智能手机壳吗?!

    ,它就是一个3D视频播放器!是的,你没有听错,它就是能让手机上的视频显出立体效果的播放屏,相当于我们在电影院戴的3D眼镜。是不是特别神奇?反正我是第一次见到这样的宝贝,看到它才知道智能手机壳真的是有
    发表于 01-05 09:56

    自动对焦在智能手机的应用

    作者:高级产品营销经理Jason Whetstone当今最想要的智能手机特性对于许多用户,相机性能已成为一台智能手机最重要的方面。社交媒体和线上业务使每个人都成为摄影师影片导演,辅以几百万像素
    发表于 07-16 08:50

    你真的了解自己智能手机吗?

    当你每天在用智能手机打电话、发短信、玩儿网络游戏、转微博等等一系列的沟通行为的时候,有没有想到过,这一切的一切都是通过手机上的天线模块来实现的。如果没有天线,智能手机将变成一台单机游戏
    发表于 08-13 06:03

    智能手机怎么才能更加智能

    很明显,智能手机不仅融入了我们的日常商业活动,而且融入了我们的日常生活。过去,智能手机被定义为采用专用操作系统(OS)的蜂窝电话。这意味着智能手机可以增加安装/删除应用软件,虽然这种
    发表于 08-20 08:32

    如何设计智能手机省电系统?

    智能手机中包含了很多耗能设备, 诸如MP3、MPEG- 4、Wi-Fi、数码相机、3D 游戏等等。在手机电池容量还没有实现质的飞跃的前提下, 我们不得不考虑手机电源节能的问题。我主要通
    发表于 11-05 08:03

    智能手机控制的Arduino心情制作方法

    制作一个使用智能手机控制的Arduino心情
    发表于 03-26 11:44

    led智能控制板模块解决方案分享

    的新时代。”  物联网孕育而生的LED智能一般由条、
    发表于 12-30 15:58

    如何利用智能手机耳机接口音频传输实现智能手机拓展监测环境温度、湿度的应用设计?

    本文介绍一种利用智能手机耳机接口音频传输,来实现智能手机拓展监测环境温度、湿度的应用设计与实现方案,同时提出了可兼容2种不同耳机接口标准的解决方案,增强了
    发表于 05-11 06:50

    怎么实现使用智能手机控制风扇速度

    描述支持物联网的智能风扇速度控制器 PCB 板这个项目背后的动机是每次我们需要靠近配电盘来打开/关闭减慢风扇。但是这个支持物联网的风扇速度控制器允许我们坐在远离
    发表于 07-01 06:13

    8051通过HC-05蓝牙模块与智能手机通信控制门锁

    描述使用8051的蓝牙门锁使用您的智能手机通过蓝牙控制您家的门锁。 系统使用 8051 通过 HC-05 蓝牙模块与智能手机通信,如果密码正确,则控制电机
    发表于 09-14 06:45