91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Raspberry Pi Pico作為HID鼠標(biāo)

Raspberry Pi Pico作為HID鼠標(biāo)

2023-02-01 | zip | 0.14 MB | 次下載 | 2積分

資料介紹

描述

大家好。

所以這是一個(gè)有趣的小項(xiàng)目,它解決了 Raspberry Pi Pico 微控制器的一個(gè)主要問題。

Raspberry Pi Pico 的引出線信息位于電路板的底部,這使得原型制作變得困難。當(dāng)我們將設(shè)備安裝到面包板上時(shí),我們必須使用參考指南來確定哪些引腳是誰的,這是一個(gè)混亂的過程。

?
?
?
poYBAGPXNiuAPFHJAA3L9Bt_mvw674.jpg
?
1 / 3
?

所有的引出線細(xì)節(jié)都在我制作的擴(kuò)展板的頂部。為了展示 Pico 的 HID 功能,我們將它連接到擴(kuò)展板并利用它來構(gòu)建一個(gè)簡單的鼠標(biāo)。

該擴(kuò)展板的每個(gè) GPIO 引腳都有額外的 4 個(gè)引腳,并且兩側(cè)都有一些額外的引腳沒有連接到任何東西,這些用于放置 XYZ 組件以制作快速原型。

知道了這個(gè)擴(kuò)展板的使用方法之后,我們就開始本文對整個(gè)過程的探討。

所需材料

?
?
?
?
1 / 2
?

以下是此建筑中使用的材料 -

擴(kuò)展板設(shè)計(jì)

?
?
?
pYYBAGPYsX6AfRjCAAFs-UErEhk841.jpg
?
1 / 3
?

擴(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 上的焊盤。

線路板

?
?
?
?
1 / 2
?

我將完成的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ì)

?
?
?
?
1 / 4
?
  • 電路板組裝過程首先將焊膏逐個(gè)添加到每個(gè)元件焊盤。
  • 接下來,我們用鑷子夾起樹莓派 Pico 并將其放在指定位置,我們必須根據(jù)焊盤對齊電路板。
  • 之后,我們小心地抬起整個(gè)電路板并將其放在 Mini SMT Hotplate 上,從下方將 PCB 加熱至焊膏熔化溫度。一旦 PCB 達(dá)到該溫度,焊膏就會(huì)熔化,所有元件都會(huì)連接到它們的焊盤上。

由于與 PCB Hotplate 的焊盤相比,電路板的尺寸稍大,我不得不通過移動(dòng) PCB 對電路板進(jìn)行兩次回流焊。

Pico 作為 HID

pYYBAGPYsd2AWkNiAAy9HfTtYac738.jpg
?

有趣的事實(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 版本?這是有爭議的。

接線圖

poYBAGPYseWANVe9AAJTiA79FaY539.jpg
?

這是我們將在下一步中使用的接線連接。

鼠標(biāo)組裝

?
?
?
?
1 / 4
?
  • 為了構(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é)果

?
?
?
?
?
1 / 3
?

這是此構(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。

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1DD3118電路圖紙資料
  2. 0.08 MB   |  1次下載  |  免費(fèi)
  3. 2AD庫封裝庫安裝教程
  4. 0.49 MB   |  1次下載  |  免費(fèi)
  5. 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
  6. 1.12 MB   |  1次下載  |  免費(fèi)
  7. 4網(wǎng)絡(luò)安全從業(yè)者入門指南
  8. 2.91 MB   |  1次下載  |  免費(fèi)
  9. 5DS-CS3A P00-CN-V3
  10. 618.05 KB  |  1次下載  |  免費(fèi)
  11. 6海川SM5701規(guī)格書
  12. 1.48 MB  |  次下載  |  免費(fèi)
  13. 7H20PR5電磁爐IGBT功率管規(guī)格書
  14. 1.68 MB   |  次下載  |  1 積分
  15. 8IP防護(hù)等級說明
  16. 0.08 MB   |  次下載  |  免費(fèi)

本月

  1. 1貼片三極管上的印字與真實(shí)名稱的對照表詳細(xì)說明
  2. 0.50 MB   |  103次下載  |  1 積分
  3. 2涂鴉各WiFi模塊原理圖加PCB封裝
  4. 11.75 MB   |  89次下載  |  1 積分
  5. 3錦銳科技CA51F2 SDK開發(fā)包
  6. 24.06 MB   |  43次下載  |  1 積分
  7. 4錦銳CA51F005 SDK開發(fā)包
  8. 19.47 MB   |  19次下載  |  1 積分
  9. 5PCB的EMC設(shè)計(jì)指南
  10. 2.47 MB   |  16次下載  |  1 積分
  11. 6HC05藍(lán)牙原理圖加PCB
  12. 15.76 MB   |  13次下載  |  1 積分
  13. 7802.11_Wireless_Networks
  14. 4.17 MB   |  12次下載  |  免費(fèi)
  15. 8蘋果iphone 11電路原理圖
  16. 4.98 MB   |  6次下載  |  2 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935127次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191390次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  10. 158M  |  183342次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81588次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73815次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65989次下載  |  10 積分
主站蜘蛛池模板: 人人爽天天碰天天躁夜夜躁 | 欧美freesex10一13 | aaa免费视频 | 狠狠色丁香久久婷婷综合丁香 | 另类激情网 | 爱爱视频天天看 | 欧美很很干| 看片久久| 新版天堂中文网 | 49pao强力免费打造在线高清 | 深夜福利一区 | 国产精品29页 | 午夜免费啪视频观看网站 | 午夜高清在线观看免费6 | 特级全黄一级毛片免费 | 国产精品9999久久久久仙踪林 | 国产网红精品 | 成视频年人黄网站免费视频 | 色在线网站免费观看 | 欧美高清milf在线播放 | 一级毛片无毒不卡直接观看 | 77788色淫网站免费观看 | 天天插天天摸 | 手机看片1024免费视频 | 亚洲四虎影院 | 亚洲黄色网址 | 欧美成人免费草草影院 | 日本不卡一区二区三区在线观看 | 黄色在线观看视频网站 | 午夜精品久久久久久久第一页 | 毛片天天看 | 99国产精品农村一级毛片 | 国产99热| 成人性色生活片免费看爆迷你毛片 | 免费网站你懂得 | 操女人在线 | 久久综合九色综合网站 | 欧美精品啪啪 | 色老头网址| 日本精品视频一视频高清 | 黄在线观看网站 |