最近整理電子零件,發現一塊朋友送贈的 ESP8266 NodeMCU
雖然 ESP8266 NodeMCU 並不是很新的開發板,但既然尋回一些工具,在下當然不會浪費
雖然 ESP8266 NodeMCU 並不是很新的開發板,但既然尋回一些工具,在下當然不會浪費
ESP8266 NodeMCU
外觀
ESP8266 NodeMCU 正面
使用 ESP8266MOD WiFi晶片
ESP8266 NodeMCU 使用 CP2102晶片 將 USB 訊號轉換成 UART ,類似 FT232RL
FLASH按鈕 是 ESP8266 NodeMCU 的 GP0引腳
按下時,為低電壓;沒有按下時,為高電壓
按下時,為低電壓;沒有按下時,為高電壓
RST按鈕,是 ESP8266 NodeMCU 的 RST引腳
ESP8266 NodeMCU 背面,印著各引腳的用途
引腳
編號 | 引腳 | 方向 | 功能 |
---|---|---|---|
1 | 3V3 | 提供 3.3V | |
2 | GND | 接地 | |
3 | GP1 | 輸入/輸出 | 第1數碼引腳 |
4 | GP3 | 輸入/輸出 | 第3數碼引腳 |
5 | GP15~ | 輸入/輸出 | 第15數碼引腳,10位元PWM訊號 |
6 | GP13 | 輸入/輸出 | 第13數碼引腳 |
7 | GP12~ | 輸入/輸出 | 第12數碼引腳,10位元PWM訊號 |
8 | GP14~ | 輸入/輸出 | 第14數碼引腳,10位元PWM訊號 |
9 | GND | 接地 | |
10 | 3V3 | 提供 3.3V | |
11 | GP2 | 輸入/輸出 | 第2數碼引腳,對應 WiFi LED,低電壓時亮著 |
12 | GP0 | 輸入/輸出 | 第0數碼引腳,對應 FLASH按鈕,按下時為低電壓訊號 |
13 | GP4~ | 輸入/輸出 | 第4數碼引腳,10位元PWM訊號 |
14 | GP5 | 輸入/輸出 | 第5數碼引腳 |
15 | GP16 | 輸入/輸出 | 第16數碼引腳,對應 開發板LED,低電壓時亮著 |
16 | A0 | 輸入 | 第0類比引腳,10位元類比訊號 |
17 | NC | 空引腳 | |
18 | NC | 空引腳 | |
19 | GP10 | 輸入/輸出 | 第10數碼引腳 |
20 | GP9 | 輸入/輸出 | 第9數碼引腳 |
21 | MOSI | 輸入/輸出 | 韌體 SPI 的 MOSI引腳 |
22 | SS | 輸入/輸出 | 韌體 SPI 的 SS引腳 |
23 | MISO | 輸入/輸出 | 韌體 SPI 的 MISO引腳 |
24 | SCK | 輸入/輸出 | 韌體 SPI 的 SCK引腳 |
25 | GND | 接地 | |
26 | 3V3 | 提供 3.3V | |
27 | EN | 高電壓為使用最高供率運作;低電壓或不接駁為使用最低供率運作 | |
28 | RST | 低電壓時重置裝置 | |
29 | GND | 接地 | |
30 | VIN | 接受 3V 至 9V |
載入開發模組
在 Additional Boards Manager URLs 加入 https://arduino.esp8266.com/stable/package_esp8266com_index.json
在 Boards Manager 尋找 ESP8266 並安裝
到 Tools > Board 選擇 ESP8266 Boared > NodeMCU 1.0 (ESP-12E Module)
Upload Speed 選擇 57600
Port 選擇 ESP8266 NodeMCU 的連接埠
ESP8266 NodeMCU 有 2 個電路板 LED,分別是 GP2 及 GP16
可以修改 LED_BUILTIN 使 GP2 或 GP16
可以修改 LED_BUILTIN 使 GP2 或 GP16
在 ESP8266MOD WiFi 模組旁的 LED 是 GP2
在 CP2102 模組旁的 LED 是 GP16
編寫程式測試
const byte LED_WIFI = 2; const byte LED_BOARD = 16; void setup() { pinMode(LED_WIFI, OUTPUT); pinMode(LED_BOARD, OUTPUT); digitalWrite(LED_WIFI, HIGH); digitalWrite(LED_BOARD, LOW); } void loop() { delay(500); }
由於 ESP8166 NodeMCU 的 2個 LED 都是在低電壓時才亮著
所以 GP2 的 LED 設定為 HIGH 沒有亮著,而 GP16 的 LED 設定為 LOW 卻亮著
所以 GP2 的 LED 設定為 HIGH 沒有亮著,而 GP16 的 LED 設定為 LOW 卻亮著
使用 FLASH按鈕 的效果
const byte FLASH = 0; const byte LED_WIFI = 2; const byte LED_BOARD = 16; void setup() { pinMode(FLASH, INPUT); pinMode(LED_WIFI, OUTPUT); pinMode(LED_BOARD, OUTPUT); digitalWrite(LED_WIFI, HIGH); digitalWrite(LED_BOARD, LOW); } void loop() { bool flashed = digitalRead(FLASH); digitalWrite(LED_WIFI, flashed); digitalWrite(LED_BOARD, !flashed); delay(1); }
補充資料
ESP8266 NodeMCU 的正面及背面雖然都印著引腳的名稱,但部分引腳的名稱並不相同
例如正面印著 D8 背面則印著 GP15 ,當使用 Arduino IDE 調用這支引腳時,使用
或
結果都是相同
例如正面印著 D8 背面則印著 GP15 ,當使用 Arduino IDE 調用這支引腳時,使用
pinMode(D8, OUTPUT);
或
pinMode(15, OUTPUT);
結果都是相同
總結
將 ESP8266 NodeMCU 的開發模組載入到 Arduino IDE 後,編寫的內容及基本操作與 Arduino 完全相同
ESP8266 NodeMCU 具備 WiFi 功能,價錢亦不算昂貴,大約40港元,某些購物平台只是大約10港元
提供一個讓使用互動操作 FLASH按鈕(GP16) ,要進行互動操作時,不需要額外連接按鈕
雖然只有13支數碼引腳可以使用,但對於學習用途及製作簡單專案都足夠
ESP8266 NodeMCU 具備 WiFi 功能,價錢亦不算昂貴,大約40港元,某些購物平台只是大約10港元
提供一個讓使用互動操作 FLASH按鈕(GP16) ,要進行互動操作時,不需要額外連接按鈕
雖然只有13支數碼引腳可以使用,但對於學習用途及製作簡單專案都足夠
但 ESP8266 NodeMCU 只有 3.3V 電源輸出,沒有提供 5V 電源輸出
如果接駁的裝置需要 5V 電源才能起動,便需要外接供電器,或使用升壓裝置
如果接駁的裝置需要 5V 電源才能起動,便需要外接供電器,或使用升壓裝置
沒有留言 :
張貼留言