pistola con sonido y luces

hola soy nuevo en el tema estoy tratando de elaborar una pistola sonido y luces con arduino tengo un codigo base que elabore pero no logro quese comunique el dfplayer:
#include "Arduino.h"
#include <SoftwareSerial.h>
#include "DFRobotDFPlayerMini.h"
SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
const int button1=2; // gatillo
const int button2 = 3; // selector de tiro
const int button3 = 4; //sonido de caserina colocada
const int relay1=5; // relay activador de luz rafaga
const int relay2 = 6; // RELAY ACTIVADOR MOTOR VIBRADOR 1
const int relay3 = 7; // relay activador motor vibrador 2
int val;

void setup() {
pinMode(button1,INPUT); // señal de entrada de gatillo
pinMode(button2,INPUT); // señal de selector de tiro
pinMode(button3,INPUT); // señal de caserina colocada
pinMode(relay1,OUTPUT); // relay activador de luz rafaga
pinMode(relay2,OUTPUT); // vibrador 1 efecto retroceso tiro simple
pinMode(relay3,OUTPUT); // vibrador 2 eceto reroceso tiro seguido
mySoftwareSerial.begin(9600);
Serial.begin(115200);
myDFPlayer.volume(20);
myDFPlayer.play(1);
myDFPlayer.play(2);
myDFPlayer.play(3);
}

void loop() {
val=digitalRead(button1);
if (val==HIGH){
digitalWrite(relay1,HIGH);
myDFPlayer.play(1);
}
else {
digitalWrite(relay1,LOW);
}
}

Lee las Normas del foro y edita tu post inicial usando etiquetas para código.

Muy buenas, el codigo tiene buena pinta, si no has cruzado los cables RX y TX no funcionara.

Y asegurate de tener la libreria correcta.

Recuerda editar el codigo y publicarlo correctamente como dijo "surbyte".

Mientras, puedes ir probando este codigo y me dices...

Simplemente lo he ordenado un poco y te he añadido los estados de los botones para mas tarde ir añadiendolos, ademas de añadir el tipo de ecualizador y que dispositivo utilizar de lectura.

#include "Arduino.h"
#include <SoftwareSerial.h>
#include "DFRobotDFPlayerMini.h"

SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int value);

const int button1 = 2; // gatillo
const int button2 = 3; // selector de tiro
const int button3 = 4; //sonido de caserina colocada
const int relay1 = 5; // relay activador de luz rafaga
const int relay2 = 6; // RELAY ACTIVADOR MOTOR VIBRADOR 1
const int relay3 = 7; // relay activador motor vibrador 2

int estadobutton1 = LOW;
int estadobutton2 = LOW;
int estadobutton3 = LOW;


void setup() {

    Serial.begin(9600);
    mySoftwareSerial.begin(9600);
    myDFPlayer.begin(mySoftwareSerial);

    pinMode(button1,INPUT); // señal de entrada de gatillo
    pinMode(button2,INPUT); // señal de selector de tiro
    pinMode(button3,INPUT); // señal de caserina colocada
    pinMode(relay1,OUTPUT); // relay activador de luz rafaga
    pinMode(relay2,OUTPUT); // vibrador 1 efecto retroceso tiro simple
    pinMode(relay3,OUTPUT); // vibrador 2 eceto reroceso tiro seguido

    myDFPlayer.setTimeOut(500);

    myDFPlayer.volume(20);

    myDFPlayer.EQ(DFPLAYER_EQ_NORMAL);
//  myDFPlayer.EQ(DFPLAYER_EQ_POP);
//  myDFPlayer.EQ(DFPLAYER_EQ_ROCK);
//  myDFPlayer.EQ(DFPLAYER_EQ_JAZZ);
//  myDFPlayer.EQ(DFPLAYER_EQ_CLASSIC);
//  myDFPlayer.EQ(DFPLAYER_EQ_BASS);

//  myDFPlayer.outputDevice(DFPLAYER_DEVICE_U_DISK);
    myDFPlayer.outputDevice(DFPLAYER_DEVICE_SD);
//  myDFPlayer.outputDevice(DFPLAYER_DEVICE_AUX);
//  myDFPlayer.outputDevice(DFPLAYER_DEVICE_SLEEP);
//  myDFPlayer.outputDevice(DFPLAYER_DEVICE_FLASH);

}

void loop() {

    estadobutton1 = digitalRead(button1);
    estadobutton2 = digitalRead(button2);
    estadobutton3 = digitalRead(button3);

    if (estadobutton1 == HIGH) {
        
        digitalWrite(relay1, HIGH);
        myDFPlayer.play(1);
    }
    else {
        
        digitalWrite(relay1, LOW);
    }

}

angelxulo:
Muy buenas, el codigo tiene buena pinta, si no has cruzado los cables RX y TX no funcionara.

Y asegurate de tener la libreria correcta.

Recuerda editar el codigo y publicarlo correctamente como dijo "surbyte".

Mientras, puedes ir probando este codigo y me dices...

Simplemente lo he ordenado un poco y te he añadido los estados de los botones para mas tarde ir añadiendolos, ademas de añadir el tipo de ecualizador y que dispositivo utilizar de lectura.

#include "Arduino.h"

#include <SoftwareSerial.h>
#include "DFRobotDFPlayerMini.h"

SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int value);

const int button1 = 2; // gatillo
const int button2 = 3; // selector de tiro
const int button3 = 4; //sonido de caserina colocada
const int relay1 = 5; // relay activador de luz rafaga
const int relay2 = 6; // RELAY ACTIVADOR MOTOR VIBRADOR 1
const int relay3 = 7; // relay activador motor vibrador 2

int estadobutton1 = LOW;
int estadobutton2 = LOW;
int estadobutton3 = LOW;

void setup() {

Serial.begin(9600);
    mySoftwareSerial.begin(9600);
    myDFPlayer.begin(mySoftwareSerial);

pinMode(button1,INPUT); // señal de entrada de gatillo
    pinMode(button2,INPUT); // señal de selector de tiro
    pinMode(button3,INPUT); // señal de caserina colocada
    pinMode(relay1,OUTPUT); // relay activador de luz rafaga
    pinMode(relay2,OUTPUT); // vibrador 1 efecto retroceso tiro simple
    pinMode(relay3,OUTPUT); // vibrador 2 eceto reroceso tiro seguido

myDFPlayer.setTimeOut(500);

myDFPlayer.volume(20);

myDFPlayer.EQ(DFPLAYER_EQ_NORMAL);
//  myDFPlayer.EQ(DFPLAYER_EQ_POP);
//  myDFPlayer.EQ(DFPLAYER_EQ_ROCK);
//  myDFPlayer.EQ(DFPLAYER_EQ_JAZZ);
//  myDFPlayer.EQ(DFPLAYER_EQ_CLASSIC);
//  myDFPlayer.EQ(DFPLAYER_EQ_BASS);

//  myDFPlayer.outputDevice(DFPLAYER_DEVICE_U_DISK);
    myDFPlayer.outputDevice(DFPLAYER_DEVICE_SD);
//  myDFPlayer.outputDevice(DFPLAYER_DEVICE_AUX);
//  myDFPlayer.outputDevice(DFPLAYER_DEVICE_SLEEP);
//  myDFPlayer.outputDevice(DFPLAYER_DEVICE_FLASH);

}

void loop() {

estadobutton1 = digitalRead(button1);
    estadobutton2 = digitalRead(button2);
    estadobutton3 = digitalRead(button3);

if (estadobutton1 == HIGH) {
       
        digitalWrite(relay1, HIGH);
        myDFPlayer.play(1);
    }
    else {
       
        digitalWrite(relay1, LOW);
    }

}

hola gracias por la ayuda , lo hize por mi parte la parte en donde activo los relays todo ok solo me faltaria la parte para que el dfplayer trabaje con el arduino este es mi codigo en la ultima parte no me cuadra para que caserina active el sonido guardado en el df player
#include "Arduino.h"
#include <SoftwareSerial.h>
#include "DFRobotDFPlayerMini.h"

SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;

const int gatillo=2; // gatillo
const int selector=3; // selector de tiro
const int caserina=4; // caserina colocada
const int luz=5; // relay de luz
const int mot1=6; // relay de motor1
const int mot2=7; // relay de motor2
int val;
int val1;
int val2;
void setup() {
Serial.begin(9600);
mySoftwareSerial.begin(9600);
myDFPlayer.begin(mySoftwareSerial);

pinMode (gatillo,INPUT);
pinMode (selector,INPUT);
pinMode (caserina,INPUT);
pinMode (luz,OUTPUT);
pinMode (mot1,OUTPUT);
pinMode (mot2,OUTPUT);
myDFPlayer.setTimeOut(500);

myDFPlayer.volume(20);
}

void loop() {
val=digitalRead(gatillo);
if (val==HIGH){
digitalWrite(luz, LOW);
}
else{
digitalWrite(luz, HIGH);
}
{
val=digitalRead(gatillo);
if (val==HIGH){
digitalWrite(mot1, LOW);
}
else{
digitalWrite(mot1, HIGH);
}
{
val1=digitalRead(selector);
if( !( val && val1)){
digitalWrite(mot2, HIGH);
}
else{
digitalWrite(mot2, LOW);
}
{
val2=digitalRead(caserina);
if (val2 == HIGH); {
myDFPlayer.play(0001);
}
}

Contactame por privado.