INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
2xPIR mit DFPlayer ... ansteuerung
15.10.2015, 19:55
Beitrag #1
2xPIR mit DFPlayer ... ansteuerung
Guten Abend erstmal,

ich habe mich nun einige Zeit mit der Basis beschäftigt, hänge aber nun an der Programmierung des Uno's. Ich möchte mit 2 (oder mehr) PIR eine Relaiskarte mit 2 (oder mehr) Relais ansteuern. Dabei möchte ich mittels des DFPlayers verschiedene Sounds passen zu den Aktivierungen der PIR/Relais abspielen.
Beispiel: Dauerndes abspielen des Titels 1. Wenn PIR 1 "HIGH" dann spielt Sound 2 und dazu soll das passende Relais schalten. Wenn Pir dann wieder low dann soll wieder der Titel 1 laufen. Gleiches Spiel bei PIR 2 (3-5).

Das die PIR die Relais ansteuern hab ich erstmal hinbekommen. Nun hängt es am Sound.
Ich bekomme keine hintergrundtöne hin (weder den Titel1) noch den Sound zu den PIR. Hier löst erst das Relais aus dann spielt der Sound...

Was mache ich den falsch, bzw. wer kann mir helfen? Ist für Halloween und die Zeit rennt :-)

Danke schon jetzt.

Code:
int relaisa=6;
int bewegung=7;
int bewegunga=4;
int bewegungsstatus=0;
int bewegungsstatusa=0;

void setup()
{
    Serial.begin (9600);
    mp3_set_serial (Serial);      //set Serial for DFPlayer-mini mp3 module
    delay(1);                     // delay 1ms to set volume
    mp3_set_volume (15);          // value 0~30
    
pinMode(relais, OUTPUT);
pinMode(relaisa, OUTPUT);
pinMode(bewegung, INPUT);
pinMode(bewegunga, INPUT);
}
void loop()
{

bewegungsstatus=digitalRead(bewegung);
if (bewegungsstatus == HIGH)
{
mp3_play (2);
digitalWrite(relais, HIGH);
delay(100);
digitalWrite(relais, LOW);
delay(100);
}
bewegungsstatusa=digitalRead(bewegunga);
if (bewegungsstatusa == HIGH)
{
mp3_play (1);
digitalWrite(relaisa, HIGH);
delay(500);
digitalWrite(relaisa, LOW);
delay(1000);
}
else


digitalWrite(relais, HIGH);
digitalWrite(relaisa, HIGH);
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.10.2015, 23:05
Beitrag #2
RE: 2xPIR mit DFPlayer ... ansteuerung
(15.10.2015 20:02)Lötzinnerhitzer schrieb:  die delays blockieren den Programmablauf - siehe Basics "blink without delay"

Hi Lötzinnenerhitzer,

ich wusste doch , das es da das thema mit dem delay gab ...

Aber wie bekomme ich das mit den millis hin, wenn ich unregelmäßiges schalten haben möchte....

z.B. 1 sek, 0,5 sek und 1,2 Sek ?

und mir ist nicht klar, wie ich den Ambiete Sound immer (Titel1) durchgehend zum laufen bringe. Wo in dem Code muss der Playbefehl hin? Habe den schon überall unter, aber ich habe nur den Sound der PIR-auslösung (Wenn auch mitden Delay-Problem - noch)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.10.2015, 18:35
Beitrag #3
RE: 2xPIR mit DFPlayer ... ansteuerung
Hi,

Du hast natürlich Recht.

Code:
#include <SoftwareSerial.h>
#include <DFPlayer_Mini_Mp3.h>

Die Lib ist drinnen. Der DFPlayer läuft ja auch und die Steuerungen werden auch über tx/RX wie gewünscht bearbeitet.

Ja, der AmbientSound soll auch aussetzen während eine Aktion durch PIR ausgelöst wird. Dann soll z.B. Ein langer Schrei 20 sek. laufen während 2 Relais in unregelmäßigen Abständen mehrmals an/aus gehen. Gleiches Spiel dann beim 2. PIR mit einem Gewitter und anderem Relais. Entweder soll zwischen den PIR-Aktionen der Ambient wieder laufen, oder evtl. auch einfach nur ruhig bleiben. ggf. kann auch der Sound des 1.PIR bis zum auslösen der 2. weiterlaufen (dann verlängere ich das Soundfile halt)

Ansich finde ich, liest sich das trivial. Aber beim test scheitere ich schon an den millis wie auch am ambienteS.
Hast Du evtl. eine Idee, wie das umzusetzen ist...?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.10.2015, 19:09 (Dieser Beitrag wurde zuletzt bearbeitet: 16.10.2015 19:10 von hotsystems.)
Beitrag #4
RE: 2xPIR mit DFPlayer ... ansteuerung
(16.10.2015 18:35)Tozupi schrieb:  Hi,

Du hast natürlich Recht.

Code:
#include <SoftwareSerial.h>
#include <DFPlayer_Mini_Mp3.h>

Die Lib ist drinnen. Der DFPlayer läuft ja auch und die Steuerungen werden auch über tx/RX wie gewünscht bearbeitet.

Ja, der AmbientSound soll auch aussetzen während eine Aktion durch PIR ausgelöst wird. Dann soll z.B. Ein langer Schrei 20 sek. laufen während 2 Relais in unregelmäßigen Abständen mehrmals an/aus gehen. Gleiches Spiel dann beim 2. PIR mit einem Gewitter und anderem Relais. Entweder soll zwischen den PIR-Aktionen der Ambient wieder laufen, oder evtl. auch einfach nur ruhig bleiben. ggf. kann auch der Sound des 1.PIR bis zum auslösen der 2. weiterlaufen (dann verlängere ich das Soundfile halt)

Ansich finde ich, liest sich das trivial. Aber beim test scheitere ich schon an den millis wie auch am ambienteS.
Hast Du evtl. eine Idee, wie das umzusetzen ist...?

Eine gute Beschreibung zu dem Problem "blinkwithoutdelay" findest du hier:
http://playground.arduino.cc/Learning/Bl...outDelayDe

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.10.2015, 00:29 (Dieser Beitrag wurde zuletzt bearbeitet: 17.10.2015 00:32 von Tozupi.)
Beitrag #5
RE: 2xPIR mit DFPlayer ... ansteuerung
Nabend wieder ,

Danke erstmal für Eure Hilfsbereitschaft. Evtl bekomme ich das ja zu Halloween noch irgendwie hin.

Ich habe jetzt folgenden Code zum spielen genutzt:
Code:
#include <SoftwareSerial.h>
#include <DFPlayer_Mini_Mp3.h>

int relais=5;
int bewegung=7;
int bewegungsstatus=HIGH;
boolean value = LOW;                  
unsigned long previousMillis = 0;
unsigned long i = 500;                // i=interval

void setup()
{
Serial.begin (9600);
mp3_set_serial (Serial);      
mp3_set_volume (15);          
    
pinMode(relais, OUTPUT);
pinMode(bewegung, INPUT);
}
void loop()
{
mp3_play (4);       \\ geht hier nicht:blockiert den Ablauf
bewegungsstatus=digitalRead(bewegung);
if (bewegungsstatus == HIGH)
  {
  mp3_play (4);
  }
  
   if (millis () - previousMillis > i)  
    {
    previousMillis = millis();    
    value=!value;
    digitalWrite (relais, value);
    }

}

Damit schaffe ich es nur, den Sound nach bewegungserkennung abzuspielen während das relais wechselt.
Den mp3 sound schon vor dem Bewegungsstatus abzuspielen schaffe ich nicht. Wenn ich den play befehl schon vor dem if setze, geht garnix mehr.
Warum? es müsste doch z.B. MP3(1) vor dem If laufen und sobald der PIR ein signal erkennt der Titel zu MP3(4) wechseln

PS: Es gibt doch bestimmt auch hier die Möglichkeit i verschiedene Werte zuzuordnen. Z.B. (500, 1000, 1200) mit einer next schleife oder ähnlichem, oder?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.10.2015, 01:16
Beitrag #6
RE: 2xPIR mit DFPlayer ... ansteuerung
Ich bin ansich nur nach dem Sample hier auf der Seite vorgegangen:
DFPWiki

Hab mir die libary hier wie beschrieben runtergeladen und installiert.
Mit dem Code ging es dann auch problemlos.

Dein Link zu dem Github hatte ich vorher. Aber da hatte ich keine Ahnung, dass erst ne Libary installiert werden muss. Und wenn ich da jetzt schau, gibt es ja auch kein Zip-file mit der L.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.10.2015, 01:30 (Dieser Beitrag wurde zuletzt bearbeitet: 17.10.2015 01:33 von Tozupi.)
Beitrag #7
RE: 2xPIR mit DFPlayer ... ansteuerung
:-) Ich hab den tatsächlich nicht gesehen gehabt. Ich Danke Dir.

Kann ich die Lib einfach installieren obwohl ich ja schon eine installiert habe. Bin ich da limitiert? Dann probiere ich es damit mal. Wobei ich dann ja die RX/TX neu verdrahten muss.

Meinst Du denn, dass mein Vorhaben denn überhaupt funktioniert, oder sollte ich ein anderes Konzept überlegen?

Aber jetzt mache ich erstmal Heia.... War ein langer Tag...

Ich wünsche Dir schonmal eine Gute N8. Smile

Viele Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.10.2015, 17:26
Beitrag #8
RE: 2xPIR mit DFPlayer ... ansteuerung
Hi Lötzinnerhitzer,

bin heute out of order und werde erst morgen zum testen kommen. Ich berichte/ Frage dann wieder...Angel Danke nochmal...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  I2C Ansteuerung einer MSM3 (elv mp3 Box) Voreifel 2 316 09.04.2016 17:56
Letzter Beitrag: Voreifel
  Ansteuerung von einem Relais mit einem PS2 Controller minigarage 2 339 11.03.2016 15:31
Letzter Beitrag: minigarage
  LCD 1602 mit PCF 8574T Ansteuerung (I2C) RCudino 25 1.555 20.01.2016 19:49
Letzter Beitrag: RCudino
  Modbus TCP Ansteuerung fobi 1 1.467 12.03.2014 07:32
Letzter Beitrag: rkuehle
  Ansteuerung Servo nico 6 2.858 24.02.2014 18:49
Letzter Beitrag: nico

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste