Arduino通过PS2模块使用PS2键盘
生活随笔
收集整理的這篇文章主要介紹了
Arduino通过PS2模块使用PS2键盘
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在Arduino論壇看到了參考文獻1介紹的內容之后,就特別想動手試一下,于是在淘寶上買了PS2模塊,實物圖如下: 該模塊有四個引腳,意義分別如下: +5V:接電源正極; GND:接電源負極; DAT:數據引腳,可以與任意的Arduino數字引腳相連; CLK:時鐘引腳,需要與Arduino中支持中斷的引腳相連,在UNO上是數字引腳2和3.1、從鍵盤接收命令 鍵盤數據的原理可以看參考文獻2,那篇文章講解的比較詳細。我在進行測試的時候,使用的庫是從下面的網址中找到的: https://www.pjrc.com/teensy/td_libs_PS2Keyboard.html 該庫中附帶了兩個示例代碼,Simple_Test和International,這兩個示例中International僅僅是將讀取的鍵盤字符原封不動的打印到串口,而Simple_Test則解析了一些特殊符號,例如如果讀取的鍵盤符號是回車符,則調用串口類的println函數打印空字符。 測試的實物連接圖如下: ? 由于使用的示例代碼進行測試,代碼和測試結果就不在這里顯示了。只要引腳連接正確,應該就可以正常運行示例代碼,唯一需要注意的就是CLK引腳要連接支持中斷的引腳,否則就無法讀取鍵盤發送過來的數據。
2、向鍵盤發送命令 第一節給出的ps2鍵盤庫文件可以讀取大部分的鍵盤信息,但是它只能從鍵盤讀取信息,無法向鍵盤發送信息。比如如果想控制鍵盤上的大寫燈、小鍵盤燈的開、關,第一節的庫就無法做到。為此,在網上又找了另外一個高級的ps2keyboard庫,網址如下: https://github.com/techpaul/PS2KeyAdvanced 使用該庫,當按下鍵盤上的大寫燈、小鍵盤燈時,該庫在解析鍵盤信息的同時,將鍵盤燈設置為正確的狀態。該庫帶有三個示例,感興趣的朋友可以自行看示例代碼。我進行測試的時候使用的是advcodetest這個示例,測試時既可以獲取到按鍵信息,同時可以看到鍵盤燈的狀態發生變化,這里就不貼代碼了,如果對與鍵盤的交互原理感興趣,可以看看參考文獻3和4。 使用高級鍵盤庫的注意事項與第一節類似,CLK引腳要連接支持中斷的引腳。
參考文獻[1]http://www.arduino.cn/forum.php?mod=viewthread&tid=42139&highlight=ps2[2]http://www.freebuf.com/sectool/59045.html[3]http://codeandlife.com/2013/07/15/arduino-ps2-keyboard-tester/[4]http://www.computer-engineering.org/ps2protocol/[5]https://github.com/techpaul/PS2KeyAdvanced
2、向鍵盤發送命令 第一節給出的ps2鍵盤庫文件可以讀取大部分的鍵盤信息,但是它只能從鍵盤讀取信息,無法向鍵盤發送信息。比如如果想控制鍵盤上的大寫燈、小鍵盤燈的開、關,第一節的庫就無法做到。為此,在網上又找了另外一個高級的ps2keyboard庫,網址如下: https://github.com/techpaul/PS2KeyAdvanced 使用該庫,當按下鍵盤上的大寫燈、小鍵盤燈時,該庫在解析鍵盤信息的同時,將鍵盤燈設置為正確的狀態。該庫帶有三個示例,感興趣的朋友可以自行看示例代碼。我進行測試的時候使用的是advcodetest這個示例,測試時既可以獲取到按鍵信息,同時可以看到鍵盤燈的狀態發生變化,這里就不貼代碼了,如果對與鍵盤的交互原理感興趣,可以看看參考文獻3和4。 使用高級鍵盤庫的注意事項與第一節類似,CLK引腳要連接支持中斷的引腳。
參考文獻[1]http://www.arduino.cn/forum.php?mod=viewthread&tid=42139&highlight=ps2[2]http://www.freebuf.com/sectool/59045.html[3]http://codeandlife.com/2013/07/15/arduino-ps2-keyboard-tester/[4]http://www.computer-engineering.org/ps2protocol/[5]https://github.com/techpaul/PS2KeyAdvanced
總結
以上是生活随笔為你收集整理的Arduino通过PS2模块使用PS2键盘的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单片机c语言 软件抗干扰,单片机软件抗干
- 下一篇: 特征选择/筛选方法总结