DIY MIDI Steuergerät, oder ich schalt mir die Welt, wie sie mir gefällt.

Ne, ich meinte tatsächlich was am Ende raus kommen soll. Willst du bei Tritt auf den Schalter nur eine Loop umschalten oder soll er komplexere Schaltvprgänge erledigen. Für nur eine Umschaltung braucht du die CTRL. Befehle, weil nur die die Kanäle unabhängig schalten können. Bei mehrfachen Schaltungen muss dann der PrgChg ran.
 
Also da die Effektpedale selbst nicht midifähig sind, sondern nur der Looper... würden einfache Loop Umschaltungen genügen :-)
Also ich kann mir zumindest nicht mehr vorstellen was möglich wäre

EDIT: jetzt weiß ich glaube ich, was du meinst... also es soll ein Fußtaster ermöglichen das mehrere Loops gleichzeitig umschalten. Also eben genau so, wie ich es für den nächsten Song benötige
 
Heute morgen in der Post.
image.jpg
 
Es funktioniert. Zumindest der Midi-Teil. Das Display will aber noch nicht so richtig.
Blöd an der Platine ist, das die Midibuchsen auf der falschen Seite sitzen. So liegen sie nicht Plan mit den anderen Anschlüssen. Schade, ist aber nicht so schlimm, weil die Platine für den Einbau eh nicht als Huckepack bleiben kann. Lösung kommt.
 

Anhänge

  • 20180930_201852.jpg
    20180930_201852.jpg
    111,7 KB · Aufrufe: 364
  • 20180930_201706.jpg
    20180930_201706.jpg
    202,7 KB · Aufrufe: 371
  • 20180930_201546.jpg
    20180930_201546.jpg
    191,8 KB · Aufrufe: 354
Zuletzt bearbeitet:
Das sieht sehr gut aus! :great:
Ich habe mir jetzt das Zubehör (Kabel, Widerstände und das Breadboard) bestellt.
Ich bin mir allerdings noch etwas unsicher. Dein letztes Bild von der Verkabelung unterscheidet sich von der Grafik aus den vorherigen Posts, sehe ich das richtig?
Und welche Widerstände hast du verwendet?
Gruß JD
 

Während ich noch auf den Rest der Hardware warte, wollte ich schonmal das Sketch auf den Arduino laden.
Ich habe vorher die "Switch" Bibliothek installiert, so wie du es beschrieben hast.
Leider bekomme ich beim Hochladen eine Fehlermeldung:

Code:
Arduino: 1.8.5 (Windows 10), Board: "Arduino/Genuino Uno"

C:\Switch_Program_Change\Switch_Program_Change.ino: In function 'void setup()':

C:\Switch_Program_Change\Switch_Program_Change.ino:33:47: warning: invalid conversion from 'const byte* {aka const unsigned char*}' to 'byte* {aka unsigned char*}' [-fpermissive]

   midi.sendMidiCommands(SEND_1, sizeof(SEND_1));

                                               ^

In file included from C:\Switch_Program_Change\Switch_Program_Change.ino:6:0:

sketch\midi.h:34:10: note: initializing argument 1 of 'void Midi::sendMidiCommands(byte*, byte)'

     void sendMidiCommands(byte commands[], byte lengthOfCommands) {

          ^

C:\Switch_Program_Change\Switch_Program_Change.ino: In function 'void loop()':

C:\Switch_Program_Change\Switch_Program_Change.ino:40:49: warning: invalid conversion from 'const byte* {aka const unsigned char*}' to 'byte* {aka unsigned char*}' [-fpermissive]

     midi.sendMidiCommands(SEND_1, sizeof(SEND_1));

                                                 ^

In file included from C:\Switch_Program_Change\Switch_Program_Change.ino:6:0:

sketch\midi.h:34:10: note: initializing argument 1 of 'void Midi::sendMidiCommands(byte*, byte)'

     void sendMidiCommands(byte commands[], byte lengthOfCommands) {

          ^

C:\Switch_Program_Change\Switch_Program_Change.ino:44:49: warning: invalid conversion from 'const byte* {aka const unsigned char*}' to 'byte* {aka unsigned char*}' [-fpermissive]

     midi.sendMidiCommands(SEND_2, sizeof(SEND_2));

                                                 ^

In file included from C:\Switch_Program_Change\Switch_Program_Change.ino:6:0:

sketch\midi.h:34:10: note: initializing argument 1 of 'void Midi::sendMidiCommands(byte*, byte)'

     void sendMidiCommands(byte commands[], byte lengthOfCommands) {

          ^

C:\Switch_Program_Change\Switch_Program_Change.ino:48:49: warning: invalid conversion from 'const byte* {aka const unsigned char*}' to 'byte* {aka unsigned char*}' [-fpermissive]

     midi.sendMidiCommands(SEND_3, sizeof(SEND_3));

                                                 ^

In file included from C:\Switch_Program_Change\Switch_Program_Change.ino:6:0:

sketch\midi.h:34:10: note: initializing argument 1 of 'void Midi::sendMidiCommands(byte*, byte)'

     void sendMidiCommands(byte commands[], byte lengthOfCommands) {

          ^

C:\Switch_Program_Change\Switch_Program_Change.ino:52:49: warning: invalid conversion from 'const byte* {aka const unsigned char*}' to 'byte* {aka unsigned char*}' [-fpermissive]

     midi.sendMidiCommands(SEND_4, sizeof(SEND_4));

                                                 ^

In file included from C:\Switch_Program_Change\Switch_Program_Change.ino:6:0:

sketch\midi.h:34:10: note: initializing argument 1 of 'void Midi::sendMidiCommands(byte*, byte)'

     void sendMidiCommands(byte commands[], byte lengthOfCommands) {

          ^

Der Sketch verwendet 3236 Bytes (10%) des Programmspeicherplatzes. Das Maximum sind 32256 Bytes.
Globale Variablen verwenden 436 Bytes (21%) des dynamischen Speichers, 1612 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
avrdude: ser_open(): can't open device "\\.\COM1": Das System kann die angegebene Datei nicht finden.


Problem beim Hochladen auf das Board. Hilfestellung dazu unter http://www.arduino.cc/en/Guide/Troubleshooting#upload.

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.

Habe ich etwas vergessen?

Gruß JD
 
Dein Arduino belegt wohl eine anderen COM Port, als den den du angegeben hast (COM1).
Der Rest sind nur warnings und notes.
 
Danke! Jetzt hat der Sketch Upload geklappt!
Die anderen Warnungen sind geblieben.

Gruß JD
 
Hallo zusammen!
Ich bin wieder ein Stück weiter gekommen. Habe soweit alles verkabelt (siehe Bilder im Anhang).
Leider ist mir aufgefallen das ich noch einiges korrigieren muss. Ich habe mir Taster bestellt.... aber ich benötige scheinbar Schalter. Außerdem fehlt mir diese Verbindungsleiste zwischen MIDI-Shield und den Kabeln (wie nennt man das?). Denn bisher stecken die Kabel nur sehr wackelig im MIDI Shield.
Der Arduino reagiert nicht auf die Taster, was vermutlich daran liegt das im Sketch Schalter angesprochen werden (richtig?).
Momentan sieht es also so aus, dass ich den Arduino ans Netz stecke und die rote LED leuchtet nach 3 Sekunden auf. Mehr geht noch nicht :D

LG Jonas
 

Anhänge

  • 763712EF-3737-44F8-983F-BC01143613AC.jpeg
    763712EF-3737-44F8-983F-BC01143613AC.jpeg
    182,8 KB · Aufrufe: 280
  • 46A66F7E-D5AD-45FF-957F-502C965EBB84.jpeg
    46A66F7E-D5AD-45FF-957F-502C965EBB84.jpeg
    175,4 KB · Aufrufe: 291
Ne Taster ist schon richtig. Aber wackelig sollte es nicht sein. Evtl. hast du die Taster um 90 Grad verdreht? Kann ich auf dem Bild nicht erkennen. Dann ist da natürlich dauerkurzschluss.
 
Also die Taster sind richtig gesteckt...
Ich meine zumindest das der Rest auch passt!
Und wenn du sagst, dass es egal ist ob Taster oder Schalter, dann weiß ich gerade nicht weiter...
Jetzt geht das rätseln los :kaffee::D
 

Anhänge

  • 4F55DA2D-2077-46E2-9D9A-89E4D3E656A2.jpeg
    4F55DA2D-2077-46E2-9D9A-89E4D3E656A2.jpeg
    151,8 KB · Aufrufe: 257
Ok fangen wir mal vorne an. Welche Arduono IDE Version?
Welche Switch Bibliotheksversion?
Ich schreib gleich mal einen Tastentester. Und ich schick gleich noch ne Bibliothek zum einfachen Debuggen.
 
Ich verwende die 1.8.7, dazu die SwitchBibliothek 1.2 von Albert van Dalen.
Anbei nochmal 2 Testprogramme.
Switch_Test_1 testet nur die Switches und LEDs ohne die Switch Bibliothek.
Switch_Test_2 testet nur die Switches und LEDs mit der Switch Bibliothek.
Beides benötigt eine spezielle Bibliothek. (debug.h) Die bekommst du, wenn du im Bibliotheksverwalter die RCReceiver (auch von mir) Bibliothek installierst.
Dann übersetzten, hochladen und den Seriellen Monitor starten. Den bitte auf 57600 Baud einstellen. Jetzt mal auf die Ausgaben schauen. Die Debug Bibliothek kann man mit dem Befehl #define debug einschalten. Kommentiert man die Zeile aus, werden die Debugausgaben auch ausgeschaltet. Man braucht also nicht im ganzen Quelltext die dbgOut Befehle suchen und löschen.
Bei weiteren Fragen fragen.
 

Anhänge

  • Bassic-Midi.zip
    1,6 KB · Aufrufe: 278

Zurück
Oben Unten