最近發(fā)現(xiàn)一個(gè)很有意思的玩意 – Arduino ,百度上巴拉巴拉說了很多,我就不復(fù)制粘貼了,我實(shí)際用起來這就是一個(gè)很方便的集成開發(fā)環(huán)境,有著各種各樣的庫,擁有很不錯(cuò)的生態(tài),屏蔽掉了很多底層代碼,不用再去頭疼GPIO怎么配,各種設(shè)備怎么初始化,讓開發(fā)者專注于軟件上的開發(fā)。
Arduino 的優(yōu)點(diǎn)
支持Arduino的硬件直接拿來就用,不用頭疼這塊板子需要這種開發(fā)環(huán)境,那個(gè)廠商用的另外一個(gè)開發(fā)環(huán)境,兩個(gè)開發(fā)環(huán)境可能還有沖突。
PS:隔壁兄弟,同時(shí)做兩套板子兩個(gè)沖突的開發(fā)環(huán)境,人都要吐了。(╯‵□′)╯︵┻━┻
而有 Arduino 庫的傳感器,能直接省去你協(xié)議對(duì)接的過程,直接函數(shù)調(diào)用就能拿到數(shù)據(jù),免去翻手冊(cè)解析協(xié)議的過程。
PS:超爽是不是,隔壁兄弟解析幾十字節(jié)的串口數(shù)據(jù),人都要傻了。(✖人✖)
適合的人群
毫無疑問這東西就是小白之友,屏蔽底層,加上大量庫的支持,可以讓小白非常快的上手,省去很多麻煩。
對(duì)大牛們來說這不算啥,但是也不是沒用。這東西在有經(jīng)驗(yàn)的開發(fā)者手里開發(fā)速度快的優(yōu)勢(shì)會(huì)更加明顯,畢竟調(diào)用庫這么爽的事情誰不愛呢?當(dāng)上面要求快速出個(gè) demo 演示,不需要考慮太多的時(shí)候這東西就很棒了。
PS:當(dāng)我拿到傳感器數(shù)據(jù)的時(shí)候,隔壁兄弟手冊(cè)都還沒看完。|ू・ω・` )
上手 Arduino
安裝IDE
第一件事情當(dāng)然就是安裝 IDE 啦!官方下載我去試過了也還行,這里我推薦社區(qū)一個(gè)好兄弟的帖子:
鏈接: 國(guó)內(nèi) Arduino IDE下載.
在這里感謝好兄弟提供的國(guó)內(nèi)資源
下面是官網(wǎng)地址,要是實(shí)在找不到國(guó)內(nèi)資源的話可以去官網(wǎng)試試,都是免費(fèi)的,有條件的可以去官網(wǎng)捐贈(zèng)支持他們一下。
鏈接: 官方 Arduino IDE下載.
下載下來也沒啥安裝流程,解壓就能用了(Arduino IDE 1.8.15)打開之后就會(huì)出現(xiàn)下圖:
Arduino - IDE 的使用
看見上面那圖,有過C語音開發(fā)經(jīng)驗(yàn)的朋友應(yīng)該就有疑問了,setup 和 loop 是啥?我辣莫大的一個(gè) main 函數(shù)去哪兒了?
其實(shí) Arduino - IDE 中的 loop()作用就相當(dāng)于一個(gè)死循環(huán)的 main 函數(shù),loop 相當(dāng)于:
main()
{
deviceinit(); // 硬件初始化
while(1)
{
// 你 loop 里的代碼其實(shí)在這里運(yùn)行
}
}
寫在 loop 里的代碼就相當(dāng)于寫在這個(gè) while(1) 里面了。
而 setup() 函數(shù)呢則是 Arduino 的一個(gè)特點(diǎn),你需要在這里面進(jìn)行一些初始化操作和設(shè)置,比如說設(shè)置引腳,設(shè)置串口波特率什么的,當(dāng)然一些不適合放入 loop 循環(huán),又可以在loop 之前運(yùn)行的函數(shù)也可以放 setup 函數(shù)中調(diào)用。
好了,現(xiàn)在第一次看見這個(gè)界面最大的疑惑沒了,可以安心往下看了吧?
接入開發(fā)板
Arduino 官方的開發(fā)板是 ATmega 芯片 不過現(xiàn)在國(guó)內(nèi)很少有看見做 AVR 的了,于是這里我選擇了 ESP32 芯片的開發(fā)板,這里我推薦安信可和DFRobot 這兩家的開發(fā)板子,其他的我沒用過就不多說了,他們兩家也沒給我錢,我這里就不放連接了 。┗( ▔, ▔ )┛
安信可的板子便宜二十幾塊錢 ,資料都在 github 上 東西蠻全的,庫支持也不錯(cuò),畢竟大廠,適合有經(jīng)驗(yàn)的人,愛折騰的人。
DFRobot 價(jià)格偏貴,快50塊錢了,但是從板子上的印刷到資料的編寫是真的貼心,引腳圖和手冊(cè)不會(huì)看都沒關(guān)系,適合完全不懂的小白,技術(shù)支持也不錯(cuò)。也算是物有所值,高出來的那一部分放服務(wù)里面去了,適合不差錢的小白。或者就單純想做個(gè)東西,不想深入研究的人。
DFRobot 的 SDL,SDA,A0,RX,TX 這些 Arduino 常用的引腳都標(biāo)出來了安信可的就得自己看引腳圖和開發(fā)手冊(cè) 自己標(biāo)
這里我就用安信可板子做例子,接上板子之后打開"文件"選項(xiàng)卡找到點(diǎn)擊"首選項(xiàng)":
會(huì)出現(xiàn)一個(gè)對(duì)話框,在附加開發(fā)板管理器中添加 https://www.arduino.cn/package_esp32_index.json :
添加網(wǎng)址成功后,“工具"選項(xiàng)卡找到點(diǎn)擊"開發(fā)板”,里面有個(gè)"開發(fā)板管理器":
打開之后輸入 ESP32 并且點(diǎn)擊安裝即可:
安裝完成后,再次點(diǎn)擊"工具"選項(xiàng)卡找到點(diǎn)擊"開發(fā)板",這次會(huì)多出一個(gè) ESP32 Arduino 進(jìn)去找到我們的NodeMCU - 32S:
這下就完成了開發(fā)板的配置工作!
跑個(gè) demo 試試,在"文件"下有個(gè)示例,里面有很多自帶的 demo 可以用,不過第一次使用的時(shí)候,保存會(huì)提示你另存為,因?yàn)樽詭У膁emo是不可修改的,找個(gè)路徑存放你修改后的文件就行,推薦最簡(jiǎn)單的流水燈:
運(yùn)行之后板子上的小燈就會(huì)一閃一閃的了 ୧( ⁼̴̶̤̀ω⁼̴̶̤́ )૭ 。
本文僅個(gè)人學(xué)習(xí)使用,如有錯(cuò)誤,歡迎指正, ( ੭ ˙ᗜ˙ )੭謝謝老板!