Beiträge: 7.035
Themen: 601
Registriert seit: Sep 2013
so ganz plausibel ist das für mich noch nicht. Wenn du per ser. Monitor mit dem Baustein kommunizieren kannst funktioniert ja auch die USB Verbindung und dann muss das Download-Tool auch das Board melden.
Ansonsten, schön dass du weitergekommen bis und viel Spaß und Erfolg weiterhin!
Gruß,
Jupp
-----------------------------
was du baust ist immer mit dir verbunden
(Lego)
Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Beiträge: 806
Themen: 66
Registriert seit: Feb 2021
07.09.2023, 16:09
(Dieser Beitrag wurde zuletzt bearbeitet: 07.09.2023, 16:27 von pintel.)
Die neue Version 1.4 ist da, hier der Prototyp.
Jetzt neu:
Echtes USB Power Power-Management, daher funktioniert er jetzt auch direkt an einem USB-C Ladegerät oder am USB-C des Computer.
Kleine Änderung auch am Gain Anschluss. Dieser ist jetzt ohne Beschaltung auf 3 dB gelegt. Das verhindert Lautstärkeschwankungen, wenn nichts angeschlossen ist.
Eine Umschaltung auf 6 db (Verbindung mit Vin) oder 12 dB (Verbindung mit GND) ist noch möglich.
Liebe Grüße,
der Jens wars gewesen...
--------------------------------------------------------------
Die Wege der Elektronen sind unergründlich.
Beiträge: 122
Themen: 10
Registriert seit: Nov 2022
(07.09.2023, 16:09)pintel schrieb: Jetzt neu:
Echtes USB Power Power-Management, daher funktioniert er jetzt auch direkt an einem USB-C Ladegerät oder am USB-C des Computer.
Hallo Jens,
die letzte Version hatte ja schon USB C, was genau kann ich denn jetzt mit der neuen Version machen oder was bedeutet Power Management?
An einem Ladegerät funktioniert ja im Prinzip jeder ESP32
Grüße
Siegfried
Beiträge: 806
Themen: 66
Registriert seit: Feb 2021
09.09.2023, 21:22
(Dieser Beitrag wurde zuletzt bearbeitet: 09.09.2023, 21:53 von pintel.)
(09.09.2023, 20:24)Siegfried55 schrieb: die letzte Version hatte ja schon USB C, was genau kann ich denn jetzt mit der neuen Version machen oder was bedeutet Power Management?
Ein USB-C Anschluss kann sowohl Eingang, als auch Ausgang sein. Nun könnte es sein, dass ich 2 Geräte verbinde, die beide Spannung ausgeben (zum Beispiel 2 Netzteile). Das ist nicht unbedingt die beste Idee.
Um schlimmeres zu verhindern, geben die USB-C Anschlüsse daher erstmal keine Spannung raus und verhandeln mit dem angeschlossenen Gerät, was es denn nun machen soll. Erst wenn das angeschlossene Gerät zum Netzteil sagt, ich brauche xx Volt und xx Ampere, liefert das Netzteil die nötige Spannung und den nötigen Strom. Das ist das Power-Management.
Die Vorgängerversion hatte das nicht und funktionierte nur über USB-A zu USB-C Kabel. Die neue Version kann direkt an USB-C Geräte angeschlossen werden.
Liebe Grüße,
der Jens wars gewesen...
--------------------------------------------------------------
Die Wege der Elektronen sind unergründlich.
Beiträge: 3
Themen: 0
Registriert seit: Sep 2023
bei meinem ESP32S bzw ESP32-WROOM rauscht der Sound, habt ihr eine Ahnung was hier das Problem sein könnte?
Beiträge: 7.035
Themen: 601
Registriert seit: Sep 2013
Hallo ramix,
hast du gain beschaltet? Wenn nicht dann leg es mal auf GND oder 3V3. Welchen sketch hast du aufgespielt?
Gruß,
Jupp
-----------------------------
was du baust ist immer mit dir verbunden
(Lego)
Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Beiträge: 3
Themen: 0
Registriert seit: Sep 2023
Hallo saarfranzose,
ich verwende den sketch von https://radio-bastler.de/forum/showthrea...#pid241811 zusätlich mit: out->SetPinout(27, 26, 25); dann sollte der Gain 27 sein was leider keine Verbesserung bringt,...
lg ramix
Beiträge: 7.035
Themen: 601
Registriert seit: Sep 2013
du verwendest doch ein Pintel-Board? Sonst hättest du ja hier bestimmt nicht geschrieben. Die I2S-Belegung ist bei diesem Board fest vorgegeben:
pin_i2s_bck = 27 # GPIO Pin number for I2S "BCK"
pin_i2s_din = 25 # GPIO Pin number for I2S "DIN"
pin_i2s_lck = 26 # GPIO Pin number for I2S "L®CK"
der gain hat damit nichts zu tun und ist auf einen extra Pin gelegt.
Gruß,
Jupp
-----------------------------
was du baust ist immer mit dir verbunden
(Lego)
Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Beiträge: 3
Themen: 0
Registriert seit: Sep 2023
oh, Danke für den Hinweis ich dachte ESP32-Wroom = ESP32 Wroom Audio
Beiträge: 806
Themen: 66
Registriert seit: Feb 2021
(19.09.2023, 09:44)saarfranzose schrieb: hast du gain beschaltet? Wenn nicht dann leg es mal auf GND oder 3V3.
Besser an die Vin legen. 3V3 ist beim MAX98357 kein definierter Zustand.
Allerdings versuchte er es mit einem normalen ESP32, nicht mit dem Audio.
Liebe Grüße,
der Jens wars gewesen...
--------------------------------------------------------------
Die Wege der Elektronen sind unergründlich.
Beiträge: 2
Themen: 0
Registriert seit: Nov 2023
23.11.2023, 17:19
(Dieser Beitrag wurde zuletzt bearbeitet: 23.11.2023, 17:20 von TiPpFeHlEr.)
(30.06.2023, 20:54)pintel schrieb: Das Umwandeln ist ja eigentlich nur ein Doppelklick mit der Maus (jedenfalls bei Windows), dann wird die bin erstellt.
Hallo pintel,
ich habe es noch nicht verstanden.
Kannst du uns verraten wie einfach das geht?
python ist ja nur ne Sprache.
oder kann ich dir eine csv schicken und du wandelst sie mir in eine bin um?
Ich möchte 2 Encoder anschliessen.
in einem früheren Thread hieß es, man könne die HEX Werte in der bin einfach anpassen.
Das funktioniert leider nicht.
ansonsten funktionier dein board prima
Gruß Maik
Beiträge: 806
Themen: 66
Registriert seit: Feb 2021
23.11.2023, 17:54
(Dieser Beitrag wurde zuletzt bearbeitet: 23.11.2023, 20:17 von pintel.)
(23.11.2023, 17:19)TiPpFeHlEr schrieb: (30.06.2023, 20:54)pintel schrieb: Das Umwandeln ist ja eigentlich nur ein Doppelklick mit der Maus (jedenfalls bei Windows), dann wird die bin erstellt.
oder kann ich dir eine csv schicken und du wandelst sie mir in eine bin um?
Ich möchte 2 Encoder anschliessen.
in einem früheren Thread hieß es, man könne die HEX Werte in der bin einfach anpassen.
Das funktioniert leider nicht.
Beim KaRadio sind die passenden Dateien zur Umwandlung mit dabei. Man muss natürlich Python installiert haben. Mit dem Hex Editor das habe ich selbst probiert. Es hat auch funktioniert.
Sonst kannst Du mir auch Deine Datei schicken, ich wandle sie um. Die Mailadresse kannst Du per PN anfragen.
Liebe Grüße,
der Jens wars gewesen...
--------------------------------------------------------------
Die Wege der Elektronen sind unergründlich.
Beiträge: 2
Themen: 0
Registriert seit: Nov 2023
Hi,
habs nun doch hinbekommen die .bin selber zu erstellen.
Es lag an einer veralteten esp-idf.
Mit version 5.1.2 gings sofort.
Das ändern der bin mit einem Hexeditor geht nicht so einfach.
Es reicht nicht nur den Wert (byte 18) an sich zu ändern.
die bytes (04-07) scheinen eine Art checksum zu sein.
bytes 04-07 sind abhängig von den nachfolgenden bytes.
Gruß Maik
Beiträge: 122
Themen: 10
Registriert seit: Nov 2022
(12.11.2022, 20:29)pintel schrieb: ……….
Ich hatte anfangs ständige Aussetzer bei etwas schlechterer Internetverbindung (habe sie absichtlich verschlechtert, um das zu testen). Das liegt aber nicht am ESP32 Audio, sondern am verwendeten Script. Dort sind die Buffer viel zu klein dimensioniert. Doch mit 8 statt üblichen 4 Mb müssen wir an dieser Stelle nicht sparen. Dafür müssen wir in der Datei Audio.h folgende Werte ändern:
m_buffSizeRAM = 16000
m_resBuffSizeRAM = 3200
m_maxBlockSize = 3200
Zusätzlich fügen wir in den Sketch folgende Zeile ein:
audio.setConnectionTimeout(330,3200);
……. (Sender, Titel, Interpret...) abgreifen, um diese auf einem Display darzustellen.
Weitere Informationen gibt es hier:
https://github.com/schreibfaul1/ESP32-audioI2S/wiki Heute wollte ich diese Zeile im YoRadio Sketch einfügen, aber da gab es die Fehlermeldung, dass er „audio“ nicht findet…
Ist jetzt für mich doch etwas zu komplex ..
Gruß
Siegfried
Beiträge: 2
Themen: 0
Registriert seit: Jan 2024
26.01.2024, 23:14
(Dieser Beitrag wurde zuletzt bearbeitet: 27.01.2024, 00:00 von minitux.
Bearbeitungsgrund: code besser dargestellt
)
Guten Abend in die Runde,
ich bin neu hier, wohne in Dresden und habe nur wenig Ahnung... bemühe mich aber. Ein bissl (Micro)Python, ein bissl Arduino, viel ChatGPT :-D.
Damit und mit fleißig hier lesen und suchen habe ich es aber immerhin hinbekommen, mir ein kleines Einschlafradio mit dem frisch eingetroffenen ESP32 Audio von Pintel zu basteln. Sehr cooles Board!
Display habe ich bewusst weggelassen, stattdessen nur 4 Knöpfe: Volume up/down, einer für den Stationswechsel durch eine Liste an fest eingestellten meist Wort- und Kultursendern und vor allem einer, der den fest voreingestellten Sleeptimer startet, welcher das Radio nach 15 min auf Volume 0 setzt, meist schlafe ich da schon. Ganz Ausschalten und auf Knopfdruck wieder einschalten habe ich dagegen (bis jetzt) nicht geschafft, dafür könnte irgendwann ein längerer Druck auf den Sleeptimer-Button herhalten. Nur wie...
Das war alles wunderbar einfach, nur zwei weitere Dinge sind mir noch nicht ganz klar: Wie setze ich die Stereo-Ausgänge auf Mono und normale InEar-Kopfhörer (hab immer nur einen im Ohr, auf dem ich nicht liege)? Und sollten die Buttons Widerstände vorgeschaltet bekommen?
Für einen kleinen Hinweis wäre ich da sehr dankbar, dann könnte ich bald mit dem Gehäuse anfangen. :-)
Wen es interessiert, hier mein Sketch:
Code: #include "Arduino.h"
#include "WiFi.h"
#include "Audio.h"
Audio audio;
const char* ssid = "ssid";
const char* password = "password";
int volumeUpButtonPin = 15;
int volumeDownButtonPin = 2;
int stationChangeButtonPin = 4;
int sleepTimerButtonPin = 5;
bool volumeUpButtonPressed = false;
bool volumeDownButtonPressed = false;
bool stationChangeButtonPressed = false;
bool sleepTimerButtonPressed = false;
int currentStationIndex = 0;
const char* radioStations[] = {
"https://avw.mdr.de/streams/284340-0_mp3_high.m3u",
"https://st02.sslstream.dlf.de/dlf/02/128/mp3/stream.mp3",
"https://st01.sslstream.dlf.de/dlf/01/128/mp3/stream.mp3",
"https://avw.mdr.de/streams/284310-0_mp3_high.m3u",
"https://wdr-wdr5-live.icecastssl.wdr.de/wdr/wdr5/live/mp3/128/stream.mp3",
"http://www.radioeins.de/livemp3"
};
int numStations = sizeof(radioStations) / sizeof(radioStations[0]);
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1500);
}
audio.setPinout(27, 26, 25);
audio.setVolume(4); // Initial volume level (0 to 21)
audio.connecttohost(radioStations[currentStationIndex]);
// Configure the buttons as inputs with pull-up resistors
pinMode(volumeUpButtonPin, INPUT_PULLUP);
pinMode(volumeDownButtonPin, INPUT_PULLUP);
pinMode(stationChangeButtonPin, INPUT_PULLUP);
pinMode(sleepTimerButtonPin, INPUT_PULLUP);
}
void loop() {
audio.loop();
// Check if the volume up button is pressed
if (digitalRead(volumeUpButtonPin) == LOW && !volumeUpButtonPressed) {
audio.setVolume(audio.getVolume() + 1); // Increase the volume by 1
volumeUpButtonPressed = true;
} else if (digitalRead(volumeUpButtonPin) == HIGH) {
volumeUpButtonPressed = false;
}
// Check if the volume down button is pressed
if (digitalRead(volumeDownButtonPin) == LOW && !volumeDownButtonPressed) {
audio.setVolume(audio.getVolume() - 1); // Decrease the volume by 1
volumeDownButtonPressed = true;
} else if (digitalRead(volumeDownButtonPin) == HIGH) {
volumeDownButtonPressed = false;
}
// Check if the station change button is pressed
if (digitalRead(stationChangeButtonPin) == LOW && !stationChangeButtonPressed) {
// Cycle to the next station in the list
currentStationIndex = (currentStationIndex + 1) % numStations;
audio.connecttohost(radioStations[currentStationIndex]);
stationChangeButtonPressed = true;
} else if (digitalRead(stationChangeButtonPin) == HIGH) {
stationChangeButtonPressed = false;
}
// Check if the sleep timer button is pressed
if (digitalRead(sleepTimerButtonPin) == LOW && !sleepTimerButtonPressed) {
// Start the sleep timer for 900000 seconds (900000 milliseconds)
unsigned long sleepTimerEndTime = millis() + 900000; // 900 seconds
while (millis() < sleepTimerEndTime) {
// Wait for the timer to expire
audio.loop(); // Continue checking audio
}
// After 900 seconds, set the volume to 0
audio.setVolume(0);
sleepTimerButtonPressed = true;
} else if (digitalRead(sleepTimerButtonPin) == HIGH) {
sleepTimerButtonPressed = false;
}
}
void audio_info(const char *info){
Serial.println(info);
}
Schönen Abend noch, ich muss Enkelin betreuen, das geht alles erst morgen oder übermorgen Abend weiter.
Beiträge: 806
Themen: 66
Registriert seit: Feb 2021
(26.01.2024, 23:14)minitux schrieb: Wie setze ich die Stereo-Ausgänge auf Mono und normale InEar-Kopfhörer (hab immer nur einen im Ohr, auf dem ich nicht liege)? Und sollten die Buttons Widerstände vorgeschaltet bekommen?
Mono:
void forceMono(true);
Stereo:
void forceMono(false);
Ich würde einen kleinen Vorwiderstand setzen (10 Ohm). Aber nur, weil man beim einstecken eines 3,5 Zoll Klinkenstecker kurzeitig einen Kurzschluss in der Buchse erzeugen kann. Elektronisch ist er nicht erforderlich.
Liebe Grüße,
der Jens wars gewesen...
--------------------------------------------------------------
Die Wege der Elektronen sind unergründlich.
Beiträge: 2
Themen: 0
Registriert seit: Jan 2024
Dankeschön! Das probiere ich heute mal aus!
Beiträge: 806
Themen: 66
Registriert seit: Feb 2021
11.02.2024, 15:27
(Dieser Beitrag wurde zuletzt bearbeitet: 11.02.2024, 17:48 von pintel.)
Wo kein Platz ist, wird Platz gemacht. Auf dem ESP32 Audio Stereo Pro ging es schon ziemlich eng zu. Nun kamen aber viele Wünsche nach einem PSRAM Speicher. Den gibt es zwar nicht im Wroom, er lässt sich aber nachrüsten. Und so bekommt das Modul jetzt diese Möglichkeit. Wenn man schon dabei ist, dann auch noch gleich ein I2C EEPROM dazu.
Dazu hat das Modul nun 2 Layer mehr und die Lötaugen auf der Rückseite. Kleiner Nebeneffekt, die Leiterbahnen konnten nun alle etwas breiter gemacht werden. Da gab es zwar nie Probleme, aber wenn die Möglichkeit da ist, dann sollte sie auch genutzt werden.
Für den EEPROM werden die Standartleitungen für I2C benutzt (GPIO21=SDA, GPIO22=SCL). Dort können auch weiterhin andere Geräte angeschlossen werden.
Für den PSRAM sind es die Anschlüsse GPIO 7,8,9 und 10 - welche (auch beim WROVER) eh nicht als I/O nutzbar sind. Verzichten muss man beim eingelöteten PSRAM lediglich auf GPIO 16 und 17. Auch das ist beim WROVER so.
Standartmäßig sind keine Speicher drauf, die muss man sich nach Bedarf selbst drauf löten.
Liebe Grüße,
der Jens wars gewesen...
--------------------------------------------------------------
Die Wege der Elektronen sind unergründlich.
Beiträge: 122
Themen: 10
Registriert seit: Nov 2022
Jens, das ist Klasse, dann muss ich sicher mein YoRadio wieder umbauen ?, nutzen würde es, wenn Du für die Nachrüstung einen funktionierenden Baustein (PSRAM) benennst, den man über einen Shop beziehen kann.
Grüße
Siegfried
Beiträge: 806
Themen: 66
Registriert seit: Feb 2021
Zum Beispiel einen APS6404L-3SQR.
https://de.aliexpress.com/item/100500330...pt=glo2deu oder https://www.ebay.de/itm/176140243126
Es gibt sicherlich auch noch andere Quellen, das dient nur als Beispiel.
Es gehen auch andere, sie müssen halt nur 3,3 Volt haben und ausreichend schnell sein. Meine Empfehlung ist der obige, da ich ihn selbst erfolgreich getestet habe.
Vorsicht, es gibt davon auch eine 1,8 Volt Version, diese nicht benutzen. Das erkennt man an der Bezeichnung. Nach APS6404L- muss eine 3 folgen (oben 3SQR).
Das ist dann voll kompatibel mit den WROVER.
Liebe Grüße,
der Jens wars gewesen...
--------------------------------------------------------------
Die Wege der Elektronen sind unergründlich.
|