#neuhier - und Fragen zu meinem Projekt

Welchen Fehler genau meinst du?
Ad hoc fällt mir nur ein, dass es zu sowas kommen kann, wenn man die Karte liegen lässt und PAUSE_WHEN_RFID_REMOVED aktiviert hat. Das scheint aufs Gehäuse anzukommen. Schwer zu debuggen, bei mir läuft das grundsätzlich, aber ich mag das Feature nicht :slight_smile:

Das ist von mir explizit so gewünscht, weil wie gesagt: Das Liegenlassen mag ich nicht :slight_smile:

Man kriegt die in unterschiedlichen Größen und ergo mit unterschiedlichen Abständen. Mir ist gerade eingefallen, wo ich meine Neopixel bestellt habe, da ich auch ein kleines Gehäuse habe: https://eckstein-shop.de/LED-Ring-with-24x-5050-RGB-LEDs-Weiss. Achte auf jeden Fall drauf, einen LED-Ring mit einer LED-Anzahl zu nehmen, die durch vier teilbar ist, weil darauf sind diverse Animationen ausgelegt. Eine ungerade Anzahl führt zu Asymmetrie in der Animation.

1 „Gefällt mir“

Du hast im Hardware-Bereich einen Vergleich der beiden, da wurde das unter Con erwähnt für PN5180. Denke, es ist das, was Du beschreibst. Wäre für mich OK (Finde die Logik so auch besser).

Sicherheitshalber: Ich habe folgende sehr klein bauende WS2812B-Ringe gefunden:
16 Bit / Da-Di = 37 mm / DI =24 mm
24 Bit / Da-Di = 53-39 mm mm
Ich will ja möglichst portabel bauen, aber die Drehencoder-Platine hat eine Diagonale von 22,3 mm, da sind 16 Bit / Di 24 mm vielleicht etwas sehr knapp. 24 bit scheint ja doch auch Mehrwert zu haben.

Müsste die elektronisch passen? Dein verlinkter WS2812 / 24 bit ist deutlich größer, hat aber rechnerisch nur 40 mAh * 24 * 5 V = 4,8 Watt. Die hier haben 80 mAh / 10 Watt, sind aber wahrscheinlich selten an (wenig Einfluss) - oder?

1 „Gefällt mir“

Also hinsichtlich der Leistung hatte ich noch nie Probleme. Hintergrund ist, dass PWM benutzt wird und per Default 16 von 255 (2 im Nachtmodus) als Helligkeit verwendet wird. Aus meiner Sicht ist das für alle Situationen hell genug. D.h. da reden wir dann durchschnittlich von 1/16 der Leistung. Und da kannst du ja, wenn du das willst, noch weiter runtergehen mit der Helligkeit (das stellt man über die GUI ein).
1/16 von 10 W klingt weiterhin viel zu viel, aber ich denke ich würde das einfach mal testen, wie sich das in der Praxis auswirkt. Sicherlich macht es auch nochmal einen Unterschied, dass wir nur mit 3,3 V draufgehen.

1 „Gefällt mir“

Hallo zusammen,

Ich habe ähnlich wie @Witcraft zwei Tonuinos gebaut und würde jetzt gerne mit ESPuino weitermachen.

Tonuino funktioniert super. Ist jeden Tag im Einsatz und mein Sohn würde ihn wohl nicht wieder hergeben. Außer ich baue was besseres :smile:

Mir fehlt die WLAN Verbindung. Radio und andere Features nehme ich natürlich gerne.
Vor allem MQTT. Bei uns läuft alles unter OpenHAB / MQTT.

Beim Akku möchte ich allerdings auch auf LiFePo setzen.

@biologist kannst mir ja mal schreiben, was du genau da hast und was es kosten würde. Ich nehme auch gerne Prototypen und teste.
Ich bin mir sehr unsicher, was du jetzt genau anbietest, es gibt halt viele Threads mit unterschiedlichen Angaben.
Was ich da habe sind RFID Reader, Akkus, Buttons, WS2812.
SMD löten ja, muss aber auch nicht sein. :yum:

Für mich ist erst mal wichtig, was ich genau alles brauche und welche Dimensionen es hat, damit ich planen kann.

Hier noch ein Bild meiner aktuellen OskarBOX (Tonuino)

Schöne Grüße
Klaus

Moin.

Da musst du dich noch ein bisschen gedulden. Es gibt einen Prototyp, allerdings noch nicht in echt, weil die Platinen noch nicht da sind.

Ansonsten gibt es dieses Board hier: ESPuino-miniD32(pro): Lolin D32/D32 pro mit SD_MMC und Port-Expander (SMD). Das kann man mit Lolin D32 und Lolin D32 pro verwenden. Den o.g. Prototyp habe ich vom Pinout auch so geplant, dass er da auch passt. Größe habe ich auf der Seite beschrieben; grob gesagt einen Tick kleiner als eine RFID-Karte. Das Develboard wird dann gesockelt.

Zum Rest schreibe ich dir eine PN.

Na dann brauch ich meiner Frau noch nicht sagen, das ich wieder eine Box baue :smile:

Ich warte dann mal, was aus deiner Bestellung @biologist wird und ob das wie gewünscht funktioniert.
Hab ja kein Zeitdruck. Ganz im Gegenteil, bin ja anscheinend zum richtigen Zeitpunkt auf das Board hier gestoßen.

Ich steck mal die Tage was auf einem Breadboard zusammen und schau mir die Software an.

Ok, passt.
Lass dir nur gesagt sein: Speziell was SD angeht, sind Jumper-Wires/Breadboards kritisch. Also wenn du da irgendwelche Störgeräusche, Knackser etc pp hast, dann liegt das gerne daran.

Ja klar. Mir geht es mehr um die Software. Das ganze Projekt anschauen und probieren. MQTT hab ich auch einiges zu probieren.

Ich bin endlich mal dazu gekommen, die Stiftleisten und Leitungen an die Module zu löten. Das Schwierigste war, die Stiftleisten aus dem Drehgeber rauszubekommen (mehrere Punkte ziemlich hochschmelzendes Lot), um die Verbinder direkt einzulöten.

Fragen, die sich daraus ergeben:

A) Den MFRC522 (Ja, ich weiß - selbst schuld :rofl:) bekomme ich nicht ganz auf den JST-Connector ge-mapped: Geht SDA auf CS (gelbe Leitung) oder auf BSY (lila)? 5 V (schwarze Leitung) wird wohl nicht gebraucht.

B) Am Lautsprecher-Anschluss (der 2er neben dem habe ich keine +/- Markierung für die korrekte Phase gefunden. Kann man sich da auf rot/schwarz verlassen? Mind. ab 3er-Kabel scheint Farbe nicht mehr auf Polung abgestimmt zu sein (z.B. Drehgeber). Bei den Buttons ist es ja egal.

C) Aprospos Buttons: Bei 2-Knopf-Bedienung wird der 1. (Back) und 3. (Next) belegt, richtig? Play wird ja über den Drehgeber-Switch gesteuert.

Als nächstes kontrolliere ich nochmal alle Pin-Verbindungen und mach ich mich mal an VSC und die Parameter-Konfiguration ran (erstmal Standard). Dann befasse ich mich nochmal detaillierter mit dem Flashen über Micro-USB und die WLAN-Konfiguration.

Erstmal Mono-Mix-Down zum Laufen bringen - Dann kann ich überlegen, ob ich mich an die Spannungsteiler für Stereo und den zusätzlichen MAX-Verstärker ranwage. Die Widerstände sind SMD, da habe ich noch null Erfahrung…

Schön, dass nach Tagen der Ruhe, mal wieder jmd. hier was schreibt :slight_smile:

Da will ich demnächst auch mal Adapterplatinen für bereitstellen. Mich nervt das auch :slight_smile:

5 V, BSY, RST und IRQ brauchst du nicht.
SDA mappt auf CS.

Das kann ich dir nicht beantworten, da das ein fertiges Modul ist.

Ja ich gebe zu, dass ich das ein bisschen verkackt habe. Ich habe ganz am Anfang nicht drauf geachtet und es dann halt so gelassen, damit ich die ganze Peripherie nicht doppelt hier rumliegen habe. Und irgendwann wollte ich es dann nicht mehr ändern, weil es doch inzwischen von einigen Leuten so verwendet wird.

Na das kannst du dir aussuchen.
Schau mal hier in den Settings. ESPuino/src/settings.h at 161e2716ee8d430811c83d482a3649e5f7ea61bc · biologist79/ESPuino · GitHub
Also erstmal ist zu sagen, dass die Bedeutung der Zahlen 0 bis 5 ab Zeile 89 beschrieben ist. Und ab Zeile 113 gibt es dann Aktionen zum kurzen Drücken, zum langen Drücken und zu einer Kombination aus zwei Tasten. Die Aktionen, die du zuweisen kannst, findest du hier: ESPuino/src/values.h at 161e2716ee8d430811c83d482a3649e5f7ea61bc · biologist79/ESPuino · GitHub (Zeile 34 bis 62).
Auf dem Drehencoder liegt beim kurzen Drücken normalerweise die Anzeige der Akkuspannung.

2 „Gefällt mir“

Purer Egoismus :wink: Es ist echt klasse, dass es diesen Ort hier gibt. Und ich muss nochmal loswerden, dass sowohl die Platine als auch die Doku erstklassig vorbereitet sind. Wenn trotzdem Fragen verbleiben, ist das halt der Komplexität in Verbindung mit meiner Vorbildung geschuldet :slight_smile:

erledigt. RST kann aber trotzdem verbunden bleiben, oder?

Das war wichtig: Ich habe es erst nicht verstanden, weil ich ich den Reset-Anschluss-JST (neben dem MAX) für den Lautsprecher-JST gehalten hatte. Jetzt ist klar: Lautsprecher kommt auf den blauen Aufsatz
auf dem MAX (der mit den Schraubanschlüssen). => Anderes Kabel angelötet, und das JST-Kabel gleich an den dritten Button gelötet, der ja offenbar doch zur Standard-Konfiguration gehört.

Nix verkackt, ist ja bei zig Adern auch schwierig, noch die Farbe zu berücksichtigen, gerade mit 3,3 V und 5 V (beide rot wär auch doof…). Fazit: Man muss halt nur wissen, wie die Konvention ist (bzw. einfach auf die Beschriftung achten, nicht auf die Farbe). Easy.

OK, ich lasse erstmal Alles im Standard, auch wenn ich nur 3 Buttons nutze. Dann kann man immer noch optimieren.

Danke für die verlinkten Artikel (Ist ja ein Service hier… :wink: Hatte es aber auch schon gut aufgefunden - Gut strukturiertes Forum!). Weil ich schonmal mit der ESP32 NodeMCU rumgespielt hatte, hatte ich schon beim TONuino versucht, mit VSC zu arbeiten (und bin kläglich gescheitert, weil der Sketch für die ArduionoIDE optimiert war und ich zu wenig Einblicke hatte). Insofern lief das schnell, nur die Auswahl des Profils lief nicht wie im Screenshot (Zeilte unten Punkt 4) - ging dann aber anders. Git-Integration war auch neu für mich, in die Details mit stashen, stagen, PRs usw. kenne ich mich noch nicht aus, wollte da aber länger schon ran.

Ich habe auch die Anpassungen in src/settings.h gemacht:

#define PORT_EXPANDER_ENABLE
#define SD_MMC_1BIT_MODE
#define HEADPHONE_ADJUST_ENABLE

Ich benutze den Port-Expander ja nicht, aber schadet wohl auch nicht… Da ich den MFRC522 nutze, habe ich den natürlich nicht gegen den PN im Code ausgetauscht.
Und in settings-lolin_d32_pro_sdmmc_pe.h:

#define INVERT_POWER
#define POWER                           115

(JP5 ist ja auf 2-3 gelötet)

So - Eigentlich müsste ich das jetzt einfach per MicroUSB anschließen und flashen können, oder? Ich habe noch etwas Muffensausen, weil da irgendwas von „abrauchen“ stand… Aber bei der von Dir gelöteten Platine kann ja eigentlich nicht viel schiefgehen… Den Eremit-Akku lasse ich erstmal außen vor, aber die gemessene Polarität am JST passt zur +Markierung auf dem JST.

Stören wird’s vermutlich nicht.

Der ist nicht optimiert sondern war (ist?) fehlerhaft. Da haben Typendeklarationen gefehlt im Code und die Arduino-IDE winkt das offenbar so durch, weil sie intern irgendwelchen Kram macht. Zufälligerweise weiß ich das, weil ich dort mal ein Tutorial geschrieben habe, wie man das in VSC reinkriegt.

Wieso benutzt du den nicht? Da laufen alle Buttons drüber, die Ansteuerung des MAX und ggf. auch der Kopfhörerplatine. Alle Nummern, die zwischen 100 und 115 liegen, gehören zum Port-Expander. Übrigens steht „pe“ im Namen der zugehörigen Settings auch dafür :slight_smile:

Ja, dann ist der POrt-Expander sogar für die Ansteuerung des Power-Mosfets notwendig. Kurzum: Hättest du Port-Expander nicht aktiviert, dann würde dein ESPuino gar nicht richtig starten.

Jo.

Schau halt, dass + / - nicht vertauscht sind. Wo es auf jeden Fall knallt ist, wenn man das am Neopixel vertauscht. Dann raucht auf dem D32 pro der Festspannungsregler ab.

1 „Gefällt mir“

Solche aussagen machen mich leicht nervös… :rofl: Nein, alles gut, denke auch, das tut nicht, vielleicht löte ich ihn noch ab.

OK, das erklärt, wie es zu dieser „Optimierung“ kam :grin: An das Tutorial erinnere ich mich, war mir dann aber zu aufwändig. Wie auch immer: Ich freue mich, dass hier gleich VSC genutzt wird.

OK - Ich dachte, dass man für den PE an die Pins rangehen muss (Dazu seien die da) - Aber dann ist das intern geroutet, verstehe.

Ja - Das war die Alarmglocke, die bei mir im Hinterkopf schrillte. Irgendwas von dem vielen Gelesenen bleibt zum Glück hängen :slight_smile: Ich kontrolliere nochmal und melde dann Vollzug.

Auf die Gefahr hin, dass es nervt, aber ich kann Dir nicht genug für Deinen engagierten Support hier danken! Leider bin ich IT-Autodidakt mit begrenzter Freizeit, Aber ich hoffe, dass ich irgendwann mal tief genug drin bin, um was zurück zu geben.

Update: Vollzug. Alles eingerichtet, erste Karte läuft. Reversiere gerade die Drehrichtung des Drehencoders. Dann fehlt nur noch ein Gehäuse - Topp!

Und wenn mir langweilig ist, gehe ich das Stereo-Thema an :slight_smile:

Update 2:
Das zweite Gerät hatte ich geflasht mit REVERSE_ROTARY aktiviert. Das dürfte eigentlich keinen Einfluss haben - Aber der RFID-Reader reagiert nicht auf die im anderen Gerät programmierte Karte (dieselbe µSD, aber er lädt weder das Album, noch weist er die Karte neu zu). Die rote LED leuchtet aber.

Das erste Gerät habe ich nochmal geflasht (wg. REVERSE_ROTARY). Im Prozess fängt der plötzlich an, mittelfrequent zu fiepen, und schmeißt einen Error. Die Konsole spricht (gekürzt und anonymisiert):

> Executing task in folder ESPuino: C:\Users\Matthias\.platformio\penv\Scripts\platformio.exe run --target upload --target monitor --environment lolin_d32_pro_sdmmc_pe <

Processing lolin_d32_pro_sdmmc_pe (board: lolin_d32_pro; platform: espressif32@<=3.5.0; framework: arduino)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Library Manager: Installing Hash
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/lolin_d32_pro.html
PLATFORM: Espressif 32 (1.11.0) > WEMOS LOLIN D32 PRO
HARDWARE: ESP32 240MHz, 320KB RAM, 16MB Flash
DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
 - framework-arduinoespressif32 @ 0.0.0+sha.46d5afb
 - tool-esptoolpy @ 1.20600.0 (2.6.0)
 - tool-mkspiffs @ 2.230.0 (2.30)
 - toolchain-xtensa32 @ 2.50200.80 (5.2.0)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 50 compatible libraries
Scanning dependencies...

(...)

Warning: Could not auto-detect Flash size (FlashID=0x0, SizeID=0x0), defaulting to 4MB
Compressed 17104 bytes to 11191...

Writing at 0x00001000... (100 %)
Wrote 17104 bytes (11191 compressed) at 0x00001000 in 0.3 seconds (effective 534.3 kbit/s)...

A fatal error occurred: Timed out waiting for packet header
*** [upload] Error 2
====================================================================================== [FAILED] Took 82.26 seconds ======================================================================================
Environment             Status    Duration
----------------------  --------  ------------
lolin_d32_pro_sdmmc_pe  FAILED    00:01:22.257
================================================================================= 1 failed, 0 succeeded in 00:01:22.257 =================================================================================Der Terminalprozess "C:\Users\#######\.platformio\penv\Scripts\platformio.exe 'run', '--target', 'upload', '--target', 'monitor', '--environment', 'lolin_d32_pro_sdmmc_pe'" wurde mit folgendem Exitcode beendet: 1.

Das Terminal wird von Aufgaben wiederverwendet, drücken Sie zum Schließen eine beliebige Taste.

Es sieht so aus, als würde er das Profil nicht richtig erkennen.

Die SD hat damit nix zu tun. Gespeichert werden Zuordnungen im Mikrocontroller. D.h. wenn du einen anderen Mikrocontroller verwendest, dann kennt dieser keine Zuordnungen. Weil auf der Karte selbst wird NIX gespeichert. ESPuino liest immer nur IDs von Karten aus.

Den Rest habe ich noch nie gesehen muss ich sagen. Zur Not flashe es wieder mit „Standardeinstellungen“ und löte die Drähte CLK/DT am Drehencoder um. Das wäre quasi die Hardware-Variante von REVERSE_ROTARY.

Ja, dass die RFIDs nix enthalten, wusste ich, aber die SD ist offenbar auch nur für die MP3s und die Backup Datei - Verstanden.

OK, ich schaue mal, wie ich meine gespeicherten Stände auf den Stand Deines Git-Repos zurücksetze, mache dann die Konfiguration neu und flashe erneut. Das hochfrequente rote Blinken neben dem Akku-Anschluss auf dem ESP (ca. 10/sekunde) ist auch normal?

Über USB kann ich aber immer wieder drüber-flashen, richtig? Mit Commits usw. hat das auch nichts zu tun, oder? Ich habe bisher einfach nur den Code im Verzeichnis (also wohl lokales Git-Repo) gespeichert.

Ja, das kommt vom LiPo-Laderegler.

Ja.

Also mir sind diesbzgl. keine Fehler bekannt.

1 „Gefällt mir“

So ganz komm ich nicht ran. Der Drehencoder funktioniert invers, was für ein erfolgreiches Flashen spricht. Trotzdem Fehlermeldung und Fiepen… :thinking:

Vielleicht hat es was damit zu tun?
Warning: Could not auto-detect Flash size (FlashID=0x0, SizeID=0x0), defaulting to 4MB
Eigentlich müsste der sich doch miit 16 MB melden, oder? PlatformIO Project Environment ist aber auf lolin_d32_pro_sdmmc_pe

und ab und an flacker eine oder auch mal mehrere LEDs blau ('ne Zehntelsekunde, aber mehrfach)

Das zweite Gerät hat sich jetzt auch irgendwie „gelöst“: Wenn ich es mit der RFID-Karte berühre, geht es, Millimeter darüber nicht. Der SDA wirkt etwas zart angeheftet (dann zu hoher Übergangswiderstand), ich muss da wohl mit dem Lötkolben nochmal nacharbeiten. Oder MFRC hat eine Macke (hab zum Glück noch einen rumliegen). Aber grundsätzlich geht es.