一個(gè)簡(jiǎn)單的PCB鍵盤(pán),可輕松用于Arduino項(xiàng)目。提供了完全可定制的代碼!
硬件部件:
Arduino UNO × 1個(gè)
1N4148 –通用快速開(kāi)關(guān) × 64
觸覺(jué)開(kāi)關(guān),頂部致動(dòng) × 64
排針× 1個(gè)
74HC595移位寄存器× 1個(gè)
軟件應(yīng)用程序和在線服務(wù):
Arduino IDE
手動(dòng)工具和制造機(jī):
烙鐵(通用)
我目前正在開(kāi)發(fā)一個(gè)帶有集成鍵盤(pán)的項(xiàng)目,這帶來(lái)了一個(gè)問(wèn)題:如何在開(kāi)發(fā)板原型中包含鍵盤(pán)?我不能使用USB鍵盤(pán)或現(xiàn)有的基于Arduino的鍵盤(pán),因?yàn)閷?shí)際項(xiàng)目中的鍵盤(pán)直接連接到處理所有其他功能的微控制器。因此,我設(shè)計(jì)了這種基于PCB的基本64鍵原型鍵盤(pán)矩陣。
該P(yáng)CB不包含任何IC(集成電路)。鍵盤(pán)矩陣的行和列直接連接到引腳接頭,以便鍵盤(pán)可以連接到Arduino或任何其他微控制器。它是為您的項(xiàng)目原型制作的完美選擇,其中包括集成鍵盤(pán)。
我已經(jīng)包含了詳細(xì)的,經(jīng)過(guò)注釋的代碼,以使其與任何具有足夠I / O引腳可用的Arduino兼容開(kāi)發(fā)板一起使用,需要11個(gè)引腳。鍵盤(pán)有64個(gè)鍵,包括shift,caps,ctrl,alt,fn和“ special”的修飾符。還有六個(gè)其他鍵可用于任何您喜歡的操作。每個(gè)單個(gè)鍵的功能都可以單獨(dú)定義,包括激活修飾符時(shí)每個(gè)鍵的功能。我認(rèn)為,這比現(xiàn)有的鍵盤(pán)代碼明顯有用,后者嚴(yán)重限制了您自定義按鍵行為的能力。
提供的代碼將文本打印到串行。如果您希望文本移至其他位置,則可以輕松更改。
關(guān)于程序大小的注意事項(xiàng):
我提供的代碼很大,因?yàn)樗皇褂萌魏维F(xiàn)有的庫(kù)。我完全從頭開(kāi)始編寫(xiě)此代碼,以實(shí)現(xiàn)所需的可定制性。在Arduino UNO上,這將使用9100字節(jié)(28%)的程序存儲(chǔ)空間,而全局變量使用394字節(jié)(19%)的動(dòng)態(tài)內(nèi)存。
我的代碼可能會(huì)更高效,并且鍵盤(pán)的庫(kù)和草圖肯定會(huì)更小,但這是我可以設(shè)計(jì)的唯一方法,可以為每個(gè)鍵和每個(gè)修飾符提供完全的靈活性。它還考慮了實(shí)際的鍵盤(pán)使用情況。例如,在啟用Caps Lock的情況下,按我的代碼的同時(shí)按Shift鍵,將產(chǎn)生應(yīng)小寫(xiě)的字母。默認(rèn)情況下,在按ESC的同時(shí)按住FN鍵不會(huì)執(zhí)行任何操作。但是該行為是完全可定制的,因此您可以根據(jù)自己的喜好進(jìn)行更改。
責(zé)任編輯:xj
原文標(biāo)題:Arduino的64鍵原型鍵盤(pán)矩陣
文章出處:【微信公眾號(hào):電路設(shè)計(jì)技能】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
pcb
+關(guān)注
關(guān)注
4404文章
23878瀏覽量
424243 -
矩陣鍵盤(pán)
+關(guān)注
關(guān)注
7文章
207瀏覽量
32897 -
Arduino
+關(guān)注
關(guān)注
190文章
6526瀏覽量
196920
原文標(biāo)題:Arduino的64鍵原型鍵盤(pán)矩陣
文章出處:【微信號(hào):cirmall,微信公眾號(hào):電路設(shè)計(jì)技能】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
一個(gè)小項(xiàng)目看懂 STM32 全部外設(shè)
探索用于Arduino的TLE94112ES直流電機(jī)控制盾牌
小白也能輕松上手!一招解決IP被封殺難題
鍵盤(pán)薄膜高彈UV膠則是一種特殊改性的UV固化膠,用于薄膜鍵盤(pán)按鍵彈性體的部分或高彈性密封
如何用Arduino Nano/UNO R3開(kāi)發(fā)板給另一個(gè)Arduino IDE不能下載的Arduino Nano/UNO R3開(kāi)發(fā)板重新燒錄引導(dǎo)程序bootlaoder
如何打造高效PCB結(jié)構(gòu)
HarmonyOS應(yīng)用自定義鍵盤(pán)解決方案
【開(kāi)源分享】Made with KiCad(128):CANBoard V2 開(kāi)源一款支持CAN的簡(jiǎn)單IO板
《ESP32S3 Arduino開(kāi)發(fā)指南》第二章 Arduino基礎(chǔ)知識(shí)
DevEco Studio 寫(xiě)一個(gè)簡(jiǎn)單的頁(yè)面
從“設(shè)計(jì)到生產(chǎn)”的蛻變:華秋DFM如何讓工程師們“輕松上陣”?
開(kāi)源項(xiàng)目!Open Echo:一個(gè)開(kāi)源的聲納項(xiàng)目
Open Echo:一個(gè)開(kāi)源的聲納項(xiàng)目
一個(gè)簡(jiǎn)單的PCB鍵盤(pán),可輕松用于Arduino項(xiàng)目
評(píng)論