這一篇講的很簡略,沒有詳細介紹。
成品是個打字小遊戲,LCD會不斷出現1、2、3、*、#、A、B等字元,玩家要按下矩陣鍵盤相對應的鍵,才能消掉,消得越快,分數越高。有點類似遊樂場裡的打鱷魚(或打地鼠)。
所需零件:
- Arduino Uno板。
- I2C介面文字型LCD,相容Hitachi HD44780,之後將使用Arduino內建程式庫LiquidCrystal。
- 4x4矩陣鍵盤。
- 5V蜂鳴器或小喇叭(0.5W、8Ω)。
LCD的SCL接到Arduino的A5(SCL)。
LCD的GND,接地。
LCD的GCC,接5V。
蜂鳴器(長腳)或小喇叭(紅線),接到Arduino的5。
蜂鳴器(短腳)或小喇叭(黑線),接地。
4x4矩陣鍵盤,針腳從左到右(共8針、最後一針無用)、接到Arduino的13~6(8個腳位)。
然後是草稿碼,需要兩套程式庫,Keypad與LiquidCrystal_I2C。若直接從Arduino IDE的程式庫管理員安裝LiquidCrystal_I2C,LCD只會出現方塊,不知為何,所以我從網路上找了一套可正常運作的。
遊玩時,LCD上一列會不斷出現字元,玩家要按鍵盤消去;下一列有倒數時間,以及分數,消得越快,分數越高。
我試過了可是程式碼編譯就不通過了
ReplyDelete嗯,有問題,就想辦法解決囉。
Delete請問LCD一定要在後面焊上 LCM1602 IIC V1 控制板嗎?
ReplyDelete非必要。
Delete一般LCD,要接比較多的線路,請參考
http://yehnan.blogspot.tw/2012/02/arduinoliquidcrystallcdhitachi-hd44780.html
那用MEGA 2560的板子應該也可以對吧
Delete還是說需要注意甚麼地方?
yes.
Delete做了才知道。
發現LCD上面只會顯示方塊,有自己安裝新的兩套程式庫
Delete請問是甚麼問題啊
線路接錯。
Delete程式碼的初始化LCD的部分錯了。
對比沒調好。
程式碼的部分我是先直接複製您的程式想先確認是否可以動作
Delete發現我I2C控制板的位址是0x3F 我也將位址改為0x3F了
線路的部分也是造老師您的電路圖接
程式庫的部分也有上網找並下載
還是沒有正確顯示
你都這麼說了,我也不知道問題在哪。
Delete換換程式庫試試看吧。
一直出現error: ../Wire/Wire.h: No such file or directory
ReplyDelete#include <../Wire/Wire.h>
compilation terminated.
exit status 1
開發板 Arduino/Genuino Uno 編譯錯誤。
改成 #include 也一樣無法解決
沒有改期他程式編碼
改成 #include 小於Wire.h大於
Delete