資料介紹
描述
大家好。
所以這是一個(gè)有趣的小項(xiàng)目,它解決了 Raspberry Pi Pico 微控制器的一個(gè)主要問題。
Raspberry Pi Pico 的引出線信息位于電路板的底部,這使得原型制作變得困難。當(dāng)我們將設(shè)備安裝到面包板上時(shí),我們必須使用參考指南來確定哪些引腳是誰的,這是一個(gè)混亂的過程。
所有的引出線細(xì)節(jié)都在我制作的擴(kuò)展板的頂部。為了展示 Pico 的 HID 功能,我們將它連接到擴(kuò)展板并利用它來構(gòu)建一個(gè)簡(jiǎn)單的鼠標(biāo)。
該擴(kuò)展板的每個(gè) GPIO 引腳都有額外的 4 個(gè)引腳,并且兩側(cè)都有一些額外的引腳沒有連接到任何東西,這些用于放置 XYZ 組件以制作快速原型。
知道了這個(gè)擴(kuò)展板的使用方法之后,我們就開始本文對(duì)整個(gè)過程的探討。
所需材料
以下是此建筑中使用的材料 -
擴(kuò)展板設(shè)計(jì)
擴(kuò)展板的設(shè)計(jì)考慮了一些事情,即每個(gè)引腳的額外 GPIO 引腳和一些用于添加?xùn)|西的額外 con 引腳,另一件事是 Topside 上的 GPIO 編號(hào)詳細(xì)信息非常清晰。
該項(xiàng)目的原理圖非常簡(jiǎn)單;我只是在我的 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ù)焊盤對(duì)齊電路板。
- 之后,我們小心地抬起整個(gè)電路板并將其放在 Mini SMT Hotplate 上,從下方將 PCB 加熱至焊膏熔化溫度。一旦 PCB 達(dá)到該溫度,焊膏就會(huì)熔化,所有元件都會(huì)連接到它們的焊盤上。
由于與 PCB Hotplate 的焊盤相比,電路板的尺寸稍大,我不得不通過移動(dòng) PCB 對(duì)電路板進(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 版本?這是有爭(zhēng)議的。
接線圖
這是我們將在下一步中使用的接線連接。
鼠標(biāo)組裝
- 為了構(gòu)建 HID 鼠標(biāo),我們首先使用另一個(gè)擴(kuò)展 PCB,向其添加按鈕,并將按鈕焊接到位。
- 我們將每個(gè)按鈕的一個(gè)引腳連接到 GND,然后將其他引腳連接到 GPIO0、GPIO1、GPIO2、GPIO3 和 GPIO4。(見附接線圖)
- 通過使用四個(gè) PCB 支架,我們使用四個(gè)安裝孔將兩個(gè) PCB 連接在一起。
代碼
對(duì)于代碼,我使用的是 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);
}
我們只需要修改引腳號(hào)和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變成簡(jiǎn)單的示波器+波形發(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次閱讀
- 用于測(cè)試項(xiàng)目的4個(gè)最佳樹莓派Raspberry Pi模擬器 6823次閱讀
- 基于Raspberry Pi Pico的云端溫濕度監(jiān)測(cè)站設(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主板簡(jiǎn)介 2618次閱讀
- 微雪電子Raspberry Pi 3 Model主板簡(jiǎn)介 3141次閱讀
- 微雪電子Raspberry Pi 3 Model擴(kuò)展板簡(jiǎn)介 1667次閱讀
- 沁恒股份串口轉(zhuǎn)HID鍵盤鼠標(biāo)芯片 CH9329概述 5448次閱讀
- 利用Raspberry Pi構(gòu)建存儲(chǔ)和虛擬化時(shí)間序列數(shù)據(jù) 952次閱讀
- 一文了解Raspberry Pi 4各項(xiàng)性能跑分 3w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多