以 Arduino 之名第步,點(diǎn)亮 LED 炫彩燈

Arduino?是一個(gè)易于使用的軟硬件開(kāi)放平臺(tái),包括硬件 ——?多種型號(hào)的 Arduino?開(kāi)發(fā)板及擴(kuò)展板喻频,和軟件 —— Arduino IDE缩宜。在“創(chuàng)客”教學(xué)如火如荼進(jìn)行的當(dāng)下,Arduino?的名字如雷貫耳半抱。雖然很多同學(xué)聽(tīng)過(guò)脓恕,卻不一定用過(guò)。本系列教程窿侈,楊老師跟同學(xué)們從零開(kāi)始上手 Arduino IDE炼幔,然后學(xué)習(xí)使用 App Inventor 2 WxBit?漢化版與開(kāi)發(fā)板交互。本篇教程中我們并不使用 Arduino?開(kāi)發(fā)板史简,只借用 Arduino?IDE 來(lái)給我們的 ESP32?開(kāi)發(fā)板寫(xiě)入固件乃秀,以 Arduino?之名,點(diǎn)亮LED燈圆兵。選擇 Arduino?IDE 是因?yàn)椴僮鞑襟E簡(jiǎn)單跺讯,用其他工具寫(xiě)入固件也沒(méi)問(wèn)題,不在本教程討論殉农。

相比動(dòng)輒99刀脏,上百元的入門(mén)學(xué)習(xí)套件,本教程所用的元件價(jià)格便宜超凳,品質(zhì)不打折扣愈污。采購(gòu)安信可NodeMCU-32S(ESP32)開(kāi)發(fā)板(¥18.7)耀态,MB-102面包板(¥4.5)、KY-009 LED 模塊(¥0.79)暂雹、40P 彩色公對(duì)公杜邦線(¥1.6)首装,加上4元郵費(fèi)總計(jì)30元,即可開(kāi)始“Arduino”之旅杭跪。有興趣深入學(xué)習(xí)的同學(xué)仙逻,還可以順帶購(gòu)買(mǎi)DHT11溫濕度傳感器模塊、蜂鳴器模塊涧尿、光敏電阻模塊系奉、紅外發(fā)射/接收模塊等,帶焊針(敲黑板现斋,劃重點(diǎn))方便插在面包板上使用的模塊喜最。想節(jié)省成本,可以省掉面包板直接使用母對(duì)母杜邦線連接模塊庄蹋。

實(shí)驗(yàn)準(zhǔn)備

拿到元件后瞬内,將ESP32芯片和LED模塊插入面包板,并用杜邦線連好備用限书,效果見(jiàn)上圖右下角虫蝶。LED模塊的RGB針腳分別與芯片的27、26倦西、25針腳連接能真,“-”則連接芯片的GND地線。面包板中間區(qū)域豎向5個(gè)孔連通扰柠,外邊緣橫向5個(gè)孔連通粉铐,用法簡(jiǎn)單不再贅述。開(kāi)發(fā)板詳細(xì)介紹:NodeMCU-32S 核心開(kāi)發(fā)板 ——https://t.cn/ESBTKBJ?

ESP32?示意圖
ESP32?針腳功能

接下來(lái)準(zhǔn)備編寫(xiě)芯片固件卤档,Arduino IDE 登場(chǎng)蝙泼。

首先,下載安裝 Arduino IDE劝枣,Windows 8.1/10 (https://dev.tencent.com/u/daoquan/p/arduino/git/raw/master/ide/arduino-1.8.9-windows.exe)汤踏,Mac OSX(https://dev.tencent.com/u/daoquan/p/arduino/git/raw/master/ide/arduino-1.8.9-macosx.zip)。Windows安裝包自帶USB驅(qū)動(dòng)舔腾,如果是Mac系統(tǒng)溪胶,還需另外下載USB驅(qū)動(dòng)安裝(https://dev.tencent.com/u/daoquan/p/arduino/git/raw/master/ide/FTDIUSBSerialDriver_v2_4_2.dmg)。Windows安裝USB驅(qū)動(dòng)時(shí)會(huì)彈出安全提示稳诚,一定要選擇“安裝”哗脖。

安裝 Arduino IDE

安裝完啟動(dòng) Arduino IDE,看到固件開(kāi)發(fā)及上傳(燒寫(xiě)固件到芯片)界面。代碼編輯窗口中的 setup?函數(shù)在開(kāi)發(fā)板啟動(dòng)時(shí)執(zhí)行一次懒熙,loop則是一個(gè)無(wú)限循環(huán)丘损,開(kāi)發(fā)板對(duì)硬件的讀寫(xiě)控制邏輯,一般都放在這里實(shí)現(xiàn)工扎。

啟動(dòng) Arduino IDE

為了支持 ESP32?的固件開(kāi)發(fā),先在文件菜單首選項(xiàng)設(shè)置中添加ESP32開(kāi)發(fā)板的支持衔蹲。在開(kāi)發(fā)板管理網(wǎng)站中輸入:https://github.com/espressif/arduino-esp32/releases/download/1.0.2/package_esp32_index.json

增加 ESP32?支持

接下來(lái)在開(kāi)發(fā)板管理器中安裝ESP32的配置肢娘,然后選擇“ESP32 Dev Module”,其他選項(xiàng)保留默認(rèn)值舆驶。

安裝 ESP32?開(kāi)發(fā)板支持
連接 ESP32?開(kāi)發(fā)板

到這一步橱健,使用 Arduino IDE 開(kāi)發(fā) ESP32?固件的準(zhǔn)備工作完成。使用Micro USB數(shù)據(jù)線連接開(kāi)發(fā)板到電腦前沙廉,先看看上圖“端口”中的有那些串口拘荡,連線后會(huì)增加一個(gè),就是我們的開(kāi)發(fā)板撬陵。選擇該串口珊皿,接下來(lái)就可以開(kāi)始編寫(xiě)固件代碼,其實(shí)是“復(fù)制”與“粘帖”巨税。代碼如下:

// 將LED燈的RGB針腳分別連到芯片的 25蟋定、26、27 腳草添,
// 部分LED模塊的R和G針腳標(biāo)注錯(cuò)誤驶兜,應(yīng)調(diào)換配置,PIN_R 配置為 26
const uint8_t PIN_R = 27;
const uint8_t PIN_G = 26;
const uint8_t PIN_B = 25;
void setup(){
? // 將LED針腳映射到通道并初始化
? setupLed();
}
void loop(){
? // 改變LED的顏色
? changeLedColor();
? // 延遲0.01秒
? delay(10);
}
void setupLed(){
? ledcAttachPin(PIN_R, 1);
? ledcAttachPin(PIN_G, 2);
? ledcAttachPin(PIN_B, 3);
? ledcSetup(1, 5000, 8);
? ledcSetup(2, 5000, 8);
? ledcSetup(3, 5000, 8);
}
// 設(shè)置隨機(jī)初始顏色
uint8_t red = randomColor();
uint8_t green = randomColor();
uint8_t blue = randomColor();
uint8_t randomColor(){
? return random(0, 256);
}
void changeLedColor(){
? ledcWrite(1, gradientColor(red++));
? ledcWrite(2, gradientColor(green++));
? ledcWrite(3, gradientColor(blue++));
}
// 漸變顏色
uint8_t gradientColor(uint8_t color){
? return color <= 128 ? color : 256-color;
}??

點(diǎn)擊“項(xiàng)目”菜單中的“上傳”將固件刷寫(xiě)進(jìn)芯片远寸,在 Arduino IDE 下方日志窗口看到 “Connecting........____” 時(shí)抄淑,按住開(kāi)發(fā)板的“Boot”按鍵(USB接口右邊),日志出現(xiàn)“Chip is ESP32D0WDQ6?” 后即可松開(kāi)驰后,等待刷寫(xiě)完成LED亮起肆资。效果如下:


以 Arduino 之名,點(diǎn)亮 LED 炫彩燈


下一篇倡怎,楊老師將跟大家學(xué)習(xí)迅耘,基于 App Inventor 2 WxBit 漢化版設(shè)計(jì)手機(jī)應(yīng)用,通過(guò)藍(lán)牙 4.2 連接 ESP32 開(kāi)發(fā)板监署,調(diào)節(jié) LED 燈的顏色颤专。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市钠乏,隨后出現(xiàn)的幾起案子栖秕,更是在濱河造成了極大的恐慌,老刑警劉巖晓避,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件簇捍,死亡現(xiàn)場(chǎng)離奇詭異只壳,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)暑塑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)吼句,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人事格,你說(shuō)我怎么就攤上這事惕艳。” “怎么了驹愚?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵远搪,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我逢捺,道長(zhǎng)谁鳍,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任劫瞳,我火速辦了婚禮倘潜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘柠新。我一直安慰自己窍荧,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布恨憎。 她就那樣靜靜地躺著蕊退,像睡著了一般。 火紅的嫁衣襯著肌膚如雪憔恳。 梳的紋絲不亂的頭發(fā)上瓤荔,一...
    開(kāi)封第一講書(shū)人閱讀 52,457評(píng)論 1 311
  • 那天,我揣著相機(jī)與錄音钥组,去河邊找鬼输硝。 笑死,一個(gè)胖子當(dāng)著我的面吹牛程梦,可吹牛的內(nèi)容都是我干的点把。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼屿附,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼郎逃!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起挺份,我...
    開(kāi)封第一講書(shū)人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤褒翰,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體优训,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡朵你,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了揣非。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抡医。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖妆兑,靈堂內(nèi)的尸體忽然破棺而出魂拦,到底是詐尸還是另有隱情,我是刑警寧澤搁嗓,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站箱靴,受9級(jí)特大地震影響腺逛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜衡怀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一棍矛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧抛杨,春花似錦够委、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至屈嗤,卻和暖如春潘拨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背饶号。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工铁追, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人茫船。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓琅束,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親算谈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子涩禀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

推薦閱讀更多精彩內(nèi)容