Forum: Mikrocontroller und Digitale Elektronik BPM gesteuert LEDs zuerst Blinken dann nur Leuchten lassen.


von Janosch (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

Ich würde gerne eine Art Takt Anzeiger Bauen, hab aber keine Ahnung von 
Elektronik oder IT... Vieleicht kann mir ja hier jemand helfen, also:

Am Besten zuerst mal kurz meine Skizze anschauen dann ist es glaube ich 
einfacher zu verstehen was ich mir vorstelle.


Es soll einen Dreh potti geben der sich 180grad drehen lässt und somit 
eine BPM (Geschwindigkeit)von 0-180 einstellbar ist.
Die eingestellte BPM soll dann auf einem kleinen Display mit 3stellen 
oder wenn möglich 4 stellen für eine Nachkommastelle angezeigt werden.

Ein weicher "Tap" Knopf soll dann als Start (Go) Taster der Sequenz 
fungieren.
Also wenn man den Tap drückt fängt die erste LED an im takt auf 1,2,3,4 
zu blinken.

Wenn sie 4mal geblinkt hat soll sie Dauerleuchten und die LED rechts 
daneben soll anfangen zu Blinken (quasi auf 5,6,7,8)usw...
Wenn alle 64 LEDs durch sind gehen alle wieder aus und es beginnt wieder 
mit der ersten LED links oben.

Hoffe das war soweit verständlich 😅
Ich freue mich auf eine Idee bezüglich welche Bauteile ich dazu brauch 
und wie ich das ganze "schalten" bzw. Verbinden kann 🙏

Vielen Dank vorab!!!

Janosch

von olaf (Gast)


Lesenswert?

Das kannst du im Prinzip mit jedem beliebigen Mikrocontroller
bauen.

> Ich würde gerne eine Art Takt Anzeiger Bauen, hab aber keine Ahnung von
> Elektronik oder IT...

Allerdings musst du halt daran etwas aendern. Ohne Arme keine Kekse.

Olaf

von Georg (Gast)


Lesenswert?

Janosch schrieb:
> wie ich das ganze "schalten" bzw. Verbinden kann

Das ist nicht das Problem, sondern die Tatsache, dass das sinnvoll nur 
durch einen entsprechend programmierten Controller zu realisieren ist, 
und dass du dafür nicht die nötigen Kenntnisse hast. Im Prinzip kann das 
so ziemlich jeder lernen, nur ist das ein erheblicher Aufwand, sicher 
viele Monate. Du könntest das jemand anders machen lassen, wenn es sich 
um ein kommerzielles Produkt handeln soll. Vielleicht findet sich hier 
noch jemand, der das umsonst oder für ein paar Flaschen Bier macht, aber 
ich glaube eher nicht. Mal abwarten.

Georg

von Stefan F. (Gast)


Lesenswert?

Janosch, suchst du nach einem Tutorial für Mikrocontroller?

von Teo D. (teoderix)


Lesenswert?

Stefan F. schrieb:
> Janosch, suchst du nach einem Tutorial für Mikrocontroller?

Wohl eher einen "Münzautomaten".... :'(

Beitrag #7302169 wurde von einem Moderator gelöscht.
von H. H. (Gast)


Lesenswert?

Teo D. schrieb:
> Stefan F. schrieb:
>> Janosch, suchst du nach einem Tutorial für Mikrocontroller?
>
> Wohl eher einen "Münzautomaten".... :'(

Der wurde aber ersetzt.

https://www.scoutingny.com/will-this-pepsi-machine-make-tom-hanks-big/

von Janosch (Gast)


Lesenswert?

Hallo Georg,
Vielen Dank für deine Antwort,

Da ich das Gerät eigentlich nur für mich selbst basteln will und keinen 
Zeitdruck habe werd ich mihh mal im Freundeskreis umhören, vielleicht 
kann mir ja da jemand beim basteln Helfen :)
Danke 🙏

von Unwissende Person (Gast)


Lesenswert?

Janosch schrieb:
> Am Besten zuerst mal kurz meine Skizze anschauen dann ist es glaube ich
> einfacher zu verstehen was ich mir vorstelle.
>
> Es soll einen Dreh potti geben der sich 180grad drehen lässt und somit
> eine BPM (Geschwindigkeit)von 0-180 einstellbar ist.

Scheint also was musikalisches werden zu sollen, wobei 0-180 BpM scheint 
mir doch etwas sehr weit ausgeholt da selbst ein Trauermarsch schneller 
als 0 BpM gespielt wird.

Zu der Skizze: die LEDs rot/grün über der BpM-Anzeige sowie die 8 Blauen 
unten rechts, was haben die zu tun, nur das sie vorhanden sind oder 
zeigen die was an? Wäre zum analogen Poti nicht alternativ auch ein 
Drehencoder einzusetzen, so könnte man 'unscharfe Einstellungen' (z.B. 
160/161) vermeiden.

Soll die Anzeige nur gestartet werden oder auch gestoppt, dann steht 
auch die Frage ob das mit dem gleichen Knopf passieren soll und auch die 
Speed-Änderungen zur Laufzeit ermöglichen?

von Karl Käfer (Gast)


Lesenswert?

Janosch schrieb:
> Da ich das Gerät eigentlich nur für mich selbst basteln will und keinen
> Zeitdruck habe werd ich mihh mal im Freundeskreis umhören, vielleicht
> kann mir ja da jemand beim basteln Helfen :)

Ein Tutorial, wie man Mikrocontroller programmiert, findest Du hier auf 
der Seite, und damit ein paar Schieberegister und darüber Deine LEDs zu 
steuern  ist sicherlich auch keine Raketenwissenschaft. Sowas kann man 
lernen, wenn man Lust darauf und ein bisschen Zeit hat.

Solltest Du allerdings später einmal wollen, daß das Gerät selbständig 
den Takt erkennt und entsprechend blinkt, sieht die Sache ein bisschen 
anders aus. Keine Ahnung, ob es dafür womöglich spezielle Bauelemente 
gibt, aber in Software ist das nicht trivial und braucht etwas 
Rechenpower: [1,2,3]

[1] https://arxiv.org/pdf/2107.09208.pdf
[2] 
https://nlml.github.io/neural-networks/detecting-bpm-neural-networks/
[3] https://dida.do/blog/beat-tracking-with-deep-neural-networks

von Janosch (Gast)


Lesenswert?

Hallo Unwissende Person :)

Danke für die Antwort
(auch den Anderen!)

Ja das mit den 0BPM wird wohl nie eingestellt werden müssen... Ich habe 
diese Range ausgewählt da ich es so von den meisten meiner Musik Geräte 
kenne, man kann eine beliebige BPM einstellen (ob mit dreheegler oder UP 
und DOWN Tasten ist mir eigentlich egal-ist ja nur ein erster Entwurf 🙂) 
meist auch nach oben noch mehr BPM.

Die 2 LEDs rechts oben sind nicht zwingend notwendig die idee war 
folgende regel:
Wenn links rot blinkt blinkt rechts auch rot, wenn links grün blinkt 
blinkt rechts auch grün.

Die 8 Blauen sind ebenfalls nicht zwingend notwendig und sollten nur 
parallel mitlaufen wenn die jeweiligen darüber liegenden blinken.

Es geht bei dem Gerät darum das ich wenn ich Live Musik produzieren will 
einen schnellen Überblick darüber habe wo ich mich gerade befinde die 
grün blinkenden LEDs helfen dann die möglichen Punkte für Übergänge 
einfacher im takt zu halten :)  soweit meine Vorstellung 😅✌️ zb nochmal 
kurz den Bass rausdrehen und ein paar sound Effekte einspielen bevor der 
nächste takt anfängt. Die meisten Synthesizer und Drum Computer haben 
nur eine Anzeige von 1-4 oder 1-16 und die mitblinkt. Das hätte ich 
gerne etwas größer.. Eben4x64 😃😎✌️

von Janosch (Gast)


Lesenswert?

Ach ja und :
Ja der "Go" taster sollte als start und Stop taster gelten bei stop 
sollte es sich an den anfang zurück setzen (Start/Stop) ist wohl auch 
die sinnvollere Beschriftung..

BPM Änderungen während der Laufzeit währen Nice to have aber kein muss.

✌️

von Adam P. (adamap)


Lesenswert?

Jetzt versteh ich auch was du dir da bauen möchtest ;)

Ich würde dann wohl Schieberegister nehmen, ein µC deiner Wahl und ein 
bissel Code. Sollte nicht der mega Aufwand sein.

von Teo D. (teoderix)


Lesenswert?

Adam P. schrieb:
> Ich würde dann wohl Schieberegister nehmen, ein µC deiner Wahl

Charlieplexing! 9 Pins -> 72 LEDs.


Adam P. schrieb:
> Jetzt versteh ich auch was du dir da bauen möchtest ;)

Einen optischen Taktgeber und eine Paragraph-Balkenanzeige, als Zähler 
mit Basis 4?! #-{

: Bearbeitet durch User
von Janosch (Gast)


Lesenswert?

Hallo Adam,

Wenn ich das richtig sehe brauch ich einen Schieberegler (ich müsste das 
eben Googlen.. Soviel zu meinem know how) dem ich irgendwie einen Regel 
Code sende? 😅

Blöde Frage aber den Code muss ich dann am PC schreiben und irgendwie in 
ein Bauteil einspielen so das dieses dann Befehle vom Regler empfangen 
und an Display und LEDs senden kann?

Hab noch nie einen Code geschrieben 😅✌️

von Janosch (Gast)


Lesenswert?

Hallo Teo,

Ja der takt ist 4 eben für Musik im 4/4 Takt.

Ich habe sowas nicht zum kaufen gefunden fände es aber ganz nützlich 
deshalb wollte ich es selbst basteln.. ✌️

von Wolfgang (Gast)


Lesenswert?

Teo D. schrieb:
> Charlieplexing! 9 Pins -> 72 LEDs.

WS2812B! 1 Pin -> ziemlich viele LEDs

von Adam P. (adamap)


Lesenswert?

ja die ws2812b wären am einfachsten.

von Janosch (raum_23)


Lesenswert?

Danke euch allen!
Also sehe ich das richtig:

1. Code am computer schreiben.
2. Auf einen Mikrocontroller aufspielen.
3. Mikrocontroller an ws2812b LEDs, Drehencoder und Display anschließen.

Wenn ja, wie schreibe ich einen Code dafür und welchen Mikrocontroller 
nehme ich?

von Stefan F. (Gast)


Lesenswert?

Janosch schrieb:
> Wenn ja, wie schreibe ich einen Code dafür und welchen Mikrocontroller
> nehme ich?

Schau dir arduino.cc an. Für die WS2812 gibt es zahlreiche 
Beispielprojekte. Zum Lernen würde ich aber erst mal weniger LEDs direkt 
ansteuern, bis du den Dreh raus hast.

Für den Anfang empfehle ich ein Arduino Nano Board, das ist funktional 
mit dem Arduino Uno identisch, darauf laufen die meisten 
Beispielprogramme.

Kaufe sie dir im 3er oder 5er Set. Ansonsten stehst du blöd da, wenn mal 
etwas nicht funktioniert und die keine Ersatz-Hardware zum ausprobieren 
hast.

von Janosch (raum_23)


Lesenswert?

Ok Danke 🙏

von Joachim S. (indoctius)


Lesenswert?

Ein interessantes Projekt und nette Anregungen zu sehen.

Bei der Anzahl von LEDs würde ich, auch auf Grund der Varianten 
(Einzel-LED/7-Segment), wohl eine Matrix-Steuerung über Schieberegister 
präferieren welche als 8 Zeilen x 16 Zeilen Sinn macht: Zeile 0-3 für 
das LED-Feld, Zeile 4+5 für die 7-Segment und Zeile 6 für die rote und 
grüne sowie die 8 blauen LED.
Die Verwendung von WS2812 scheint für das Feld geeignet, jedoch nicht 
für ein 7-Segment-Display. Weiter steht die Sinnhaftigkeit von 
Multi-Color-LED bei geforderten einfarbigen LEDs im Raum.
Charlieplexing scheint auch eine nette Lösung, jedoch für ein 
Einsteigerprojekt in der Programmierung etwas komplex.
Ein Drehencoder hat gegen Up/Down-Tasten den Vorteil das man auch 
größere Änderungen schnell und kleine Schritte feinfühlig einstellen 
kann.
Das vorgeschlagene Arduino-Nano-Board sollte den Anforderungen genügen 
und hat auch genug I/O-Pins.

von Adam P. (adamap)


Lesenswert?


von Georg M. (g_m)


Lesenswert?


von Max B. (citgo)


Lesenswert?

Also die Idee ist nicht schlecht.
Ich würde es aber vereinfachen bzw. für den Anfang vielleicht mal etwas 
einfacher aufbauen.
Nur mit einem LCD.
Dort stehen die eingestellten Bpm, die Taktart sowie die Takt- und 
Zählzeitanzeige.
Bei deiner blinkenden LED kannst du, wenn du kurz weg und wieder 
hinschaust, nicht mehr wissen bei welchem Taktschlag du jetzt bist.
Zählt sie aber hoch im LCD, also 1,2,3,4 dann weißt du genau wo du bist 
und wann der nächste Takt beginnt.
Bei einem elektronischen Metronom mit Soundausgabe ist meist der letzte 
Taktschlag höher transponiert.

von Adam P. (adamap)


Lesenswert?


von beo bachta (Gast)


Lesenswert?

Adam P. schrieb:
> Was hast du für ein Problem?
> Nur weil die unter deinem Link 5€ günstiger sind? Ich wollte lediglich
> darauf hinweisen, dass die Nanos teurer geworden sind... wie im
> Kindergarten, schrecklich.

So wie ich den Georg verstanden habe hast du den Georg nicht
verstanden.

von Max B. (citgo)


Lesenswert?

Adam P. schrieb:
> Nur weil die unter deinem Link...

Nein...
Weil du deine Amazonlinks nicht gekürzt hast und man dadurch auf einem 
Siemens A50 nichts erkennen kann.
Schlimmer noch, um bis zum nächsten Beitrag zu scrollen dauert es jetzt 
länger.

von Adam P. (adamap)


Lesenswert?

beo bachta schrieb:
> So wie ich den Georg verstanden habe hast du den Georg nicht
> verstanden.

Was gibts da zu verstehen?

Wenn man ein besseres Angebot findet oder etwas zu diesem Gespräch 
beitragen möchte, kann man es auch in einem Satz formulieren.

Ist ja nun auch egal.

von Adam P. (adamap)


Lesenswert?

Max B. schrieb:
> Nein...
> Weil du deine Amazonlinks nicht gekürzt hast und man dadurch auf einem
> Siemens A50 nichts erkennen kann.
> Schlimmer noch, um bis zum nächsten Beitrag zu scrollen dauert es jetzt
> länger.

Ja ok, das wusste ich nicht.
Hätte man auch eben kurz schreiben können, kann ja nicht jeder wissen.

edit:
Na dann , Sorry!

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.