Dieses kleine Projekt basiert auf den MMC Routinen von Stefan Seegel, die ich nach Assembler portiert und verbessert habe. Features: Fixdateisystem (kein FAT) mit 256 maximal möglichen Dateien Aufnahme und Wiedergabe von MIDI-Daten (Play, Record, Stop) beliebige MMC/SD-Karten im SPI-Modus
Erweiterung des Geräts um ein LCD-Display und mega8 statt mega16 Controller.
Endgültige Version mit LCD-Display und im schicken Acrylgehäuse. Zusätzlich PC-Software zum Laden/Speichern von PC-Midi-Dateien.
Sieht net aus! Hättest aber auch ein wenig einfacher haben können. www.ucapps.de Einfach auf TC oder MidiMon klicken! PS: Ist zwar kein Atmel, aber ein PIC ist ja auch nicht schlecht!
Das Projekt ist jetzt im Wiki verfügbar: http://www.mikrocontroller.net/wiki/Projekt_Mr.MIDI_-_Midi_Rekorder_mit_MMC/SD-Karte
Hallo, habe mir den Code vom MIDI-Recoder einverleibt und nach anfänglichen Schwierigkeiten bin ich damit ganz gut zurechtgekommen. Brauchte nur die Ansteuerung der MMC. Danke dafür. mfg Hubert
Der aktuelle Src ist unter www.mikrocontroller.net->Artikel->Projekte->SD/MMC-Midirekorder zu finden!
Hallo Simon, ich habe mir gerade mal die Schaltung im Wiki angeschaut. Sind beim Midi-Out nicht die Anschlüsse vertauscht? Muss nicht VCC an pin 4 und TXD an pin 5? (War vmtl. ein Test ob es jemand nachbaut oder...)
Der Schaltplan ist korrekt. Mr.Midi 2 (Softwareupdate, Hardware bleibt gleich) steht bereit! Features: - Spielt echte Mididateien auf SD/MMC-Karten ab - Zeigt Lyrics an - Zeichnet im Midiformat 0 auf (leider ohne FAT-Unterstützung) - Software kann über Midi geflasht werden (Bootloader) Viel Spaß damit!
Hallo Simon, der Schaltplan ist nicht korrekt. Am DIN Stecker für Midi-OUT: VCC muss an Pin 4 und TXD an Pin 5. Ich glaube ja, dass dein Projekt funktioniert, aber da muss dann noch irgendwo eine Vertauschung sein, so dass sich das wieder kompensiert. Verbinde mal in deinem Schaltplan Pin 5 vom Midi-In mit Pin 5 von Midi-Out und Pin 4 von Midi-In mit Pin 4 von Midi-Out. Du siehst direkt, dass die Diode im Optokoppler niemals leiten kann... Ich habe vor kurzem selber eine Midi-Interface aufgebaut und wollte mir bei deinem Projekt die Steckerbelegung holen und bin dann stutzig geworden. Beispiele im Netz mit korrekter DIN-Stecker Belegung: http://www.borg.com/~jglatt/tech/midispec/hardware.htm http://www.compuphase.com/electronics/midi_rs232.htm http://www.mactech.com/articles/mactech/Vol.01/01.11/Midi/index.html http://kmt.hku.nl/~pieter/HARD/MIDI2SW/MIDI2SW.html Gruesse SU
Ich zeige das mal anhand von einem Bild, warum mein Plan wirklich so stimmt.
also wenn ich ein 1:1 Kabel baue dann wird Pin1 mit Pin1 verbunden und ganz sicher nicht mit Pin3. bye Frank
Stimmt, das Bild ist falsch. Jaja, so kanns gehen. Ich hab damals auch nach dem Bau nachträglich auf meinem Board die Leitungen am Optokoppler korrigiert, wie ich grade sehe... Der Plan wird geändert, danke für die Unterstützung (auch ein sturer Bock muss irgendwann mal zur Vernunft kommen :-)
Stur oder nicht, das Ding an sich ist Klasse und so hat sich mal wieder der Vorteil gezeigt sowas öffentlich zu präsentieren, da denken eben auch Andere einfach mal mit. Mach weiter damit, ich bin schon gespannt was noch so an netten Midi-Spielereien entsteht. bye Frank
HI, sieht net aus, kann man damit auch SysEx daten speichern / Wiedergeben ?
Hallo, ich bin durch Zufall auf dieses Projekt gestoßen und finde es sehr interessant. Ich besitze leider nicht das Wissen und das Geschick so ein Gerät selbst zu bauen. Würde sich jemand bereit erklären mir eines zusammenzubauen? Wie lange würde das ca. dauern bzw. Kosten?
hallo Simon, Wie lange läuft denn das Gerät mit dem 9V Block? Ich muss ein Datenlogger bauen der mit Batteriebetrieb mind. 48h am Stück auf SD aufzeichnen soll und mir hat jemand erklärt diese Karten bräuchten bis zu 1A Strom beim schreiben/lesen. Damit wäre die Batterie ja ruckzuck lehr. Vielleicht kannst du mir ja ein paar Erfahrungswerte mitteilen damit ich abschätzen kann ob mein Ansatz praktikabel ist. vg Tim
Hallo zusammen, habe den MrMidi jetzt nachgebaut. Die erste Hürde war, das ich vergessen hatte den internen Takt auf 8 Mhz hochzustellen und ne Aufnahme für die SD-Karte verlustfrei aus nem Kartenleser zu extrahieren. Gibts die echt nirgends zu kaufen? Mein Problem ist jetzt das ich die Midi-Schnittstelle nicht ans laufen bekomm. Hab TXD (PD1) auf Pin5 und den Pullup auf Pin4 des Midi-Out-Ports geschaltet. Bekomm aber am angeschlossenen Soundmodul nix raus. Ist die Beschaltung jetzt so richtig? Der Rest der Schaltung läuft soweit ich das beurteilen kann einwandfrei. Die Midis werden im Menü angezeigt und ich kann auch diese auch abspielen (naja, zumindest steht Playing... im Display :) Danke also schonmal an Simon für die Super Arbeit...
Ok habs mittlerweile hinbekommen. Geht wie die Angst. Danke an Simon für den netten Mailkontakt. Klasse Projekt...
hallo simon, echt schick dein midi-player. sieht schnuckig aus und kann ja ne ganze menge. weiter so :-) gruß rene
Sorry, ich schau nicht oft ins Forum! @alle: Der neue Mr.MIDI2 mit ATmega168 kann echtes FAT16, IR-Fernbedienung, lange Dateinamen und Bootloader von MMC/SD! Siehe Wiki: http://www.mikrocontroller.net/articles/Midi_Rekorder_mit_MMC/SD-Karte @s-urban: Sorry, nur Selberbasteln macht Freude, ich hab keine Zeit :-) @Tim: Die SD-Karte Medion 128MB braucht 1mA Ruhestrom und im Schnitt 20mA beim Schreiben. Damit hält ein 100mAh-9V Block 5 Stunden Dauer-Schreibbetrieb und 100 Stunden Ruhe durch. Das deckt sich auch mit meinen Erfahrungen mit Mr.MIDI. Wenn du einen AVR auf 3,3V nimmst (ohne das LCD) und mit 3 2000mAh-Mignons (AA) betreibst (aber mit 3,3V Spannungswandler) und die SD-Karte über einen Transistor anschaltest, nur wenn du was schreiben willst, und den AVR immer im Sleep-Mode hältst, wenn nichts zu tun ist, dann hält das Ding Monate oder Jahre. @Marco: Sollte er eigentlich machen. SysEx-Daten sind ja auch MIDI-Daten :-)
Ich habe den Midi Player auch mal nachgebaut. Allerdings, wenn ich den Player an mein Keyboard anschliesse höre ich nur Müll. Es hört sich so an als ob die Note Off`s nicht gesendet werden. Oder mache ich was falsch? Die Dateien sind auf jeden Fall im Format 0 konvertiert und auf dem PC auch hörbar. Hat jemand vielleicht eine Idee? Gruss Tom
Du kannst Mr.Midi am PC debuggen, wenn du seine MIDI-Baudrate auf 38400 änderst und statt dem Midi-Out einen RS232-Wandler dranhängst. Alternativ den MIDI-Datenstrom mit einer Soundkarte mitschneiden. Dann siehst du, was er sendet... Ach ja: Mr.Midi2 ist schon bei einigen Leuten erfolgreich im Einsatz!
Nein leider seh ich nicht was er sendet bzw. kann ich aus irgendwelchen Gründen das Projekt mit dem Avr Studio nicht kompilieren um die Baudrate zu ändern. Ich werde allerdings mal versuchen das mit der Soundkarte mitzuschneiden. was nimmt man dafür am besten für eine Software? Das der Player woanders läuft glaube ich schon ich mache wohl irgendwas falsch. Aber was... Gruss Tom
Noch mal ein Nachtrag: ich habe die Variante mit dem Atmega 8 (Atmega8-16PU) mit 16 Mhz externen Quarz gebaut also ohne Bootloader und Fernbedienung und habe das HEX File aus dem "default" Verzeichniss geflasht. Gruss Tom
Auch die mega8-Variante sollte mit 8MHz (Quarz oder intern) getaktet werden!
Hallo Simon, erstmal ein großes lob für das tolle projekt! Ich habe jetz den mr midi aufgebaut(compactdisplay). Er erkennt die Files, ich kann im Menü herumschalten, nur wenn ich auf play(PIN 4 gegen masse) drücke, dann pasiert nichts. Es erscheint kein playing und an der Midi Out Buchse wird nichts ausgegeben. Die Belegung der Buchse (PIN4 auf vcc und PIN5 auf TXD) habe ich gecheckt. Danke für jede Hilfe Stephan
Ich hab jetzt meinen Fehler gefunden, ich habe die Schaltung anhand des Atmega8-Schaltplans(ohne Fernbediehnung) aufgebaut, verwende aber einen Atmega168. Dort ist der Play Button auf PIN13(PD7). Grüße
Ich habe mal ne bloede Frage, warum ist da nur am Eingang nen Optokopler und nicht auch am Ausgang, da macht der optokopler doch keinen sinn wenn man nur einen Port schuetz oder? Oder wird der nur benutzt weil am Eingang Spannungen >5V verwendet werden?
Midi ist eine strombasierte Schnittstelle (ca. 20mA). Da jeder Midi-Teilnehmer einen Optokoppler am Eingang hat, ist die Schnittstelle voll isoliert. Der Sender bestromt sozusagen immer die LED im Optokoppler des Empfängers. Dies schützt vor Masseschleifen und anderen Störungen, die im harten Bühnenalltag lästig wären.
Hatte mit den internen Takt ständig fehlerhafte Midiausgaben. Es kamen nur Notenausschaltbefehle usw. ( Kontrolle mit "MIDI-OX") Habe dann einen 8 MHz Quarz extern angeschlossen und alles läuft wunderbar. Ansonsten ein wunderbares Teil.
Richtig! Das mit dem internen Takt ist eher was für "Geizhälse" - die neueren Atmels haben da Probleme, hab ich mittlerweile öfters gehört. Bei mir tuts aber einwandfrei... Es empfielt sich einen Quarz zu nehmen - das steht mittlerweile auch auf der Projektseite hier bei den Artikeln.
Hallo zusammen... genau so ein Teil habe ich schon seit längerem gesucht - um u.a. meine Einstellungen am Roland XP30 und XP60 zu sichern !! Der XP30 unterstützt nämlich nur alte SmartMedia Karten mit 5V, und der XP60 hat ein unzuverlässuges Diskettenlaufwerk. Ich möchte mit dem Gerät daher per Dump die SysEx Daten abspeichern und ggf. wieder laden. Daher die 1. Frage: SysEx sind ja auch MIDI Daten. Es sollte daher kein Problem sein, diese Daten zu sichern. Ist dem so ? Nun die 2. wichtige Frage: Ich möchte das Gerät gerne als eine Art Sequenzer benutzen, der MIDI-Daten per Tastendruck abspielt. Klar, das macht das Gerät - nur möchte ich gerne über vorprogrammierte Tasten eine MIDI-Datei auswählen können, die dann sofort abgespielt wird. D.h. wenn ich auf Taste(r) 1 drücke soll das MIDI_1.mid sofort abgespielt werden - ohne merkliche Verzögerung; oder wenn ich auf Taste(r) 2 drücke soll das MIDI_2.mid sofort abgespielt werden - ohne merkliche Verzögerung. Diese o.g. Taster müssen extern angeschaltet werden ! Bei 8 Tasten könnte man ja diesen Tasten die Dateien MIDI_1.mid bis MIDI_8.mid fest zuweisen. Was meint Ihr ? Wäre soetwas einfach zu realisieren ? Lädt das Gerät die Daten dann immer von der Media-Karte ? Wenn ja, wie lange dauert das ? 2ms Delay wären ok. viele Grüße Thomas
Hallo Alle, die aktuelle Version von MrMidi2 mit vielen Fixes liegt im Artikel im Wiki bereit. Hallo Thomas, SysEx werden genauso aufgezeichnet und abgespielt wie der Rest. Achte auf die Verwendung einer schnellen SD-Speicherkarte. Falls die Performance von MrMidi dann noch zu gering sein sollte, musst du die Firmware mit der #define Option "#define NOSECTORSEARCH" in mrmidi2.h kompilieren. Gruß, Simon
Hallo Simon, Danke für die Antwort. Sehr wichtig ist mir jedoch noch die Sache mit den Tasten. Kann man durch drücken einer Nummern-Taste z.B. auf der Fernbedienung, ein MIDI File sofort abspielen ? D.h., daß ich nicht zuerst ein Nr auswählen und dann mit START das MIDI starten muß. Ich möchte, daß ich z.B. die 3 auf der Fernbedienung drücke und dann sofort das MIDI abgespielt wird. Ich möchte während des Keyborad spielens mal kurz auf so ne Taste "hauen", damit eine kurze MIDI-Sequenz (1 - 8 Takte) während des spielens an den Synth gesendet wird. Eigentlich wollte ich mit das fertige Gerät aus England bestellen, weil ich nur ungern im Quellcode herumwerkeln wollte. Andererseits - wenns nicht anders geht - würde ich auch im Quellcode "herumfuchteln".
Hallo Thomas, wenn du nur bis zu 10 Files in einem Verzeichnis hast, kannst du eines per Zifferntaste 1-9 und 0 sofort starten. Die Play-Verzögerung habe ich aber noch nicht bestimmt (Erkennung IR-Befehl, Laden des Sektors von SD-Karte und Bytes auf Midi senden). Sollte aber recht fix sein. Gruß, Simon
Hallo liebe Leute! Herzliche Gratulation zu diesem wunderbaren Projekt. Seit langer Zeit bin ich auf der Suche nach genau solch einem Gerät - und daher immer wieder und wieder über diese Seite gestolpert. Da es mit dem käuflichen Erwerb in UK partout nicht klappen will, ich dieses Gerät aber unbedingt benötige, habe ich mich schweren Herzens zum Nachbau entschieden. Als Musiker und Schmalspuringenieur im Bereich Maschinenbau ist mir das Löten an sich wohlvertraut, auch kleine Platinen zu erstellen und zu bestücken ist mir möglich - jedoch damit erschöpfen sich dann auch schon ziemlich meine Elektronikkenntnisse. Bereits beim geplanten Einkauf der Teile weiß ich nicht mehr weiter :-) soll es nun ein ATMEGA168-20AU TQFP 32 oder vielleicht doch ein ATMEGA168V-10AU TQFP 32 sein... Daher meine Frage/Bitte: Als DAU in diesem Bereich ist es mir unmöglich, aus diesem Forum die Quintessenz herauszulesen. Mir gelingt es schon nicht mehr, eine klare und einfache Stückliste zu finden. Vielleicht sind die von mir oben genannten ATM-Teile ohnehin komplett gleich - der eine hat halt nur rote anstatt gelbe Streifen, oder so - aber solche Dinge kann ich eben nicht beurteilen. Auch die Sprünge zwischen Mr. MIDI, Mr. MIDI2, Version mit Bootloader - ohne Bootloader, ATmega168, ATmega8, Quarz selber einbauen, Quarz vergessen,... usw. dienen nur zu meiner Verwirrung. Ich weiß, dieses Forum sollte nach Vorstellung der Betreiber unbedingt mit einem Grundwissen in dieser Materie besucht werden, über welches ich unter gar keinen Umständen verfüge. Aber dennoch verfüge ich über den festen Willen, dieses Gerät zu bauen - auch wenn ich zu diesem Zeitpunkt nicht einmal annähernd weiß, wie ich den Code dann auf den Baustein bekomme. Jetzt wirklich meine Bitte: könnte es bitte in einer kleinen Ecke dieser Seite die Anleitung für Depperln geben, vielleicht ohne verwirrende Zusätze, damit auch ich die Chance bekäme... Dafür verspreche ich: so es mir gelingen würde, dieses Gerät tatsächlich selber zu bauen und zum Funktionieren zu bringen, dann sende ich gerne passende Fotos. So mir das nicht gelingt, sende ich ebenfalls gerne passende Fotos ;-) Danke, liebe Grüße und große Bitte um Nachsicht wolfi
Kein Problem :-) Die Frage hier: Soll es SMD sein oder lötfreundliche DIP? Der Typ des ATmega -10 oder -20 ist hier egal, da nur 8MHz. DIP: Reichelt-Stückliste (Preise 21.10.2008): 1x ATMEGA 168-20DIP EUR 2,85 1x LCD 242A BL EUR 27,05 (leider recht teuer, aber 24x2) 1x TSOP 1736 EUR 0,62 1x CONNECTOR SD 21 EUR 8,55 (leider total überteuert für einen SD Slot!) 1x 6N 138 EUR 0,50 (Optokoppler) 1x LF 33 CV EUR 0,78 (Spannungsregler 3.3V) 1x µA 7805 EUR 0,17 (Spannungsregler 5V) 7x TASTER 9308 EUR 0,18 2x MABP 5S EUR 0,36 (DIN-Buchse) 1x 1N 4148 EUR 0,02 (Diode) 1x 8,0000-HC49U-S EUR 0,24 (Quarz) 11x MKS-2 100N EUR 0,07 (100n Kondensator) 2x KERKO 18P EUR 0,04 (82pF) 2x 1/4W 82 EUR 0,10 (82 Ohm) 1x 1/4W 220 EUR 0,10 1x 1/4W 1,0K EUR 0,10 1x PT 6-S 5,0K (Poti 5k für den Kontrast des LCD) 1x 1/4W 180 EUR 0,10 (Widerstand für die Hintergrundbeleuchtung an 5V) Selbstverständlich kann man auch alles (außer DIN-Buchsen und TSOP) als SMD nehmen. Ich habe hier einfach alle geeigneten Teile bei Reichelt zusammengesucht. Man kann durchaus einiges Geld sparen, wenn man LCD und SD Slot woanders kauft. Dabei muss man nur auf die 24x2 Zeichen achten. Fixcharacter-LCDs sind gut standardisiert, 3 Steuerleitungen, 8 Datenleitungen. SD Slot kann man auch aus einem alten Cardreader ausschlachten. Auch für die Spannungsregler kann man natürlich andere nehmen, solange sie 200mA schaffen. Dieses Design geht von 3.3V als Hauptversorgung aus. Sollte man alles mit 5V betreiben, muss man die SD Karte mit Spannungsteiler und eigenem 3.3V Regler benutzen. Das LCD braucht 5V. Diese Stückliste erhebt auch keinen Anspruch auf Vollständigkeit oder Korrektheit. Bei Fehlern bitte posten! Der Schaltplan ist nicht nur mit Reichelt-Teilen, also noch Änderungsbedarf! Er dient nur zur Orientierung.
Dies hilft mir schon viel weiter - ganz lieben Dank! > Die Frage hier: Soll es SMD sein oder lötfreundliche DIP? Selbst zur Beantwortung dieser Frage muss ich bereits die Google-Bildersuche bemühen :-) Ich vermute, ich nehme eher den DIP Baustein, außerdem kann ich das andere Teil wahrscheinlich kaum mittels diesem Bausatz mit Daten befüllen: http://www.myavr.de/shop/article.php?artDataID=58 Danke für Stückliste und das Heraussuchen der Preise. Eine Frage noch zum Quarz: ist der jetzt schon in dem Schema drinnen (weil auch in der Stückliste)? Herzlichen Dank wolfi
I just completed the HW for the project and posted a picture at: http://home.comcast.net/~jrmont/MrMidiSmall.jpg The SD/MMC breakout board from futurlec made it practical to hand-wire it on a Vectorboard. http://futurlec.com/MiniBoards.shtml This is my first Atmega 168 project and i now need to build a programmer before I can test it out. I have a few quesitons: 1) I do not own an SD card yet. I know there are no guarantees on which cards work, but am I safer with a 1 or 2 GB SD card rather than than a 4 or 8 GB SDHD type cards? Does the unit support the HD type? 2) Is my best choice for the ATMEGA168 design the MrMidi2Ultimate.zip? Should I use MrMidi2.hex or MrMidi_bl512.hex?
Please use bl512 if you want the sd card bootloader. Set the fuses to bootloader size 512. Please note max. card size is 2GB. Only sdhc are bigger - and not supported!
Thank you Simon. I built my second unit and it is also working very well even without the crytal. I have not spent alot of time trying to get the IR working yet, but will do that soon. What a great project! I have parts for a third and I intend to try to build in as small as possible.
Wenn jemand Platinen braucht, Michael Benz hat noch welche (hoffentlich günstig) abzugeben, einfach anfragen: <be.mi@gmx.de>
Good day. I am from Russia. So I apologize for my English. Long searched the Internet for such a device. You're good. I can't do that. Only repeat. But I'm just getting started and have a little bit of an Arduino. I have an old Kawai K1M synthesizer and I want to connect it to your player. But for that I need your Arduino IDE software. I can reassign the inputs and outputs as needed. I have a Leonardo Board and an expansion Board. Iron already lies on the table. And here is with program problems. I would be very grateful if you could do it under ARDUINO. Regards from Russia, Igor
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.