PC电脑智能游戏手柄设计背景及概述: 在智能手机随处可见的今天,各式各样的APP层出不穷。由于手机有重力感应功能,手机游戏自然也不会错过这个,相比八、九十年代的小游戏,如今的游戏不再只是用眼去看,用手指操作,更多的是让玩家用身体去体验游戏。赛车类、飞机类、游艇类等游戏,通过控制手机的姿态就能控制游戏对象,这种体验使的很多人着迷。 但是,在游戏体验得到大幅度提升的同时,也存在一些问题。重力传感器与手机是一体的,手机屏幕也是手机的一部分,当敌机快速朝我方冲来时,我们会最大限度的倾斜手机来躲避敌机。但是此时由于手机倾斜,我们要么看不见屏幕内容,要么头也随手机倾斜。 为了解决这个问题,我想把传感器与屏幕分离出来,即,使控制与显示独立。正值“深联华杯单片机应用设计大赛”如火如荼的进行,我就借此机会将我的计划实现。制作一款具有重力感应的游戏手柄。 虽然带重力感应的游戏手柄在市场上也有,但是上百元的价格并不是人人都会购买的。深联华SLH89F5162单片机是增强型51单片机,兼容传统的51单片机,又添加了许多实用的周边模块,使得单片机真正成为“单片微机”。同时因其低廉的价格,使得制作出来的重力游戏手柄的成本也极低,属于平民级的消费电子,市场竞争力不言而喻。 项目设计原理 1、 原理概述 SLH89F5162单片机从传感器MPU6050获取游戏手柄的实时2轴加速度值,经过运算可得到游戏手柄的倾斜角度,将这个角度信息通过串口发送到电脑上的接收程序,由接收程序经过简单的数据打包,就能把游戏手柄的姿态传递给游戏对象,从而达到与智能手机重力感应游戏一样的游戏效果。 2、 硬件设计原理 SLH89F5162单片机有内部16.6MHz振荡器,所以不接外部晶振也可正常工作。用其产生115200波特率,通讯速度快,误差极小,可忽略不计,测试了数万个数据,没发现出错的数据。同时,产生的波特率越小,误差越大。单片机内部有复位电路,可省去外部复位电路,因此一片单片机芯片就是一个最小系统。 控制器SLH89F5162单片机为主控制器,负责传感器的控制,传感器信息的读取、矩阵键盘扫描、独立按键输入、与电脑的串口通讯。 传感器MPU6050内部集成了3轴陀螺仪、3轴加速度计、温度传感器和数字运动处理器,并支持外接其他辅助传感器。I2C通讯接口,数字量输出,体积小。 115200波特率的分频系数 = 16.6M / 16 / 115200 = 9.00608 38400波特率的分频系数 = 16.6M / 16 / 38400= 27.0182 19200波特率的分频系数 = 16.6M / 16 / 19200 = 54.0365 9600波特率的分频系数 = 16.6M / 16 / 9600 = 108.073 3、 软件设计原理 软件开发环境采用Keil3,编程语言采用汇编。采用模块化方法,将I2C读写函数、MPU6050操作函数、键盘扫描函数、数学运算、表格分开在不同的文件,编译时再链接在一起。 MPU6050只支持I2C通讯,最大I2C时钟为400KHz,采用汇编语言编写,可最大限度的满足其时钟要求,这是高级语言无法做到的。重力传感器输出的是某一轴的加速度大小,该值与重力加速度g的比值,就是传感器绕该轴与竖直方向夹角的正弦值,只要求其反正弦就可得到相应的角度大小。 angleX = arcsin(accelX / g) angleY = arcsin(accelY / g) 采集的数据具有噪声,采用数字低通滤波器可有效减小噪声干扰。某一轴上不仅存在重力加速度的分量,同时也存在运动加速度的分量,这会对倾角的计算带来误差。运动加速度的分量比重力加速度小很多,持续时间也很短,采用低通滤波算法也能较小运动带来的误差。 低通滤波算法:y =a * y + (1 - a) * x; x:输入, y:输出, a:系数 由于8位的51单片机先天不足,对浮点数据运算的支持很差,尤其是涉及三角函数、反三角函数。所以我采用空间换时间的方法,即通过查表得到arcsin(accel)的值,这样运算非常快,而且精度没有打任何折扣。SLH89F5162具有片内62KFlash ROM,而accel = -8192 ~ 8192,存储8192个浮点数据需要8192 * 4 = 32K字节,采用SLH89F5162单片机没有任何压力。 视频演示: 硬件设计框图: 软件设计框图: 作品展示:
2021-10-29 15:19:12 991KB slh89f5162 游戏手柄 重力感应 电路方案
1
软件工程课程设计,沃尔沃物流信息服务平台,Rose建模,附源码及报告
1
文档内容为哈工大计算机学院操作系统课程实验的源码和报告,希望好好使用,仅供参考,注意孙XX,小心被雷!!!
2021-10-26 21:24:10 1.55MB 哈工大 计算机学院 操作系统 实验
1
电力漏电检测、报警系统概述: 本设计是一款电力线路漏电监测与远程控制系统,本次设计使用了指定硬件平台:STM32F407( Cortex-M4微控制器),以STM32F407核心板为主体,结合GSM模块,构建了一个无线电力线路监测与远程控制系统。 本系统主要由服务器和客户端两大部分组成,客户端主要负责电流数据的采集与发送,时钟校时以及开关控制等指令的完成;服务器主要负责将收到的数据进行汇总制表,并根据相应情况向客户端发送相应指令。 系统结构图如下: 电力检测系统主要工作流程如下: 通过电能表测量出电能数据并通过SIM300的GPRS功能将电流数据实时的传给服务器,服务器进行汇总比较,一旦发现监测到各支路监测点电能总和与其父节点的干路电能比较,如果超过设定的域值,则说明该电路区域有漏电现象,则本系统服务端即时发出报警信号并通过与之相连接的手机模块SIM300拨打监测号点终端通信模块的电话,建立实时连接后,通过该连接通路,发送DTMF单,将指令发送给终端,其控制电路将该段线路电力切断,以达到对线路的实时监控效果。无线通信和数据采集终端的固件用IAR开发环境,采用C语言编程,服务器端采用QT + SQL 2008数据库编程,运行于WINDOWS平台。 电路漏电检测PC集中监测端: 本系统的优势: 系统采用可视化编程界面友好;具有自动检测和传输功能方便实用;GSM网络覆盖面广,监控不受距离限制;无线通信可免布线,方便快捷;采用工业标准协议,利于产业化产生现实效益。该系统在对线路进行实时监测的同时,对意外事故做出及时反应,尽可能地减少因为线路故障而造成的人身伤害及财产损失,对有效保护人的生命安全及社会财产具有重大意义,并对电路的各种事故具有实时预防能力,对将来在电路监测报警领域有很大发展前景。 上位机及其源码截图:
2021-10-16 14:23:57 2.99MB 物联网 报警系统 监测 漏电检测
1
山东大学 软件学院 人机交互课程(wl老师)源码及实验报告,这里面是M2和M4部分的源代码和实验报告。
2021-10-13 15:25:14 92MB 人机交互 实验源码 山东大学
1
前言: 针对天然气事故,国内外有关人士也是花了很大力气去改善。设计出了各种检测报警系统装置,功能也很丰富。但是都有一个共同的问题,事故发生后设备不能自动处理,或者家中无人时,报警显得很无力,不能远程通知用户。家中最大的安全隐患就主要有两个,一是防火,二是防盗。即便是其他安防产品也没有使防火和防盗相结合,而且远程通知用户的。 该互联网智能家居系统采用新唐M451单片机作为主控制芯片,外接多个传感器模块,如多普勒传感器、人体运动传感器、烟雾传感器等,详见设计报告。 防火、防盗等安全系统主要功能: (1) 可以透过网络远程通讯,在只有有互联网就可以通讯; (2) 检测可燃气体,远程监控,会自动开窗通风; (3) 通过人体运动传感器检测数据加上数学分析,确定室内是否有人; (4) 远程客户端监视一目了然,还可以远程操控。 远程监控防火、防盗等安全系统设计视频演示: 实物图和客户端窗口: 远程监控防火、防盗等安全系统源代码截图:
1
哈工程操作系统课程设计源码+满分报告,6666666666666
1
电池供电的无线传感器监控功能概述: 此设计将超低功耗的 MSP430 MCU 与低于 1GHz 的射频收发器相搭配,实现了电池供电的无线传感器监控解决方案。此设计展示了接入点和无线节点,可以使用网络协议“SimpliciTI”以无线方式共享传感器数据。另外还提供了 PC 端 GUI,以可视方式显示在各个节点和接入点之间传输/接收的无线数据。 电池供电无线传感器监控电路截图: 电池供电的无线传感器监控电路特性: 低功耗电池供电的无线传感器监视器 采用 MSP430F2274 MCU 和 CC2500 2.4 GHz 射频收发器 利用 SimpliciTI 射频网络协议,支持点对点和星形拓扑 还提供了此设计的硬件 (ez430-RF2500) 提供了完整的硬件设计文件、软件源代码和 PC 端 GUI 此设计也可以用于使用能量收集电源的无电池应用 (ez430-RF2500-seh) 电池供电的无线传感器监控硬件组成截图: 该电路设计涉及到重要芯片: CC2500:低成本、低功耗 2.4GHz 射频收发器样片申请或购买查看设计套件与评估模块 MSP430F2274:16 位超低功耗微控制器,具有 32KB 闪存和 1K RAM样片申请或购买查看设计套件与评估模块 相关参考设计资料如下: 1.eZ430-RF2500 User's Guide(SLAU227) The eZ430-RF2500 is available for order from the TI eStore (https://ti.com/appnote-ad-slaa378-rf2500). 2. Measuring Power Consumption With CC2430 and Z-Stack (SWRA144) 3. MSP430x22x2, MSP430x22x4 Mixed Signal Microcontroller Data Sheet (SLAS504) 4. CC2500 Low-Cost Low-Cost Low-Power 2.4 GHz RF Transceiver Data Sheet (SWRS040) 5. Random Number Generation Using the MSP430 (SLAA338) 6. MSP430x2xx Family User's Guide (SLAU144) 7. SimpliciTI Developer's Notes located in SimpliciTI-IAR-1.1.1 (SWRC099)
1
本课程设计包含时间、闹钟、日历、DS18B20温度、显示等模块 可对时间、闹钟、日历部分进行数据调整 内含详细功能描述 使用C语言编写,各功能分模块,利于移植和复制 附含详细注释、相关资料、实验报告、答辩PPT 单片机课程设计的不二之选
2021-09-22 12:02:12 5.64MB stm32 51单片机 课程设计 设计报告
实现了如下四种调度算法的模拟: (1)时间片轮转调度 (2)优先数调度 (3)最短进程优先 (4)最短剩余时间优先 模拟过程使用了JProgressBar作为进程状态条,更为直观地观察到每个进程的执行状态。 程序用户说明: 1、在上图标号1处输入要创建随机进程的个数,仅可输入正数,非正数会有相关提示。然后点击标号2处的“创建进程”按钮,随进创建的进程显示在程序界面的中央窗口,如标号3所示。 2、创建好随机进程后,在标号4的单选框选择将要模拟执行的调度算法,然后点击标号5处的“开始模拟”,程序开始执行。标号3的列表会显示相应的调度变化。 3、模拟过程中,可以继续添加新的进程,操作同上。 4、 一
2021-09-02 09:09:17 624KB JAVA 源码 实验报告 算法