WeMos D1 mini(ESP8266) 開發板介紹
在前面文章有簡短介紹到 WeMos D1 開發板,本文將介紹 WeMos D1 mini。
以筆者的認知最初會有一些國外的公司原創了一些開發板,若受大眾歡迎,隨後便會有很多第三方仿製的相容板因運而生,事實上應都是克隆得一模一樣只是不打上該原創公司的 logo,如下圖筆者手上的 D1 mini。
WeMos (Lolin)D1 mini 的原創板可參考此連結。
ESP8266 單晶片本身是沒有 flash 的,所以原廠就有另外再提供 ESP8266 模組,其是由幾個部件組成的:ESP8266EX 單晶片,26M 晶振 crystal,4M 的 flash,1 顆 LED,以及天線所構成的 ESP8266 模組,名稱是 ESP8266MOD。而開發板就可直接採用這樣的模組。
使用開發板,我們首先關注的就是主晶片系統本身的規格,及其被引出的功能腳位。其次了解開發板所提供的電源,例如 3.3V,5V 等。再者了解其提供的週邊例如感知器,LED,七段顯示器,按鍵,或其他擴充部件或已驅動部件例如只要透過 I2C 就能顯示資料在 LCD 上或可直接驅動大電流馬達等。
因此本章就以 D1 mini 的功能腳位作為結束。(意思是指,使用一張開發板入門就是這麼樸實無華)
而我們下一章就會有強烈的實例援引這一點。
D1 mini 規格
ESP8266MOD
主晶片工作電壓 | 3.3V |
數位 I/O 數量 | 11 |
類比輸入 I/O 數量 | 1 |
時脈 | 80/160 MHz |
Flash 容量 | 4MBytes |
Functional/General-Purpose IOs
板上腳位標示 | 對應軟體使用 | ESP8266 官方腳位定義 | 對應軟體使用 | 腳位說明 |
TX | TXD | UART TXD | ||
RX | RXD | UART RXD | ||
A0 | A0 | Analog input, max 3.2V | ||
D0 | D0 | GPIO16 | 16 | |
D1 | D1 | GPIO5 | 5 | I2C SCL |
D2 | D2 | GPIO4 | 4 | I2C SDA |
D3 | D3 | GPIO0 | 0 | 10k Pull-up |
D4 | D4 | GPIO2 | 2 | 10k Pull-up, BUILTIN_LED |
D5 | D5 | GPIO14 | 14 | SPI SCK |
D6 | D6 | GPIO12 | 12 | SPI MISO |
D7 | D7 | GPIO13 | 13 | SPI MOSI |
D8 | D8 | GPIO15 | 15 | 10k Pull-down, SPI CS |
G | Ground | |||
5V | 5V | |||
3V3 | Vcc, 3.3V | |||
RST | Reset |
其他
Connection | microUSB |
USB2TTL | CH340G |
All I/Os | runs at 3.3V |
參考批發價 | 13 RMB |
D1-mini 腳位的在軟體中的使用/程式碼中的使用
請參考上面表格,在 ESP8266 官方的定義,即真正的定義,是例如“GPIO0”,“GPIO12”,“GPIO13”,等等此類標記來表示 GPIO 腳位,因而在程式碼中,便可使用 GPIO12 來代表 GPIO12 實體 pin,也可直接使用數字 12 來代表 GPIO12 實體 pin。然而,當我們在 Arduino IDE 中選擇某張開發板後,本例是 D1-mini,那麼便會有 D1-mini 所屬的含括檔被引入,額外地定義了開發板上印出的腳位名稱,例如腳位 D6 這個板上名稱,事實上是 GPIO12 所引出的,因此 D6 也就會在含括檔中被對應地定義出來。故,在程式碼中,我們可以使用 GPIO12,或 D6 或 12,都代表同一支腳位。
上述,只是為了說明方便。事實上含括檔中並沒有 GPIO12 這樣的定義,而只有 D6,或 12 來定義到 GPIO12。因此,程式碼中只能使用 D6,或 12。往後常會對某些既有的程式碼作 GPIO 對應的修改以適用到我們的板子上。故上述請特別留意。