hola. quiero hacer un sable de luz y tengo un problema con los pines tx y rx los conecto y el sonido nose reproduce, el mp3 manualmente sirve todas las conexiones están bien tampoco creo que sea un problema del programa, se los dejo por las dudas pero nose cual puede ser el problema conecto el tx1 del nano arduino al rx del dfplayer y viceversa
#include <Wire.h>
///entradas
const int buttonPinFire = 2; /////sensor de choque
const int en = 4 ; ///// boton activar espada
const int sim = 6 ; //// sensor de movimiento
///// salidas a los transistores
const int tercero = 10;
const int cuarto = 11;
const int quinto = 12;
////// variables
int mo = 0;
int mov2 = 0;
int comando = 0;
int choque = 0;
int estado = 0;
int sword = 0;
void setup(){ /// configuración
Serial.begin(9600);
pinMode(tercero, OUTPUT);//// declaración de pin como salida
pinMode(cuarto, OUTPUT);
pinMode(quinto, OUTPUT);
sword = 0; /// declaración de variable
pinMode(buttonPinFire, INPUT); /// declaración de pin como entrada
pinMode(sim, INPUT);
pinMode(en, INPUT);
///// configuracion modulo de audio respecto al nivel de sonido
Serial.write(0x7E);
Serial.write(0x03);
Serial.write(0xA7);
Serial.write(0x1A); // volume max es el 1F
Serial.write(0x7E);
/////
// start sound, este sonido aparece al encender el sistema
Serial.write(0x7E);
Serial.write(0x04);
Serial.write(0xA0); // A0 for SD card
Serial.write((byte)0x00);
Serial.write(0x05); // numero del orden de lista
Serial.write(0x7E);
delay(300);
}
void loop(){
//// vuelta a configurar el nivel audio
Serial.write(0x7E);
Serial.write(0x03);
Serial.write(0xA7);
Serial.write(0x1C); // volume max 1F
Serial.write(0x7E);
estado = digitalRead(en); //// la variable estado tendrá el mismo valor que tenga la entrada en, la cual es el pulsador que enciende /apaga el sable
if (estado == HIGH) {
if (sword == 0) { /// sección encendido espada
delay (10);
////reproducción audio encendido
Serial.write(0x7E);
Serial.write(0x04);
Serial.write(0xA0); // A0 for SD card
Serial.write((byte)0x00);
Serial.write(0x06); // track number
Serial.write(0x7E);
sword = 1;
delay(550);
digitalWrite(tercero, HIGH);
delay (550);
digitalWrite(cuarto, HIGH);
digitalWrite(quinto, HIGH);
delay(700);
goto tab;
}
else { /// sección apagar espada
delay(10);
////reproducción audio apagado
Serial.write(0x7E);
Serial.write(0x04);
Serial.write(0xA0); // A0 for SD card
Serial.write((byte)0x00);
Serial.write(0x01); // track number
Serial.write(0x7E);
sword = 0;
delay(1100);
digitalWrite(quinto, LOW);
delay (50);
digitalWrite(cuarto, LOW);
digitalWrite(tercero, LOW);
delay(1300);
}
}
else{ ////espada encendida-------------------------------------------------------------------------------------
if (sword == 1) {
tab:
delay (150);
Serial.write(0x7E);
Serial.write(0x04);
Serial.write(0xA0); // A0 for SD card
Serial.write((byte)0x00);
Serial.write(0x02); // track number
Serial.write(0x7E);
while(estado == LOW){
delay (5);
//////Sección detección movimiento
comando = digitalRead(sim);
if (comando == HIGH) {
delay (15);
comando = digitalRead(sim);
if (comando == LOW) {
if ( mov2 ==1){
Serial.write(0x7E);
Serial.write(0x04);
Serial.write(0xA0); // A0 for SD card
Serial.write((byte)0x00);
Serial.write(0x03); // track number
Serial.write(0x7E);
mov2 = 0;
delay (600);
goto tab;
}
else{
Serial.write(0x7E);
Serial.write(0x04);
Serial.write(0xA0); // A0 for SD card
Serial.write((byte)0x00);
Serial.write(0x04); // track number
Serial.write(0x7E);
mov2 = 1;
delay (600);
goto tab;
}
}
}
if (comando == LOW) {
delay (5);
comando = digitalRead(sim);
if (comando == HIGH) {
if ( mov2 ==1){
Serial.write(0x7E);
Serial.write(0x04);
Serial.write(0xA0); // A0 for SD card
Serial.write((byte)0x00);
Serial.write(0x03); // track number
Serial.write(0x7E);
mov2 = 0;
delay (600);
goto tab;
}
else{
Serial.write(0x7E);
Serial.write(0x04);
Serial.write(0xA0); // A0 for SD card
Serial.write((byte)0x00);
Serial.write(0x04); // track number
Serial.write(0x7E);
mov2 = 1;
delay (600);
goto tab;
}
}
}
///////////////sección choque
delay (5);
choque = digitalRead(buttonPinFire);///////caso de choque
if (choque == HIGH) {
Serial.write(0x7E);
Serial.write(0x04);
Serial.write(0xA0); // A0 for SD card
Serial.write((byte)0x00);
Serial.write(0x05); // track number
Serial.write(0x7E);
delay (600);
goto tab;
}////////////////////////////////////////
delay (15);
estado = digitalRead(en);
// ---------------------------------------------------------------------------------------------------------------
}
}
else {
delay(300);
}
}
delay(100);
}
programa espada laser arduino.txt (4.75 KB)