基于Arduino Pro Micro的游戏手柄制作

news2025/1/21 2:51:01

基于Arduino Pro Micro的游戏手柄开发

1. Arduino IDE下载及安装

在Arduino官网Software | Arduino下载最新版Arduino IDE并安装。

或使用QQ群中提供的免安装版Arduino IDE,安装完成后Arduino Pro Micro的pin脚定义使用下面路径下的leonardo:

2. Arduino Pro Micro驱动安装

PC首次连接Arduino Pro Micro需安装USB驱动,驱动正确安装后在设备管理器中显示如下:

3. 程序编译及下载

使用Arduino Pro Micro开发板选择如下:

注意Arduino Pro Micro没有LED_BUILTIN这个管脚,可以使用LED_BUILTIN_RX或LED_BUILTIN_TX管脚来做LED闪烁实验,开发板硬件上这两个管脚都接了LED。

       

选择 项目-上传,则自动完成编译&烧录&重启,代码运行。

   

下载成功标志:

       

4. 例程使用

Arduino Pro Micro使用的是ATMEG32U4芯片,可以实现USB HID功能,USB例程位置:

   

5. 安装Joystick库

github下载或使用群主提供的ArduinoJoystickLibrary-master.zip安装包。

github网址:

https://github.com/MHeironimus/ArduinoJoystickLibrary

Arduino IDE下打开 项目-加载库-添加ZIP库

   

选择需要加载的ZIP文件ArduinoJoystickLibrary-master.zip:

   

安装完成后会在ArduinoProject目录下生成一个文件夹:

   

6. 游戏手柄使用

开发板默认已烧录好游戏手柄固件,固件包含12个按键和两个摇杆的功能,可以畅玩大部分游戏。拿到游戏手柄后连接电脑,如果Arduino Pro Micro开发板驱动已经正确安装则会在设备管理器中有以下显示:

   

以下以WIN7为例测试游戏手柄功能:

计算机-打开控制面板-设备和打印机,会显示如下图所示Arduino Leonardo游戏手柄图标。

Arduino Leonardo图标上右键选择“游戏控制器设置”

选中属性-测试,可以测试手柄的12个按键和两个摇杆

打开配套的小鸡模拟器软件,下载超级玛丽或俄罗斯方块游戏。

打开一种游戏,在界面中选择配置-控制输入-设置,如下图所示

游戏中主要使用“上”,“下”,“左”,“右”,“选择”,“开始”这六个按键,将这六个按键分别映射到游戏手柄上,映射方法是选择“上”键然后再按游戏手柄上的某一个按键即可。

映射完成后即可愉快的开始游戏了!

本游戏手柄提供原理图PCB源码等设计资料,可以也可以很方便的在此手柄基础上做升级改造。

Arduino Pro Micro游戏手柄视频演示:

https://www.bilibili.com/video/BV1Re4y1Y7XG

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/151932.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GrapeCity 文档处理商业系列Crack-6.0.2Version

GrapeCity 文档处理商业系列Crack文档 API 使用高速、直观的文档 API 全面控制您的文档 包括: Documents for Excel, .NET Documents for Data Viewer Documents for PDF Documents for PDF Viewer Documents for Word Documents for Imaging Documents for Image V…

数据库MySQL基础入门之MySQL隐式转换

一、问题描述 rootmysqldb 22:12: [xucl]> show create table t1\G *************************** 1. row *************************** Table: t1Create Table: CREATE TABLE t1 ( id varchar(255) DEFAULT NULL ) ENGINEInnoDB DEFAULT CHARSETutf8 1 row in set (0.0…

ArcGIS基础实验操作100例--实验74灾害影响缓冲区分析

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 高级编辑篇--实验74 灾害影响缓冲区分析 目录 一、实验背景 二、实验数据 三、实验步骤 (…

剑指offer----C语言版----第十四天

表示数值的字符串 原题链接:剑指 Offer 20. 表示数值的字符串 - 力扣(LeetCode)1.1 题目描述 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。数值(按顺序)可以分成以下几个部分&a…

常见胶片的分类和结构

胶片的分类方法非常多,本质上属于高分子材料范畴,很多类别已经超出笔者的认知范围,我们只对与档案数字资源长期保存和异质备份相关的胶片分类方法进行介绍。笔者整理了十大分类如下图所示: 各分类简要介绍 1. 按宽度尺寸分类 常…

【Linux】进程信号万字详解(上)

🎇Linux: 博客主页:一起去看日落吗分享博主的在Linux中学习到的知识和遇到的问题博主的能力有限,出现错误希望大家不吝赐教分享给大家一句我很喜欢的话: 看似不起波澜的日复一日,一定会在某一天让你看见坚持…

194: vue+openlayers 根据卫星lat,lon,alt,俯仰角,方位角,绘制地面的拍摄的区域

第194个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers项目中研究卫星的拍摄范围。 根据卫星的高度,经度,纬度,方位角,俯仰角以及拍摄的幅宽,幅长等参数,绘制拍摄的矩形框和中心点。这里用到了一些公式,参考代码,尤其是大部分使用的是弧度而非角度,需…

青铜到王者,8本最好的Python从入门到进阶的书

春节长假还有1周了,是时候囤一些书充充电了!新的一年群里很多小伙伴开始想学Python, 无论是准备转行的,还是想多学一份技能提高职场竞争力的,都想选择Python赛道,下面给大家推荐一些非常不错的Python入门到…

联合证券|利好叠加有望实质兑现 机构加码布局装修建材

组织加码布局装饰建材板块。据了解,受房地产利好方针带动、职业竞赛格式持续改进及原材料本钱下降等多重利好叠加,装饰建材板块有望迎来实质性利好,虽然曩昔两个多月来相关公司有所反弹,但组织以为行情仍然在路上。 多重利好推进 …

架构设计---高可用的处理

前言: 系统的高可用架构就是要在上述各种故障情况下,保证系统依然可用提供服务,具体包括以下几种架构方案。 冗余备份: 各种服务器故障是不可避免的,架构设计上就要保证,当服务器故障的时候,…

简短通俗理解动态规划算法--最短路径问题

问题:从某顶点出发,沿图的边到达另一顶点所经过的路径中,各边上权值之和最小的一条路径——最短路径。在博客动态规划算法中介绍了动态规划的基本思想已经建立动态规划模型的步骤,下面将其中的方法分析最短路径问题。 最短路径有…

CBAM: Convolutional Block Attention Module

https://arxiv.org/pdf/1807.06521.pdf 摘要: 我们提出了卷积块注意模块(CBAM),一个简单而有效的用于前馈卷积神经网络的注意模块。给定中间特征图,我们的模块依次推导出沿通道和空间两个独立维度的注意图,然后将注意图乘到输入…

vue-seamless-scroll数据量少时,暂停滚动,继续滚动

需求内容 大屏项目:指定dom元素内,如果子元素内容过多,超出父元素的最高高度,可以发生自动滚动;如果子元素内容没有超出父元素的最高高度,不可以发生自动滚动。 . 实现方案 获取数据后并渲染到dom后&am…

并查集的查询与合并详解

文章目录 一、并查集的概念 二、并查集的实现 2、1 并查集不同集合(树)的形成 2、2 find()函数找一个元素集合的编号(元素所属于树的祖宗) 2、3 合并两个不同集合(合并两棵不同的树&#xff09…

SpringCloud学习笔记 - Nacos集群配置和配置持久化

1. 集群架构 要组成集群Nacos必须要有3个或以上的Nacos服务节点,官网推荐在生产服务中使用集群架构。 官网对Nacos集群架构的说明:https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html 总体来说有三种方式可以实现Nacos集群部署: …

恒远模式(flyweight)

简介:共享对象,当一个对象可以被多次利用的时候,并且对象内部相同,这个时候需要考虑让对象进行复用,而不是多次创建结构图:代码就不写了,因为我觉得这东西没啥用,因为一个对象对应的…

技术分享 | 测试平台开发-前端开发之Vue.js 框架

Vue.js 是一套用于构建用户界面的渐进式框架,在目前的前端开放中比较流行的前端框架。Vue 被设计成自底向上的逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或已有项目整合。但是学习 Vue.js 需要一定的 HTML、CSS、和 …

指针进阶(3)

tips 1. sizeof的返回类型时size_t。size_t就是为sizeof量身定做的,size_t就是unsigned int 2. strlen碰到\0会停下来,而sizeof则不会,也将其算作一个字符 3. 要注意这么两对东西: scanf()与gets(): \0 , \n , 空格 …

<TCP网络编程>——《计算机网络》

目录 1.TCP网络程序 1.1 TCP socket API 1.1.1 socket(): 1.1.2 bind():​ 1.1.3 listen(): ​ 1.1.4 accept(): 1.1.5 connect(): 2. 封装 TCP socket 2.1 实现一个简单的英译汉的功能 3.简单的TCP网络程序(多进程版本) 4. 简单的TCP网络程序(多线程版本) 5. 线程…

SpringBoot自定义MessageConvert

目录 前言 原理 实现 拓展 前言 对于页面携带的请求头中的AcceptSpringBoot有对应的10种MessageConvert可以支持写出对应的媒体类型,比如application/xml、application/json…… 我们还可以通过向容器放入一个WebMvcConfigurer 实现定制化SpingMVC&#xff0…