為了啟用ESP-WROOM-02開(kāi)發(fā)板的Arduino程序無(wú)線通信功能,我想首先嘗試一個(gè)示例程序。選擇File → Sketch Example → ESP 8266 WiFi → WiFi Web Server。該示例程序負(fù)責(zé)處理與Arduino的Wifi通信。

圖1 加載程序示例
這個(gè)示例程序能讓ESP-WROOM-02成為服務(wù)器。程序啟動(dòng)后,它會(huì)一直等待來(lái)自其他終端的請(qǐng)求,當(dāng)收到帶有參數(shù)的請(qǐng)求后,程序就會(huì)處理該參數(shù)。在我們的例子中,我們將使用這個(gè)程序來(lái)點(diǎn)亮LED。
我想使用上次的電路進(jìn)行測(cè)試。將示例程序中的引腳“2”更改為引腳“13”。
圖2 LED控制電路

啟動(dòng)程序后,請(qǐng)嘗試連至路由器。如果已經(jīng)連接,那么系統(tǒng)會(huì)在串行監(jiān)視器上顯示IP地址等。所以,請(qǐng)嘗試從瀏覽器訪問(wèn)該IP地址。連至/gpio/1時(shí),LED亮起;連至/gpio/0時(shí),LED熄滅。
圖3 Wifi訪問(wèn)成功
圖4 智能手機(jī)連接
通過(guò)程序控制伺服電機(jī)
接下來(lái)我們通過(guò)一個(gè)實(shí)際例子試著用Wifi控制伺服電機(jī)。伺服電機(jī)的控制基本上應(yīng)與LED控制相同。我將在LED程序中添加一些修改,并通過(guò)從瀏覽器訪問(wèn)時(shí)添加一些HTML。
在這個(gè)程序中,瀏覽器顯示的角度為0到150。當(dāng)點(diǎn)擊每個(gè)數(shù)值時(shí),伺服電機(jī)會(huì)移動(dòng)到一個(gè)指定角度。
圖5 通過(guò)Wifi進(jìn)行伺服電機(jī)控制
讓我們來(lái)制作我們的天氣預(yù)報(bào)雪人吧!
圣誕節(jié)即將到來(lái),我決定做一個(gè)圣誕節(jié)裝飾品。大量的炫彩LED裝飾燈固然不錯(cuò),但是桌子上的可愛(ài)飾品則更具圣誕節(jié)韻味。所以,我用123d設(shè)計(jì)創(chuàng)建了一個(gè)雪人模型。這款工具可以在組合不同形狀的同時(shí)進(jìn)行建模,所以即使是初學(xué)者也可以輕松創(chuàng)建3D模型。
雪人模型
圖6 雪人建模
請(qǐng)根據(jù)個(gè)人喜好隨意更改雪人的形狀或大小。建模完成后,我試著用3D打印機(jī)輸出自己設(shè)計(jì)的雪人。不幸的是,手臂沒(méi)有打印出來(lái)。
圖7 3D打印的雪人
現(xiàn)在我們需要一個(gè)全彩LED。讓我們將全彩LED和WiFi通信整合到一個(gè)桌面設(shè)備中,使得該設(shè)備能夠根據(jù)特定位置的天氣數(shù)據(jù)改變LED的顏色。
設(shè)備配置
像往常一樣,在創(chuàng)建程序或電路之前我們先考慮一下設(shè)備配置??傮w結(jié)構(gòu)如下圖所示。

圖8 整體設(shè)備配置
您也可以直接從Arduino程序連至API來(lái)處理和檢索數(shù)據(jù),但由于Arduino程序的容量很小,我們可以考慮外部擴(kuò)展,Arduino會(huì)安裝一個(gè)外部服務(wù)器“SERVER PROGRAM”并提出請(qǐng)求。這個(gè)外部服務(wù)器程序連至API,以JSON格式獲取數(shù)據(jù),然后只將必要的數(shù)據(jù)返回給Arduino。
從API獲取天氣信息
這次,我們使用的API名字叫做OpenWeatherMap。注冊(cè)后,您就可以免費(fèi)使用該API。通過(guò)該API,您可以通過(guò)輸入位置信息和城市名稱(chēng)來(lái)獲取具體地點(diǎn)的天氣信息。
圖9. http://openweathermap.org/
連接API的外部服務(wù)器程序用PHP創(chuàng)建。通過(guò)以下程序,我們可以利用國(guó)家、城市、appid-API密鑰作為參數(shù)來(lái)獲取天氣信息。我們?cè)谶\(yùn)行PHP的環(huán)境中安裝此程序并確認(rèn)該操作。
外部服務(wù)器程序(PHP):從天氣API獲得數(shù)據(jù)
通過(guò)瀏覽器訪問(wèn)程序時(shí),如果系統(tǒng)顯示指定城市的天氣信息,那么操作完成。
圖10 瀏覽器確認(rèn)
全彩LED發(fā)光控制
接下來(lái),我們來(lái)看看如何在輸出端使用全彩LED。雖然我們將其稱(chēng)為全彩LED,其實(shí)是一塊板上的RGB(即紅、綠、藍(lán))LED。
如圖11所示,由于每種顏色的LED都以+和-組合的形式發(fā)光,因此我們對(duì)其進(jìn)行焊接,以便可以連接到面包板上。
圖11 全彩LED
圖12 焊接全彩LED
如果同時(shí)點(diǎn)亮3個(gè)全彩LED,那么顏色會(huì)變成白色。由于每個(gè)顏色LED所需的電壓和電流量不同,所以需要為每個(gè)電路添加不同的電阻值。
· 91Ω:紅色
· 180Ω:綠色
· 220Ω:藍(lán)色
從API獲取數(shù)據(jù)時(shí),根據(jù)以下天氣信息顯示顏色。
· 晴天 – 陽(yáng)光充足 → 紅色
· 云 – 陰天 → 綠色
· 下雨 – 下雨 → 綠色
· 下雪 – 下雪 → 淺綠色
圖13 全彩LED控制電路圖

在這個(gè)程序中,每次獲取數(shù)據(jù)以確認(rèn)操作。請(qǐng)根據(jù)自己的喜好更改設(shè)置。啟動(dòng)程序后,設(shè)備會(huì)根據(jù)獲取的天氣數(shù)據(jù)發(fā)光。
圖14 雪人根據(jù)獲得的天氣數(shù)據(jù)發(fā)光
最后我們對(duì)雪人進(jìn)行了一些修飾,項(xiàng)目完成。
圖15 完成雪人的裝飾
這一次,我們利用天氣API創(chuàng)建了一個(gè)可愛(ài)的圣誕裝飾品。通過(guò)整合其他API、程序以及智能手機(jī)連接,我相信您能夠創(chuàng)作更加有趣的設(shè)備。歡迎您在下方的評(píng)論中分享您想法!
#創(chuàng)意物語(yǔ)#Device Plus 文章內(nèi)容及圖片、視頻素材均為原創(chuàng),如有轉(zhuǎn)載請(qǐng)注明出處,謝謝!
#創(chuàng)意物語(yǔ)#文章來(lái)源:http://www.deviceplus.com/
Device Plus網(wǎng)站由半導(dǎo)體和電子零件制造商ROHM(羅姆)創(chuàng)建,為喜歡創(chuàng)造事物和有抱負(fù)的工程師們提供有用的信息,旨在讓工程師生涯更有趣。
雖然我們說(shuō)“好玩”,但不僅僅是娛樂(lè)。它可以加深你在某一領(lǐng)域的知識(shí),獲得靈感,繼而用靈感來(lái)改變世界。Device Plus文章的主題都與電子套件和工程師生活相關(guān)。我們將討論“技術(shù)”主題下的人、事件、黑客/提示、工具、設(shè)備等。在這里既有知識(shí)加深,又不忘妙趣橫生。我們希望能吸引熱愛(ài)電子和機(jī)電一體化的您,并幫助您找到靈感。
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7315瀏覽量
94018 -
服務(wù)器
+關(guān)注
關(guān)注
13文章
10103瀏覽量
90932 -
伺服電機(jī)
+關(guān)注
關(guān)注
88文章
2167瀏覽量
60882
發(fā)布評(píng)論請(qǐng)先 登錄
樂(lè)鑫原裝片式模組 ESP-WROOM-02
ESP-WROOM-02未按預(yù)期響應(yīng)AT命令的原因?
ESP-WROOM-02和MCU之間不會(huì)通過(guò)UART進(jìn)行任何數(shù)據(jù)交換的原因?
如何在ESP-WROOM-02模組上使用MESH網(wǎng)絡(luò)?
ESP8266 IDF AT Bin 是否兼容 ESP-WROOM-02 ?
ESP-WROOM-02技術(shù)規(guī)格書(shū)
ESP-WROOM-02
PCB制作的圣誕節(jié)led燈樹(shù)
ESP-WROOM-02 Wifi設(shè)置指南—AT指令
使用ESP-WROOM-02 Wifi模塊作為Arduino MCU
利用ESP-WROOM-02和天氣API制作發(fā)光的圣誕節(jié)雪人
樂(lè)鑫ESP-WROOM-02 技術(shù)規(guī)格書(shū)

關(guān)于利用ESP-WROOM-02和天氣API制作發(fā)光的圣誕節(jié)雪人教程講解
評(píng)論