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

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

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

用自己聲音或智能手機控制RGB LED燈帶實現(xiàn)夢幻效果

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

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

電路圖及BOM表

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

pYYBAGLQviCAE40aAAGuiWnmn-Y003.png

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

操作說明

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

poYBAGLQvjqAHGh2AABnvYRkcoY871.png

最后,如果希望燈帶上的所有LED熄滅,那就用android程序發(fā)送字母一個‘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會將語音命令轉(zhuǎn)化成text文本,并通過手機的藍牙功能發(fā)送給另一部手機。具體操作步驟如下:
1.下載并安裝 Arduino Bluetooth controller 應(yīng)用程序。
2.打開并安裝該,程序會提示你開啟手機的藍牙功能。
3.Turn ON 藍牙功能。
4.程序?qū)ふ伊硪慌_藍牙設(shè)備,點按 “available device”就會發(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后,只要對著手機喊出顏色名稱,燈帶就會按照你的要求改變顏色了。

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

    關(guān)注

    242

    文章

    23321

    瀏覽量

    661901
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3939

    瀏覽量

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

    關(guān)注

    4

    文章

    800

    瀏覽量

    58598
收藏 人收藏

    評論

    相關(guān)推薦

    藍牙4.0 RGB LEDiPhone5控制方案

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

    智能手機

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

    智能手機如何判斷人臉的貼近

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

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

    ,它就是一個3D視頻播放器!是的,你沒有聽錯,它就是能讓手機上的視頻顯出立體效果的播放屏,相當于我們在電影院戴的3D眼鏡。是不是特別神奇?反正我是第一次見到這樣的寶貝,看到它才知道智能手機殼真的是有
    發(fā)表于 01-05 09:56

    自動對焦在智能手機的應(yīng)用

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

    你真的了解自己智能手機嗎?

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

    智能手機怎么才能更加智能?

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

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

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

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

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

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

    的新時代?!薄 ∥锫?lián)網(wǎng)孕育而生的LED智能一般由條、
    發(fā)表于 12-30 15:58

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

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

    8051通過HC-05藍牙模塊與智能手機通信控制門鎖

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

    手機led補光如何使用_智能手機拍照LED補光評測

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

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

    電子發(fā)燒友網(wǎng)站提供《LED轉(zhuǎn)向指示智能手機控制頭盔.zip》資料免費下載
    發(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'>智能手機</b><b class='flag-5'>控制</b>頭盔

    智能手機控制

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