0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用自己聲音或智能手機(jī)控制RGB LED燈帶實(shí)現(xiàn)夢(mèng)幻效果

芯情觀察猿 ? 來源:芯情觀察猿 ? 作者:芯情觀察猿 ? 2022-07-15 09:11 ? 次閱讀

本項(xiàng)目將使用智能手機(jī)設(shè)置RGB LED燈帶的顏色,這些RGB燈帶內(nèi)建藍(lán)牙功能,可接收智能手機(jī)上的android應(yīng)用程序發(fā)送的指令。這樣,我們就可以通過手機(jī)控制RGB LED燈帶的顏色了。如果你覺得這還不夠酷,文章后部分介紹的是聲控RGB LED燈帶的制作,同一電路,兩種用途!

電路圖及BOM表

本項(xiàng)目只有三個(gè)關(guān)鍵組件,BOM表如下:
- Bluetooth模組(HC05)
- Arduino NANO開發(fā)板
- 可尋址RGB LED燈帶
- 杜邦線

pYYBAGLQviCAE40aAAGuiWnmn-Y003.png

RGB LED燈帶只有三個(gè)接口線:12V、Gnd、Din。其中,Din用于數(shù)據(jù)輸入,連接于Arduino開發(fā)板的數(shù)字引腳D13;燈帶和Arduino NANO開發(fā)板使用來自適配器的同一12V電源供電。
HC05具有四個(gè)引腳:Vcc、Gnd、TXD、RXD。其中,Vcc引腳從Arduino開發(fā)板的5V供電;Gnd連接于公共接地引腳,TXD和RXD分別連接于數(shù)字引腳D4、D5。

操作說明

電路從適配器供電后,燈帶的所有LED熄滅,只有HC05模組閃爍,表示正在尋找另一個(gè)即將配對(duì)的藍(lán)牙設(shè)備。
如果希望改變燈帶顏色,就用智能手機(jī)發(fā)送配對(duì)信息,HC05模組的默認(rèn)密碼為1234。當(dāng)手機(jī)與HC05模組連接后,閃爍速度將會(huì)慢下來。
用手機(jī)輸入并發(fā)送字母‘R’,手機(jī)就通過藍(lán)牙把‘R’發(fā)送給HC05模組。HC05模組收到‘R’后,將通過串口將其發(fā)送給 Arduino。
Arduino收到‘R’后,就把數(shù)據(jù)傳遞給 RGB 燈帶,并設(shè)置燈帶中所有RGB LED燈珠的顏色為紅色(RED),燈帶中的所有LED燈珠以紅色(RED)方式點(diǎn)亮。
同樣,用android應(yīng)用程序發(fā)送如下字母,將看到預(yù)期的燈帶顏色。

poYBAGLQvjqAHGh2AABnvYRkcoY871.png

最后,如果希望燈帶上的所有LED熄滅,那就用android程序發(fā)送字母一個(gè)‘X’吧。

有趣吧!以下是本項(xiàng)目的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;

}

}

}

項(xiàng)目升級(jí):聲控LED燈帶


如果覺得藍(lán)牙還不夠方便,那就來個(gè)聲控的!也就是說,你可以說出想要的LED燈帶顏色。例如,你大聲說“BLUE”,LED燈帶就顯示藍(lán)色了!!!!

其實(shí),這無需額外電路,只要從Google商店下載一個(gè)“Arduino Bluetooth controller” app即可,這個(gè)app會(huì)將語音命令轉(zhuǎn)化成text文本,并通過手機(jī)的藍(lán)牙功能發(fā)送給另一部手機(jī)。具體操作步驟如下:
1.下載并安裝 Arduino Bluetooth controller 應(yīng)用程序。
2.打開并安裝該,程序會(huì)提示你開啟手機(jī)的藍(lán)牙功能。
3.Turn ON 藍(lán)牙功能。
4.程序?qū)ふ伊硪慌_(tái)藍(lán)牙設(shè)備,點(diǎn)按 “available device”就會(huì)發(fā)現(xiàn) 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后,只要對(duì)著手機(jī)喊出顏色名稱,燈帶就會(huì)按照你的要求改變顏色了。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    240

    文章

    23073

    瀏覽量

    657095
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3917

    瀏覽量

    127045
  • RGB
    RGB
    +關(guān)注

    關(guān)注

    4

    文章

    797

    瀏覽量

    58339
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    藍(lán)牙4.0 RGB LEDiPhone5控制方案

    `藍(lán)牙4.0 RGB LEDiPhone5控制方案 智能手機(jī)雖然都有藍(lán)牙功能,但除了用來連接耳機(jī)跟鍵盤,實(shí)際效用實(shí)在有限?;蛘?,拿來遙控?zé)?/div>
    發(fā)表于 03-21 11:22

    智能手機(jī)

    智能手機(jī)圖紙誰有呢能看清
    發(fā)表于 06-23 19:55

    智能手機(jī)如何判斷人臉的貼近

    智能手機(jī)里應(yīng)用的傳感器是多種多樣的,其中距離傳感器就是智能手機(jī)里面經(jīng)常應(yīng)用的一種傳感器,距離傳感器有什么作用呢?我們都知道,智能手機(jī)都是觸屏手機(jī),當(dāng)人體接觸屏幕時(shí),能激活相應(yīng)用的應(yīng)用軟
    發(fā)表于 09-30 16:03

    你怎么定義智能手機(jī)殼,覺得高科技+手機(jī)殼=智能手機(jī)殼嗎?!

    ,它就是一個(gè)3D視頻播放器!是的,你沒有聽錯(cuò),它就是能讓手機(jī)上的視頻顯出立體效果的播放屏,相當(dāng)于我們?cè)陔娪霸捍鞯?D眼鏡。是不是特別神奇?反正我是第一次見到這樣的寶貝,看到它才知道智能手機(jī)殼真的是有
    發(fā)表于 01-05 09:56

    自動(dòng)對(duì)焦在智能手機(jī)的應(yīng)用

    作者:高級(jí)產(chǎn)品營(yíng)銷經(jīng)理Jason Whetstone當(dāng)今最想要的智能手機(jī)特性對(duì)于許多用戶,相機(jī)性能已成為一臺(tái)智能手機(jī)最重要的方面。社交媒體和線上業(yè)務(wù)使每個(gè)人都成為攝影師影片導(dǎo)演,輔以幾百萬像素
    發(fā)表于 07-16 08:50

    你真的了解自己智能手機(jī)嗎?

    當(dāng)你每天在用智能手機(jī)打電話、發(fā)短信、玩兒網(wǎng)絡(luò)游戲、轉(zhuǎn)微博等等一系列的溝通行為的時(shí)候,有沒有想到過,這一切的一切都是通過手機(jī)上的天線模塊來實(shí)現(xiàn)的。如果沒有天線,智能手機(jī)將變成一臺(tái)單機(jī)游戲
    發(fā)表于 08-13 06:03

    智能手機(jī)怎么才能更加智能?

    很明顯,智能手機(jī)不僅融入了我們的日常商業(yè)活動(dòng),而且融入了我們的日常生活。過去,智能手機(jī)被定義為采用專用操作系統(tǒng)(OS)的蜂窩電話。這意味著智能手機(jī)可以增加安裝/刪除應(yīng)用軟件,雖然這種
    發(fā)表于 08-20 08:32

    如何設(shè)計(jì)智能手機(jī)省電系統(tǒng)?

    智能手機(jī)中包含了很多耗能設(shè)備, 諸如MP3、MPEG- 4、Wi-Fi、數(shù)碼相機(jī)、3D 游戲等等。在手機(jī)電池容量還沒有實(shí)現(xiàn)質(zhì)的飛躍的前提下, 我們不得不考慮手機(jī)電源節(jié)能的問題。我主要通
    發(fā)表于 11-05 08:03

    智能手機(jī)控制的Arduino心情制作方法

    制作一個(gè)使用智能手機(jī)控制的Arduino心情
    發(fā)表于 03-26 11:44

    led智能控制板模塊解決方案分享

    的新時(shí)代。”  物聯(lián)網(wǎng)孕育而生的LED智能一般由條、
    發(fā)表于 12-30 15:58

    怎么實(shí)現(xiàn)使用智能手機(jī)控制風(fēng)扇速度

    描述支持物聯(lián)網(wǎng)的智能風(fēng)扇速度控制器 PCB 板這個(gè)項(xiàng)目背后的動(dòng)機(jī)是每次我們需要靠近配電盤來打開/關(guān)閉減慢風(fēng)扇。但是這個(gè)支持物聯(lián)網(wǎng)的風(fēng)扇速度控制器允許我們坐在遠(yuǎn)離
    發(fā)表于 07-01 06:13

    8051通過HC-05藍(lán)牙模塊與智能手機(jī)通信控制門鎖

    描述使用8051的藍(lán)牙門鎖使用您的智能手機(jī)通過藍(lán)牙控制您家的門鎖。 系統(tǒng)使用 8051 通過 HC-05 藍(lán)牙模塊與智能手機(jī)通信,如果密碼正確,則控制電機(jī)
    發(fā)表于 09-14 06:45

    手機(jī)led補(bǔ)光如何使用_智能手機(jī)拍照LED補(bǔ)光評(píng)測(cè)

    手機(jī)補(bǔ)光燈具有亮度高,反應(yīng)快,顯像效果好,照射范圍寬,加齊納穩(wěn)壓二級(jí)管抗靜電穩(wěn)定性強(qiáng)的特點(diǎn)。品質(zhì)過硬,應(yīng)用于高端智能手機(jī),平板電腦,及電子通訊攝像設(shè)備上,超高亮度LED閃光
    發(fā)表于 01-16 14:52 ?1.5w次閱讀

    LED轉(zhuǎn)向指示智能手機(jī)控制頭盔

    電子發(fā)燒友網(wǎng)站提供《LED轉(zhuǎn)向指示智能手機(jī)控制頭盔.zip》資料免費(fèi)下載
    發(fā)表于 11-11 09:13 ?0次下載
    <b class='flag-5'>帶</b><b class='flag-5'>LED</b>轉(zhuǎn)向指示<b class='flag-5'>燈</b>的<b class='flag-5'>智能手機(jī)</b><b class='flag-5'>控制</b>頭盔

    智能手機(jī)控制

    電子發(fā)燒友網(wǎng)站提供《智能手機(jī)控制.zip》資料免費(fèi)下載
    發(fā)表于 06-29 09:57 ?0次下載
    <b class='flag-5'>智能手機(jī)</b><b class='flag-5'>控制</b><b class='flag-5'>燈</b>