BitBastelei
Vložit
- čas přidán 27. 08. 2024
- In der Vergangenheit hatte ich immer wieder verschiedene Module ausprobiert um Sound mit Mikrocontrollern abzuspielen. Mit ESP8266-Audio kann man auf ESP8266 und ESP32 auf diese zusätzliche Hardware verzichten und Musik direkt abspielen. Mit der Library können diverse Dateiformate vom internen Speicher, einer SD-Karte oder gar anderen Quellen wie z.B. über WLAN gelesen und entweder über eine I²S-Soundkarte oder per Software-DAC ausgegeben werden. Hier schauen wir uns den internen Speicher sowie das Lesen von SD-Karte mit einem Software-DAC an, welcher keine externen Module benötigt.
Inhalt:
03:58 Verkabelung: Verstärker-IC an ESP8266 anschließen
06:21 Code: MP3 per SPIFFS
15:38 Verkabelung: SD-Karte mit ESP8266 verbinden
18:08 Code: MP3 per SD-Karte
21:18 Verkabelung: 1-Transistor-Verstärker statt IC
Weitere Links:
Libary:
github.com/ear...
SPIFFS-Upload mit PlatformIO:
docs.platformi...
SPIFFS-Upload mit Arduino:
github.com/esp...
ESP8266 Flash-Partitionierung unter PlatformIO:
docs.platformi...
Musik:* Infiltrators by Nathaniel Wyvern - CC-BY - freemusicarchi...
Korrekturen und Ergänzungen:
02:50 DAC, nicht ADC
Super, genau das habe ich gesucht.
Endlich kann ich ein Alarm abspielen wenn ein Wert erreicht wird.
Ja, das ist der Luxus Alarm ;-)
Der billig Alarm ist so ein Piepserl ;-) Strom an, piept.
Perfekt!
Wollte die Tage einen Wecker bauen und wollte mir deswegen schon das mp3 Modul kaufen..
Aber wenns auch ohne geht.. immer her damit
*Tolles Video, vielen Dank* !
Ich liebe solche Experimente mit Arduino & Co!
Und das ganze jetzt noch als Wifi-WebRadio :-)
Bin fasziniert . Ein Schaltbild vermisse ich nur noch und bin Glücklich :D
Schau mal in der Readme der Library, da sollte die Verkabelung zu finden sein.
@@adlerweb ich check das aus , danke
Top Video, keine Fragen offen.
Dein Transistorverstaerker ist lustig.😊
Nice. Genau was ich gesucht hab und schön erklärt
Erster.
Geil, man hört das Hochladen. Wie früher, als ich mit dem Kassettenrekorder die Programme in den HomeComputer geladen habe. :-)
22:30 Da sollte aber unbedingt noch ein Kondensator in die Lautsprecherleitung, um den Gleichspannungsanteil weg zu nehmen. Dann wird der Transistor nicht so warm.
Deine Videos sind Super und Lehrreich Gruss aus der Schweiz
Danke fürs Video. Geht das ganze auch in Stereo ?
Kurze frage, sicher das das i2s ist? Wikipedia sagt i2s braucht 3 signalleitungen, du hast eine benutzt?
Jein, es wird das I2S-Peripheral genutzt um den PWM zu generieren, allerdings wird kein echtes I2S gesprochen.
Super Video, weiter so
Kannst nicht einfach ne alte Soundkarte vom pc anzapfen so bj 2000 rum? Oder müssen zu viele Pins belegt werden?
Hmmm, schwer. Die meisten Soundkarten dürften recht gut auf PCs mit ihren Interrupt- und DMA-Controllern ausgerichtet sein. Das nachzubilden dürfte einiges an Aufwand sein.
@@adlerweb Am ehesten bekäme man das noch mit einer Karte mit I²S-DACs zum Laufen, denke ich, also quasi an deren Controller vorbei... Am besten irgendeine billige Allerweltskarte à la SB Live! 24-Bit / Audigy SE / LS / VX / Audigy 2 Value.
Servus, danke für's Video. Aber sag mal sind dir die Kabel ausgegangen? Das schwarze "Käbelchen" ab 4:00 sieht eher aus wie ein Bindedraht für Kabel (Twist tie)...
Aber hey, es funktioniert! Ich werde es mir auf jeden Fall merken falls mir mal die Kabel ausgehen. ;-)
Jepp, sind solche Drähte. Nutze ich recht häufig - bei den fertigen Kabel brechen mir gerne die Pins ab und die hier liegen halt überall herum.
Du sagst mehrmals das der Transistor im linearen Betrieb läuft.. hab ich was verpasst? Der ESP schaltet den doch entweder hochohmig oder voll in die Sättigung.. nix dazwischen.
Jepp, ist ein Fehler, schaltet hier nicht linear.
Sehr schönes Video. Ein Problem könnte sein das der TX-Ausgang des USB-Seriell Wandler noch mit dem RX-Pin des ESP8266 verbunden ist. Damit arbeiten diese beiden Ausgänge (Wird ja in diesem Beispiel als PWM-Ausgang benutzt ) gegeneinander.
Joa, wenn man da senden würde, dann wäre der Ton gestört. Zwischen USB-IC und CPU sitzen noch 470Ohm, das sollte reichen, dass da dann trotzdem nichts kaputt gehen kann.
@@adlerweb Guter hinweis. die 470 Ohm kannte ich noch nicht (muss mal suchen ob ich einen Schaltplan für das nodeMCU-Board finde )
Top Video,
Kannst du bitte einen Link zur diesen Soundkarten verlinken, auf die du noch wartest?
Link so direkt nicht, aber schau mal nach Modulen mit CS4344.
@@adlerweb Hast du das CS4344 mittlerweile getestet? :D
Ich möchte über einen mp3 modul ein sound-file abspielen, wenn jemand einen bewegungssensor auslöst. Mein problem: Das mp3 modul benötigt ein signal von einer Sekunde (bzw ein stromkreis muss für 1sek geschlossen werden). Allerdings gibt der Bewegungssensor ein signal von 3sek aus.
Komme irgendwie nicht weiter. Hat da jemand eine Idee?
lass das signal vom bewegungs melder durch den micro controller erkennen und der gibt das 1 s signal aus
@@Amaro3210 Du meinst also separat noch einen Micro-Controller?
Hm - entweder Mikrocontroller oder etwas in Richtung 555. Könnte man z.B. mit 555 erledigen: discuss.littlebits.cc/t/how-can-i-send-a-single-pulse-when-the-input-is-a-constant-on/23894/12
@@adlerweb Okay danke, werde mir das Ganze mal anschauen.
Welche Desktop-Umgebung ist das (der Datei Explorer)
Müsste Mate/Caja sein
@@adlerweb Komisch wie unterschiedlich Mate ausssehen kann ich meine klar man designs zusätzlich installieren aber so wie ich dich eigentlich kenne machst du das ja nicht
Ist es möglich Flash Speicher Chips la 4gb oder mehr zu kaufen? Finde dazu kaum was im Internet. Vielleicht hast du ja Erfahrung damit gesammelt
Kommt drauf an, was du mit Flash meinst. Natürlich gibt es große Speicherbausteine mit Flash-Technik, damit werden ja auch SSDs, SD-Karten & Co gefertigt. Der THGBMFG7C1LBAIL von Toshiba hat z.B. 16GBit (also 4GByte). Die Serie geht afaik bis 64GByte hoch. Allerdings nutzen solch größere ICs oft kein I²C, sondern z.B. (e)MMC zur Übertragung, lassen sich also nicht 1:1 in bestehenden Designs ersetzen. Größter SPI-Flash, den ich so auf die Schnelle gefunden hab, wäre GD25Q256DBIGY mit 256MBit/32MByte, allerdings auch in anderer Bauform.
@@adlerweb Meine beispielsweise nen Nandflash, den ich gerne direkt aufs board gelötet hätte (eigenes Design). Danke vielmals, ich schau mich mal um. Also am besten direkt zu den Herstellern?
@@mietzekatze3926 Die großen Distributoren sollten sowas auch führen - Arrow, Digikey, LCSC, Mouser, etc haben meist Kategorien und detaillierte Sortier- und Suchfunktionen.
good keep it up
Coole Idee, dachte der ESP hätte nicht genug Dampf.
Der kann mehr als man meint - im Zweifel auch direkt PC spielen: czcams.com/video/qJ68fRff5_k/video.html (OK, zugegeben, das geht nur mit dem 32er)
Wow, Danke für den Link, kenne ich aber schon von anderen, aber nicht mit dem ESP
Was machen denn die drumgewickelten Widerstände ?
Nix - ich hatte nur deren "Beinchen" genutzt, da die Litze des Lautsprecherkabels nicht in's Breadboard passt. Elektrisch waren die also nicht angeklemmt.
@@adlerweb Achsooo. Dachte schon, das wäre eine fancy Art auf nem Breadboard zu filtern :D
Ich glaube bei dem ESP 32 kann man auch eine S/Pdif Schnittstelle verwenden, als Alternative zu I2S
Jepp, geht sowohl mit 8266 als auch 32ern
Kann er auch mp3s streamen via http?
Sollte machbar sein - es gibt in den Examples der Library ein paar Beispiele, die von HTTP lesen.
Geht auch noch schneller?
Finger weg von den WTV Modulen!!! Ich kann den "DFPlayer mini" empfehlen. Auch unter "MP3-TF-16P" zu finden. Funktioniert auch ohne Arduino, quasi als standalone. Entweder über Taster wie ein MP3 Player (laut, leise, vor, zurück,) oder auch über verschiedene Widerstände bis zu 14 Titel einzeln ansprechen. Oder eben per Arduino inkl. 3 Watt Verstärker, bis 32GB Kartenunterstützung usw.
9:46
Hat das etwas mit dem LDF zum tun ?
docs.platformio.org/en/latest/librarymanager/ldf.html
Richtig. deep hätte da eventuell auch helfen können.
Gibt auch den DFPlayer Mini, ggf für dich interessant
mach ein Wlan und Lan speaker
Ist es möglich das auch mit rfid Reader zu machen
Jeder Tag startet eine mp3 die so heißt wie der rfid Tag....
Grüße
kennst du das Tonuino-Projekt? ist etwas umfangreicher, aber macht genau das.
@@5L18yILA danke ne kenne ich noch nicht sieht aber aus nach dem was ich suche danke dir
Klar. Normal haben Tags zwar einen "Namen", sondern eine recht lange ID, die kann man aber ja ggf. umsetzen. Versuch doch einfach mal die einzelnen Stellen selbst zu bauen - also erst RFID lesen, dann einen Dateinamen mit Serial.println auszugeben und am Ende die MP3-Funktion dran zu bauen. So hast du immer nur kleine Änderungen und kannst bei Fehlern dich auf die letzte Änderung konzentrieren.
Kannst du auch mal versuchen einen esp32 mit LAN zu betreiben?
Ist tatsächlich auf meiner Liste.
"I³S-Soundkarte" Really? "I³S" (aus der Beschreibung)
Das war wohl eine Taste daneben - ist korrigiert, Danke!
Liebe dich, bester mann
Kann ich mit einem esp8266 ein wlan Verstärker bauen?
Jein. Technisch sicher, aber "WLAN-Verstärker" (aka Repeater oder Mesh) machen allerdings technisch in fast keinem Fall Sinn (die Geräte halbieren die Geschwindigkeit). Das ist maximal eine unschöne Notlösung, wenn man kein Kabel hinbekommen kann. Der ESP8266 ist zudem nicht für große Datenmengen ausgelegt und würde selbst daher vielleicht grade so 1 MBit/s schaffen.
Achte Mal auf die phrase "wie schon gesagt". Das ist Recht unschön, wenn das überhand nimmt.
Ui BitBastelei - Du solltest mal nachsehen wie man einen A-Verstärker baut! der besteht aus 4 Widerständen. Mit zwei von denen stellst du die Verstärkung ein! Basiswiderstand zu Stabilisierung und einen C als Gleichspannungsfilter. Dann funktioniert das! Du hast den Transistor im Schaltbereich betrieben, das wird nix!
Ah, richtig, die Stelle ist falsch, der läuft natürlich nicht linear. Auf weitere Filterung hatte ich absichtlich verzichtet um den Aufbau so einfach wie möglich zu halten. Für einfache Effekte mit dieser PWM-Ausgabe scheint das meinen Ohren nach ausrechend zu sein ;)
@@adlerweb Das hat nichts mit liniar zu tun. Dein Transistor wandert in deiner Beschaltung irgendwo hin, da er von seinen Parametern abhängig ist und relativ instabil ist, war ein Glück dass er überhaupt funktioniert hat. Der Ausgangs C ist kein Filter in der Form. Es ermöglicht nur dass du im normalen Schaltbild, also bei Gleichspannungsbetrachtung die 4 Ohm deines Lautsprechers nicht siehst, dadurch wird nichts in der Schaltung belastet. Kleinsignalmässig ist ein C ein Kurzschluss und deshalb ist für Wechselspannung eine 4 Ohm last sichtbar. Du hast machst dir blöderweise in dem Fall einen Hochpass, aber bei der Bandbreite was du erwartest ist das noch nicht tragisch. Wenn du den C nicht willst, dann musst du eine symmetrische Spannungsquelle haben, wobei du den Lautsprecherausgang des Verstärkers auf 0V legst.
Warum sollte er wandern oder nicht funktionieren? Der Ausgang ist ein digitales PWM-Signal, also geht er (wenn wir jetzt mal von idealen Flanken & Co ausgehen) immer bei High in Sättigung und zieht den '-' des Lautsprechers gegen GND. Identisch zu dem, was viele andere Geräte mit einfachen Pieptönen nutzen. Hier ist nur die Frequenz des PWM etwas höher und der Lautsprecher agiert durch seine Trägheit quasi als Low-Pass.
Sorry aber für mich 70% des Videos nutzlos die restlichen 30% haben's gerettet in Sachen Audio Verstärkung habe ich zum Glück genug skills
Wenn man dran glaubt, hahaha. Du hast keine Ahnung warum man für Lautsprecher dicke Kabel verwenden soll! Das hat nichts mit glauben zu tun, sondern sind messbare Tatsachen und Physik des Stromflusses und Wiederstands etc.
Eventuell hörst du nochmal genauer hin. Mir ging es um CCA & Co, also Kabel aus Aluminium statt Kupfer. Aluminium kostet nur etwa ¼ des Kupferpreises, leitet aber auch deutlich schlechter Strom. Oft sieht man dann Leute, die ganz stolz ihre 4mm² CCAs zeigen ohne zu realisieren, dass die auf dem selben Niveau eines dünneren Kupferkabel liegen. Spätestens wenn dann noch Kabel mit Silber oder Goldbeschichtung im Spiel sind geht das in Bereiche, in denen man aus technischer Sicht - außer beim Preis - nicht mehr wirklich einen Unterschied messen kann.