Ciao a tutti,
ho questo problema che non riesco a risolvere:
Sto usando Arduino NANO su expansion shield, con modulo PIR e il DFplayer Mini e un modulo RELE (il classico modulo con rele blu a logica inversa)
Cassa collegata al GND e al DAC del DFplayer.
Lo scketch caricato è questo:
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
int PIRpin = 9;
int Pir_Stato = 0;
int LedVERDE = 13;
int RELE = 4;
SoftwareSerial ss(3, 2);
DFRobotDFPlayerMini mp3;
//# SETUP
void setup() {
digitalWrite(RELE, LOW);
delay(1000);
pinMode(LedVERDE, OUTPUT);
pinMode(RELE, OUTPUT);
pinMode(PIRpin, INPUT);
digitalWrite(LedVERDE, LOW);
//# === Setting DFPlayer
delay(1000);
ss.begin(9600);
delay(1000);
if (!mp3.begin(ss)) {
for (;;);
} //# controllo DFPlayer
delay(1000);
mp3.disableLoopAll();
mp3.disableLoop();
mp3.EQ(DFPLAYER_EQ_NORMAL);
mp3.enableDAC();
mp3.volume(30); //# VOLUME: massimo =30
} //# FINE Setup
//# .........INIZIO LOOP
void loop() {
delay(300);
Pir_Stato = digitalRead(PIRpin);
if (Pir_Stato == HIGH) {
mp3.enableDAC();
digitalWrite(RELE, HIGH);
digitalWrite(LedVERDE, HIGH);
delay(200);
mp3.volume(30);
digitalWrite(RELE, HIGH);
delay(200);
mp3.play(1);
delay(72000);
delay(500);
digitalWrite(RELE, LOW);
digitalWrite(LedVERDE, LOW);
delay(500);
digitalWrite(RELE, LOW);
} //# Fine Allarme
Dopo avere ricevuto il segnale di allarme PIR, il RELE commuta per dare corrente alla cassa alimentata esternamente, attende e poi fa partire l'unico .MP3 che c'è sulla SD.
Attende i 72secondi del MP3 poi spegne la cassa.
Hoi messo il LED interno Pin13 come visualizzazione del segnale PIR allarme ricevuto.
Il tutto FUNZIONA, il PIR da il segnale di avvio anche a distanza di 15 minuti tra un allarme e l'altro... MA SE ASPETTO circa un ora, e passo davanti al PIR per farlo partire, NON funziona più nulla.
Neppure il LED interno si accende.... in questa fare di "blocco" ho provato a scollegare e ricollegare i tre fili del PIR, ma non si è sbloccata la situazione.
Sono costretto a premere il Reset su Arduino.
Nota: I collegamenti sono tutti fatti con fili molto corti.
PS: L'unica cosa un po strana che ho fatto è alimentare tutto da un alimentatore 5Vcc a spina da 2Ampere, e Arduino lo alimento dando il +5Vcc e GND direttamente ai Pin della Expansion shield e non via USB o Jack 12Vcc o +Vin (che deve avere 12Vcc)
Nonostante questa aliemntazine non usuale però il tutto funziona per decine di minuti!
Cosa posso fare per capire la causa?? Lo sketch così come è è corretto o puo fare andare in stallo aArduino?