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
Buttons + Serieller MP3-Player
09.12.2019, 17:40
Beitrag #9
RE: Buttons + Serieller MP3-Player
Hallo,

Du bestellst beim Kommando "Feedback".
SoftSerial muß auf einem Interrupt-Pin sein, das sind beim UNO nur 2 und 3.
Hat zwar jetzt nicht mit dem Abspielen zu tun, nur falls Du die Antwort vom Modul doch mal auswerten willst, wirst Du so nichts empfangen.

Gruß aus Berlin
Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.12.2019, 18:09
Beitrag #10
RE: Buttons + Serieller MP3-Player
(09.12.2019 17:40)amithlon schrieb:  Hallo,

Du bestellst beim Kommando "Feedback".
SoftSerial muß auf einem Interrupt-Pin sein, das sind beim UNO nur 2 und 3.
Hat zwar jetzt nicht mit dem Abspielen zu tun, nur falls Du die Antwort vom Modul doch mal auswerten willst, wirst Du so nichts empfangen.

Gruß aus Berlin
Michael

Hallo Michael,

SoftwareSerial läuft mit fast jedem Pin auf dem Uno. Das muss nicht D2 oder D3 sein, also kein Interrupt-Pin.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.12.2019, 19:06
Beitrag #11
RE: Buttons + Serieller MP3-Player
Hallo,

(09.12.2019 18:09)hotsystems schrieb:  [quote='amithlon' pid='64835' dateline='1575909624']
SoftwareSerial läuft mit fast jedem Pin auf dem Uno. Das muss nicht D2 oder D3 sein, also kein Interrupt-Pin.

Danke für die Korrektur, ich hätte vor dem Posten nochmal in die doku schauen sollen, habe das wohl mit Mega2560 und Micro durcheinandergebracht.

Gruß aus Berlin
Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.12.2019, 19:37
Beitrag #12
RE: Buttons + Serieller MP3-Player
Ich habe jetzt nochmal eine vereinfachte Version programmiert. (Der MP3-Player spielt trotzdem nichts ab.)
Code:
#include <SoftwareSerial.h>

#define button1 2
#define button2 3
#define button3 4
#define button4 7
#define button5 8
#define button6 9
#define button7 10
#define button8 11

#define ARDUINO_RX 5  //should connect to TX of the Serial MP3 Player module
#define ARDUINO_TX 6  //connect to RX of the module

SoftwareSerial mp3(ARDUINO_RX, ARDUINO_TX);

static int8_t Send[8] = {0};

void setup() {
  Serial.begin(9600);
  mp3.begin(9600);
  delay(20);

  pinMode(button1, INPUT);
  pinMode(button2, INPUT);
  pinMode(button3, INPUT);
  pinMode(button4, INPUT);
  pinMode(button5, INPUT);
  pinMode(button6, INPUT);
  pinMode(button7, INPUT);
  pinMode(button8, INPUT);
}

void loop() {
  if (digitalRead(button1) == 1) {
    Send[0] = 0x7E;
    Send[1] = 0xFF;
    Send[2] = 0x06;
    Send[3] = 0x03;
    Send[4] = 0x01;
    Send[5] = 0x00;
    Send[6] = 0x01;
    Send[7] = 0xEF;
    for (uint8_t i = 0; i < 8; i++)
    {
      mp3.write(Send[i]) ;
    }
  }

  if (digitalRead(button2) == 1) {
    Send[0] = 0x7E;
    Send[1] = 0xFF;
    Send[2] = 0x06;
    Send[3] = 0x03;
    Send[4] = 0x00;
    Send[5] = 0x00;
    Send[6] = 0x02;
    Send[7] = 0xEF;
    for (uint8_t i = 0; i < 8; i++)
    {
      mp3.write(Send[i]) ;
    }
  }
  if (digitalRead(button3) == 1) {
    Send[0] = 0x7E;
    Send[1] = 0xFF;
    Send[2] = 0x06;
    Send[3] = 0x03;
    Send[4] = 0x00;
    Send[5] = 0x00;
    Send[6] = 0x03;
    Send[7] = 0xEF;
    for (uint8_t i = 0; i < 8; i++)
    {
      mp3.write(Send[i]) ;
    }
  }
  if (digitalRead(button4) == 1) {
    Send[0] = 0x7E;
    Send[1] = 0xFF;
    Send[2] = 0x06;
    Send[3] = 0x03;
    Send[4] = 0x00;
    Send[5] = 0x00;
    Send[6] = 0x04;
    Send[7] = 0xEF;
    for (uint8_t i = 0; i < 8; i++)
    {
      mp3.write(Send[i]) ;
    }
  }
  if (digitalRead(button5) == 1) {
    Send[0] = 0x7E;
    Send[1] = 0xFF;
    Send[2] = 0x06;
    Send[3] = 0x03;
    Send[4] = 0x00;
    Send[5] = 0x00;
    Send[6] = 0x05;
    Send[7] = 0xEF;
    for (uint8_t i = 0; i < 8; i++)
    {
      mp3.write(Send[i]) ;
    }
  }
  if (digitalRead(button6) == 1) {
    Send[0] = 0x7E;
    Send[1] = 0xFF;
    Send[2] = 0x06;
    Send[3] = 0x03;
    Send[4] = 0x00;
    Send[5] = 0x00;
    Send[6] = 0x06;
    Send[7] = 0xEF;
    for (uint8_t i = 0; i < 8; i++)
    {
      mp3.write(Send[i]) ;
    }
  }
  if (digitalRead(button7) == 1) {
    Send[0] = 0x7E;
    Send[1] = 0xFF;
    Send[2] = 0x06;
    Send[3] = 0x03;
    Send[4] = 0x00;
    Send[5] = 0x00;
    Send[6] = 0x07;
    Send[7] = 0xEF;
    for (uint8_t i = 0; i < 8; i++)
    {
      mp3.write(Send[i]) ;
    }
  }
  if (digitalRead(button8) == 1) {
    Send[0] = 0x7E;
    Send[1] = 0xFF;
    Send[2] = 0x06;
    Send[3] = 0x03;
    Send[4] = 0x00;
    Send[5] = 0x00;
    Send[6] = 0x08;
    Send[7] = 0xEF;
    for (uint8_t i = 0; i < 8; i++)
    {
      mp3.write(Send[i]) ;
    }
  }
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.12.2019, 19:42 (Dieser Beitrag wurde zuletzt bearbeitet: 13.12.2019 19:46 von Tommy56.)
Beitrag #13
RE: Buttons + Serieller MP3-Player
Hast Du dem mp3-Player überhaupt schon mal einen Ton (außer Knacken und Rauschen) entlocken können?

Wenn nein, solltest Du erst mal mit einem Minimalsketch dieses versuchen.

Gruß Tommy

Edit: Laufen die in Deiner Doku angegebenen Beispiele?

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.12.2019, 19:45 (Dieser Beitrag wurde zuletzt bearbeitet: 13.12.2019 20:16 von schaarva.)
Beitrag #14
RE: Buttons + Serieller MP3-Player
(13.12.2019 19:42)Tommy56 schrieb:  Hast Du dem mp3-Player überhaupt schon mal einen Ton (außer Knacken und Rauschen) entlocken können?

Wenn nein, solltest Du erst mal mit einem Minimalsketch dieses versuchen.

Gruß Tommy

Ja, ich konnte schon Lieder abspielen. Dies ist derselbe Code, nur, dass er ausgeführt wird, wenn ein Knopf gedrückt wurde.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.12.2019, 19:50
Beitrag #15
RE: Buttons + Serieller MP3-Player
Dann baue Dir genügend serielle Ausgaben rein, damit Du siehst, wo Dein Code lang läuft bzw. falsch abbiegt.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.12.2019, 20:59
Beitrag #16
RE: Buttons + Serieller MP3-Player
Ich habe nichts geändert, aber irgendwie funktioniert es...

Code:
#include <SoftwareSerial.h>

#define button1 2
#define button2 3
#define button3 4
#define button4 7
#define button5 8
#define button6 9
#define button7 10
#define button8 11

#define ARDUINO_RX 5  //should connect to TX of the Serial MP3 Player module
#define ARDUINO_TX 6  //connect to RX of the module

SoftwareSerial mp3(ARDUINO_RX, ARDUINO_TX);

static int8_t Send[8] = {0};

void setup() {
  Serial.begin(9600);
  mp3.begin(9600);
  delay(20);

  pinMode(button1, INPUT);
  pinMode(button2, INPUT);
  pinMode(button3, INPUT);
  pinMode(button4, INPUT);
  pinMode(button5, INPUT);
  pinMode(button6, INPUT);
  pinMode(button7, INPUT);
  pinMode(button8, INPUT);
}

void loop() {
  if (digitalRead(button1) == 1) {
    Serial.println("Btn1");
    Send[0] = 0x7E;
    Send[1] = 0xFF;
    Send[2] = 0x06;
    Send[3] = 0x03;
    Send[4] = 0x01;
    Send[5] = 0x00;
    Send[6] = 0x01;
    Send[7] = 0xEF;
    for (uint8_t i = 0; i < 8; i++)
    {
      mp3.write(Send[i]) ;
    }
  }

  if (digitalRead(button2) == 1) {
    Serial.println("Btn2");
    Send[0] = 0x7E;
    Send[1] = 0xFF;
    Send[2] = 0x06;
    Send[3] = 0x03;
    Send[4] = 0x00;
    Send[5] = 0x00;
    Send[6] = 0x02;
    Send[7] = 0xEF;
    for (uint8_t i = 0; i < 8; i++)
    {
      mp3.write(Send[i]) ;
    }
  }
  if (digitalRead(button3) == 1) {
    Serial.println("Btn3");
    Send[0] = 0x7E;
    Send[1] = 0xFF;
    Send[2] = 0x06;
    Send[3] = 0x03;
    Send[4] = 0x00;
    Send[5] = 0x00;
    Send[6] = 0x03;
    Send[7] = 0xEF;
    for (uint8_t i = 0; i < 8; i++)
    {
      mp3.write(Send[i]) ;
    }
  }
  if (digitalRead(button4) == 1) {
    Serial.println("Btn4");
    Send[0] = 0x7E;
    Send[1] = 0xFF;
    Send[2] = 0x06;
    Send[3] = 0x03;
    Send[4] = 0x00;
    Send[5] = 0x00;
    Send[6] = 0x04;
    Send[7] = 0xEF;
    for (uint8_t i = 0; i < 8; i++)
    {
      mp3.write(Send[i]) ;
    }
  }
  if (digitalRead(button5) == 1) {
    Serial.println("Btn5");
    Send[0] = 0x7E;
    Send[1] = 0xFF;
    Send[2] = 0x06;
    Send[3] = 0x03;
    Send[4] = 0x00;
    Send[5] = 0x00;
    Send[6] = 0x05;
    Send[7] = 0xEF;
    for (uint8_t i = 0; i < 8; i++)
    {
      mp3.write(Send[i]) ;
    }
  }
  if (digitalRead(button6) == 1) {
    Serial.println("Btn6");
    Send[0] = 0x7E;
    Send[1] = 0xFF;
    Send[2] = 0x06;
    Send[3] = 0x03;
    Send[4] = 0x00;
    Send[5] = 0x00;
    Send[6] = 0x06;
    Send[7] = 0xEF;
    for (uint8_t i = 0; i < 8; i++)
    {
      mp3.write(Send[i]) ;
    }
  }
  if (digitalRead(button7) == 1) {
    Serial.println("Btn7");
    Send[0] = 0x7E;
    Send[1] = 0xFF;
    Send[2] = 0x06;
    Send[3] = 0x03;
    Send[4] = 0x00;
    Send[5] = 0x00;
    Send[6] = 0x07;
    Send[7] = 0xEF;
    for (uint8_t i = 0; i < 8; i++)
    {
      mp3.write(Send[i]) ;
    }
  }
  if (digitalRead(button8) == 1) {
    Serial.println("Btn8");
    Send[0] = 0x7E;
    Send[1] = 0xFF;
    Send[2] = 0x06;
    Send[3] = 0x03;
    Send[4] = 0x00;
    Send[5] = 0x00;
    Send[6] = 0x08;
    Send[7] = 0xEF;
    for (uint8_t i = 0; i < 8; i++)
    {
      mp3.write(Send[i]) ;
    }
  }
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  ESP32 Web Radio VS1053 - touch-"buttons" funktionieren nur so halb crazysky 4 272 14.06.2020 22:43
Letzter Beitrag: crazysky
  Verzögerung bei Serieller Kommunikation dl3ad 15 1.872 27.05.2020 21:57
Letzter Beitrag: GuaAck
  Zeichendarstellung Serieller Monitor Ver. 1.8.12 Retian 3 315 17.05.2020 20:07
Letzter Beitrag: Tommy56
  Serieller Monitor allogenes 2 455 17.03.2020 09:47
Letzter Beitrag: allogenes
  Ausgabe serieller Monitor matschbirne 3 1.023 29.07.2019 18:14
Letzter Beitrag: Hilgi
  [Vorstellung] Serieller Sender ohne 2. MC Tommy56 2 786 13.04.2019 22:03
Letzter Beitrag: Tommy56
  Serieller Monitor BluPxl 13 3.482 28.05.2018 16:21
Letzter Beitrag: BluPxl
  Serieller Eingang sendet alles per SMS weiter Timmae3000 2 1.259 08.03.2018 09:30
Letzter Beitrag: hotsystems
  Serieller string zwischenspeichern und wieder ausgeben. Matt 15 4.423 03.03.2018 20:23
Letzter Beitrag: Tommy56
  Arduino Serieller Plotter Nextero 4 2.766 13.12.2017 14:48
Letzter Beitrag: Nextero

Gehe zu:


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