jumpinflash Posted August 30, 2006 Report Share Posted August 30, 2006 Hi,gleich vorweg bin absoluter Newbie in diesem Gebiet....Bin gerade dabei ein Effekt-Board zu bauen....Da nicht alle Effekte Midi-fähig sind, müsste ich jetzt teilweise vier verschiedene Schalter gleichzeitig drücken um diverse Effekte ein bzw. aus zu schalten....was allerdings ziemlich schwierig ist ;)....Also will ich nun meine nicht-fähigen Midi Effekte auch über Midi irgendwie steuern...Diese Effekte werden über Taster ein und aus geschaltet...---> könnte doch die Taster durch Relais ersetzen, welche dann über Midi gesteuert werden....Allerdings bin ich mir nicht ganz sicher wie ich das genau machen soll...Nach meinen Überlegungen bräuchte ich das Core-Module, das DOUT-Module (mit 8 Outs um 8 Relais zu steuern) und die dementsprechende Software auf dem Core-Module um die Relais über Programm Change Befehle zu steuern (mein Midi-Floorboard kann von diesen maximal 5 pro Preset senden. Ist jetzt nur die Frage, ob ich jedem Relais einen festen Programm Change zuordnen soll oder jeder möglichen Schaltungkombination der Relais einen festen Programm Change zuweisen soll. Hab aber im Moment noch Null Ahnung, wie ich diese Software schreiben soll....Bitte postet mal eure Meinung bzw. vielleicht hat ja irgendwer schon Erfahrung damit....Mfg jumpin Quote Link to comment Share on other sites More sharing options...
doc Posted August 31, 2006 Report Share Posted August 31, 2006 Hi,um Relais mit dem DOUT Modul zu schalten, musst Du noch "Treiber" verwenden.Der Strom eines Relais würde das DOUT Modul sonst killen. Sieh mal unter MIDIO128 nach. Dort findest Du einen Schaltplan, wie der ULN (Treiber) mit dem DOUT verbunden wird.greetsDoc Quote Link to comment Share on other sites More sharing options...
TK. Posted August 31, 2006 Report Share Posted August 31, 2006 Du koenntest auch Reed Relais verwenden, die lassen sich direkt ohne zusaetzlichen Treiber ansteuern.Ich habe das neulich mal ausprobiert, es funktioniert problemlos, und die Relais schalten erstaunlich schnell: http://www.ucapps.de/mbhp/mbhp_doutx1_reed_relays.jpgGruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
jumpinflash Posted September 2, 2006 Author Report Share Posted September 2, 2006 Ok, ... also nur das Core-Module und das DOUT-Module und daran dann direkt die Reed-Relais (also ohne 74HC596 dazwischen). Das ein Relais nur kurz durchschaltet kann ich dann mit nem Programm auf dem PIC machen?? Brauch ich dazu eigentlich irgend eine Software, und wird das Programm kompliziert zum schreiben? (Bootloader werde ich gleich aufspielen lassen).Mfg Jumpin Quote Link to comment Share on other sites More sharing options...
TK. Posted September 3, 2006 Report Share Posted September 3, 2006 Wenn Du bspw. die MIDIO128 hernimmst, dann muesstest Du an der Software selbst keine Aenderungen vornehmen - das gewuenschte Program Change Verhalten laesst sich mit mk_midio128_syx einstellen.Gruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
jumpinflash Posted September 5, 2006 Author Report Share Posted September 5, 2006 Brauch ich dann die komplette Hardware der MIDIO128 oder funtkioniert die Software auch nur mit dem Core+2*DOUT Module (16 Ausgänge) Quote Link to comment Share on other sites More sharing options...
TK. Posted September 5, 2006 Report Share Posted September 5, 2006 Nein, Du brauchst nicht die komplette Hardware - die Software merkt noch nicht einmal, dass die hinteren 14 Shift Register nicht angeschlossen sindGruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
audiocommander Posted September 6, 2006 Report Share Posted September 6, 2006 2*DOUT Module (16 Ausgänge)Ein DOUTX4 Modul bietet 4*8 = 32 einzelne Outputs ;)(pro ShiftRegister 8 Ausgänge)Grüße,ac Quote Link to comment Share on other sites More sharing options...
jumpinflash Posted September 6, 2006 Author Report Share Posted September 6, 2006 Bei der Beschreibung von der MIDIO128 Software steht: "Normal Mode: on incoming program change events, the appr. output pin will just toggle from 0V to 5V and vice versa". Bedeutet das, dass der zugewiesene Pin bei einem Programm Change Befehl kurz auf high gesetzt wird und dann automatisch wieder auf low springt, oder er auf high bleibt bis der selbe Programm Change Befehl nochmal kommt?Achja hab grad bei einem Effekt die Widerstände der Taster mit nem Messgerät gemessen (umzuschauen, ob es auch wirklich Taster sind) und festgestellt das der Widerstand immer null ist, unabhängig von der Taster-Position. Hab dann die Pole vom Messgerät am Taster vertauscht und siehe da, funktionierte dann ganz normal (taster gedrückt: Widerstand null, sonst unendlich...). Muss ich dann bei meiner Relaisschaltung was beachten?Mfg jumpin Quote Link to comment Share on other sites More sharing options...
audiocommander Posted September 6, 2006 Report Share Posted September 6, 2006 "Normal Mode: on incoming program change events, the appr. output pin will just toggle from 0V to 5V and vice versa". Das bedeutet, dass der zugewiesene Pin bei einem Programm Change Befehl kurz auf high gesetzt wird und auf high bleibt bis der selbe Programm Change Befehl nochmal kommt.toggle = umschalten ;)AC Quote Link to comment Share on other sites More sharing options...
jumpinflash Posted September 7, 2006 Author Report Share Posted September 7, 2006 Hmmm, und wie bekomm ich das hin, dass er bei einem Programm Change Befehl den zugewiesenen Pin auf High setzt und anschließend nach ein paar ms automatisch wieder auf low? ...Kann ich dafür die MIDIO-Software hernehmen und meinen Bedürfnissen anpassen...dazu müsste ich jedoch die Datei wissen, in der ich was ändern muss....und na klar auch die befehle.... ??? Quote Link to comment Share on other sites More sharing options...
audiocommander Posted September 7, 2006 Report Share Posted September 7, 2006 schau doch einfach mal ins Wiki unter den Punkt MIOS->Application Developmentdie C-Seite auf uCApps.de ist auch ein guter Startpunkt und enthält einige C-Snippets.Du kannst entweder die MIDIIO128 Anwendung verändern oder von dem MIOS_C_Skeleton ausgehen, da du ja eigentlich nur deine speziellen Funktionen brauchst.Eigentlich ist alles ganz einfach, wenn du schon mal irgendwas programmiert hast. Du musst die Syntax von C kennen (ich habe unter den Literaturtipps im Wiki auch einen Link zu einem Open-Book über C vom Galileo-Verlag gepostet, das ist sehr gut) und dir mal in Ruhe die C-Funktionsliste ansehen; mit diesen Grundlagen ausgerüstet kannst du deine eigenen Programme schreiben.Für deinen Zweck kannst du dich auf diese Themen konzentrieren:- Das Midi-Protokoll (siehe Wiki, sehr gute Artikel darüber!)- MIOS_DIN() und MIOS_DOUT() Funktionen- Die MIOS_MPROC-Notifiy Funktion, die aufgerufen wird, wenn ein MIDI-Befehl reinkommt.Wenn die Zeit tatsächlich ein paar ms betragen soll, brauchst du noch:- Variablen (unsigned chars, arrays und evtl. unions/structures, um den ON/OFF status zu speichern)- MIOS_Init() und MIOS_Timer() um einen Timer einzurichten, der die Pins nach einer gewissen Dauer wieder auf low stellt, evtl. geht das auch kurz hintereinander ohne Timer, müsste man mal ausprobieren ob das reicht, um einen Reed-Schalter anzutriggern...Grüße,Michael Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.