Лазерный-тир

НЕ могу разобраться с прошивками
прошивка-для мишени
#include <LiquidCrystal_1602_RUS.h>
#include <ServoTimer2.h>
#include <VirtualWire.h>
#include <VirtualWire_Config.h>
char message(VW_MAX_MESSAGE_LEN);
char messageLength = VW_MAX_MESSAGE_LEN;
ServoTimer2 s,s1,s2,s3,s4;
const int receiver_pin = 11; //Пин подключения приемника
int p=A0,p1=A1,p2=A2,p3=A3,p4=A4,din=A5;
int mish=5;
int res=7,och=0,led=1, sump=10,r=0;
int serv=0, serv1=0, serv2=0, serv3=0, serv4=0,k=0,l=0;
LiquidCrystal_1602_RUS lcd(13, 12, 10, 9, 8, 7);
int x,y,z,b,a;
void setup()
{
Serial.begin(9600);
vw_set_ptt_inverted(true); // Необходимодля DR3100
vw_setup(2000); // Задаем скорость приема
vw_rx_start(); // Начинаем мониторинг эфира
lcd.begin(16, 2); // для дисплея
pinMode(p,INPUT);
pinMode(p1,INPUT);
pinMode(p2,INPUT);
pinMode(p3,INPUT);
pinMode(p4,INPUT);
pinMode(din,OUTPUT);
s.attach(2);
s.write(150);
delay(300);
s1.attach(3);
s1.write(150);
delay(300);
s2.attach(4);
s2.write(150);
delay(300);
s3.attach(5);
s3.write(150);
delay(300);
s4.attach(6);
s4.write(150);
delay(500);
s.detach();
s1.detach();
s2.detach();
s3.detach();
s4.detach();
}
int incPulse(int val, int inc){
if( val + inc > 2000 )
return 1000 ;
else
return val + inc;
}
void loop()
{
lcd.setCursor(0, 0);
lcd.print(“ПОЕХАЛИ-СНАЙПЕР!”);
lcd.setCursor(0, 1);
lcd.print(“!!!ОЧКИ:”);
x = analogRead(p)/4;
y = analogRead(p1)/4;
z = analogRead(p2)/4;
b = analogRead(p3)/4;
a = analogRead(p4)/4;
Serial.println(b);
uint8_t buf[VW_MAX_MESSAGE_LEN]; // Буфердлясообщения
uint8_t buflen = VW_MAX_MESSAGE_LEN; // Длинабуфера
if (vw_get_message(buf, &buflen)) // Если принято сообщение
{
int i;
if (buf[0] != ‘z’)
{
return;
}
i = 2;
sump = 0;
while (buf[i] != ’ ')
{
sump *= 10;
sump += buf[i] - ‘0’;
i++;
}
}
if(sump==25){
noTone(din);
mish=5;
och=0;
sump=15;
s.attach(2);
s.write(150);
delay(300);
s1.attach(3);
s1.write(150);
delay(300);
s2.attach(4);
s2.write(150);
delay(300);
s3.attach(5);
s3.write(150);
delay(300);
s4.attach(6);
s4.write(150);
delay(500);
s.detach();
s1.detach();
s2.detach();
s3.detach();
s4.detach();
serv=0;
serv1=0;
serv2=0;
serv3=0;
serv4=0;
sump=15;
och=0;
mish=5;
k=0;
l=0;
lcd.setCursor(0, 1);
lcd.print(“!!!ОЧКИ:”);
lcd.setCursor(9, 1);
lcd.print(och);
lcd.setCursor(10, 1);
lcd.print(“0”);}
if(mish>0 && mish<=5){
if(sump>0 && sump<=15){
digitalWrite(led,LOW);
if(x>220 && serv<1){
s.attach(2);
s.write(1500);
delay(200);
s.detach();
mish=mish-1;
serv=serv+1;
digitalWrite(led,HIGH);
}
if(y>200 && serv2<1){
digitalWrite(led,HIGH);
s1.attach(3);
s1.write(1500);
delay(200);
s1.detach();
mish=mish-1;
serv2=serv2+1;
}
if(z>220 && serv1<1){
s2.attach(4);
s2.write(1500);
delay(200);
s2.detach();
mish=mish-1;
serv1=serv1+1;
digitalWrite(led,HIGH);
}
if(b>220 && serv3<1){
digitalWrite(led,HIGH);
s3.attach(5);
s3.write(1500);
delay(200);
s3.detach();
mish=mish-1;
serv3=serv3+1;
}
if(a>220 && serv4<1){
digitalWrite(led,HIGH);
s4.attach(6);
s4.write(1500);
delay(200);
s4.detach();
mish=mish-1;
serv4=serv4+1;
}
}
if(sump==0 && l==0){
l=l+1;
och=5-mish;
Serial.println(och);
lcd.setCursor(0, 1);
lcd.print(“!!!ОЧКИ:”);
lcd.setCursor(9, 1);
lcd.print(och);
analogWrite ( din , 255 ) ;
delay ( 50 ) ;
analogWrite ( din , 40 ) ;
delay ( 10 ) ;
analogWrite ( din , 255 ) ;
delay ( 50 ) ;
analogWrite ( din , 100 ) ;
delay ( 50 ) ;
}
}
if(mish==0 && k==0){
och=5+sump-1;
Serial.println(och);
lcd.setCursor(0, 1);
lcd.print(“!!!ОЧКИ:”);
lcd.setCursor(9, 1);
lcd.print(och);
k=k+1;
}
}
прошивка для оружия
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define PIN_PIEZO 6
unsigned long currentDown;
unsigned long currentUP; // переменныдлявремени
unsigned long loopTime;
unsigned long TimeButton;
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
Serial.begin(9600);
vw_set_ptt_inverted(true); // Необходимодля DR3100
vw_setup(2000); // Устанавливаем скорость передачи (бит/с)
lcd.init();
lcd.init();

pinMode(led, OUTPUT); //порт вывода для лазера
pinMode(button, INPUT);// порт ввода для кнопки
pinMode(din, OUTPUT);// порт вывода для динамик
lcd.backlight();// Инициализируем дисплей: 2 строки по 16 символов
currentDown = millis();
sump=n;
lcd.setCursor(0, 0);
lcd.print (“Patrons:”);
lcd.setCursor(0, 1); //переводкурсорав 2 столбец 2йстроки
lcd.print(n);
}
void loop(){
if (digitalRead(restart)== HIGH){
String strmsg = "z ";
strmsg+=res;
strmsg += " ";
char msg[255];
strmsg.toCharArray(msg, 255);
Serial.println(msg);
vw_send((uint8_t *)msg, strlen(msg));
vw_send((uint8_t *)msg, strlen(msg));
vw_wait_tx();
n=15;
sump=15;
lcd.setCursor(0, 1); //перевод курсора в 2 столбец 2й строки
lcd.print(n);
}
else{
String strmsg = "z ";
strmsg+=sump;
strmsg += " ";
char msg[255];
strmsg.toCharArray(msg, 255);
Serial.println(msg);
vw_send((uint8_t *)msg, strlen(msg));
vw_send((uint8_t *)msg, strlen(msg));
vw_wait_tx();
if(n!=0){//условие прекращения работы пистолета
if (digitalRead(button) == HIGH) {//условие работы кнопки всего 3 милисекунды
currentUP = millis();
TimeButton=currentUP-currentDown;//нахождение времени пока мы держим кнопку
if (TimeButton<300){//условие если держать больше 3 милисекунд
digitalWrite(led, HIGH);
delay(100);
for(inter=800;inter>=650;inter=inter-10){
tone(din,inter);
delay(10);}
delay(200);
noTone(din);
digitalWrite(led, LOW);
sump=sump-1;
n=n-1;// вычитание одного патрона
if(n<=9){
lcd.setCursor(0, 1);
lcd.print(“0”);
lcd.setCursor(1, 1); //перевод курсора в 2 столбец 2й строки
lcd.print(n);
}
else{
lcd.setCursor(0, 1); //перевод курсора в 2 столбец 2й строки
lcd.print(n);//выводим оставшиеся патроны
}
vw_send((uint8_t *)msg, strlen(msg));
vw_send((uint8_t *)msg, strlen(msg));
vw_wait_tx(); // Ждем пока передача будет оконченаv
vw_send((uint8_t *)msg, strlen(msg));
vw_send((uint8_t *)msg, strlen(msg));
vw_wait_tx(); // Ждем пока передача будет оконченаv */
}
else {
digitalWrite(led, LOW);//отключениесветодиода
}
}else {
digitalWrite(led, LOW); //отключениесветодиода
currentDown = millis();
}
}else
{
lcd.setCursor(0, 0);
lcd.print(“Patrons:”);
lcd.setCursor(0, 1); //переводкурсорав 1 столбец 2 строки
digitalWrite(led, LOW);//отключитьлазер
vw_send((uint8_t *)msg, strlen(msg));
vw_wait_tx(); // Ждем пока передача будет оконченаv
}
}
}
как переделать эти прошивки под (TX) FS1000A (RX) MX-RM-5V
в прошивках много ошибок на экране только надписи

Вот это всё для кого написано?

Я тоже не смог разобраться с Вашими прошивками :frowning:

2 лайка

правильно дети писали код , он и есть сложный ,

спасибо всем сам разберусь

Молодец!