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
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!
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
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!
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
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...
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
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.
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
Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
Groß- und Kleinschreibung verwenden
Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang