千泠才不是受 发表于 3 天前

自研全开源火控进度汇报

自研火控进度汇报:基本完成,电路和程序已经编完,这周六出demo,所有资料全开源
电路图+3445036744获取
注意:代码部分有deepseek参与(修改了更易读的注释,优化了一小部分逻辑)
代码如下
/* ======================================================
* 【原创开源】水弹*发射器*电子火控系统 - Arduino Nano
* 功能:单发/全自动模式、预供弹、刹车控制
* 设计者:千泠喵neko
* 开源协议:禁止商用!如需合作请联系作者
* 版本:1.2 (增加全自动专用刹车调节)
* ====================================================== */

// ================== 引脚定义 ==================
const int tri_tim = A0; // 天梯位置调整电位器
const int brk_tim = A1; // 单发模式刹车时间电位器
const int auto_amm_fd = A2; // 预供弹时间调整电位器
const int auto_brk_tim = A3; // [新增]全自动模式刹车时间电位器

const int mot_out = 2; // 主电机控制(开火)
const int mot_brk = 3; // 刹车控制
const int trig = 4; // 扳机微动(按下=LOW)
const int indu = 5; // 水滴位置检测(触发=LOW)
const int amm_fd = 6; // 供弹电机控制
const int mot_io = 7; // 弹匣检测(插入=LOW)
const int fire_auto = 8; // 全自动模式选择(选中=LOW)
const int fire_semi = 9; // 单发模式选择(选中=LOW)

// ================== 全局变量 ==================
int tt = 0; // 天梯到位等待时间(ms)
int bt_semi = 0; // 单发模式刹车时间(ms)[重命名]
int bt_auto = 0; // [新增]全自动模式刹车时间(ms)
int aaf = 0; // 预供弹持续时间(ms)

bool motio = false; // 预供弹状态标记
bool triggerPressed = false; // 扳机按下状态标记

void setup() {
/* ============= 引脚模式配置 ============= */
// 输出引脚
pinMode(mot_out, OUTPUT);
pinMode(mot_brk, OUTPUT);
pinMode(amm_fd, OUTPUT);

// 输入引脚(启用内部上拉电阻)
pinMode(trig, INPUT_PULLUP);
pinMode(indu, INPUT_PULLUP);
pinMode(mot_io, INPUT);
pinMode(fire_auto, INPUT_PULLUP);
pinMode(fire_semi, INPUT_PULLUP);

// [注意] A3引脚自动为输入模式,无需额外设置

/* ============= 初始安全状态 ============= */
digitalWrite(mot_out, LOW);
digitalWrite(mot_brk, HIGH);
digitalWrite(amm_fd, LOW);

triggerPressed = false;
}

void loop() {
// ================== 参数读取 ==================
tt = map(analogRead(tri_tim), 0, 1023, 0, 150); // 天梯时间
bt_semi = map(analogRead(brk_tim), 0, 1023, 0, 500); // 单发刹车时间 [重命名]
bt_auto = map(analogRead(auto_brk_tim), 0, 1023, 0, 500); // [新增]全自动刹车时间
aaf = map(analogRead(auto_amm_fd), 0, 1023, 0, 10000); // 预供弹时间

// ================== 预供弹系统 ==================
int magStatus = digitalRead(mot_io);

if (magStatus == LOW && !motio) {
digitalWrite(amm_fd, HIGH);
delay(aaf);
digitalWrite(amm_fd, LOW);
motio = true;
}
else if (magStatus == HIGH) {
motio = false;
}

// ================== 火控模式选择 ==================
// 保险模式(安全锁定)
if (digitalRead(fire_semi) == HIGH && digitalRead(fire_auto) == HIGH) {
digitalWrite(mot_out, LOW);
digitalWrite(amm_fd, LOW);
digitalWrite(mot_brk, HIGH);
triggerPressed = false;
}

// 单发模式 - 使用bt_semi刹车时间
else if (digitalRead(fire_semi) == LOW) {
if (digitalRead(trig) == LOW && !triggerPressed) {
triggerPressed = true;
digitalWrite(mot_out, HIGH);
digitalWrite(amm_fd, HIGH);

if (digitalRead(indu) == LOW) {
delay(tt);
digitalWrite(amm_fd, LOW);
digitalWrite(mot_out, LOW);
digitalWrite(mot_brk, LOW);
delay(bt_semi); // 使用单发专用刹车时间
digitalWrite(mot_brk, HIGH);
}
}
else if (digitalRead(trig) == HIGH && triggerPressed) {
triggerPressed = false;
}
}

// 全自动模式 - 使用bt_auto刹车时间
else if (digitalRead(fire_auto) == LOW) {
if (digitalRead(trig) == LOW) {
triggerPressed = true;
digitalWrite(mot_out, HIGH);
digitalWrite(amm_fd, HIGH);
}
else if (triggerPressed) {
triggerPressed = false;

if (digitalRead(indu) == LOW) {
delay(tt);
digitalWrite(amm_fd, LOW);
digitalWrite(mot_out, LOW);
digitalWrite(mot_brk, LOW);
delay(bt_auto); // 使用全自动专用刹车时间
digitalWrite(mot_brk, HIGH);
}
}
}
}

Van小王 发表于 3 天前

大制作

千泠才不是受 发表于 3 天前

Van小王 发表于 2025-06-11 21:20
大制作

嘿嘿

大英警察进小学 发表于 3 天前

我超
这才是真的英雄

千泠才不是受 发表于 3 天前

大英警察进小学 发表于 2025-06-11 21:29
我超
这才是真的英雄

过奖过奖,只是业余的玩家自己玩玩而已awa

qw881225 发表于 3 天前

现在各家量产火控最低就几十块钱,你这个且不说自己做成本也没有很低,然后制作对于技术门槛要求也不低,然后也更没有量产的保修。总结就是,自己闲着没事搞着玩体验过程乐趣可以,真打算自己用还是直接买量产就要完事了。

千泠才不是受 发表于 3 天前

qw881225 发表于 2025-06-11 21:46
现在各家量产火控最低就几十块钱,你这个且不说自己做成本也没有很低,然后制作对于技术门槛要求也不低,然后也更没有量产的保修。总结就是,自己闲着没事搞着玩体验过程乐趣可以,真打算自己用还是直接买量产就要完事了。

我要是做出来,应该会终身保修。还有diy门槛并不高,会焊接,然后了解一点基础技术知识就行,程序不用动,软件下好把板子连上选择一下你板子型号复制程序一键上传就可以了

千泠才不是受 发表于 3 天前

qw881225 发表于 2025-06-11 21:46
现在各家量产火控最低就几十块钱,你这个且不说自己做成本也没有很低,然后制作对于技术门槛要求也不低,然后也更没有量产的保修。总结就是,自己闲着没事搞着玩体验过程乐趣可以,真打算自己用还是直接买量产就要完事了。

成本50-70,但是性能秒杀所有火控

小口鸟 发表于 3 天前

千泠才不是受 发表于 2025-06-11 21:49
成本50-70,但是性能秒杀所有火控

能不能出个详细视频教程 文字版看不懂https://mag1.sdgun.net/public/emotion/face_wulian.png

千泠才不是受 发表于 3 天前

小口鸟 发表于 2025-06-11 22:03
能不能出个详细视频教程 文字版看不懂

会的

千泠才不是受 发表于 3 天前

小口鸟 发表于 2025-06-11 22:03
能不能出个详细视频教程 文字版看不懂

到时候发b站

手拿电锤哒哒哒 发表于 3 天前

牛逼牛逼牛逼牛逼牛逼

OSKU 发表于 3 天前

牛逼啊

科科佩利 发表于 3 天前

火控自由了https://mag1.sdgun.net/public/emotion/face_wangchai.png

浩若烟海 发表于 3 天前

别的不说,就能全部开源来说就是功德无量了

顺天府 发表于 前天 01:48

已经成神了

千泠才不是受 发表于 前天 06:20

顺天府 发表于 2025-06-12 01:48
已经成神了

不至于不至于

小呀小安安 发表于 前天 08:08

请教一下大佬,如果想要三连发,不想要全自动的话,要怎么改啊https://mag1.sdgun.net/public/emotion/face_006.png打算还原一些m16

MUSHAN 发表于 前天 08:10

千泠才不是受 发表于 2025-06-11 22:07
到时候发b站

豪人啊

千泠才不是受 发表于 前天 09:53

小呀小安安 发表于 2025-06-12 08:08
请教一下大佬,如果想要三连发,不想要全自动的话,要怎么改啊打算还原一些m16

重写一个快慢机档位然后在里面触发三次单发就行

千泠才不是受 发表于 前天 09:55

小呀小安安 发表于 2025-06-12 08:08
请教一下大佬,如果想要三连发,不想要全自动的话,要怎么改啊打算还原一些m16

不要执行三次刹车,检测水滴传感触发三次执行刹车就行

小口鸟 发表于 前天 11:08

千泠才不是受 发表于 2025-06-11 22:07
到时候发b站

老哥功德无量https://mag1.sdgun.net/public/emotion/face_076.png祝老哥身体健康 永远不死https://mag1.sdgun.net/public/emotion/face_061.png

千泠才不是受 发表于 前天 11:15

小口鸟 发表于 2025-06-12 11:08
老哥功德无量祝老哥身体健康 永远不死

666

爱吃蛋炒饭的范 发表于 前天 11:26

https://mag1.sdgun.net/public/emotion/face_068.png

小呀小安安 发表于 前天 12:38

千泠才不是受 发表于 2025-06-12 09:55
不要执行三次刹车,检测水滴传感触发三次执行刹车就行

https://mag1.sdgun.net/public/emotion/face_006.png牛逼啊大佬

流星§ 发表于 前天 18:23

千泠才不是受 发表于 2025-06-11 22:06
会的

卖成品吗

千泠才不是受 发表于 前天 19:05

流星§ 发表于 2025-06-12 18:23
卖成品吗

流星§ 发表于 前天 19:11

千泠才不是受 发表于 2025-06-12 19:05


多少呢

千泠才不是受 发表于 前天 20:05

流星§ 发表于 2025-06-12 19:11
多少呢

150以下

千泠才不是受 发表于 前天 20:06

流星§ 发表于 2025-06-12 19:11
多少呢

详细的物料成本价也会公布哦

流星§ 发表于 前天 21:59

千泠才不是受 发表于 2025-06-12 20:05
150以下

这价可以的
页: [1]
查看完整版本: 自研全开源火控进度汇报