2014-06-21 82 views
2

我正在開發隨着時間的推移將會放大的基於Arduino的系統。目前它只有溼度和溫度讀取功能。但是很快就會增加一個門控制,錄音和gsm網絡客戶端支持。我希望所有這些都被包含在庫中,並在主要部分中使用。我正在考慮一個包含所有其他模塊並調用其功能的ino文件。我的問題是最好和最乾淨的方法是什麼?使用多個文件製作項目的最佳方法

+0

因此,使圖書館。你的問題是什麼? –

回答

3

我推薦使用示例來粘貼庫和庫目錄。爲每個組件連接的庫。這將在很多方面有所幫助。如調試和重用。

C:\Users\myself\Google Drive\Arduino\libraries\componentX\componentX.h 
C:\Users\myself\Google Drive\Arduino\libraries\componentX\componentX.cpp 
C:\Users\myself\Google Drive\Arduino\libraries\componentY\componentY.h 
C:\Users\myself\Google Drive\Arduino\libraries\componentY\componentY.cpp 
etc... 

這使它保持模塊化和分隔。

注意我已將Arduino的IDE首選項更改爲Google Drive。 (雲備份和可移植性)

然後在你的草圖文件夾,而不是一個大INO文件

C:\用戶\自己\谷歌驅動器\ Arduino的\ somethingBIG \ somethingBIG.ino

實現INO文件中的

C:\ Users \ mflaga \ Google Drive \ Arduino \ libraries \ component \ examples。

目錄。這使得它可以快速發佈GITHUB或Google Drive上的組件以在系統之間共享。

然後,您可以創建一個草圖文件,將所有組件連接到主項目中。

C:\用戶\自己\谷歌驅動器\ Arduino的\ somethingTOPlevel \ somethingTOPlevel.ino

+0

所以我只有一個ino文件和許多cpp和h文件,對吧?我應該在ino文件中設置setup()和loop()函數嗎?我想它會像main.c一樣工作。 –

+0

應始終只有一個INO文件,它應該只有setup()和loop()的實例。 H文件和相應的CPP文件基本上總是被拉入INO的庫。 – mpflaga

+0

謝謝,現在我可以開始這個項目。從一開始我就想到這樣組織項目。謝謝。 –

1

你可能想看看Bare Arduino Project

對於我自己的項目Moti,我覺得有必要離開Arduino IDE並使用更好的工具來開發我的項目。不得不符號鏈接或移動每個庫很快感到非常麻煩,我尋找另一個解決方案。與此同時,我發現了Makefile的力量,並偶然發現了Sudar's令人難以置信的項目:Arduino-Makefile

我花時間組織我的文件夾,並認爲它可能對其他人有用。

您可以考慮將Bare Arduino Project作爲開始自己的項目的框架。

我花時間寫了大量的文檔。您可以通過README.mdInstallation Instructions瞭解有關框架的更多信息。

如果你喜歡它或覺得有些東西缺失,我很樂意聽到你的反饋和改進。

希望它有幫助!:)

相關問題