Данная идея будоражила меня уже давно. Еще в 2008-9 году пробовал реализовать данный функционал на G36 по средствам фоторезистора и диода с размыканием управляющей ключем цепи. Даже подготовил все датчики и разъемы в приводе, но не нашел человека, способного по ТЗ изготовить логику и идея была заброшена.
Этой зимой решил опробовать сразу 2 известных мне решения:
1) Фоторезистор+диод в узле Hop-up+логика на Arduino (по совету и при помощи
коллеги-эксперта по данным микроконтроллерам).
+ оно работает
+ у вас в приводе компьютер. Можно прикрутить к нему все, что душа пожелает в меру своих возможностей и испорченности
+ жрет все механы
- очень сложно собрать и откалибровать, много проводов и датчиков
- нежная, капризная система, пониженная надежность
- повышенное энергопотребление, нужен емкий аккум
- после включения 1 секунда требуется на загрузку мозга
- габариты платы не позволят поставить ее в большинство приводов
Упущу все тупиковые варианты, коих было очень много, и сразу опишу то, что в итоге осталось в рабочем.
Arduino Pro Mini был выбран по причине минимальных габаритов.
Использована командная запаска для отработки методики.
Схема подключения:
При желании можно использовать IRL1404 с соответствующими компонентами вместо BTS555+КТ805БМ.
Код:
int sensor = 3;
int sensor_state = 0;
int fire = 8;
int light = 3;
int trigger = 4;
int button = 9;
int lightState = 0;
int threshold = 600; // порог срабатывания от 0 до 1023. Чем ярче - тем больше значение
void setup() {
pinMode(fire, OUTPUT);
pinMode(light, OUTPUT);
pinMode(trigger, INPUT);
pinMode(button, INPUT);
lightState = 255; // яркость диода от 1 до 255
analogWrite(light, lightState);
}
void loop() {
sensor_state = analogRead(sensor);
if (sensor_state <= threshold && digitalRead(trigger) == HIGH) {
digitalWrite(fire, HIGH);
}
else {
digitalWrite(fire, LOW);
}
if (digitalRead(button) == HIGH) {
analogWrite(light, 0);
}
else {
analogWrite(light, lightState);
}
}
Если словами, то логика смотрит на наличие препятствия в хопе, при его отсутствии не замыкает управляющую цепь BTS555 при нажатии на спуск. Кнопка ЗЗ выключает диод.
Далее планируется: Яркий диод, который будет вспыхивать на стволе при каждом выстреле.
Поэтапное фото процесса:
- Держать логику постоянно включенной смысла нет (выжрет аккум), модифицировал контактную группу для обесточивания ее в режиме SAFE. Появляется дополнительная пара проводов, дорабатывается селектор.
Подключены все выводы (кроме ЗЗ и вспышки), собран нижний ресивер. Важно, чтобы на этот момент привод работал как швейцарские часики и даже лучше. Потом будет не до доработок стандартных узлов.
Дороботка узла Hop-up.
Сквозной канал
Диод
Фоторезистор
Штыри
Подключение к выводам
Из-за разницы положения ноззла, когда свет на резисторе есть, но пространства для досыла шара после окончания магазина или пропуска еще не достаточно, добавляем кнопку затворной задержки. При нажатии на нее диод гаснет и привод будет стрелять.
Для адекватной работы требуется точная калибровка всех датчиков и задержек. Прошивка привода.
Бонусом планирую добавить яркий диод, имитирующий вспышку при каждом выстреле. Будет отключаться физически.
2) Геркон в Hop-up+магнит в механе (метод от
staff55)
+ оно тоже работает
+ если оно не работает, то оно просто стреляет когда у вас закончились шары.
+ встраивается в существующую управляющую цепь BTS555.
+ требует мало места, можно встроить почти в любой привод.
- требует доработки механ
- пониженная надежность механ (пока не подтверждено)
- при клине механы от холостой стрельбы это вас не спасет.
- дополнительные опции (вспышка, трассер, зз, счетчик шаров, сигнализация, музыка, IFF, GSM, WiFi и GPS модуль) отсутствуют (если они вообще нужны)
Рискнул установить это в свои основные привода.
Делаем вывод управляющих проводов из гирбокса. При необходимости можно замкнуть и игнорировать геркон.
Доработка подавателя в механе. Магнит в форме шара 6мм, вклеивается вместо куска штатного подавателя.
Геркон КЭМ-3а, неодимовые магниты d6, штырь, провода, расточенный хоп.
Установка и подключение геркона. 7 раз отмеряем (и замеряем срабатывание), затем точим узел, подключаем к управляющей цепи. Геркон очень хрупкий, лично я сломал 5(!) шт, пока не придумал как его правильно туда засунуть и после этого не сломать при сборке\разборке.
Собрано.