Forum: Mikrocontroller und Digitale Elektronik Midi-Controller selbst bauen/programmieren


von ishino (Gast)


Lesenswert?

Hi!
Wie der Titel schon sagt, möchte ich versuchen, mich in Midi 
einzuarbeiten.
Vorkenntnisse sind nur absolute minimale Grundkenntnisse was 
Programmierung/Microcontroller und Elektronik angeht.

Sinn und Zweck ist es, dass ich mir später mal einen eigenen 
Midi-Controller bauen möchte,
mit dem ich die Programme "Traktor" oder "Ableton" steuern kann.
Umfang würde bestimmt so (grob überschlagen)
8 Schieberegler, 16 Potis, 8 Endlospotis und 32 Taster umfassen,
mit Potenzial nach oben.
Zudem natürlich auch noch etliche Led´s für die Rückmeldung.

Habe mich hier mal quer durchgelesen und es tauchen nun halt die ersten 
Fragen auf.

- reicht Dev-C++ zum Programmieren oder bräuchte ich da andere Software 
oder gibts bessere Alternativen?

- welcher Microcontroller wäre ratsam für mein Vorhaben.
Hab gelesen ein Atmega8 soll ausreichen.
Welcher wäre für den Einstieg am einfachsten?

- gibt es auch ein Steckboard, damit ich erst mal probieren kann
und nicht direkt alles löten muss?
Am besten so ein Anfänger Board mit Kabeln, Wiedeständen, Led´s etc.

- wie kann ich den Mirocontroller anfangs am besten mit dem Pc 
verbinden?
Hätte die Möglichkeit ihn direkt über Midi an meine Audio 8 Soundkarte 
anzuschliessen da diese Midi-In and -Out hat.

- was wären sinnvolle Anschaffungen (wie z.B. Multimeter oder so)?

Für die ersten Schritte bräuchte ich halt ein wenig mehr Einstiegshilfe.
Hoffe ihr könnt mir Tipps geben, so dass ich erst mal einen Grundaufbau 
hinbekomme,
womit ich dann Lernen, Arbeiten, Programmieren kann.

Gruß
Ishino

von AVerr (Gast)


Lesenswert?

ishino schrieb:
> Vorkenntnisse sind nur absolute minimale Grundkenntnisse was
> Programmierung/Microcontroller und Elektronik angeht.

Das ist schonmal schlecht ... Wie sieht es denn konkret mit C ( 
Microcontroller ) und Python ( Ableton-Skriptsprache ) aus ?

> Umfang würde bestimmt so (grob überschlagen)
> 8 Schieberegler, 16 Potis, 8 Endlospotis und 32 Taster umfassen,
> mit Potenzial nach oben.
> Zudem natürlich auch noch etliche Led´s für die Rückmeldung.

Also, LEDs und Taster wären dank Schieberegistern kein Problem. Mit so 
vielen Endlospotis auf einmal habe ich noch keine Erfahrungen gemacht, 
aber ich gehe davon aus, dass das auch noch mit einem ATmega8 gehen 
wird.
Die Potis kann man über Analog-Multiplexer ( 74hc4051 ) auch problemlos 
anschließen.

> - reicht Dev-C++ zum Programmieren oder bräuchte ich da andere Software
> oder gibts bessere Alternativen?

Wenn du eh mit ATmegas arbeiten willst, kannst du das AVR Studio von 
Atmel benutzen, damit kann man schonmal nichts falsch machen.

> - gibt es auch ein Steckboard, damit ich erst mal probieren kann
> und nicht direkt alles löten muss?
> Am besten so ein Anfänger Board mit Kabeln, Wiedeständen, Led´s etc.

Steckbretter gibt es, du musst dir nur alle Teile dafür ( Kabel, 
Widerstände, LEDs etc ) einzeln zusammenkaufen.

> - welcher Microcontroller wäre ratsam für mein Vorhaben.
> Hab gelesen ein Atmega8 soll ausreichen.
> Welcher wäre für den Einstieg am einfachsten?

Ich sehe mit dem ATmega8 auch keine Probleme ... vielleicht nutzt du 
auch direkt einen ATmega16, der hat insgesamt mehr Pins ( könnte für die 
Endlospotis einfacher werden ).

> - wie kann ich den Mirocontroller anfangs am besten mit dem Pc
> verbinden?
> Hätte die Möglichkeit ihn direkt über Midi an meine Audio 8 Soundkarte
> anzuschliessen da diese Midi-In and -Out hat.

Die ATmegas haben (fast) alle eine UART, das ist die Schnittstelle, auf 
der Midi-Signale gesendet werden können. Somit kannst du über Midi 
In/Out senden und empfangen.

> - was wären sinnvolle Anschaffungen (wie z.B. Multimeter oder so)?

Multimeter auf jeden Fall. Früher oder später wird auch ein Lötkolben 
nötig, aber am anfang reicht noch das Steckbrett.
Als erstes brauchst du Steckbrett, Widerstände ( 220, 1k, 10k um mal die 
wichtigsten zu nennen ), Kondensatoren ( 22pF, 100nF ), Potis ( da nimmt 
man meist 10k linear ), LEDs in allen schönen Farben ;) , ein paar 
Midi-Buchsen und Kabel.

von Andreas G. (beastyk)


Lesenswert?

Moin Ishino,

wenn es sich um die Native Instruments Audio 8 Soundkarte handelt dann 
ist dir hoffentlich bewußt das du mit fast garkeinen 
Elektronikkenntnissen, wenig C Programmiererfahrungen und überhaupt 
keinen Plan (ich hab da übrigens auch so ne Idee, dachte an ein 
Raumschiff mit Hyperlichtantrieb und ner Minibar, bitte melden falls 
jemand da Erfahrungen hat und diese mit mir teilen möchte!)eine knapp 
350 Euro teure Karte schrotten kannst.
Wollte das nur mal so anmerken, deine Ziele sind ja auch nicht gerade 
leicht gesteckt.
Ich hab da so meine Erfahrungen über die Jahre gesammelt und habe 2 
Weisheiten: Wer billig kauft, kauft zweimal UND Wenn du Geld für High 
Tech Zeugs hast dann spare nicht am falschen Ende.

Wäre es ein ausrangierter Rechner und ne billige Soundkarte, kein 
Problem, immer ran und viel Spaß. So aber überdenke dein Vorhaben mal 
drastisch!

Gruß
Andi

von Ben ■ (Gast)


Lesenswert?

Wie wäre es denn überhaupt erstmal was funktionierendes aufzubauen.
Es gibt schon ein komplett fertiges Projekt mit diversen "Optionen" und 
sogar Quellcode: www.ucapps.de

■

von Thomas E. (thomase)


Lesenswert?

ishino schrieb:
> Vorkenntnisse sind nur absolute minimale Grundkenntnisse was
> Programmierung/Microcontroller und Elektronik angeht.

ishino schrieb:
> 8 Schieberegler, 16 Potis, 8 Endlospotis und 32 Taster umfassen,
> mit Potenzial nach oben.
> Zudem natürlich auch noch etliche Led´s für die Rückmeldung.

Vergiss' es!

Such' mal bei den Arduinos. Vielleicht gibt es da was fertiges.

mfg.

von holger (Gast)


Lesenswert?

>> Vorkenntnisse sind nur absolute minimale Grundkenntnisse was
>> Programmierung/Microcontroller und Elektronik angeht.

>ishino schrieb:
>> 8 Schieberegler, 16 Potis, 8 Endlospotis und 32 Taster umfassen,
>> mit Potenzial nach oben.
>> Zudem natürlich auch noch etliche Led´s für die Rückmeldung.

>Vergiss' es!

Volle Zustimmung. Da kommt so ein Vollnoob daher
und will die Eierlegende Wollmilchsau selber bauen.

ishino du musst erstmal deine Grundkenntnisse auf
Profi Niveau bringen. Dann kannst du mal dran denken
dein Projekt durchzuziehen. In den nächsten zwei
Jahren wird das also nix mit deinem MIDI Controller.

von Chris (Gast)


Lesenswert?

Erste Lektion: lerne, manchen Vollpfosten hier zu ignorieren und zieh 
dein Ding durch.

Habe selber vor ein paar Jahren einfach mal so mit einem M16C, also 
einem supporttechnisch eher exotischen Mikrocontroller angefangen. 
C-Kenntnisse waren ebenfalls nicht nennenswert vorhanden, trotzdem kamen 
nach wenigen Abenden die ersten Midi-signale raus.

Es braucht schon etwas Durchhaltevermögen - wenn man das aber hat, 
dauert es ganz sicher keine JAHRE.

Wer etwas weniger motiviert ist greift, wie hier schon erwähnt, zu 
ucapps.de

Machst du das Ganze jedoch, um Geld zu sparen, so unterliegst du leider 
einem Irrglauben und solltest dir was Fertiges anschaffen.

von dlee (Gast)


Lesenswert?

ucapps is nen prima Tipp, da kann man sich das gewünschte zusammenbauen.
@Thomas & Holger: ich zitiere mal den OP:

>Wie der Titel schon sagt, möchte ich versuchen, mich in Midi einzuarbeiten.

>Sinn und Zweck ist es, dass ich mir später mal einen eigenen Midi-Controller 
bauen möchte,

Also kommt mal runter von euren hohen Pferden...

von ishino (Gast)


Lesenswert?

Bor, rege Beteiligung hier.
Ich komm nicht dazu allen zu antworten.

@holger(gast)
1.: ein sogenannter "Vollnoob" warst du bestimmt auch irgendwann mal
2.: habe ich nie gesagt, dass ich den Kontroller nächste Woche fertig 
haben will, oder?
Also chill mal ne Runde!

Ich versuch das mal ein wenig zu konkretisieren.
Ich back lieber zu kleine als zu grosse Brötchen.
Atmega habe ich schon ein paar mal in C Programmiert, auch in Assembler.
Python habe ich eher weniger Erfahrungen (Hauptaugenmerk liegt eh auf 
Traktor, Ableton wäre zweitrangig),
aber die Umstellung zu C ist nicht so dramatisch, wenn ich mich recht 
entsinne.
Aber da liegt auch das Problem. Ist alles schon ein paar Jährchen her.
Ich komm bestimmt wieder schnell in die Materie rein, aber stelle mich 
lieber erst aml als "noob" dar.

Jau, AVR-Studio hatte ich auch schon ganz vergessen,
damit haben wir damals auch die Atmega´s programmiert.
Und Dev-c++ bei anderen Dingen.

Woher bekomm ich denn solch ein Steckbrett?
Wir haben immer bei Reichelt oder Conrad bestellt,
oder gibts da evtl noch andere, bessere Shop-alternativen?

Ob Atmega8,16 oder 32 etc. ist mir egtl egal, die paar euro mehr oder 
weniger.
Genug Pins sollten vorhanden sein und ich möchte damit halt auf nem 
Steckbrett arbeiten, vorerst.
Also aufpassen das er UART kann, gechecked.

Lötstation ist vorhanden, ERSA RDS80, die sollte ausreichen denke ich.
(Betreibe RC-Modellbau, da muss man auch ab und an mal löten :))

@Andreas
Du sprichst in Rätseln, sry!
Die Audio 8 wird also nicht für Versuchszwecke herhalten,ok.
Was wäre denn da die günstigste Lösung, einfach nen 0815 USB/Midi 
Interface kaufen?
sowas zb: 
http://www.amazon.de/dp/B000XRI3CC/ref=asc_df_B000XRI3CC3581583?smid=A3JWKAKR8XB7XF&tag=googledeprodu-21&linkCode=asn&creative=22494&creativeASIN=B000XRI3CC
oder am besten erst gar nicht am PC anschliessen, da dieser auch in 
mitleidenschaft gezogen werden könnte?
Mit irgendwas muss ich ja aber füher oder später mal Testen, obs 
funktioniert
und da dachte ich halt daran, bei fortgeschrittenem Projekt,
direkt mit Traktor auszuprobieren.
was dann ja laut "holger(gast)" in so zwei Jahren sein wird...
weil damit soll´s ja irgendwann mal funktionieren.

Und was soll das mit deinen Weisheiten!?
Ich kenne beide zu genüge und halte mich selbst egtl meistens dran, ;)
aber was haben die mit meinem Vorhaben zu tun?
Mich interessiert die Thematik halt schon seit Jahren,
da ich selbst als DJ z.B. mit 2 Xone 1D arbeite.
Und irgendwo muss man ja mal anfangen. :)

Über ucapps bin ich schon etliche male gestolpert.
Das der Quellcode open ist wusste ich nicht.
Ich sag mal so,
ich wäre auf jeden fall bereit, Zeit und Mühe ins Projekt zu 
investieren,
aber wenn das für einen (wieder) Anfänger doch mehr Sinn macht,
um sich in der Midiwelt zurechtzufinden
und ich so weder Rechner noch Audio 8 schrotte,
würde ich damit halt beginnen, wenn ihr das mehr empfehlen könnt.

Gruß

von moep (Gast)


Lesenswert?

Für den Anfang braucht es an sich noch gar keine echte 
MIDI-Schnittstelle am uC oder PC.
Den uC einfach per RS232 mit dem PC verbinden und MIDI-Signale ganz 
gewöhnlich per UART rausschicken.
Am PC einen simplen Serial-to-MIDI Treiber nutzen und schon nimmt jede 
Software dein MIDI, auch wenn es Eigentlich von der seriellen SS kommt.

von moep (Gast)


Lesenswert?

Achja... Am MIDI selbst wird das ganze auch kaum scheitern, das ist 
simpel.
Das Auslesen bzw ansteuern von so vielen Bedienelementen ist das was 
dich am Anfang beschäftigen wird :)

von min (Gast)


Lesenswert?

schaust du hier:

http://www.ucapps.de/

Ist zwar alles PIC und in Assembler. Aber machbar und sehr gut 
dokumentiert.
Ich habe mehrere Geräte gebaut, die einwandfrei funktionieren.
Unter anderem eine Midibox16, mit der man verschiedene Synthesizer oder
Computer ansteuern kann. Mann braucht aber eine Soundkarte mit 
Midieingang
oder einen Midisport-Adapter, der diese Eingänge/Ausgänge über USB 
bereitstellt.

gruss min

von AVerr (Gast)


Lesenswert?

ishino schrieb:
> Woher bekomm ich denn solch ein Steckbrett?
> Wir haben immer bei Reichelt oder Conrad bestellt,
> oder gibts da evtl noch andere, bessere Shop-alternativen?

Steckbretter gibt es bei Reichelt, Conrad und auch bei CSD ( 
http://www.csd-electronics.de/de/index.htm ), wobei der letztere am 
günstigsten ist, der Versand manchmal aber auch bis zu einer Woche 
dauert. Nichtsdestotrotz finde ich den Laden gut, wenn man es nicht 
besonders eilig hat.

> oder am besten erst gar nicht am PC anschliessen, da dieser auch in
> mitleidenschaft gezogen werden könnte?

Also um mit Midi dein Interface/PC kaputt zu machen, müsstest du dich 
schon sehr dumm anstellen ( solange man nicht mehr als 5V durchschickt 
kann nicht viel passieren, das ganze ist ja durch Optokoppler 
"abgesichert" ).
Ich habe auch direkt mit Tests an meiner M-Audio Soundkarte angefangen, 
mit genug Sorgfalt ( die ich dir jetzt einfach mal unterstelle :) ) 
passiert nichts.
Aber wenn du auf Nummer sicher gehen willst, nimmst du halt so ein 
USB/Midi Wandler und gut ist.

> Ich sag mal so,
> ich wäre auf jeden fall bereit, Zeit und Mühe ins Projekt zu
> investieren,
> aber wenn das für einen (wieder) Anfänger doch mehr Sinn macht,
> um sich in der Midiwelt zurechtzufinden
> und ich so weder Rechner noch Audio 8 schrotte,
> würde ich damit halt beginnen, wenn ihr das mehr empfehlen könnt.

Ich würde sagen, Midi ist sogar ziemlich gut, um damit seinen kompletten 
(Neu-)Anfang zu wagen. Es ist ziemlich leicht aufzubauen und auch 
ziemlich leicht von der Software-Seite aus zu steuern.
Es geht eigentlich nur darum, was für Grunde man hat. Wenn man es selbst 
basteln will, nur um sich einen günstigen Midi-Controller zu bauen ( 
"die kommerziellen sind ja soo teuer" ), dann wird das nichts. Als 
Bastler zahlt man am Ende eher drauf.
Wenn man es aber macht, um sich mit Mikrocontrollern anzufreunden und 
sich auch nicht direkt auf Anhieb übernimmt ( 200 Potis, 500 LEDs, etc 
), dann stehen die Chancen ziemlich gut.

Ich habe auch mit Midi-Controllern angefangen ( der erste den ich gebaut 
habe hatte wirklich nur 8 Potis und 8 Taster ) ... mittlerweile arbeite 
ich an einem Controller für Ableton, der riesige Ausmaße haben wird :)
Über Traktor kann ich nicht so viel sagen, du solltest dir aber auch 
schon vorher mal ansehen, wie du deinen Controller da einbinden kannst.
Bei Ableton geht das wie ich schon gesagt habe über Python-Scripts, bei 
Traktor wird es vermutlich ähnlich sein.
Da musst du auch schon bereit sein, viel zeit nur mit den Scripts zu 
verbringen ... Ableton hat mich anfangs fast wahnsinnig gemacht. Es hat 
z.B. gedauert, bis ich die VU Meter-Daten raus hatte, aber nun steht 
einem tollen Controller nichts im Wege.

Gruß,
AVerr

von AVerr (Gast)


Angehängte Dateien:

Lesenswert?

Hier noch ein recht aufschlussreiches Bild, wie man Midi richtig 
anschließt.
Der Gameport Pin 15 wäre dein RXD, Pin 12 wäre TXD vom UART.
Den Midi-Thru Teil kannst du auch weglassen, wenn du ihn nicht brauchst.

von Andreas G. (beastyk)


Lesenswert?

Hallo Ishino,

weißte mach was du willst und werd glücklich!

Ich wußte ja nicht das du dich vom Noob zum etwas eingerosteten aber 
total firmen Elektronik Freak mauserst.
Wenn du lesen kannst hab ich zu einen älteren PC und ner einfachen 
Soundkarte geraten, was das haste nicht gelesen, schade aber auch...

Andreas G. schrieb:
> Wäre es ein ausrangierter Rechner und ne billige Soundkarte, kein
> Problem, immer ran und viel Spaß.

Wenn ich ein DJ wäre dann würde ich mir das hier kaufen:

http://www.musicstore.de/de_DE/EUR/-/art-DJE0003757-000?campaign=GBase

und gut ist, ein paar mal auflegen und du hast das Geld dafür zusammen!

Mehr sag ich nicht dazu

ciao

von ishino (Gast)


Lesenswert?

Hey Andreas,

das war doch nicht böse gemeint, was ich oben zu dir geschrieben habe.
hab extra noch smiley´s hingesetzt.
ich hab halt nicht kapiert, was du mit deinem "wer billig kauft.." usw 
meinst,
in bezug auf mein vorhaben.

die ganzen kontroller kenne ich zu genüge
und hab warscheinlich auch schon viele für traktor mal gemappt.
der S4 zb is nix für mich.
ich arbeite am liebsten hier zu hause mit meinem 92er und 2 1D´s.
ab und an auch mal mit tc vinyl.

bedienen und mappen is ja kein problem,
aber wie es funktioniert, das interessiert mich halt.

@all
danke auf jedenfall für eure ganzen tipps, haben mir sehr geholfen!
ich werd mir dann in den kommenden tagen mal alles nötige bestellen
und mich bestimmt auch nochmal melden, weil ich nicht weiterkomme :)
gruß

von Uwe N. (ex-aetzer)


Lesenswert?

Andreas G:

> Wenn du lesen kannst hab ich zu einen älteren PC und ner einfachen
> Soundkarte geraten, was das haste nicht gelesen, schade aber auch...

LOL, du musst noch lesen und verstehen lernen:

ishino:
> ... Sinn und Zweck ist es, dass ich mir später mal einen eigenen
> Midi-Controller bauen möchte, ...

Er will die Parameter per Schieberegler/ Poti steuern und nicht per 
Mouse !
Diesen Wunsch kann ich nur zu gut verstehen.

Einzig den AtMega8 würde ich , wie bereits erwähnt, durch einen Typ mit 
mehr Pins ersetzen -> 8 Encoder = 16 AVR Pins. Wobei das der fummeligste 
Part deines Vorhabens werden könnte (Drehencoder habe ich per AVR noch 
nicht abgefragt (nur mit FPGAs, habe da was ähnliches vor ...)).

Und keine Sorge, wenn du dein MIDI-Interface wie von AVerr vorgeschlagen 
umsetzt, dann passiert nix mit deiner Soundcard.

Gruss Uwe

von Nobbi (Gast)


Lesenswert?

Es gibt von Behringer und Döpfer einfach MIDI-Controller, wob man mit 
einem "Kabel" gleich an die 20 und mehr Regler für seine Geräte hat.

von moneyboy (Gast)


Lesenswert?

Lol... 3 jahre vergangen und noch kein update! :o ich wollte mir auch 
sowas bauen unb mit reason6 benutzen mit nem arduino das zu bauen war 
lustig aber keine materielle bereicherung! buttons ohne anschlagdynamik 
haben in reason und ableton iwie keinen sinn! :\

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.