arduino編程語(yǔ)言
準(zhǔn)備好與Arduino嘗試不同的東西了嗎?您不必局限于用C編程。將這些替代語(yǔ)言用于測(cè)試驅(qū)動(dòng)器。
Arduino IDE是項(xiàng)目背后精神的核心,它是一個(gè)UI,它試圖轉(zhuǎn)變艱巨的學(xué)習(xí)任務(wù)將一種編程語(yǔ)言轉(zhuǎn)換成任何人都可以刺入的東西。當(dāng)然,這是一個(gè)崇高的原因,但是很可能會(huì)出現(xiàn)IDE限制您的創(chuàng)造力的情況。
就像各種各樣的編碼語(yǔ)言一樣,有很多不同的原因您可能想采用其他編程方法。一種語(yǔ)言可能對(duì)您而言更合乎邏輯,而另一種用戶則可能在完全不同的結(jié)構(gòu)下蓬勃發(fā)展。
重要的是找到一種可以與您交流的語(yǔ)言以及您想要實(shí)現(xiàn)的目標(biāo)
ArduBlock
Arduino是基于一種直接歡迎新手的簡(jiǎn)單編程語(yǔ)言構(gòu)建的-但是,如果您真的缺乏經(jīng)驗(yàn),那么可能值得嘗試一下像ArduBlock。無(wú)需輸入代碼,您可以使用與通常相同的功能選擇來(lái)直觀地構(gòu)建程序。

面向年輕用戶,但不要以為這是“ Arduino兒童版”。某些人的大腦在視覺(jué)刺激方面效果更好,盡管ArduBlock的UI在美學(xué)上并不令人滿意,但它確實(shí)為視覺(jué)學(xué)習(xí)者提供了一種非常合乎邏輯的編寫(xiě)代碼的方式。同時(shí),如果您決定繼續(xù)使用完整的Arduino IDE,您仍會(huì)熟悉需要使用的函數(shù)名稱和變量。
ArduBlock是可下載的工具,可以作為覆蓋到官方Arduino IDE。最終產(chǎn)品與使用正常流程構(gòu)建的程序沒(méi)有什么不同,因此,如果您只是入門(mén),那么這是非常好的第一步。對(duì)于尚未準(zhǔn)備好全面學(xué)習(xí)編程語(yǔ)言的人,這是學(xué)習(xí)關(guān)鍵概念而又不會(huì)陷入編碼技巧的絕佳方法。
Snap4Arduino
Snap4Arduino是由伯克利開(kāi)發(fā)的拖放式可視化編程語(yǔ)言,與ArduBlock的體驗(yàn)略有不同。在視覺(jué)設(shè)計(jì)器中,構(gòu)建草圖的方法幾乎相同,但是很顯然,該軟件是針對(duì)年齡稍大的讀者的。

Snap4Arduino更加低調(diào)的UI和更少的關(guān)注點(diǎn),因此絕對(duì)不會(huì)光顧。毫無(wú)疑問(wèn),這是一種更簡(jiǎn)單的編程方法,只是與常規(guī)有所不同。雖然它以Beta版本提供,并且其開(kāi)發(fā)人員承認(rèn)仍然存在許多錯(cuò)誤,但是它非常有用。
安裝Snap4Arduino的一個(gè)技巧是,它需要 StandardFirmata 安裝在您的Arduino上。如果您已經(jīng)在計(jì)算機(jī)上安裝了Arduino IDE,則很容易解決-只需打開(kāi)它并導(dǎo)航到文件》 示例》 Firmata 》 StandardFirmata 。將其上傳到板上,您就可以從Snap4Arduino內(nèi)部與其進(jìn)行交互。請(qǐng)注意,您無(wú)法編譯Snap中制作的程序,只能在Arduino連接到計(jì)算機(jī)時(shí)與Arduino進(jìn)行交互。
C#
串行通信為您提供了一種方便,靈活的方式Arduino與您的計(jì)算機(jī)進(jìn)行通信-您可能會(huì)在設(shè)備的早期實(shí)驗(yàn)中涉獵該功能。借助CmdMessenger之類(lèi)的庫(kù),您將不僅可以使用串行來(lái)檢查Arduino草圖,而且可以開(kāi)始使用它以完全不同的語(yǔ)言進(jìn)行編碼。
您可以在以下位置運(yùn)行CmdMessenger Microsoft的Visual Studio或等效的第三方替代產(chǎn)品。從那里,您可以使用C#在PC和Arduino之間來(lái)回通信,因此您可以執(zhí)行調(diào)用函數(shù)以及發(fā)送和接收命令之類(lèi)的事情。

使用C#編程的另一種方法是使用Netduino等設(shè)備的專(zhuān)用分支。由于Netduino是基于.NET Micro Framework構(gòu)建的,因此可以直接在本機(jī)上運(yùn)行C#。盡管引腳布局與Arduino屏蔽板兼容,但它是完全不同的微控制器,因此如果您希望在已經(jīng)擁有的Arduino上使用C#進(jìn)行編程,則這不是一個(gè)選擇。
Python
雖然您的Arduino無(wú)法開(kāi)箱即用地運(yùn)行用Python編寫(xiě)的代碼,但是可以使用Python通過(guò)串行輸入與設(shè)備進(jìn)行通信。在類(lèi)似Unix的系統(tǒng)上,這非常簡(jiǎn)單,但是如果您使用的是PC或Mac,則pySerial可以彌補(bǔ)這一差距。您可以從pySerial的開(kāi)發(fā)人員網(wǎng)站上下載pySerial,該網(wǎng)站還提供了大量有關(guān)在各種不同操作系統(tǒng)上運(yùn)行該軟件的信息-確保您的系統(tǒng)上也有Python副本。
您可以在Arduino Playground上找到有關(guān)通過(guò)pySerial向Arduino讀寫(xiě)數(shù)據(jù)的更多信息,但請(qǐng)注意,這是一項(xiàng)相當(dāng)先進(jìn)的技術(shù)。如果您已經(jīng)精通Python,那么您可能會(huì)很好地掌握如何啟動(dòng)和運(yùn)行它-但是,如果您是不熟悉該語(yǔ)言或Arduino的人,則入門(mén)的方法比
也就是說(shuō),Python非常適合與Arduino結(jié)合使用。這是一種設(shè)計(jì)直觀的編碼語(yǔ)言,因此通常被建議作為其他形式編碼的墊腳石。此外,如果您碰巧從Arduino擴(kuò)展到類(lèi)似的Raspberry Pi,您會(huì)發(fā)現(xiàn)您的Python經(jīng)驗(yàn)會(huì)非常方便。