日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

探索 Adafruit Trellis:開源背光鍵盤驅(qū)動系統(tǒng)

chencui ? 2026-05-10 16:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

探索 Adafruit Trellis:開源背光鍵盤驅(qū)動系統(tǒng)

在電子設(shè)計領(lǐng)域,一款優(yōu)秀的開源背光鍵盤驅(qū)動系統(tǒng)能為項目帶來更多的可能性和便利性。Adafruit Trellis 就是這樣一款值得關(guān)注的產(chǎn)品,今天我們就來深入了解它。

文件下載:1616.pdf

一、Trellis 概述

Trellis 是一個開源的背光鍵盤驅(qū)動系統(tǒng),使用起來非常方便。它可以與任何 3mm 的 LED 搭配使用,并且最多可以在共享的 I2C 總線上拼接 8 個模塊。

Trellis 的 PCB 是專門為適配 Adafruit 4x4 彈性鍵盤而設(shè)計的。每個 PCB 上有 4x4 的焊盤和 4x4 個適合 3mm LED 的位置。板載電路負(fù)責(zé)處理 4x4 模塊的按鍵和 LED 照明,但它沒有微控制器或其他“大腦”,需要一個 Arduino 或類似的微控制器來控制 Trellis,讀取按鍵數(shù)據(jù)并控制 LED 點亮。

每個模塊都有一個 I2C 控制的 LED 序列器和鍵盤讀取器。芯片可以單獨控制所有 16 個 LED 的開關(guān),但不能進(jìn)行灰度或調(diào)光。同樣的芯片還能讀取橡膠鍵盤的按鍵操作,連接方式采用“二極管復(fù)用”,這樣在按下多個按鍵時不用擔(dān)心“鬼影”問題,每個按鍵都有唯一的地址。

模塊上有 3 個地址跳線,只要每個模塊有唯一的地址,就可以在單個 I2C 總線上拼接最多 8 個 PCB(總共 4x32 或 16x8 = 128 個按鈕/LED)。所有模塊通過邊緣焊接連接,共享相同的電源、接地、中斷和 I2C 時鐘/數(shù)據(jù)引腳,只需 2 根 I2C 線就能輕松設(shè)置 128 個 LED 并讀取 128 個按鈕。模塊可以任意排列,只要每個模塊通過 5 個邊緣引腳相互連接即可。

每個 LED 都通過恒流驅(qū)動器進(jìn)行復(fù)用,因此可以自由混合搭配不同顏色的 LED,使用 250mcd 以上亮度的漫射 LED 效果最佳。

二、添加 LED

Trellis PCB 配備了所有驅(qū)動電路,但沒有預(yù)裝 LED,這是為了讓用戶可以自由選擇喜歡的 LED 顏色。安裝 LED 時需要注意極性,LED 有一個較長的引腳是正極,要將其插入 PCB 上標(biāo)有“+”的孔中。

安裝時,可以一次安裝一個 LED,也可以一次性安裝所有 LED,這取決于你的焊接經(jīng)驗。將 LED 引腳彎曲,使其平貼在 PCB 上,然后翻轉(zhuǎn) PCB 進(jìn)行焊接。焊接完成后,將引腳剪至離 PCB 約 2 - 3mm 的長度。

三、連接與庫的使用

3.1 連接硬件

Trellis 只是一個 LED/鍵盤控制器,需要 Arduino 或類似設(shè)備來讀取鍵盤數(shù)據(jù)并控制 LED 點亮。首先,從 GitHub 倉庫下載 Trellis Arduino 庫,將解壓后的文件夾重命名為 Adafruit_Trellis,并將其放置在 Arduino 草圖文件夾的 libraries 子文件夾中(如果是第一次安裝庫,可能需要創(chuàng)建該子文件夾),然后重啟 IDE。

接下來連接 PCB,將 5 根連接引腳的實心線焊接并插入 Arduino。建議從 Uno 開始,連接方式如下:

  • 5V 連接到 Arduino 的 5V 電源引腳
  • GND 連接到 Arduino 的 GND 接地引腳
  • SCL 連接到 I2C 時鐘引腳(在 Uno 上為 A5)
  • SDA 連接到 I2C 數(shù)據(jù)引腳(在 Uno 上為 A4)
  • INT 中斷引腳連接到 A2(在示例代碼中未使用,可選擇不連接)

3.2 庫的使用

3.2.1 創(chuàng)建對象

每個面板都有一個名為 Adafruit_Trellis 的對象,例如:

Adafruit_Trellis matrix = Adafruit_Trellis();

如果有多個 Adafruit_Trellis 對象,可以創(chuàng)建一個 TrellisSet 來一次性讀取所有按鈕和控制所有 LED。例如:

Adafruit_TrellisSet trellis = Adafruit_TrellisSet(&matrix0, &matrix1, &matrix2, &matrix3);

在調(diào)用 begin 方法啟動 Adafruit_TrellisSet 對象時,需要傳入與 PCB 對應(yīng)的地址(地址范圍從 0x70 到 0x77),例如:

trellis.begin(0x70, 0x71, 0x72, 0x73);

3.2.2 控制 LED

可以使用 trellis.setLED(n) 和 trellis.clrLED(n) 來設(shè)置或清除 LED,其中 n 是 LED 的編號,范圍從 0 到(Trellis 數(shù)量 * 16 - 1)。設(shè)置和清除 LED 后,必須調(diào)用 trellis.writeDisplay() 來將數(shù)據(jù)發(fā)送到所有電路板。還可以使用 trellis.isLED(n) 來測試 LED 是否點亮。

3.2.3 讀取開關(guān)

通過調(diào)用 trellis.readSwitches() 來讀取按鈕狀態(tài),如果自上次調(diào)用以來開關(guān)狀態(tài)有變化,則返回 true,否則返回 false。讀取開關(guān)后,可以使用 isKeyPressed(k)、trellis.justReleased(k) 和 trellis.justPressed(k) 來查詢按鍵狀態(tài)。

3.2.4 添加更多模塊

如果要拼接更多的 Trellis PCB,需要確保每個模塊有唯一的地址 ID。在 TrellisTest 草圖中添加更多的 Adafruit_Trellis 對象,并更新 TrellisSet 以包含這些對象。同時,修改 begin() 調(diào)用以添加所有使用的地址。

四、拼接模塊

可以在單個 2 線 I2C 總線上拼接最多 8 個 Trellis PCB,從而輕松構(gòu)建 8x16 或 4x32 的面板。在拼接之前,最好先單獨組裝和測試每個模塊,確保其正常工作。

拼接時,將模塊按所需方式排列,確保 Adafruit 標(biāo)志對齊。在相鄰的引腳焊盤上焊接兩個焊錫點,然后用烙鐵將焊錫從一個焊盤拖到另一個焊盤,使其連接。為了獲得更牢固的連接,可以使用一根小裸線跨接在焊盤上。重復(fù)此過程,直到連接完所有 5 個邊緣引腳。最后,檢查面板是否對齊,如有需要可以輕輕彎曲或重新加熱使其變直。

五、地址設(shè)置

每個 Trellis 模塊必須有唯一的地址??梢酝ㄟ^在每個面板背面的地址跳線上焊接來設(shè)置地址。Trellis 上的 HT16K33 驅(qū)動芯片默認(rèn) I2C 地址為 0x70,由于 I2C 總線上的每個設(shè)備必須有唯一的地址,因此避免地址沖突非常重要。

HT16K33 有 3 個地址調(diào)整引腳,每個引腳改變地址的一個二進(jìn)制位,因此可以將地址設(shè)置為 0x70、0x71、0x72、0x73、0x74、0x75、0x76 或 0x77 中的任意一個。面板的地址不需要連續(xù),只要唯一即可。

例如,如果 A2 和 A0 短路,地址為 0x70 + 4 + 1 = 0x75;如果只有 A1 短路,地址為 0x70 + 2 = 0x72。設(shè)置好唯一地址后,需要在 Arduino 代碼中設(shè)置這些地址。

六、Python 和 CircuitPython 的使用

6.1 硬件連接

6.1.1 CircuitPython 微控制器連接

將 Trellis 連接到 CircuitPython 微控制器的方式與連接到 Arduino 類似。例如,將 Feather M0 與 Trellis 連接時,3V 連接到 Trellis 的 5V/VCC,GND 連接到 Trellis 的 GND,SCL 連接到 Trellis 的 SCL,SDA 連接到 Trellis 的 SDA。

6.1.2 Python 計算機連接

以 Raspberry Pi 為例,將 Pi 的 5V 連接到 Trellis 的 5V,Pi 的 GND 連接到 Trellis 的 GND,Pi 的 SCL 連接到 Trellis 的 SCL,Pi 的 SDA 連接到 Trellis 的 SDA。

6.2 庫的安裝

6.2.1 CircuitPython 庫安裝

首先確保運行的是適用于電路板的最新版本的 Adafruit CircuitPython。然后從 Adafruit 的 CircuitPython 庫捆綁包中復(fù)制 adafruit_trellis.mpy 和 adafruit_bus_device 到 CIRCUITPY 驅(qū)動器的 lib 文件夾中。

6.2.2 Python 庫安裝

需要安裝 Adafruit_Blinka 庫以在 Python 中提供 CircuitPython 支持,可能還需要在平臺上啟用 I2C 并確保運行的是 Python 3。安裝完成后,從命令行運行以下命令:

sudo pip3 install adafruit-circuitpython-trellis

6.3 使用示例

以下是一個簡單的 Python 示例,用于初始化 Trellis、控制 LED 和讀取按鈕狀態(tài):

import time
import busio
from board import SCL, SDA
from adafruit_trellis import Trellis

i2c = busio.I2C(SCL, SDA)
trellis = Trellis(i2c)

# 打開所有 LED
trellis.led.fill(True)
time.sleep(2)

# 關(guān)閉所有 LED
trellis.led.fill(False)
time.sleep(2)

pressed_buttons = set()
while True:
    time.sleep(.1)
    just_pressed, released = trellis.read_buttons()
    for b in just_pressed:
        pressed_buttons.update(just_pressed)
        print('pressed:', b)
        trellis.led[b] = True
    for b in released:
        print('released:', b)
        pressed_buttons.difference_update(released)
        trellis.led[b] = False
    for b in pressed_buttons:
        print('still pressed:', b)
        trellis.led[b] = True

Adafruit Trellis 是一款功能強大、易于使用的開源背光鍵盤驅(qū)動系統(tǒng),無論是在硬件連接還是軟件編程方面都有很多值得探索的地方。你在使用 Trellis 的過程中遇到過哪些有趣的問題或挑戰(zhàn)呢?歡迎在評論區(qū)分享。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • I2C總線
    +關(guān)注

    關(guān)注

    8

    文章

    423

    瀏覽量

    63524
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    探索Adafruit Pi T - Cobbler Plus Kit:樹莓派的絕佳搭檔

    探索Adafruit Pi T - Cobbler Plus Kit:樹莓派的絕佳搭檔 在當(dāng)今的創(chuàng)客世界里,樹莓派(Raspberry Pi)以其小巧的身材和強大的功能,成為了眾多電子愛好者和工程師
    的頭像 發(fā)表于 05-10 16:55 ?319次閱讀

    探索Adafruit FONA MiniGSM:小巧模塊的強大功能

    探索Adafruit FONA MiniGSM:小巧模塊的強大功能 一、引言 在電子設(shè)計的世界里,我們常常追求小巧、多功能的模塊,以滿足各種項目的需求。Adafruit FONA MiniGSM就是
    的頭像 發(fā)表于 05-10 16:40 ?332次閱讀

    探索Adafruit 2.8"和3.2"彩色TFT觸摸屏開發(fā)板v2:功能、使用與調(diào)試

    探索Adafruit 2.8和3.2彩色TFT觸摸屏開發(fā)板v2:功能、使用與調(diào)試 作為電子工程師,我們經(jīng)常在項目中尋找能夠提升用戶體驗的組件,而彩色觸摸屏LCD無疑是其中的佼佼者。今天,我們就來
    的頭像 發(fā)表于 05-10 16:20 ?337次閱讀

    探索 Qualia Bare Driver Board for LP097QX1 Display

    設(shè)計的一款精美之作。它被應(yīng)用于 Adafruit Qualia 9.7 DisplayPort 顯示器套件中。該驅(qū)動板采用了非常出色的 LT3754 作為 12 通道恒流驅(qū)動器,具備獨立的
    的頭像 發(fā)表于 05-10 16:15 ?337次閱讀

    DIY達(dá)芬奇剪輯鍵盤開源項目介紹

    達(dá)芬奇官方 Speed Editor 專業(yè)剪輯鍵盤好用是真的,2500 元的售價也讓不少剪輯師直呼肉疼。今天給大家?guī)硪豢畛愕?b class='flag-5'>開源 DIY 項目,完美復(fù)刻官方剪輯鍵盤核心功能,低成本就能自制專屬剪輯控臺,效率拉滿。
    的頭像 發(fā)表于 05-06 11:30 ?493次閱讀
    DIY達(dá)芬奇剪輯<b class='flag-5'>鍵盤</b><b class='flag-5'>開源</b>項目介紹

    LP8550:高效LED背光驅(qū)動芯片的深度解析

    LP8550:高效LED背光驅(qū)動芯片的深度解析 在電子設(shè)備的世界里,LED背光驅(qū)動芯片扮演著至關(guān)重要的角色,尤其是在筆記本電腦、平板電腦等設(shè)備的LCD背光應(yīng)用中。今天,我們就來深入探討一款高性能
    的頭像 發(fā)表于 02-27 14:15 ?312次閱讀

    探索LP8551:高效LED背光驅(qū)動的卓越之選

    探索LP8551:高效LED背光驅(qū)動的卓越之選 在電子設(shè)備的世界里,LED背光驅(qū)動技術(shù)的發(fā)展日新月異。今天,我們將深入探討一款備受矚目的產(chǎn)品——LP8551,它是一款專為筆記本電腦和其他便攜式設(shè)備
    的頭像 發(fā)表于 02-27 13:55 ?287次閱讀

    探索LM3632A:集成式LCD背光與偏置電源及閃光燈驅(qū)動芯片

    探索LM3632A:集成式LCD背光與偏置電源及閃光燈驅(qū)動芯片 引言 在電子設(shè)備小型化與多功能化的浪潮中,高度集成的芯片成為了設(shè)計的核心訴求。德州儀器(TI)的LM3632A正是一款滿足這一需求
    的頭像 發(fā)表于 02-27 10:05 ?290次閱讀

    探索ADM8845:LCD白燈背光電荷泵驅(qū)動的理想之選

    探索ADM8845:LCD白燈背光電荷泵驅(qū)動的理想之選 在當(dāng)今的電子設(shè)備中,LCD顯示屏的應(yīng)用無處不在,而其背光源的性能直接影響著顯示效果。ADM8845作為一款專為LCD白燈
    的頭像 發(fā)表于 02-02 10:10 ?390次閱讀

    MAX20070B:集成TFT電源與LED背光驅(qū)動的解決方案

    推出的MAX20070/MAX20070B,這兩款高度集成的電源和LED背光驅(qū)動器,為汽車顯示系統(tǒng)帶來了諸多優(yōu)勢。 文件下載: MAX20070B.pdf 一、產(chǎn)品概述 1.1 集成特性
    的頭像 發(fā)表于 01-30 14:45 ?355次閱讀

    開源鍵盤合集】60%、100%、120%多種鍵盤布局,你選哪種?

    “本合集收錄了多款使用KiCad設(shè)計的開源客制化鍵盤,是時候復(fù)刻一把了”點擊跳轉(zhuǎn),可獲取設(shè)計文件掃碼入群,失效請加微信:opensrc_KLin本合集涵蓋了60%、100%、120%多種配列鍵盤
    的頭像 發(fā)表于 01-27 08:05 ?3104次閱讀
    【<b class='flag-5'>開源</b><b class='flag-5'>鍵盤</b>合集】60%、100%、120%多種<b class='flag-5'>鍵盤</b>布局,你選哪種?

    Adafruit 電纜組件 — 原型開發(fā)優(yōu)選線束解析

    為什么選擇 Adafruit? ● Adafruit開源硬件領(lǐng)域的重要玩家。 Adafruit Industries 成立于 2005 年,以提供電子元件、硬件套件、開發(fā)工具和學(xué)習(xí)
    的頭像 發(fā)表于 12-04 15:58 ?786次閱讀
    <b class='flag-5'>Adafruit</b> 電纜組件 — 原型開發(fā)優(yōu)選線束解析

    原廠 FZH1697 帶鍵盤掃描接口的LCD驅(qū)動控制專用電路

    )FZH1697是一種帶鍵盤掃描接口的LCD驅(qū)動控制專用電路,內(nèi)部集成有MCU 數(shù)字接口、數(shù)據(jù)鎖存器、LCD驅(qū)動鍵盤掃描、幻彩背光驅(qū)動等電
    發(fā)表于 11-07 09:43

    如何使用 QMK的固件鍵盤開源在 NUC029 上實現(xiàn)鍵盤

    使用 QMK的固件鍵盤開源在 NUC029 上實現(xiàn)鍵盤
    發(fā)表于 08-20 08:22

    零知開源——STM32F407VET6驅(qū)動SHT41溫濕度傳感器完整教程

    、核心代碼實現(xiàn)3.1 零知IDE代碼驅(qū)動 #include \"Adafruit_SHT4x.h\" Adafruit_SHT4x sht4 = Adafruit
    發(fā)表于 07-10 12:01
    连南| 五莲县| 交口县| 耒阳市| 靖安县| 潜江市| 昌平区| 庄浪县| 祁东县| 左贡县| 浮山县| 虎林市| 安乡县| 临江市| 酒泉市| 方正县| 山西省| 武鸣县| 遂宁市| 十堰市| 鄂尔多斯市| 湘西| 扎鲁特旗| 中宁县| 达州市| 龙岩市| 临夏市| 和硕县| 六枝特区| 古浪县| 南木林县| 濮阳县| 肇州县| 华蓥市| 四子王旗| 千阳县| 稷山县| 田林县| 南昌市| 博兴县| 津南区|