從零開始制作一個5x5鍵盤矩陣。
大家好,歡迎回來。這是一些有趣又有用的東西。定制的5x5按鈕矩陣板從頭開始構建。
在這里,我們使用簡單的行-列框架創(chuàng)建一個簡單的25個按鈕矩陣板,其中按鈕排列在五行和五列中以形成按鈕網(wǎng)格。當你按下按鈕時,它完成了一行和一列之間的電路,由微控制器檢測并顯示在OLED屏幕上。
開發(fā)這個項目的目的是開發(fā)一個需要盡可能多的按鈕的計算器項目;因此,我們創(chuàng)建了這個矩陣板來幫助我們在計算器項目的修補階段。
本文是關于這個項目的整個構建過程,所以讓我們從構建開始。
材料要求
這些是這個項目中使用的材料:
?定制PCB(由Seeed Studio Fusion提供)
?Tacktile按鈕
?公頭引腳連接器CON10
?電路試驗板
?SSD1306 OLED屏幕
?樹莓派PICO 2
?跳線
鍵盤設計流程
在項目開始時,我們將所有按鈕排列成五行五列。
我們創(chuàng)建了一個按鈕矩陣(受鍵盤矩陣板的啟發(fā)),其中所有按鈕都放置在行和列的網(wǎng)格中,每一行和列都連接到CON10頭引腳連接器。
微控制器掃描矩陣,設置每一行高,然后檢查每一列。按下按鈕,行和列之間的電路就完成了。知道哪一行是高的,哪一列讀取信號允許微控制器確定哪個按鈕被按下。
這種方法減少了所需的I/O引腳數(shù)量,因為我們使用25個按鈕,而標準方法需要所有按鈕25個I/O引腳;然而,這種方法允許我們總共只使用10個I/O引腳。
通過創(chuàng)建原理圖,我們能夠導出網(wǎng)表并為這個項目開發(fā)電路板設計,其中包括將按鈕放置在GRID配置中并根據(jù)原理圖連接走線。我們完成了電路板,然后導出gerber數(shù)據(jù),這些數(shù)據(jù)將與PCB制造商共享以創(chuàng)建樣品。
Seeed Studio Fusion
在完成Gerber數(shù)據(jù)后,我們將文件上傳到Seeed Fusion的網(wǎng)站上,并訂購了帶有黑色絲網(wǎng)的白色Solder mask。
pcb在一周內就收到了,考慮到比率,它們的質量是超級好的,這也是相當?shù)偷摹?
Seeed Fusion PCB服務為PCB制造和PCB組裝提供一站式原型設計,因此,他們在7個工作日內生產出高質量的PCB和快速交鑰匙PCB。
Seeed Studio Fusion PCB組裝服務負責整個制造過程,從Seeed Studio FusionAgile制造和硬件定制到零件采購,組裝和測試服務,因此您可以確保他們獲得高質量的產品。
在衡量市場興趣并驗證工作原型之后,Seeed Propagate Service可以通過專業(yè)指導和強大的連接網(wǎng)絡幫助您將產品推向市場。
PCB組裝工藝
?組裝過程開始于將所有25個開關放在矩陣PCB上各自的焊盤上;我們在這里使用6x6的粘性按鈕,我們必須確保所有按鈕都正確地添加到它們的墊上,因為一些按鈕的銷在放置在足跡時彎曲。
?接下來,我們用烙鐵焊接所有的開關墊在板的底部。
?隨后,我們將CON10公頭引腳放在其位置,并從板的頂部焊接其焊盤。
?矩陣板現(xiàn)在組裝。
樹莓派Pico安裝
?使用PICO 2, OLED顯示器,breadboard,按鈕矩陣和一些跳線,我們通過將從C1到C5的所有列引腳與GPIO16, GPIO17, GPIO18, GPIO19和GPIO20連接來創(chuàng)建基本設置。
?GPIO0、GPIO1、GPIO2、GPIO3、GPIO6連接第1 ~ 5行。
?OLED屏幕的VCC連接到PICO的VBUS,而GND連接到GND。
?OLED的SDA連接到PICO的SDA引腳(GPIO4), SCL連接到GPIO5,這是PICO的SCL引腳。
代碼
下面是我們創(chuàng)建的一個快速測試圖,看看是否所有的按鈕映射都是正確的。
這段代碼初始化一個OLED顯示器,并設置一個按鈕矩陣,其中行和列交換,以檢測按鈕按下。當按鈕被按下時,它會識別被按下的按鈕,在OLED屏幕上顯示按鈕編號,并相應地更新顯示。
我們在這個草圖中使用Adafruit_SSD1306庫,在使用此代碼之前,您需要先下載并安裝該庫。
結論
這是這個小按鈕的最終結果,一個DIY鍵盤矩陣,可以使用幾個I/O引腳在任何項目中添加多個按鈕。在這種情況下,如果定期連接,我們總共有25個按鈕,需要25個I/O引腳,但是這個矩陣允許用戶只使用10個I/O引腳來控制25個按鈕,如果使用的微控制器具有有限的I/O引腳,這是理想的。
本文編譯自hackster.io