# OpenEMGunSharp **Repository Path**: mmxx0212/open-emgun-sharp ## Basic Information - **Project Name**: OpenEMGunSharp - **Description**: 电磁炮的C#跨平台实现,包含手动模式(输入角度或距离)和自动模式(60°范围内寻找目标,自动测距、计算仰角并发射) - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2024-10-14 - **Last Updated**: 2024-10-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpenEMGunSharp #### 介绍 电磁炮的C#跨平台实现,包含手动模式(输入角度或距离)和自动模式(60°范围内寻找目标,自动测距、计算仰角并发射) #### 硬件 [二自由度云台(无控制板)](https://item.taobao.com/item.htm?id=619989912076) 连接在配套舵机驱动板,然后串口连接主控,比特率115200,记其串口编号UART0 [激光测距传感器](https://detail.tmall.com/item.htm?id=623336370769&skuId=4576462702576) 使用串口连接到主控,比特率38400,记其串口编号UART1 [摄像头] 自行购买 使用任意可用方式连接主控,识别为/dev/video0 外围电路设计要求: - GPIO Pin37 高电平时应触发充电 - GPIO Pin38 高电平时应触发发射 - **如果使用可控硅控制发射,请保证发射时放电能在1秒内完全结束,否则所用控制逻辑可能烧毁升压模块** - 该主控程序测试时使用继电器(而不是可控硅)控制充电。 #### 运行前准备 0.正确连接所有连线 1.使用VisualStusio2019,选择你所用的目标平台编译(Jetson Nano使用的是Linux-Arm64);如果你的主控板没有.NET 5环境,请使用[独立]选项编译,否则使用[依赖框架]; 2.编译结果写入主控板,并赋予[EMGunSharp]二进制文件运行权限; 3.导出以下环境变量: - COM_SERVO = UART0 - COM_METER = UART1 如果希望使用其它GPIO口控制发射和充电,也可以导出: - PIN_CHARGE = 充电控制所用的GPIO号,使用sysfs编号 - PIN_LAUNCH = 发射控制所用的GPIO号,使用sysfs编号 #### 使用说明 1.在主控板上运行EMGunSharp二进制文件 2.输入M按回车进入手动模式,输入d+数字指定距离发射,a+数字指定角度发射。注意向上扬起的角度为负 如:d3(三米) 或 a-25(25度角发射) 3.输入A按回车进入自动模式,系统自动从-60°~60°搜索目标,找到后停止旋转,测距并调整仰角发射 #### 安全警示 测试程序运行逻辑时请不要装填炮弹,以免意外发射造成危险。 #### 授权 本软件项目主要参与者: | ID | 姓名 | |---|---| |dengbw01 or Developer_ken |邓君卓| |Phoeni1X|范晓阳| **该项目仅供参考,不允许第三方直接用于任何形式的竞赛、科创、论文,除非明确标明代码和仓库来源,并遵守AGPL3.0(项目LICENSE文件)的相关条款。** **Use of the code in this repo is prohibited in any competition, school project or paper, UNLESS you put an obivious notice on your final product, and obey the terms and conditions in AGPL3.0.**