PT2322 + mega2560 steuerung gestaltet sich schwer wie gedacht.

OP #5336871
Lesenswert?

Hallo
Mein Problem welches ich habe habe ich bereits in einen andren forum 
erfragt wo ich auch die library herhabe.
In der Hoffnung den Ersteller zu finden hat aber leider nicht 
hingehauten.
Also seht es mir nach das ich HIER die selbe frage noch mal stellen 
muss.

Ich habe mir einen PT2322 gekauft auf gelötet mit dem mega2560 verbunden 
und getestet und läuft so weit die library ist von hier:
http://oddwires.blogspot.de/2012/07/using-arduino-pt2322-library-for-audio.html
Reglung der Lautstärke für die Lautsprecher geht alles bass und höhe 
Verstärken geht auch.

Wo mein Problem liegt ist eher das ich bass und höhe /Mitte nicht 
reduzieren kann der wert im beispiel reicht von -14 bis + 14 und 0 bis 
+14 geht aber 0-14 ändert gar nix am Signal von bass oder höhe/Mitte wie 
kommt das ?

zuerst dachte ich es wäre mein Fehler das ich beim umbauen einen Fehler 
gemacht habe.
Darauf hin habe ich das beispiel noch mal neu geladen und nur die 
Display Pins geändert und es geht auch nicht.

als eingangs Signale habe ich 50Hz 1Khz und 10Khz verwendet.

Kurze zusammen Fassung:
bass/Mitte/höhe 0 bis +14 Verstärkung ok
Bass/Mitte/höhe 0 bis -14 abschwächen geht nicht.

VCC 8,5 Volt.
Aufbau nach plan aus Datenblatt.(viel falsch machen kann man ja nicht)
Test erfolge mit dem mitgelieferten beispiel.

jemand eine Idee ?
Vielen dank
Angehängte Dateien:
Gast #5337016
Lesenswert?

Auf Deutsch gepostet auf einem Blog, wo fast nur Englisch verstanden 
wird, dürfte nur wenig erfolgversprechend verlaufen.

Möglich wäre ein Variableinfehler (signed integer and unsigned integer) 
bei der Übergabe, kann so das negative Vorzeichen flöten gehen.
Zum Testen nicht ganz einfach. Eine Möglichkeit wäre im Programm eine 
kleine Funktion einbauen, die eine Variable prüft und je nach Vorzeichen 
einen der freien Ausgänge am atmega schaltet (mit kleiner LED zur 
Anzeige).
OP #5339067
Lesenswert?

hallo
danke eProfi du scheinst recht zuhaben ich habe mal nachsehen können was 
gesendet wird und es ist wirklich so das ab 0 nur noch 0 gesendet wird.
Jetzt ist die frage wie ich das ändern kann ich verstehe das beispiel 
nicht so ganz.

wenn ich wüste wie ich die bytes direkt (ohne library) senden kann wäre 
es möglicherweise einfacher.
OP #5339171
Lesenswert?

ehm ok ich glaube ich muss die frage neu/besser Formulieren.

Das senden von 0 und 1 sollte ich in binär umrechnen können zumindest 
bis 15 wie ich größere zahlen um rechnen soll die über 15 sind weiß ich 
noch nicht aber senden sollte doch so aus sehen richtig ?
 Wire.beginTransmission(0x88);
  Wire.write(0x07);  (0111)   >>> das kann für bass sein aber genau so 
auch für middle
  Wire.endTransmission();

genau das ist das Problem wo her soll der ic wissen welche bits ich für 
was sende ?

den für bass middle treble sind das die selben ??
wenn ich jetzt zb bass(G) auf +2 setzten will müste es ja so hier sein:

Wire.beginTransmission(0x88);
 Wire.write(0x0E);   (1110)
 Wire.endTransmission();

sende kann das doch nicht zugeordnet werden oder doch ?
im Datenblatt finde ich zwar ein paar beispiele aber nix was MIR hilf. 
oder übersehe ich das nur immer wieder?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren