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