新版的 Arduino IDE 在使用 IR Library 時會編譯錯誤,如下圖:
導致錯誤的原因是因為在 IRremoteTools.cpp 裡面沒有宣告 'TKD2' 變數。
歸根究底的原因是新版的 IDE 會讀取內建的紅外線函式庫,而這個內建的紅外線函式庫是專為 Adafruit 公司產品訂製的,如果你沒有該公司的產品可能就無法使用它的函式庫。
那麼該如何解決這個問題呢?
解決辦法有很多種,其中一種是去修改 RobotIRremote.cpp,但這個方法對於不熟悉 C 語言的人來說似乎是有點困難,有可能會愈弄愈糟。
另一種辦法是用其他可用的紅外線函式庫取代內建的 RobotIRremote Library,此舉應該是最簡單又安全的作法了。
下載 IR Library https://github.com/coopermaa/Arduino-IRremote/archive/master.zip
下載後解壓縮,將資料夾名稱更改為「IRremote」,然後複製到 [Arduino]\libraries 路徑下,再重新啟動 Arduino IDE 即可。
你也可以把 Robot_Control、Robot_Motor 和 RobotIRremote 這幾個資料夾移除掉,這樣並不會影響紅外線函式庫的運作。
檢查新的紅外線函式庫是否正常運作
我們可以開啟內建的範例程式:
1. 點擊下拉功能表 File > Examples > IRremote > IRrecvDemo
2. 點擊工具列的 Upload 按鈕。
成功編譯,如下圖:
沒有留言:
張貼留言