本實作使用 WeMos LoLin32 開發板,此開發板是Wemos基於 ESP-32 模組所設計的核心開發板,內建802.11 b/g/n/e/i 2.4 GHz Wi-Fi 的微控制器、藍牙 v4.2 BR/EDR 和低功耗藍牙(BLE、BT4.0、Bluetooth Smart)並引接 ESP-32所有的GPIO接腳,配有雙核心 Tensilica 32bit LX6 微處理器,高達 240 MHz 時脈,適合使用麵包板進行開發應用。
WeMos LoLin32 內部電路圖如下:
要使用Arduino IDE 編譯 ESP32 程式必須先在Arduino IDE加入開發版的支援。打開功能表 檔案/偏好設定,點擊 額外的開發版管理員網址 右方的按鈕,再於視窗中加入開發版的支援網址:
https://dl.espressif.com/dl/package_esp32_index.json接著打開功能表 工具 / 開發板 / 開發版管理員,以關鍵字 esp32 搜尋開發軟體並安裝。下圖為筆者安裝完成後之畫面。
當把ESP32接上電腦後可能會發現COM埠無法使用,這是因為少了 USB to UART Bridge Driver ,去官網下載驅動程式回來安裝即可,網址如下:
https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers正確安裝後, 裝置管理員 會出現正確的硬體裝置:接下來,在Arduino IDE 中編譯程式並燒錄到ESP32中。本實作為:讓開發板的第5號引腳產生高、低電壓變換輸出而讓內建LED產生點滅效果。
//初體驗,LED點滅測試 #define BLINK_GPIO (gpio_num_t)5 void setup() { gpio_pad_select_gpio(BLINK_GPIO); // 選定控制接腳 gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT); } void loop() { Serial.begin(9600); //設定通訊速率 printf("LED亮燈\n"); gpio_set_level(BLINK_GPIO, 0); // 輸出低電位 vTaskDelay(3000 / portTICK_PERIOD_MS); // 點燈3秒 printf(" LED熄燈\n"); gpio_set_level(BLINK_GPIO, 1); // 輸出高電位 vTaskDelay(1000 / portTICK_PERIOD_MS); // 熄燈1秒 }