Hola, estoy desarrollando y programando un módulo de puertas abiertas de carro, que emite un sonido cuando estas están abiertas, pero estoy teniendo un problema, su funcionamiento es el siguiente:
Se abre la puerta, y por el pin 7 entra una señal negativa que activa el DFplayer mini, para que este emita el sonido.
Problema: Cuando las puertas se cierran, sale voltaje por el PIN 7, y hace que unas luces led que poseen las puertas, se enciendan.
Mido el voltaje y salen aprox 6v, que encienden esos leds con las puertas cerradas.
Como puedo anular que no salga voltaje negativo por el PIN 7, que solo reciba la señal negativa de entrada?
Codigo:
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int value);
# define ACTIVATED LOW
int btn_door = 7;
void setup()
{
pinMode(btn_door, INPUT);
digitalWrite(btn_door,HIGH);
Serial.begin(9600);
mySoftwareSerial.begin(9600);
Serial.println();
Serial.println(F("Proyecto"));
Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));
if (!myDFPlayer.begin(mySoftwareSerial)) { //Use softwareSerial to communicate with mp3.
Serial.println(F("Unable to begin:"));
Serial.println(F("1.Please recheck the connection!"));
Serial.println(F("2.Please insert the SD card!"));
while(true);
}
Serial.println(F("DFPlayer Mini online."));
myDFPlayer.setTimeOut(500); //Set serial communictaion time out 500ms
//----Set volume----
myDFPlayer.volume(30); //Set volume value (0~30).
myDFPlayer.volumeUp(); //Volume Up
myDFPlayer.volumeDown(); //Volume Down
}
void loop(){
if (digitalRead(btn_door) == ACTIVATED) {
myDFPlayer.play(1);
delay(2000);
}
}