久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3536|回復: 16
打印 上一主題 下一主題
收起左側(cè)

【Arduino】108種傳感器模塊系列實驗(124)---PS2接口模塊

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:513258 發(fā)表于 2019-9-24 19:42 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
37款傳感器與模塊的提法,在網(wǎng)絡上廣泛流傳,其實Arduino能夠兼容的傳感器模塊肯定是不止37種的。鑒于本人手頭積累了一些傳感器和模塊,依照實踐出真知(一定要動手做)的理念,以學習和交流為目的,這里準備逐一動手試試做實驗,不管成功與否,都會記錄下來---小小的進步或是搞不定的問題,希望能夠拋磚引玉。

【Arduino】108種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
實驗一百二十四: PS2鼠標 鍵盤插座接口 PS2模塊





分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:513258 發(fā)表于 2019-9-24 20:05 | 只看該作者


PS/2接口
上古接口之一,PS/2接口曾經(jīng)是最常見的鼠標接口,最初是IBM公司的專利,俗稱“小口”。這是一種鼠標和鍵盤的專用接口,一種6針的圓型接口。但鼠標只使用其中的4針傳輸數(shù)據(jù)和供電,其余2個為空腳。PS/2接口的傳輸速率比COM接口稍快一些,而且是ATX主板的標準接口,當時應用最為廣泛的鼠標接口之一,但仍然不能使高檔鼠標完全發(fā)揮其性能,而且不支持熱插拔。在BTX主板規(guī)范中,這也是即將被淘汰掉的接口。需要注意的是,在連接PS/2接口鼠標時不能錯誤地插入鍵盤PS/2接口(當然,也不能把PS/2鍵盤插入鼠標PS/2接口)。一般情況下,符合PC99規(guī)范的主板,其鼠標的接口為綠色、鍵盤的接口為紫色,另外也可以從PS/2接口的相對位置來判斷:靠近主板PCB的是鍵盤接口,其上方的是鼠標接口。




回復

使用道具 舉報

板凳
ID:513258 發(fā)表于 2019-9-24 21:13 | 只看該作者
PS/2通訊協(xié)議
PS/2鼠標接口采用一種雙向同步串行協(xié)議。即每在時鐘線上發(fā)一個脈沖,就在數(shù)據(jù)線上發(fā)送一位數(shù)據(jù)。在相互傳輸中,主機擁有總線控制權(quán),即它可以在任何時候抑制鼠標的發(fā)送。方法是把時鐘線一直拉低,鼠標就不能產(chǎn)生時鐘信號和發(fā)送數(shù)據(jù)。在兩個方向的傳輸中,時鐘信號都是由鼠標產(chǎn)生,即主機不產(chǎn)生通信時鐘信號。 如果主機要發(fā)送數(shù)據(jù),它必須控制鼠標產(chǎn)生時鐘信號。方法如下:主機首先下拉時鐘線至少100μs抑制通信,然后再下拉數(shù)據(jù)線,最后釋放時鐘線。通過這一時序控制鼠標產(chǎn)生時鐘信號。當鼠標檢測到這個時序狀態(tài),會在10ms內(nèi)產(chǎn)生時鐘信號。如圖3中 A 時序段。主機和鼠標之間,傳輸數(shù)據(jù)幀的時序如圖2、圖3所示。2.2 數(shù)據(jù)包結(jié)構(gòu)在主機程序中,利用每個數(shù)據(jù)位的時鐘脈沖觸發(fā)中斷,在中斷例程中實現(xiàn)數(shù)據(jù)位的判斷和接收。在實驗過程中,通過合適的編程,能夠正確控制并接收鼠標數(shù)據(jù)。但該方案有一點不足,由于每個CLOCK都要產(chǎn)生一次中斷,中斷頻繁,需要耗用大量的主機資源。




回復

使用道具 舉報

地板
ID:513258 發(fā)表于 2019-9-24 21:26 | 只看該作者

PS/2接口的引腳定義
是第1針傳數(shù)據(jù),第2針閑置,第3針接地(負極),第4針接+5V電源,第5針是時鐘,第6針也是閑置的。拆開PS/2接口的鍵盤,你會發(fā)現(xiàn)除了一張‘電路圖’外,還有一塊比豆腐大不了多少的PCB板。這塊電路板上標有V、G、C、D四個焊點——V是Vcc電源,就是接電源正極,多數(shù)是接紅線;G是地線,就是電源負極,多數(shù)是接黑線;C是時鐘,有的接黃線,有的是綠線;D是數(shù)據(jù),多數(shù)是綠線或者藍線,也有黃線。顏色不靠譜,建議你先把負極和正極接好,然后把剩下的C、D兩根線隨便接上試試,不行再對調(diào)就好了。




回復

使用道具 舉報

5#
ID:513258 發(fā)表于 2019-9-25 07:14 | 只看該作者



回復

使用道具 舉報

6#
ID:513258 發(fā)表于 2019-9-25 07:24 | 只看該作者


PS/2接口和USB接口的區(qū)別

PS2接口的特性:
1.物理連接:一般,具有五腳連接器的鍵盤稱之為AT鍵盤,而具有六腳mini-DIN連接器的鍵盤則稱之為PS/2鍵盤。其實這兩種連接器都只有四個腳有意義。它們分別是Clock、Data、+5V和Ground。在PS/2鍵盤與PC機的物理連接上只要保證這四根線一一對應就可以了。PS/2鍵盤靠PC的PS/2端口提供+5V電源,另外兩個腳Clock和Data都是集電極開路的,所以必須接大阻值的上拉電阻。它們平時保持高電平,有輸出時才被拉到低電平,之后自動上浮到高電平。
2.電氣特性:PS/2通訊協(xié)議是一種雙向同步串行通訊協(xié)議。
通訊的兩端通過Clock同步,并通過Data交換數(shù)據(jù)。任何一方如果想抑制另外一方通訊時,只需要把Clock拉到低電平。如果是PC機和PS/2鍵盤間的通訊,則PC機必須做主機,也就是說,PC機可以抑制PS/2鍵盤發(fā)送數(shù)據(jù),而PS/2鍵盤則不會抑制PC機發(fā)送數(shù)據(jù)。一般兩設備間傳輸數(shù)據(jù)的最大時鐘頻率是33kHz,大多數(shù)PS/2設備工作在10~20kHz。推薦值在15kHz左右,也就是說,Clock高、低電平的持續(xù)時間都為40μs。

USB接口的優(yōu)勢:
1.可以熱插拔。就是用戶在使用外接設備時,不需要關(guān)機再開機等動作,而是在電腦工作時,直接將USB插上使用。
2.攜帶方便。USB設備大多以“小、輕、薄”見長,對用戶來說,隨身攜帶大量數(shù)據(jù)時,很方便。當然USB硬盤是首要之選了。
3.標準統(tǒng)一。大家常見的是IDE接口的硬盤,串口的鼠標鍵盤,并口的打印機掃描儀,可是有了USB之后,這些應用外設統(tǒng)統(tǒng)可以用同樣的標準與個人電腦連接,這時就有了USB硬盤、USB鼠標、USB打印機等等。
4.可以連接多個設備。USB在個人電腦上往往具有多個接口,可以同時連接幾個設備,如果接上一個有四個端口的USB HUB時,就可以再連上;四個USB設備,以此類推,盡可以連下去,將你家的設備都同時連在一臺個人電腦上而不會有任何問題。

USB支持熱插撥,而PS2接口不可以,所以論便捷性USB完勝PS2,其次就是鼠標USB接口的傳輸率比PS2要高一些,主要體現(xiàn)在游戲里的鼠標移動上,不過一般來說感覺不出來,至于鍵盤接口是USB或者是PS2那就沒什么區(qū)別了,不過最主要還是USB支持熱插撥,這點很重要,而且USB接口也是主流標準了,PS2已經(jīng)完全失去意義了。包括價格上USB也比PS2貴不了多少錢,所以USB接口完勝。

但在鍵位組合上,PS/2可以實現(xiàn)全無沖突,USB下只能是最多6個可以同時按下。 USB鍵盤的一個數(shù)據(jù)包只有8個字節(jié)(為什么只有8個,這是因為協(xié)議規(guī)定,為什么協(xié)議這么規(guī)定,是因為早期的時候USB速度慢,使用中斷傳輸一個包最大就8個字節(jié)),其中2個字節(jié)標記狀態(tài),其余6個字節(jié)用來記錄當前按下或者彈起的按鍵的掃描碼,所以,USB鍵盤最多同時描述6個按鍵的狀態(tài)。

在穩(wěn)定上,PS/2還是要好過USB的,當然USB的話雖沒有PS/2的穩(wěn)定,可有不錯的擴展,如可以在USB的鍵盤中加入USB HUB。

回復

使用道具 舉報

7#
ID:513258 發(fā)表于 2019-9-25 07:37 | 只看該作者

關(guān)于USB接口和PS/2接口轉(zhuǎn)換
電腦中四根線USB接口,兩邊的兩根是電源線,中間的兩根是數(shù)據(jù)線。usb接口的4根線一般是下面這樣分配的,需要注意的是千萬不要把正負極弄反了,否則會燒掉usb設備或者電腦的南橋芯片:
黑線:gnd       電源負極
紅線:vcc       電源正極
綠線:data+     信號正極
白線:data-     信號負極

回復

使用道具 舉報

8#
ID:513258 發(fā)表于 2019-9-25 07:54 | 只看該作者



此模塊是由PS2接口轉(zhuǎn)普通2.54MM接口,方便電腦鍵盤或鼠標與arduino連接。
回復

使用道具 舉報

9#
ID:513258 發(fā)表于 2019-9-25 08:01 | 只看該作者

模塊參數(shù)
工作電壓:5V(DC)
接口:4PIN接口5V、GND、DAT、CLK
輸出信號:數(shù)字信號
尺寸:21*17*17mm
重量:5.5g

回復

使用道具 舉報

10#
ID:513258 發(fā)表于 2019-9-25 08:06 | 只看該作者

回復

使用道具 舉報

11#
ID:513258 發(fā)表于 2019-9-25 08:08 | 只看該作者

回復

使用道具 舉報

12#
ID:513258 發(fā)表于 2019-9-25 10:33 | 只看該作者

根據(jù)圖上的引腳把 PS/2 接口與 Arduino 連接起來,對應關(guān)系如下表。

5V :      - Arduino 5V out
Ground : - Arduino GND
Clock :    - Arduino Pin 3
Data :     - Arduino Pin 8

回復

使用道具 舉報

13#
ID:513258 發(fā)表于 2019-9-25 10:36 | 只看該作者
  1. /*
  2. 【Arduino】108種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
  3. 實驗一百二十四: PS2鼠標 鍵盤插座接口 PS2模塊
  4. 1、安裝< PS2Keyboard.h>庫
  5. (https://www.pjrc.com/teensy/arduino_libraries/PS2Keyboard.zip)
  6. 2、項目:在 Arduino 上使用 PS/2 鍵盤進行輸入測試
  7. 3、PS/2 接口與 Arduino 接腳
  8. 5V :      - Arduino 5V out
  9. Ground : - Arduino GND
  10. Clock :    - Arduino Pin 3
  11. Data :     - Arduino Pin 8
  12. */
  13.    
  14. #include <PS2Keyboard.h>

  15. const int DataPin = 8;
  16. const int IRQpin =  3;

  17. PS2Keyboard keyboard;

  18. void setup() {
  19.   //keyboard.begin(DataPin, IRQpin, PS2Keymap_US);
  20.   keyboard.begin(DataPin, IRQpin, PS2Keymap_German);
  21.   //keyboard.begin(DataPin, IRQpin, PS2Keymap_French);
  22.   Serial.begin(9600);
  23.   Serial.println("International Keyboard Test:");
  24. }

  25. void loop() {
  26.   if (keyboard.available()) {
  27.     char c = keyboard.read();
  28.     Serial.println(c);
  29.   }
  30. }
復制代碼


回復

使用道具 舉報

14#
ID:513258 發(fā)表于 2019-9-25 10:38 | 只看該作者

回復

使用道具 舉報

15#
ID:513258 發(fā)表于 2019-9-25 10:46 | 只看該作者
  1. /*
  2. 【Arduino】108種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
  3. 實驗一百二十四: PS2鼠標 鍵盤插座接口 PS2模塊
  4. 1、安裝< PS2Keyboard.h>庫
  5. (https://www.pjrc.com/teensy/arduino_libraries/PS2Keyboard.zip)
  6. 2、項目:在 Arduino 上使用 PS/2 鍵盤進行輸入測試(識別一些特殊按鍵)
  7. 3、PS/2 接口與 Arduino 接腳
  8. 5V :      - Arduino 5V out
  9. Ground : - Arduino GND
  10. Clock :    - Arduino Pin 3
  11. Data :     - Arduino Pin 8
  12. */
  13.    
  14. #include <PS2Keyboard.h>

  15. const int DataPin = 8;
  16. const int IRQpin =  3;

  17. PS2Keyboard keyboard;

  18. void setup() {
  19.   delay(1000);
  20.   keyboard.begin(DataPin, IRQpin);
  21.   Serial.begin(9600);
  22.   Serial.println("Keyboard Test:");
  23. }

  24. void loop() {
  25.   if (keyboard.available()) {
  26.    
  27.     // read the next key
  28.     char c = keyboard.read();
  29.    
  30.     // check for some of the special keys
  31.     if (c == PS2_ENTER) {
  32.       Serial.println();
  33.     } else if (c == PS2_TAB) {
  34.       Serial.print("[Tab]");
  35.     } else if (c == PS2_ESC) {
  36.       Serial.print("[ESC]");
  37.     } else if (c == PS2_PAGEDOWN) {
  38.       Serial.print("[PgDn]");
  39.     } else if (c == PS2_PAGEUP) {
  40.       Serial.print("[PgUp]");
  41.     } else if (c == PS2_LEFTARROW) {
  42.       Serial.print("[Left]");
  43.     } else if (c == PS2_RIGHTARROW) {
  44.       Serial.print("[Right]");
  45.     } else if (c == PS2_UPARROW) {
  46.       Serial.print("[Up]");
  47.     } else if (c == PS2_DOWNARROW) {
  48.       Serial.print("[Down]");
  49.     } else if (c == PS2_DELETE) {
  50.       Serial.print("[Del]");
  51.     } else {
  52.       
  53.       // otherwise, just print all normal characters
  54.       Serial.print(c);
  55.     }
  56.   }
  57. }
復制代碼


回復

使用道具 舉報

16#
ID:513258 發(fā)表于 2019-9-25 10:48 | 只看該作者

回復

使用道具 舉報

17#
ID:513258 發(fā)表于 2019-9-25 11:02 | 只看該作者


說明: PS2鼠標尚未找到,相關(guān)實驗待后續(xù)........

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲国产一区二区三区四区 | 在线观看中文字幕一区二区 | 一区二区三区亚洲 | 特黄毛片视频 | 91影库 | 美女久久| 天天操操 | 国产在线一区观看 | 国产伦一区二区三区 | 黄色日本视频 | 日韩免费一区二区 | 日韩av一区二区在线观看 | 欧美日韩在线免费观看 | 国产日韩精品在线 | 国产美女精品视频 | 无码一区二区三区视频 | 精品久久电影 | 久久精品小视频 | 麻豆成人在线视频 | 欧美电影免费观看 | 久久久久国产一区二区三区四区 | 亚洲欧美自拍偷拍视频 | 国产精品一区二区三区免费观看 | 成人午夜在线视频 | 欧美精品在线播放 | 成人一区二区三区在线 | 精品亚洲一区二区 | 日韩精品在线网站 | 亚洲网站观看 | 精品在线看 | 中文字幕国产一区 | 97久久精品午夜一区二区 | 青青久久久 | 美女张开腿露出尿口 | 成人妇女免费播放久久久 | 亚洲精品中文字幕在线观看 | 久久久久中文字幕 | 国产一级在线观看 | 日本一区二区三区在线观看 | 91免费视频 | 免费毛片网站在线观看 |