耗材:
1。 顯然有電源
2個LED燈條。 Esp8266 /節點單片機
3。 紅外發射器領導者
4。 阻力
5。 編程電纜
6。 Arduino ide
7。 烙鐵 (一些基礎焊接)
8。 7805 IC (用於使用LED電源作為ESP電源)
9。 步驟1: 準備ESP
首先,將 nodemcu 連接到計算機或筆記本電腦。
現在安裝 nodemcu 的驅動程序(使用谷歌搜索)。
打開Arduino IDE後(當然需要下載安裝),點擊Arduino工具欄的Tools,然後點擊board,選擇board manager,搜索esp8266 installation(需要一定時間完成)
現在從Arduino工具欄中選擇“sketch”,選擇“include library”,然後選擇“manage library”,搜索“iremoteesp8266”並安裝它
現在,要僅通過“工具”完成配置,您需要進入“主板”並選擇“nodemcu 1.0 (ESP 12-e)”或其他版本的esp8266。
第 2 步:準備和測試 IR LED
首先,我們需要安裝
到這裡
識別您的 LED 燈帶,無論是 24 鍵還是 44 鍵(更大)遙控器
在這裡獲取遙控器代碼
安裝庫後,我們通過連接紅外 LED 來準備紅外 LED,如圖所示。 將紅外線連接到它,然後上傳以下草圖並將紅外線指向控制器。 LED 條應閃爍(開和關)// 同時使用 24 鍵和 44 鍵遙控器。
這是執行此操作的代碼。
#define IR_ OFF 0xF740BF //32 位的紅外反射代碼
#define IR_ON 0xF7C0
# 包括irsend irsend(4); // 紅外引腳
無效設置 () {
Irsend.begin();
}
Void loop() {
Irsend.sendNEC(IR_ON, 32);
延遲 (5000);
Irsend.sendNEC(IR_OFF, 32);
延遲 (5000);
}
第 3 步:接線和準備麥克風
我們將只使用 espe8266 A0 的模擬引腳作為模擬信號的輸入,並用它來觸發基於聲音的紅外信號
將引腳連接到 A0
將 5V 連接到 VIN(因為節點 MCU 沒有 5V 輸出)
這樣,我們將對準連接的IR LED D2引腳連接到LED燈條的接收器上。
A
第 4 步:上傳代碼並準備
#包括
#包括
#define 麥克風引腳 A0
聲音;
國際聲音1;
Const int irPin = 4; // d2IRsend irsend(irPin); void setup() {
Serial.begin(9600);
PinMode (微音素,輸入);
PinMode(irPin,輸出);}
//紅外線代碼
#define IR_ BPlus 0xFF3AC5 //
#define IR_ BMinus 0xFFBA45 //
#define IR_ON 0xFF827D //
#define IR_OFF 0xFF02FD //
#define IR_R 0xFF1AE5 //
#define IR_G 0xFF9A65 //
#define IR_B 0xFFA25D //
#define IR_W 0xFF22DD //
#define IR_B1 0xFF2AD5 //
#define IR_B2 0xFFAA55 //
#define IR_B3 0xFF926D //
#define IR_B4 0xFF12ED //
#define IR_B5 0xFF0AF5 //
#define IR_B6 0xFF8A75 //
#define IR_B7 0xFFB24D //
#define IR_B8 0xFF32CD //
#define IR_B9 0xFF38C7 //
#define IR_B10 0xFFB847 //
#define IR_B11 0xFF7887 //
#define IR_B12 0xFFF807 //
#define IR_B13 0xFF18E7 //
#define IR_B14 0xFF9867 //
#define IR_B15 0xFF58A7 //
#define IR_B16 0xFFD827 //
#define IR_UPR 0xFF28D7 //
#define IR_UPG 0xFFA857 //
#define IR_UPB 0xFF6897 //
#define IR_QUICK 0xFFE817 //
#define IR_DOWNR 0xFF08F7 //
#define IR_DOWNG 0xFF8877 //
#define IR_DOWNB 0xFF48B7 //
#define IR_SLOW 0xFFC837 //
#define IR_ DIY1 0xFF30CF //
#define IR_ DIY2 0xFFB04F //
#define IR_ DIY3 0xFF708F //
#define IR_AUTO 0xFFF00F //
#define IR_ DIY4 0xFF10EF //
#define IR_ DIY5 0xFF906F //
#define IR_ DIY6 0xFF50AF //
#define IR_FLASH 0xFFD02F //
#define IR_JUMP3 0xFF20DF //
#define IR_JUMP7 0xFFA05F //
#define IR_FADE3 0xFF609F //
#define IR_FADE7 0xFFE01F //
Void loop() {
聲音 = 模擬 (microphonePin); // 獲取輸入音頻信號讀數
Serial.print (聲音); // 輸入音頻信號讀數到串行顯示
串行。 打印 ( “” );
如果 (聲音》415)
{
Sound1 = map (聲音,415,750,140,255); // 將更高的頻率值映射到偏移量以上的150- 255
}
否則,如果 (聲音) 340 && 聲音《415) // 保持偏移量讀數為零刻度 .. 這裡的偏移量值在340-415範圍內 (偏移量值在1.45v) 。 它取決於電路中使用的元件。
{
Sound1 = 地圖 (聲音,340,415,0,9);
}
否則如果 (聲音《340》)
{
Sound1 = map (聲音,0,340,10,139); // 保持低於偏移讀數1-139的比例。
}
如果 (sound1》240)
{
Irsend.sendNEC(IR_FLASH, 32);
Irsend.sendNEC(IR_QUICK, 32);
Irsend.sendNEC(IR_QUICK, 32);
Irsend.sendNEC(IR_QUICK, 32);
Irsend.sendNEC(IR_QUICK, 32);
Irsend.sendNEC(IR_QUICK, 32);
Irsend.sendNEC(IR_QUICK, 32);
}
否則如果 ((sound1) 》200)
{
Irsend.sendNEC(IR_G, 32);
Irsend.sendNEC(IR_B, 32);
延遲 (120);}
否則如果 (sound1》160)
{
Irsend.sendNEC(IR_R, 32);
Irsend.sendNEC(IR_B, 32);
延遲 (120);
}
否則如果 (sound1》120)
{
Irsend.sendNEC(IR_B, 32);
延遲 (120);
}
否則如果 (sound1》80)
{
Irsend.sendNEC(IR_B, 32);
延遲 (120);
}
否則如果 (sound1》40)
{
Irsend.sendNEC(IR_G, 32);
延遲 (120);
}
否則如果 (sound1》10)
{
Irsend.sendNEC(IR_R, 32);
延遲 (120);}
其他耗材:
1. 明明有電源
2個LED燈條。 Esp8266 /節點單片機
3. 紅外線發射頭
4. 阻力
5. 編程電纜
6。 Arduino ide
7. 烙鐵(一些基本的焊接)
8. 7805 IC(用於LED電源作為ESP電源)
9. 第一步:準備ESP
首先,將 nodemcu 連接到計算機或筆記本電腦。
現在安裝 nodemcu 的驅動程序(使用谷歌搜索)。
打開Arduino IDE後(當然需要下載安裝),點擊Arduino工具欄的Tools,然後點擊board,選擇board manager,搜索esp8266 installation(需要一定時間完成)
現在從Arduino工具欄中選擇“sketch”,選擇“include library”,然後選擇“manage library”,搜索“iremoteesp8266”並安裝它
現在,要僅通過“工具”完成配置,您需要進入“主板”並選擇“nodemcu 1.0 (ESP 12-e)”或其他版本的esp8266。
第 2 步:準備和測試 IR LED
首先,我們需要安裝
到這裡
識別您的 LED 燈帶,無論是 24 鍵還是 44 鍵(更大)遙控器
在這裡獲取遙控器代碼
安裝庫後,我們通過連接紅外 LED 來準備紅外 LED,如圖所示。 將紅外線連接到它,然後上傳以下草圖並將紅外線指向控制器。 LED 燈條應閃爍(亮起和熄滅)。 // 24鍵和44鍵遙控器可以同時使用。
這是執行此操作的代碼。
#define IR_OFF 0xF740BF //32 位的紅外電阻代碼
#define IR_ON 0xF7C0
#包括
IRsend irsend(4); // 紅外引腳
無效設置 () {
Irsend.begin();
}
Void loop() {
Irsend.sendNEC(IR_ON, 32);
延遲 (5000);
Irsend.sendNEC(IR_OFF, 32);
延遲 (5000);
}
第 3 步:接線和準備麥克風
我們將只使用 espe8266 A0 的模擬引腳作為模擬信號的輸入,並用它來觸發基於聲音的紅外信號
將引腳連接到 A0
將 5V 連接到 VIN(因為節點 MCU 沒有 5V 輸出)
這樣,我們將對準連接的IR LED D2引腳連接到LED燈條的接收器上。
A
第 4 步:上傳代碼並準備
#包括
#包括
#define 麥克風引腳 A0
聲音;
國際聲音1;
Const int irPin = 4; // d2IRsend irsend(irPin);void setup() {
Serial.begin(9600);
PinMode (微音素,輸入);
PinMode(irPin,輸出);}
//紅外線代碼
#define IR_BPlus 0xFF3AC5 //
#define IR_BMinus 0xFFBA45 //
#define IR_ON 0xFF827D //
#define IR_OFF 0xFF02FD //
#define IR_R 0xFF1AE5 //
#define IR_G 0xFF9A65 //
#define IR_B 0xFFA25D //
#define IR_W 0xFF22DD //
#define IR_B1 0xFF2AD5 //
#define IR_B2 0xFFAA55 //
#define IR_B3 0xFF926D //
#define IR_B4 0xFF12ED //
#define IR_B5 0xFF0AF5 //
#define IR_B6 0xFF8A75 //
#define IR_B7 0xFFB24D //
#define IR_B8 0xFF32CD //
#define IR_B9 0xFF38C7 //
#define IR_B10 0xFFB847 //
#define IR_B11 0xFF7887 //
#define IR_B12 0xFFF807 //
#define IR_B13 0xFF18E7 //
#define IR_B14 0xFF9867 //
#define IR_B15 0xFF58A7 //
#define IR_B16 0xFFD827 //
#define IR_UPR 0xFF28D7 //
#define IR_UPG 0xFFA857 //
#define IR_UPB 0xFF6897 //
#define IR_QUICK 0xFFE817 //
#define IR_DOWNR 0xFF08F7 //
#define IR_DOWNG 0xFF8877 //
#define IR_DOWNB 0xFF48B7 //
#define IR_SLOW 0xFFC837 //
#define IR_DIY1 0xFF30CF //
#define IR_DIY2 0xFFB04F //
#define IR_DIY3 0xFF708F //
#define IR_AUTO 0xFFF00F //
#define IR_DIY4 0xFF10EF //
#define IR_DIY5 0xFF906F //
#define IR_DIY6 0xFF50AF //
#define IR_FLASH 0xFFD02F //
#define IR_JUMP3 0xFF20DF //
#define IR_JUMP7 0xFFA05F //
#define IR_FADE3 0xFF609F //
#define IR_FADE7 0xFFE01F //
Void loop() {
聲音 = 模擬 (microphonePin); // 獲取輸入音頻信號讀數
Serial.print (聲音); // 輸入音頻信號讀數到串行顯示
串行。 打印 ( “” );
如果 (聲音》415)
{
Sound1 = map (聲音,415,750,140,255); // 將更高的頻率值映射到偏移量以上的150- 255
}
否則,如果 (聲音) 340 && 聲音《415) // 保持偏移量讀數為零刻度 .. 這裡的偏移量值在340-415範圍內 (偏移量值在1.45v) 。 它取決於電路中使用的元件。
{
Sound1 = 地圖 (聲音,340,415,0,9);
}
否則如果 (聲音《340》)
{
Sound1 = map (聲音,0,340,10,139); // 保持低於偏移讀數1-139的比例。
}
如果 (sound1》240)
{
Irsend.sendNEC(IR_FLASH, 32);
Irsend.sendNEC(IR_QUICK, 32);
Irsend.sendNEC(IR_QUICK, 32);
Irsend.sendNEC(IR_QUICK, 32);
Irsend.sendNEC(IR_QUICK, 32);
Irsend.sendNEC(IR_QUICK, 32);
Irsend.sendNEC(IR_QUICK, 32);
}
否則如果 ((sound1) 》200)
{
Irsend.sendNEC(IR_G, 32);
Irsend.sendNEC(IR_B, 32);
延遲 (120);}
否則如果 (sound1》160)
{
Irsend.sendNEC(IR_R, 32);
Irsend.sendNEC(IR_B, 32);
延遲 (120);
}
否則如果 (sound1》120)
{
Irsend.sendNEC(IR_B, 32);
延遲 (120);
}
否則如果 (sound1》80)
{
Irsend.sendNEC(IR_B, 32);
延遲 (120);
}
否則如果 (sound1》40)
{
Irsend.sendNEC(IR_G, 32);
延遲 (120);
}
否則如果 (sound1》10)
{
Irsend.sendNEC(IR_R, 32);
延遲 (120);}
別的
{
Irsend.sendNEC(IR_FADE7, 32);
延遲 (120);
} Serial.println (聲音1);
延遲 (50);
}
{
Irsend.sendNEC(IR_FADE7, 32);
延遲 (120);
} Serial.println (聲音1);
德拉