資料介紹
描述
大家好。
所以這是一個(gè)有趣的小項(xiàng)目,它解決了 Raspberry Pi Pico 微控制器的一個(gè)主要問題。
Raspberry Pi Pico 的引出線信息位于電路板的底部,這使得原型制作變得困難。當(dāng)我們將設(shè)備安裝到面包板上時(shí),我們必須使用參考指南來確定哪些引腳是誰的,這是一個(gè)混亂的過程。

所有的引出線細(xì)節(jié)都在我制作的擴(kuò)展板的頂部。為了展示 Pico 的 HID 功能,我們將它連接到擴(kuò)展板并利用它來構(gòu)建一個(gè)簡單的鼠標(biāo)。
該擴(kuò)展板的每個(gè) GPIO 引腳都有額外的 4 個(gè)引腳,并且兩側(cè)都有一些額外的引腳沒有連接到任何東西,這些用于放置 XYZ 組件以制作快速原型。
知道了這個(gè)擴(kuò)展板的使用方法之后,我們就開始本文對整個(gè)過程的探討。
所需材料
以下是此建筑中使用的材料 -
擴(kuò)展板設(shè)計(jì)

擴(kuò)展板的設(shè)計(jì)考慮了一些事情,即每個(gè)引腳的額外 GPIO 引腳和一些用于添加?xùn)|西的額外 con 引腳,另一件事是 Topside 上的 GPIO 編號詳細(xì)信息非常清晰。
該項(xiàng)目的原理圖非常簡單;我只是在我的 CAD 軟件中復(fù)制了一個(gè) Pico 設(shè)計(jì),并將一個(gè) CON4 引腳連接到 Pico 的每個(gè) GPIO 引腳。
我根據(jù) PCB 原理圖創(chuàng)建了一個(gè) PCB 設(shè)計(jì),并包括一個(gè)用于 Pico 放置的混合焊盤,其中包含一個(gè)用于接頭引腳的孔和一個(gè)用于將 Pico 作為 SMD 模塊安裝在 PCB 上的焊盤。
線路板
我將完成的PCB發(fā)送給PCBWAY樣品并在一周后收到它們。訂單選擇了帶有黑色絲印的白色阻焊層,因?yàn)樗ǔ?huì)使 PCB 看起來很漂亮。
就綜合素質(zhì)而言,它是出類拔萃的。我買的 10 塊板子每一塊都完美無缺。
我已經(jīng)使用他們的服務(wù)一段時(shí)間了,我必須說我收到的 PCB 非常好,正如我所希望的那樣。
查看 PCBWAY,以經(jīng)濟(jì)的價(jià)格和高質(zhì)量獲得優(yōu)質(zhì)的 PCB 服務(wù)!
董事會(huì)大會(huì)
- 電路板組裝過程首先將焊膏逐個(gè)添加到每個(gè)元件焊盤。
- 接下來,我們用鑷子夾起樹莓派 Pico 并將其放在指定位置,我們必須根據(jù)焊盤對齊電路板。
- 之后,我們小心地抬起整個(gè)電路板并將其放在 Mini SMT Hotplate 上,從下方將 PCB 加熱至焊膏熔化溫度。一旦 PCB 達(dá)到該溫度,焊膏就會(huì)熔化,所有元件都會(huì)連接到它們的焊盤上。
由于與 PCB Hotplate 的焊盤相比,電路板的尺寸稍大,我不得不通過移動(dòng) PCB 對電路板進(jìn)行兩次回流焊。
Pico 作為 HID

有趣的事實(shí):Pico 提供人機(jī)接口設(shè)備 (HID) 功能。
鼠標(biāo)、鍵盤、控制器和其他 HID 設(shè)備,
Arduino Nano 或 UNO 等通用板中使用的 Atmega382PU 或 AU 非常適合任何項(xiàng)目的原型制作,但它不支持 HID,因此我們無法使用這些板之一構(gòu)建游戲機(jī)項(xiàng)目。(還有另一種更復(fù)雜的方法,可以將 Uno 或 Nano 用作游戲控制器。)
我們將 Atmega32U 供電的 Arduino Micro 或 Leonardo 用于涉及 HID 的項(xiàng)目。
憑借更好的外圍設(shè)備和與 ESP32 相當(dāng)?shù)珱]有 WiFi 的處理器,Raspberry Pi Pico 是 Micro 或 Leonardo 的直接替代品。
也許 Pico 現(xiàn)在優(yōu)于 ESP32,因?yàn)樗蔡峁?WiFi 版本?這是有爭議的。
接線圖

這是我們將在下一步中使用的接線連接。
鼠標(biāo)組裝
- 為了構(gòu)建 HID 鼠標(biāo),我們首先使用另一個(gè)擴(kuò)展 PCB,向其添加按鈕,并將按鈕焊接到位。
- 我們將每個(gè)按鈕的一個(gè)引腳連接到 GND,然后將其他引腳連接到 GPIO0、GPIO1、GPIO2、GPIO3 和 GPIO4。(見附接線圖)
- 通過使用四個(gè) PCB 支架,我們使用四個(gè)安裝孔將兩個(gè) PCB 連接在一起。
代碼
對于代碼,我使用的是 HID 鼠標(biāo)草圖,它在示例> USB>鼠標(biāo)>鼠標(biāo)按鈕菜單中可用。
#include "Mouse.h"
// set pin numbers for the five buttons:
const int upButton = 0;
const int downButton = 1;
const int leftButton = 2;
const int rightButton = 3;
const int mouseButton = 4;
int range = 5; // output range of X or Y movement; affects movement speed
int responseDelay = 10; // response delay of the mouse, in ms
void setup() {
// initialize the buttons' inputs:
pinMode(upButton, INPUT_PULLUP);
pinMode(downButton, INPUT_PULLUP);
pinMode(leftButton, INPUT_PULLUP);
pinMode(rightButton, INPUT_PULLUP);
pinMode(mouseButton, INPUT_PULLUP);
// initialize mouse control:
Mouse.begin();
}
void loop() {
// read the buttons:
int upState = digitalRead(upButton);
int downState = digitalRead(downButton);
int rightState = digitalRead(rightButton);
int leftState = digitalRead(leftButton);
int clickState = digitalRead(mouseButton);
// calculate the movement distance based on the button states:
int xDistance = (leftState - rightState) * range;
int yDistance = (upState - downState) * range;
// if X or Y is non-zero, move:
if ((xDistance != 0) || (yDistance != 0)) {
Mouse.move(xDistance, yDistance, 0);
}
// if the mouse button is pressed:
if (clickState == HIGH) {
// if the mouse is not pressed, press it:
if (!Mouse.isPressed(MOUSE_LEFT)) {
Mouse.press(MOUSE_LEFT);
}
}
// else the mouse button is not pressed:
else {
// if the mouse is pressed, release it:
if (Mouse.isPressed(MOUSE_LEFT)) {
Mouse.release(MOUSE_LEFT);
}
}
// a delay so the mouse doesn't move too fast:
delay(responseDelay);
}
我們只需要修改引腳號和INPUT為INPUT PULLUP,這樣我們使用的每個(gè)GPIO都會(huì)有一個(gè)內(nèi)部上拉電阻。除了這兩個(gè)修改之外,無需更改任何其他內(nèi)容。
- 我們必須先按住Bootsel 按鈕,同時(shí)將 USB 連接到 Pico Board 才能上傳草圖。
- 之后,我們只需在板經(jīng)理選擇板后上傳草圖。(Pico 不需要選擇 COM 端口;不要選中它或留空。)
結(jié)果
這是此構(gòu)建的結(jié)果:一個(gè)功能性 HID 鼠標(biāo),帶有一個(gè)用于選擇的按鈕和四個(gè)用于移動(dòng)的方向按鈕。
此配置不能代替標(biāo)準(zhǔn)鼠標(biāo)。這僅僅是一個(gè)概念,用于演示RP2040 的功能以及它如何取代Arduino 驅(qū)動(dòng)的具有 HID 功能的微控制器。
我將使用 RPi Pico 板進(jìn)行原型設(shè)計(jì),并在未來利用這個(gè)擴(kuò)展 PCB。
?
- 用電機(jī)和Raspberry Pi Pico組裝人體骷髏
- 遠(yuǎn)程編程Raspberry Pi Pico
- Raspberry Pi Pico上的ADC采樣和FFT
- Raspberry Pi Pico多功能入門套件
- RP2040 Raspberry Pi Pico遇見LoRa
- Arduino Raspberry Pi Pico/RP2040以太網(wǎng):W5100S EVB Pico
- 基于Raspberry pi pico的音量控制宏鍵盤 3次下載
- 免費(fèi)Pico模擬器上的Raspberry Pi Pico和LCD1602接口
- 使用Raspberry Pi Pico的LED序列
- Raspberry Pi Pico:使用PIO驅(qū)動(dòng)伺服
- 如何在Raspberry Pi Pico中使用OLED顯示器
- 印有PINOUT的Raspberry Pi pico分線板
- 適用于Raspberry Pi 4的Raspberry Pi Pico開發(fā)板
- 基于BME680和Raspberry Pi Pico的氣象站
- raspberry pi Pico使用MicroPython變磚后的解決方法
- 5分鐘內(nèi)將Raspberry Pi Pico變成簡單的示波器+波形發(fā)生器 2317次閱讀
- 基于Raspberry Pi 5的蜂窩物聯(lián)網(wǎng)項(xiàng)目 1312次閱讀
- 使用Raspberry Pi Pico W和MicroPython開發(fā)物聯(lián)網(wǎng)應(yīng)用 2180次閱讀
- Pico W的無線功能 1085次閱讀
- 用于測試項(xiàng)目的4個(gè)最佳樹莓派Raspberry Pi模擬器 6823次閱讀
- 基于Raspberry Pi Pico的云端溫濕度監(jiān)測站設(shè)計(jì) 1986次閱讀
- 基于樹莓派產(chǎn)品 Raspberry Pi微控制器板的優(yōu)缺點(diǎn) 2984次閱讀
- 如何從Raspberry Pi Pico的模數(shù)轉(zhuǎn)換器捕獲數(shù)據(jù)計(jì)算? 2772次閱讀
- 基于Raspberry Pi Pico開發(fā)先進(jìn)的家庭自動(dòng)化系統(tǒng) 3003次閱讀
- 微雪電子ZeroW| Raspberry Pi ZeroW主板簡介 2618次閱讀
- 微雪電子Raspberry Pi 3 Model主板簡介 3141次閱讀
- 微雪電子Raspberry Pi 3 Model擴(kuò)展板簡介 1667次閱讀
- 沁恒股份串口轉(zhuǎn)HID鍵盤鼠標(biāo)芯片 CH9329概述 5448次閱讀
- 利用Raspberry Pi構(gòu)建存儲(chǔ)和虛擬化時(shí)間序列數(shù)據(jù) 952次閱讀
- 一文了解Raspberry Pi 4各項(xiàng)性能跑分 3w次閱讀
下載排行
本周
- 1DD3118電路圖紙資料
- 0.08 MB | 1次下載 | 免費(fèi)
- 2AD庫封裝庫安裝教程
- 0.49 MB | 1次下載 | 免費(fèi)
- 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
- 1.12 MB | 1次下載 | 免費(fèi)
- 4網(wǎng)絡(luò)安全從業(yè)者入門指南
- 2.91 MB | 1次下載 | 免費(fèi)
- 5DS-CS3A P00-CN-V3
- 618.05 KB | 1次下載 | 免費(fèi)
- 6海川SM5701規(guī)格書
- 1.48 MB | 次下載 | 免費(fèi)
- 7H20PR5電磁爐IGBT功率管規(guī)格書
- 1.68 MB | 次下載 | 1 積分
- 8IP防護(hù)等級說明
- 0.08 MB | 次下載 | 免費(fèi)
本月
- 1貼片三極管上的印字與真實(shí)名稱的對照表詳細(xì)說明
- 0.50 MB | 103次下載 | 1 積分
- 2涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 89次下載 | 1 積分
- 3錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 43次下載 | 1 積分
- 4錦銳CA51F005 SDK開發(fā)包
- 19.47 MB | 19次下載 | 1 積分
- 5PCB的EMC設(shè)計(jì)指南
- 2.47 MB | 16次下載 | 1 積分
- 6HC05藍(lán)牙原理圖加PCB
- 15.76 MB | 13次下載 | 1 積分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下載 | 免費(fèi)
- 8蘋果iphone 11電路原理圖
- 4.98 MB | 6次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191390次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評論