MCP4725
- rom3
- Autor
- Offline
- New Member
- Beiträge: 4
- Dank erhalten: 0
habe am ESP12E den o.g. D/A-Wandler angeschlossen. Ich benutze unter der Arduino IDE die Adafruit-Library. Examples laufen gut, ist leider nur Sinus und eine Dreieckspannung. Finde keine Datenpakete mit Sounds. Also die reinen Spannungsdaten zum übertragen.
Des weiteren würde ich gern wissen, wie ich die gpio-Ports wechseln kann, um den Wandler am ESP01 betreiben zu können.
Ich hoffe Ihr könnt mir weiterhelfen.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- rom3
- Autor
- Offline
- New Member
- Beiträge: 4
- Dank erhalten: 0
habe ein Programm gefunden mit dem man Wav-Dateien in Memory Data wandeln kann.
github.com/olleolleolle/wav2c
Leider wandelt es nur in 8-Bit und zuviele Daten, so das ich nur jeden 8. Wert benutzen kann(i2c ist nicht so schnell). Meine Progammierkenntnisse reichen leider nicht, um den Source-Code zu ändern. Kann mir jemand dabei helfen?
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- StefanL38
- Offline
- Junior Member
- Hobby-Elektroniker, Modellflieger
- Beiträge: 23
- Dank erhalten: 1
rom3 schrieb: Hallo nochmals,
habe ein Programm gefunden mit dem man Wav-Dateien in Memory Data wandeln kann.
github.com/olleolleolle/wav2c
Leider wandelt es nur in 8-Bit und zuviele Daten, so das ich nur jeden 8. Wert benutzen kann(i2c ist nicht so schnell). Meine Progammierkenntnisse reichen leider nicht, um den Source-Code zu ändern. Kann mir jemand dabei helfen?
Hallo rom3,
so wie du gefragt hast müssen User die dir helfen wollen, sich den Quellcode den du vermutlich benutzt im Internet suchen und finden. Das ist ungefähr so wie wenn ich als Antwort geben würde
"Ja ich kann helfen" Ende der Antwort.
Also es wäre eine große Arbeitserleichterung für die anderen User hier wenn du deinen Source-code hier als Datei zur Verfügung stellst.
Meistens ist es auch so, dass, - wenn man einen überblick über sein Gesamtprojekt gibt andere User auch andere leichter zu realisierende Lösungen vorschlagen können.
So macht es einen großen Unterschied ob du nun nur 3-8 Ansagen von jeweils 2-4 Sekunden Länge brauchst oder ob die Sounddaten viel länger und von hoher Qualität sein müssen. Zm MP3 abspielen gibt es kleine Platinen die ca 10 Euro kosten.
Ich möchte noch ein anschauliches Beispiel machen warum Gesamtüberblick geben Sinn macht:
User: fragt: "Wo gibt es hier eine Feile?"
Helfer: "da hinten gibt es Schleifpapier würde das auch helfen?" Was möchtest du denn machen?
User: (sagt einen Ausschnitt von dem was er vor hat
"Ich möchte das Beil hier schleifen"
Helfer: "Na in dem Fall nimmst du besser die Schleifmaschine die steht vorne links in der Werkstatt"
"Was willst du denn mit dem Beil machen?
User: (Gibt immer noch keinen Gesamtüberblick über das was er vor hat) "Ich möchte Balken in der Mitte teilen"
Helfer: Ach so! Das geht doch viel besser mit der Kreissäge die befindet sich vorne rechts in der Kiste"
"Warum willst du denn die Balken teilen?
User: (sagt ENDLICH mal was sein Gesamtziel ist)
"Ich möchte die Balken in der Mitte teilen damit ich die in dem Kellerraum hinten ohne ausräumen gedreht kriege um an die Bretter die dahinter liegen zu kommen."
Helfer: "na sag das doch GLEICH. Da gibt es eine viel einfachere Lösung! Wir gehen zu Ingo holen den Schlüssel für die andere Tür die kann man von vorne nicht sehen und dann kommst du einfach so an die Bretter ran"
viele Grüße
Stefan Ludwig
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- supporter
- Offline
- Premium Member
- Beiträge: 135
- Dank erhalten: 12
Stefan hat tatsächlich Recht mit seiner Kurzgeschichte
Es gibt hier bestimmt auch noch weitere Lösungen? z.B. in schlechter Qualität (aber für einfache Signaltöne ausreichend?!) die PWM-Fähigkeiten des ESP zu nutzen und mittels RC-Glied einen "glatteren" Sinus bzw. Ton zu Formen?
Poste mal die Libraries und den von Dir ausprobierten Code falls Du denn den MCP weiter nutzen möchtest.
Viele Grüße
Jörg
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- supporter
- Offline
- Premium Member
- Beiträge: 135
- Dank erhalten: 12
"Des weiteren würde ich gern wissen, wie ich die gpio-Ports wechseln kann, um den Wandler am ESP01 betreiben zu können."
Die Pins zum Ansteuern eines I²C Devices stellst Du so ein:
Wire.begin(2, 0); // SDA an GPIO2 und SCL an GPIO0
Wire.setClock(1000); // I²C Bustakt 1MHz
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- rom3
- Autor
- Offline
- New Member
- Beiträge: 4
- Dank erhalten: 0
ich habe kein richtiges Projekt am Start. Ist mehr oder weniger Programmierübung. Möchte gerne so was änliches wie dieses:
www.youtube.com/watch?v=U9GFNAUKiNU
Mein Programm ist nur eine Analog-Binär-Digital-Uhr die sich die Zeit vom NTP-Server in Braunschweig holt. Als Display benutze ich ein ST7735 mit der Adafruits-Libraries
github.com/adafruit/Adafruit-ST7735-Library.git
Ich vergaß noch zu erwähnen.Habe in AdafruitST7735.h noch eine Farbe hinzugefüget. Einfach in den Hauptprogramm einfügen oder bei Color Definitions
#define ST7735_GREY 0xBDF7
hinzufügen.
github.com/adafruit/Adafruit-GFX-Library.git
und für den MCP4725 die Library
github.com/adafruit/Adafruit_MCP4725.git
Jede Sekunde soll ein Ton über den MCP4725 ausgegeben werden.
Zum Umrechnen in Data benutze ich
github.com/olleolleolle/wav2c.git
Source für Arduino-IDE im Anhang. Einfach nur entpacken und NTPAnalogClock.ino in IDE laden.
Noch Eure Network SSID und Passwort in den Code ändern.
@supporter
Wire.begin(2, 0); habe ich schon versucht, in meinen Source sowie in der Library, ohne Erfolg. Aber vielen Dank für dein Tipp. Wire.setClock(1000);.
Werde ich auf jeden Fall ausprobieren, ob ich damit mehr Daten an den D/A-Wandler schicken kann.
Vielen Dank für Eure Hilfen.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Aktuelle Seite:
- Startseite
- Impressum / Datenschutz / ...
- ESP8266 spezifisch
- Codebesprechung
- MCP4725