一個簡單的PCB鍵盤,可輕松用于Arduino項(xiàng)目。提供了完全可定制的代碼!
硬件部件:
Arduino UNO × 1個
1N4148 –通用快速開關(guān) × 64
觸覺開關(guān),頂部致動 × 64
排針× 1個
74HC595移位寄存器× 1個
軟件應(yīng)用程序和在線服務(wù):
Arduino IDE
手動工具和制造機(jī):
烙鐵(通用)
我目前正在開發(fā)一個帶有集成鍵盤的項(xiàng)目,這帶來了一個問題:如何在開發(fā)板原型中包含鍵盤?我不能使用USB鍵盤或現(xiàn)有的基于Arduino的鍵盤,因?yàn)閷?shí)際項(xiàng)目中的鍵盤直接連接到處理所有其他功能的微控制器。因此,我設(shè)計了這種基于PCB的基本64鍵原型鍵盤矩陣。
該P(yáng)CB不包含任何IC(集成電路)。鍵盤矩陣的行和列直接連接到引腳接頭,以便鍵盤可以連接到Arduino或任何其他微控制器。它是為您的項(xiàng)目原型制作的完美選擇,其中包括集成鍵盤。
我已經(jīng)包含了詳細(xì)的,經(jīng)過注釋的代碼,以使其與任何具有足夠I / O引腳可用的Arduino兼容開發(fā)板一起使用,需要11個引腳。鍵盤有64個鍵,包括shift,caps,ctrl,alt,fn和“ special”的修飾符。還有六個其他鍵可用于任何您喜歡的操作。每個單個鍵的功能都可以單獨(dú)定義,包括激活修飾符時每個鍵的功能。我認(rèn)為,這比現(xiàn)有的鍵盤代碼明顯有用,后者嚴(yán)重限制了您自定義按鍵行為的能力。
提供的代碼將文本打印到串行。如果您希望文本移至其他位置,則可以輕松更改。
關(guān)于程序大小的注意事項(xiàng):
我提供的代碼很大,因?yàn)樗皇褂萌魏维F(xiàn)有的庫。我完全從頭開始編寫此代碼,以實(shí)現(xiàn)所需的可定制性。在Arduino UNO上,這將使用9100字節(jié)(28%)的程序存儲空間,而全局變量使用394字節(jié)(19%)的動態(tài)內(nèi)存。
我的代碼可能會更高效,并且鍵盤的庫和草圖肯定會更小,但這是我可以設(shè)計的唯一方法,可以為每個鍵和每個修飾符提供完全的靈活性。它還考慮了實(shí)際的鍵盤使用情況。例如,在啟用Caps Lock的情況下,按我的代碼的同時按Shift鍵,將產(chǎn)生應(yīng)小寫的字母。默認(rèn)情況下,在按ESC的同時按住FN鍵不會執(zhí)行任何操作。但是該行為是完全可定制的,因此您可以根據(jù)自己的喜好進(jìn)行更改。
責(zé)任編輯:xj
原文標(biāo)題:Arduino的64鍵原型鍵盤矩陣
文章出處:【微信公眾號:電路設(shè)計技能】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
pcb
+關(guān)注
關(guān)注
4319文章
23080瀏覽量
397494 -
矩陣鍵盤
+關(guān)注
關(guān)注
7文章
206瀏覽量
31454 -
Arduino
+關(guān)注
關(guān)注
188文章
6468瀏覽量
186952
原文標(biāo)題:Arduino的64鍵原型鍵盤矩陣
文章出處:【微信號:cirmall,微信公眾號:電路設(shè)計技能】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論