這篇文章來(lái)源于DevicePlus.com英語(yǔ)網(wǎng)站的翻譯稿。
使用 ESP-WROOM-02 Wifi 模塊作為 Arduino MCU
在本教程中,我們將在ESP-WROOM-02上寫入Arduino程序,這樣就可以使用wifi模塊作為Arduino MCU。從現(xiàn)在開始,我們將使用ESP-WROOM-02開發(fā)板,這樣就可以很容易地對(duì)之前的裝置中所介紹的ESP – WROOM – 02進(jìn)行測(cè)試了。
本次電子設(shè)備清單
預(yù)計(jì)完成時(shí)間:60分鐘
所需部件:
? ESP-WROOM-02 開發(fā)板1,2,3,等
? 面包板
? LED (3 mm 綠色) 1,2,3,等
? 電阻器 220 Ω
? CdS 光學(xué)傳感器 (5 mm)
下載 Arduino IDE
首先,為了將ESP-WROOM-02用作Arduino,我們需要確保使用的是Arduino IDE的正確版本。Arduino IDE過去曾在兩個(gè)不同的網(wǎng)站被發(fā)布過:arduino.cc 以及arduino.org。要使用ESP-WROOM-02,請(qǐng)安裝arduino.cc所發(fā)布的Arduino IDE。(現(xiàn)在這兩個(gè)網(wǎng)站已經(jīng)合并在一起了,因此當(dāng)您訪問arduino.org時(shí),將會(huì)被重定向到arduino.cc。)
圖1:arduino.cc上的Arduino IDE下載頁(yè)面
在Arduino上添加ESP-WROOM-02
要將ESP-WROOM-02用作Arduino,您需要將ESP-WROOM-02板添加到Arduino IDE。請(qǐng)按照以下步驟將ESP-WROOM-02添加到Arduino IDE:
1. 啟動(dòng)Arduino IDE
2. 打開 “文件(File)” → “首選項(xiàng)(Preferences)”
3. 在“首選項(xiàng)”下的“附加開發(fā)板管理器網(wǎng)址(Additional Boards Manager URLs)”中輸入以下網(wǎng)址:
URL: http: //arduino.esp8266.com/stable/package_esp8266com_index.json
分布式組件:https: //github.com/esp8266/Arduino
這是一個(gè)管理員賬戶的管理器功能,您可以通過該功能輸入描述開發(fā)板信息的網(wǎng)址,從而將新的開發(fā)板添加到Arduino。
圖2:Arduino IDE首選項(xiàng)頁(yè)面
4. 輸入網(wǎng)址后,單擊“首選項(xiàng)”屏幕右下角的“確定(OK)”,然后將其關(guān)閉。接下來(lái),選擇“工具(Tools)” →“開發(fā)板(Board)” →“開發(fā)板管理器(Boards Manager)”。
圖3:“工具(Tools)” →“開發(fā)板(Board)” →“開發(fā)板管理器(Boards Manager)”
5. 開發(fā)板管理器頁(yè)面出現(xiàn)時(shí),在搜索字段中輸入“ESP 82”。它將顯示為“ESP8266”。該ESP8266即是與ESP-WROOM-02相對(duì)應(yīng)的開發(fā)板,因此點(diǎn)擊“安裝(Install)”來(lái)添加開發(fā)板。
圖4:開發(fā)板管理器頁(yè)面
6. 安裝完成后,重啟Arduino,然后再次打開“工具”→“開發(fā)板”。如果您看到一組與ESP8266相關(guān)的開發(fā)板,那就證明成功了!
圖5:添加ESP8266
現(xiàn)在準(zhǔn)備工作已經(jīng)完成,讓我們來(lái)寫入一個(gè)Arduino程序吧!
將程序?qū)懭?ESP-WROOM-02
我們可以用與一般Arduino相同的步驟來(lái)寫入程序。首先,我們使用以下程序來(lái)對(duì)LED進(jìn)行測(cè)試。將輸出設(shè)置為ESP-WROOM-02上的引腳13。
圖6:用于ESP-WROOM-02測(cè)試的LED電路
void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(400); digitalWrite(13, LOW); delay(400); }
LED 閃爍了!
ESP-WROOM-02的模擬輸入
所以,我們成功使LED亮起了。接下來(lái)查看一下其他程序。我們可以考慮使用其wifi通信功能來(lái)實(shí)現(xiàn)多種應(yīng)用,例如,創(chuàng)建一個(gè)可以遠(yuǎn)程獲取數(shù)據(jù)的設(shè)備,以實(shí)現(xiàn)遠(yuǎn)程操控,就像汽車上的無(wú)線電控制那樣。
我們先來(lái)處理來(lái)自光學(xué)傳感器的輸入。在Arduino UNO上有模擬輸入引腳A0-A4,但是ESP-WROOM-02沒有像A0-A4這樣的模擬輸入引腳。并且沒有數(shù)字引腳1,3-4,以及 6-11。這些引腳是無(wú)法使用的,因?yàn)檫@些引腳通常被用于執(zhí)行ESP-WROOM-02的一些標(biāo)準(zhǔn)功能,如wifi通信。
ESP-WROOM-02似乎并沒有analogRead函數(shù),所以無(wú)法使用該功能。那么,我們?nèi)绾蝸?lái)進(jìn)行模擬輸入呢?我們也許可以使用TOUT引腳上的 “system_adc_read ()”函數(shù)來(lái)獲取模擬值。
圖7:TOUT引腳
但是,這與一般的Arduino模擬引腳略有不同。TOUT引腳可以檢測(cè)出0V至1V之間的輸入值,但是如果直接向TOUT引腳輸入3.3V的值可能會(huì)損壞電路。而當(dāng)添加一個(gè)光學(xué)傳感器時(shí),電源電壓為3.3V,因此必須進(jìn)行調(diào)整,以使輸入TOUT的最大電壓值為1V。我們將使用幾個(gè)電阻器來(lái)創(chuàng)建一個(gè)分壓器電路。
圖8:所添加的光學(xué)傳感器
圖9:電壓輸出為1V
ESP-WROOM-02:用于獲取光學(xué)傳感器值的程序
//necessary for analog input with ESP-WROOM-02 extern "C" { #include "user_interface.h" } void setup() { Serial.begin(115200); //also different from ordinary Arduino pinMode(13, OUTPUT); } //obtain input value from TOUT pin int getToutValue(){ int res = system_adc_read(); //get the TOUT value here return res; } void loop() { int val= getToutValue(); Serial.print("value:"); Serial.println(val); if(val > 580){ digitalWrite(13, HIGH); delay(400); } else{ digitalWrite(13, LOW); delay(400); } }
程序運(yùn)行時(shí),光學(xué)傳感器的值將輸出到串行監(jiān)視器。
圖10:串行監(jiān)視器中顯示的值
analogWrite 函數(shù)
在這種情況下,analogRead函數(shù)是沒有用的,那么analogWrite又如何呢?Arduino UNO具有一個(gè)像模擬引腳那樣可以輸出模擬值的引腳。那么ESP-WROOM-02呢?我們來(lái)運(yùn)行以下程序。
ESP-WROOM-02:用于獲取光學(xué)傳感器值的程序
void setup() { pinMode(13, OUTPUT); } void loop() { for(int i=0;i<256;i++){ analogWrite(13, i); delay(40); } }
如上面的視頻所示,我們可以控制LED的亮度。LED逐漸變亮又逐漸變暗。由此可見,我們確實(shí)可以使用analogWrite函數(shù)!
-
led
+關(guān)注
關(guān)注
242文章
23796瀏覽量
672769 -
mcu
+關(guān)注
關(guān)注
146文章
17932瀏覽量
363164 -
WIFI
+關(guān)注
關(guān)注
81文章
5387瀏覽量
207988 -
Arduino
+關(guān)注
關(guān)注
189文章
6497瀏覽量
190537
發(fā)布評(píng)論請(qǐng)先 登錄
請(qǐng)問L108 CPU如何與ESP-WROOM-02中的WIfi CPU通信?
請(qǐng)問如何在ESP-WROOM-02 Wifi模塊中創(chuàng)建MESH網(wǎng)絡(luò)?
ESP-WROOM-02/ESP8266 串口WIFI模塊 動(dòng)能世紀(jì)代理現(xiàn)貨 廠家直銷
樂鑫原裝片式模組 ESP-WROOM-02
ESP-WROOM-02未按預(yù)期響應(yīng)AT命令的原因?
ESP-WROOM-02和MCU之間不會(huì)通過UART進(jìn)行任何數(shù)據(jù)交換的原因?
如何在ESP-WROOM-02模組上使用MESH網(wǎng)絡(luò)?
是否存在用于閃存在Arduino Mega上運(yùn)行的8266設(shè)備(特別是 ESP-WROOM-02)的代碼?
ESP-WROOM-02技術(shù)規(guī)格書
ESP-WROOM-02
基于esp-wroom-02 WIFI中繼器設(shè)計(jì)方案
ESP-WROOM-02 Wifi設(shè)置指南—AT指令

利用ESP-WROOM-02和天氣API制作發(fā)光的圣誕節(jié)雪人

樂鑫ESP-WROOM-02 技術(shù)規(guī)格書

評(píng)論