Forum: Mikrocontroller und Digitale Elektronik Potis für Softwaresteuerung verwenden


von Dennis B. (danrulz81)


Lesenswert?

Hallo zusammen,

ich möchte mir eine Art Mischpult bauen, um eine Audioprogramm (Traktor 
DJ) zu steuern. Dieses Programm wird per Midi gesteuert. Ich bräuchte 
allerdings nur 6 Potis, um den Equalizer zu steuern. Jetzt suche ich 
schon seit einigen Tagen im Netz, kann aber das für mich passende nicht 
finden. Vielleicht hat jemand von euch Erfahrung damit:

Wie kann ich denn Poti an meinen µC anschließen, und was mich besonders 
interessiert: Wie kann ich den Poti dann auswerten und welche Signale 
muss ich senden?

Meine Idee wäre eine Art RS232 Kommunikation (Midi ist ja auch eine 
RS232 Kommuniaktion mit 31,25 kBaud) einzurichten, da sich das Programm 
auch via Tastatur bedienen lässt. Ich bräuchte also nur die Ascii - 
Zeichen senden. Das wäre für mich soweit kein Problem. Allerdings hab 
ich noch keine Idee, wie ich einen Poti (nicht endlos) so auswerten 
kann, dass sich mein Virtueller Poti dann auch bewegt.

von Timmo H. (masterfx)


Lesenswert?

Die Potis schließt du einfach zwischen GND und VCC an und den 
Schleifer-Kontakt machst du jeweils an einen ADC-Eingang. Darüber kannst 
du dann die aktuelle Schleiferposition abfragen (bei 10 Bit eben 0-1023)
Wie das mit den ADCs beim AVR geht steht hier: 
AVR-GCC-Tutorial: Der interne ADC im AVR

von Dennis B. (danrulz81)


Lesenswert?

O.k. Danke soweit schonmal. Jetzt muss ich es nur schaffen, dass diese 
Werte auch an die Software übertragen werden. Da dachte ich per RS232 
und dann per Wandler auf meinen USB Port. Allerdings habe ich keine 
Ahnung, was ich da übertragen muss. Ich könnte jedem der 1024 Werte des 
ADCs einen Wert zuweisen und bei überschreiten bestimmter Werte zum 
Beispiel ein "+" Zeichen senden, das mir den virtuellen Poti um 1 
erhöht.

von Timmo H. (masterfx)


Lesenswert?

Ich würde es einfach ganz Simpel machen.
z.B. alle 100ms ein Paket Senden wo alle aktuellen Poti-Werte drin 
stehen:
STATUS#P1,355#P2,412#P3,845...#END

So oder ähnlich.
Wenn du nur +1 etc. sendest, dann kann dir das z.B. durch das Rauschen 
des ADCs passieren dass dein Virtueller Poti nur noch auf HIGH oder LOW 
steht.

von hubert (Gast)


Lesenswert?

Midi beschreibt ja nicht nur die Baudrate, sondern auch das Protokoll 
und die physische Erscheinung, klassischerweise eine serielle 
Datenverbindung. USB ist komplizierter: 
http://www.usb.org/developers/devclass_docs/midi10.pdf

Wenn also der PC noch keinen Midi-Eingang hat solltest Du ihm erst mal 
einen einbauen. Viele Soundkarten haben so was. Dann wählst Du in der 
Software diesen Steuereingang an.

Was das Protokoll betrifft: Bei Midi werden sog. "Notes", also Noten 
bzw. Tastenanschläge von Keyboards übertragen. Jetzt mußt Du nur noch 
rausbekommen, mit welchen Notes Du die Equalizer-Einstellungen Deines 
"Traktor DJ"-Programmes steuern kannst und diese dann in Abhängigkeit 
der Potieingaben nachbilden.

Grundsätzlicher Tip: Lies Dich mal gründlich in das Thema MIDI ein. 
Wikipedia ist ein guter Startpunkt.

von Dennis B. (danrulz81)


Lesenswert?

In dem Fall habe ich relatives Glück. Da das Programm Midibefehle 
"lernen" kann, könnte ich rein theoretisch jede "Midi Note" nehmen, die 
einen Variablen Wert verarbeiten kann. D.h. ich brauch den Poti nur via 
ADC abfragen, die gemessenen Wert auf den Midiwert "umleiten" und dem 
Programm sagen, lerne.
1
0xBn 46 vv   70   Sound Controller 1 (Sound Variation)   Klangsteuerung 1, meistens Klangvariation
2
0xBn 47 vv   71   Sound Controller 2 (Harmonic Content)   Klangsteuerung 2, meistens Teiltonhaltigkeit
3
0xBn 48 vv   72   Sound Controller 3 (Release Time)   Klangsteuerung 3, meistens Ausschwingzeit
4
0xBn 49 vv   73   Sound Controller 4 (Attack Time)   Klangsteuerung 4, meistens Einschwingzeit
5
0xBn 4A vv   74   Sound Controller 5 (Brightness)   Klangsteuerung 5, meistens Helligkeit
6
  75–79   Sound Controller 6–10   Klangsteuerung 6–10, keine Vorschlagswerte
Ich denke mal, dass das die Notes sind, die für mich interessant sind, 
wobei vv der Wert ist, den ich mit dem ADC zuweise.

von Sven K. (svenk)


Lesenswert?

Schon mal darüber nachgedacht ein fertiges Pult zu kaufen ?
Gehäuse fertig, Fader alle drin -> Motorfader.... und und und...
Midi IN OUT etc......

http://www.thomann.de/de/behringer_bcf_2000_wh.htm

Gruß Sven

von Dennis B. (danrulz81)


Lesenswert?

Ja, habe ich. Aber ich brauche aber nur 6 Potis für den EQ. Ich denke 
mal, da kommt selber bauen eher in Frage, als bspw. 129 € für das 
Behringer.

von Sven K. (svenk)


Lesenswert?

Dennis Brenzel schrieb:
> Ja, habe ich. Aber ich brauche aber nur 6 Potis für den EQ. Ich denke
> mal, da kommt selber bauen eher in Frage, als bspw. 129 € für das
> Behringer.

Ok, mit 129 Euro ist das natürlich ein Argument ;-)
Aber ich wollte damit ja nur eine Art "ist schon fertig" vorschlagen.
Einen habe ich noch:

http://www.thomann.de/de/korg_nanokontrol.htm für 39 Euro.

Wenn Du das so konfigurierst, das es den EQ ansteuert bist Du schnell
fertig. Platine mit µC und Midi + etc drum herum -> da bist Du auch 
schnell 15 Euro und mehr los......

Nichts für ungut.

Gruß Sven

von Tüll (Gast)


Lesenswert?

Also mal grundsätzlich: wenns nur ums Geld geht ist in ca. 99% aller 
Fälle was fertiges kaufen günstiger. Man muss neben dem Kleingeld für 
die Bauteile auch die viel höheren Opportunitätskosten einberechnen 
(wieviel Geld könnte ich verdienen in der Zeit die ich für das Projekt 
brauche?).

Also mal angenommen Dennis du bist Schüler / Student und könntest 
irgendeinen Temporärjob annehmen mit 15 EUR / Stunde, dann darfst du für 
das ganze Projekt keine 3 Stunden brauchen, sonst gehst du besser kurz 
jobben und kaufst das 40 EUR Teil. Ist dann vermutlich sowieso deiner 
Eigenbau Lösung überlegen.

Ich versteh ja, dass alle hier selber die verrücktesten Sachen bauen 
wollen, weils halt Spass macht. Aber den Preis kann man dann wirklich 
nicht als Argument bringen. Trotzdem fangen so viel Beiträge an mit 
"Also ich will... aber das ist viel zu teuer, also wie mach ich das 
selber?"

von Dennis B. (danrulz81)


Lesenswert?

Sicher habt ihr Recht, dass es zeitlich nicht lohnt, soetwas selber zu 
bauen, selbst bei nem Stundenlohn von 5 € hätte ich den Preis jetzt 
bereits überschritten.
Aber es macht halt Spaß, etwas selber zu basteln, neben bei lernt man 
etwas und versteht auch, wie das Teil funktioniert. Außerdem hat man dan 
ein Unikat. Es ist halt persönlicher, als einfach eins zu kaufen. Kaufen 
kann ja jeder ;).

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.