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
Garan Audio Modul mit Due
09.06.2014, 19:46
Beitrag #25
RE: Garan Audio Modul mit Due
Hey Danke funktioniert. Die ganzen Serial Monitor sachen kommen eh raus, brauche ich nicht. Werde diese Version aber sicher auch speichern.

Code:
reading = digitalRead(Taster);
     if (reading == HIGH && previous == LOW && millis() - time > debounce) {
    time = millis();    
    player.pausePlay();
    }

ah, so get das mit dem Posten.

Das Wissen über Programmieren, eröffnet neue Welten in der Elektronik. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.06.2014, 20:55
Beitrag #26
RE: Garan Audio Modul mit Due
So, hab jetzt noch einen Timer eingefügt, der alle 10 sec. den Titel abfrag, da dieser sonst nicht aktualisiert wird, wenn man den Player einfach Spielen läst.

Hier mal der ganze Code (muss dann noch einbischen sortieren und beschriften):

Code:
#include <Arduino.h>
  #include <SoftwareSerial.h>
  #include "Garan.h"
  #include <LiquidCrystal.h>
  #include <TimerOne.h>

  LiquidCrystal lcd(7,8,6,2,3,4,5); //rs=8, rw=9, enable=6, D4=2, D5=3, D6=4, D7=5
  
  int buttonnext = 11;
  int buttonprev = 12;
  int buttonpause = 13;
  int reading;
  int previous = LOW;
  unsigned long time = 0;  
  unsigned long debounce = 200;

  #if !defined(__MSP430_CPU__)
  SoftwareSerial garanSerial(9, 10); // RX, TX
  #else
  SoftwareSerial garanSerial(P1_4, P1_5); // RX, TX
  #endif

  Garan player(garanSerial);

void setup()
{


   lcd.begin(16,2);
   pinMode(buttonnext, INPUT);
   pinMode(buttonprev, INPUT);
   pinMode(buttonpause, INPUT);
  
   Timer1.initialize(10000000);
   Timer1.attachInterrupt( timerIsr );


}

void loop() {

   reading = digitalRead(buttonnext);
     if (reading == HIGH && previous == LOW && millis() - time > debounce) {
    time = millis();    
    player.next();
    delay (500);
    lcd.clear();
    player.getPlayingName();
    }  
    
    reading = digitalRead(buttonprev);
    if (reading == HIGH && previous == LOW && millis() - time > debounce) {
    time = millis();    
    player.prev();
    delay (500);
    lcd.clear();
    player.getPlayingName();
    }  
    
     reading = digitalRead(buttonpause);
     if (reading == HIGH && previous == LOW && millis() - time > debounce) {
    time = millis();    
    player.pausePlay();
    delay (500);
    lcd.clear();
    player.getPlayingName();
    }  


    if (garanSerial.available()) {
    unsigned char recvByte = garanSerial.read();
    if (recvByte == 0x24){
    lcd.println();
    }else{
    lcd.print((char)recvByte);
        
      
  }
  }
  }


  unsigned int hexToDec(String hexString) {
  unsigned int decValue = 0;
  int nextInt;
    for (int i = 0; i < hexString.length(); i++) {
     nextInt = int(hexString.charAt(i));
    if (nextInt >= 48 && nextInt <= 57) nextInt = map(nextInt, 48, 57, 0, 9);
    if (nextInt >= 65 && nextInt <= 70) nextInt = map(nextInt, 65, 70, 10, 15);
    if (nextInt >= 97 && nextInt <= 102) nextInt = map(nextInt, 97, 102, 10, 15);
    nextInt = constrain(nextInt, 0, 15);
      decValue = (decValue * 16) + nextInt;
  }
  }
  void timerIsr()
{
    lcd.clear();
    player.getPlayingName();
    
}

Das Wissen über Programmieren, eröffnet neue Welten in der Elektronik. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.06.2014, 07:42
Beitrag #27
RE: Garan Audio Modul mit Due
Moin Sbbfreack,

ich habe deinen Code mal ein wenig zusammen"geschoben".
Da previous nur einmal auf LOW deklariert ist und nie geändert wird, kann sie auch raus. Die Variable reading kannst du auch weglassen und direkt die Pins abfragen.
Code:
#include <Arduino.h>
#include <SoftwareSerial.h>
#include "Garan.h"
#include <LiquidCrystal.h>
#include <TimerOne.h>
LiquidCrystal lcd(7, 8, 6, 2, 3, 4, 5); //rs=8, rw=9, enable=6, D4=2, D5=3, D6=4, D7=5
const unsigned int buttonnext = 11;
const unsigned int buttonprev = 12;
const unsigned int buttonpause = 13;
unsigned long time = 0;
unsigned long debounce = 200;
#if !defined(__MSP430_CPU__)
SoftwareSerial garanSerial(9, 10); // RX, TX
#else
SoftwareSerial garanSerial(P1_4, P1_5); // RX, TX
#endif
Garan player(garanSerial);
void setup()
{
  lcd.begin(16, 2);
  pinMode(buttonnext, INPUT);
  pinMode(buttonprev, INPUT);
  pinMode(buttonpause, INPUT);
  Timer1.initialize(10000000);
  Timer1.attachInterrupt( timerIsr );
}
void loop() {
  if (digitalRead(buttonnext) == HIGH && millis() - time > debounce) {
    time = millis();
    player.next();
    delay (500);
    lcd.clear();
    player.getPlayingName();
  }
  if (digitalRead(buttonprev) == HIGH && millis() - time > debounce) {
    time = millis();
    player.prev();
    delay (500);
    lcd.clear();
    player.getPlayingName();
  }
  if (digitalRead(buttonpause) == HIGH && millis() - time > debounce) {
    time = millis();
    player.pausePlay();
    delay (500);
    lcd.clear();
    player.getPlayingName();
  }
  if (garanSerial.available()) {
    unsigned char recvByte = garanSerial.read();
    if (recvByte == 0x24) {
      lcd.println();
    } else {
      lcd.print((char)recvByte);
    }
  }
}
void timerIsr()
{
  lcd.clear();
  player.getPlayingName();
}

Grüße RK

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.06.2014, 21:24
Beitrag #28
RE: Garan Audio Modul mit Due
Ich hab beim "void setup" noch "player.setVolume(15);" eingefügt, da das Modul bei stromlosigkeit wieder auf die mittlere Lautstärke geht. Weil ich aber über einen Verstärker die Lautstärke regle brauche ich die maximale Lautstärke vom Modul. Dieses Problem ist somit auch gelöst.

Aber eine Kosmetische unschönheit gibt es noch:

Auf dem LCD erscheinen die ersten zwei Stellen immer komplett ausgefüllt, erst dann kommt der Name des Titels. Manchmal ist dieser Fehler zusätzlich noch am Ende des Namens. Hier mal ein Bild dazu:

http://abload.de/image.php?img=sam_0350fts1z.jpg

Das Wissen über Programmieren, eröffnet neue Welten in der Elektronik. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.06.2014, 21:34
Beitrag #29
RE: Garan Audio Modul mit Due
Hi,
kennt das lcd überhaupt ein println()? Ich kann mir vorstellen, dass da CHR(19) und CHR(13) geschickt wird und das lcd das nicht richtig interpretiert. Ich würde mal das lcd.printl() weglassen. Nur so als Versuch...
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.06.2014, 06:52 (Dieser Beitrag wurde zuletzt bearbeitet: 11.06.2014 06:56 von rkuehle.)
Beitrag #30
RE: Garan Audio Modul mit Due
Moin,
Zitat:kennt das lcd überhaupt ein println()?
Berechtigte Frage. Dem LCD ist es egal welches Zeichen kommt. Wenn es im Font vorhanden ist wird es dargestellt, wenn nicht, dann eben nicht, Da lcd.print von der printf-Klasse abgeleitet wird gibts erstmal keinen Compilerfehler. Ich würde aus
Code:
if (recvByte == 0x24) {
      lcd.println();
    } else {
      lcd.print((char)recvByte);
    }
daher
Code:
if (recvByte <> 0x24) lcd.print((char)recvByte);
machen. Ich glaube die Abfrage auf 0x24 war nur für den Serialmonitor wichtig.

Grüße RK

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.06.2014, 18:51
Beitrag #31
RE: Garan Audio Modul mit Due
Wenn ich das ändere jammert der PC

MP3_Player_mit_Tastern:84: error: expected primary-expression before '>' token

ich muss mal wieder die normale Version installieren, dann ist das ganze wieder deutsch.

Das println hab ich schon entfernt gehabt, vorher hatte ich vier solcher schwarzen Felder.

Das Wissen über Programmieren, eröffnet neue Welten in der Elektronik. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.06.2014, 19:09
Beitrag #32
RE: Garan Audio Modul mit Due
(11.06.2014 18:51)Sbbfreack schrieb:  MP3_Player_mit_Tastern:84: error: expected primary-expression before '>' token
...dann hast Du aber auch noch was anderes geändert...

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Zahl von SD-Card Modul einlesen und Var. zuweisen Nafetz 13 294 28.10.2016 10:12
Letzter Beitrag: hotsystems
  Empfange nur "Geister"zeichen vom BT-Modul dabbamonkeyyy 2 128 23.10.2016 11:34
Letzter Beitrag: Harry Hirsch
  HC 05 BT Modul Lolliball 1 135 16.10.2016 09:43
Letzter Beitrag: Lolliball
  Ethernet Modul Enc28j60 Pin13 LED Schalten BennIY 16 498 27.09.2016 20:30
Letzter Beitrag: BennIY
Sad Suche simplen Scetch für ESP8266-Modul torsten_156 14 1.119 19.04.2016 07:54
Letzter Beitrag: amithlon
  HC-05 Modul auf Funktion prüfen. arduinofan 2 362 03.02.2016 19:18
Letzter Beitrag: arduinofan
  Hilfe bei Wireless-Modul nRF24L01 BerndHF 2 595 14.11.2015 18:49
Letzter Beitrag: HaWe
  SainSmart 1602 LCD Keypad Shield Modul Display Tasten Rossy 20 3.056 08.08.2015 12:44
Letzter Beitrag: hotsystems
  TinyGPSplus: Zeit (1/100 sec) auslesen von GPS Modul GY-NEO-6M V2 HaWe 0 804 23.07.2015 21:20
Letzter Beitrag: HaWe
  RTC Modul klappt nicht. malerlein 5 4.216 31.05.2015 15:44
Letzter Beitrag: U-110

Gehe zu:


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