Goedenavond,
Ik ben nieuw met arduino en dit is het eerste project wat ik wil doen.
Namelijk het maken van een midi naar 16 x triggers voor mijn synthesizer.
Nu heb ik op het internet een project gevonden wat ik met een kleine aanpassing kan toepassen voor mijn idee.
Helaas krijg ik een fout code waarvan ik niet begrijp wat de oorzaak is heb al onderzoek gedaan op google maar ben hier niet wijzer van geworden.
Ik hoop dat dit een simpele oplossing is en dat ik een beter beeld krijg van hoe een sketch opgebouwd is.
De foutcode die ik krijg is: 'MIDI' was not declared in this scope.
#include <MIDI.h>
#include <Wire.h>
#include <Adafruit_MCP23017.h>
byte note;
byte velocity;
byte channel;
int statusLed = 3; // use if you want a status LED on PIN 3
Adafruit_MCP23017 mcp;
void setup() {
mcp.begin(); // use default address 0
mcp.pinMode(0, OUTPUT);
mcp.pinMode(1, OUTPUT);
mcp.pinMode(2, OUTPUT);
mcp.pinMode(3, OUTPUT);
mcp.pinMode(4, OUTPUT);
mcp.pinMode(5, OUTPUT);
mcp.pinMode(6, OUTPUT);
mcp.pinMode(7, OUTPUT);
mcp.pinMode(8, OUTPUT);
mcp.pinMode(9, OUTPUT);
mcp.pinMode(10, OUTPUT);
mcp.pinMode(11, OUTPUT);
mcp.pinMode(12, OUTPUT);
mcp.pinMode(13, OUTPUT);
mcp.pinMode(14, OUTPUT);
mcp.pinMode(15, OUTPUT);
mcp.digitalWrite(0,LOW);
mcp.digitalWrite(1,LOW);
mcp.digitalWrite(2,LOW);
mcp.digitalWrite(3,LOW);
mcp.digitalWrite(4,LOW);
mcp.digitalWrite(5,LOW);
mcp.digitalWrite(6,LOW);
mcp.digitalWrite(7,LOW);
mcp.digitalWrite(8,LOW);
mcp.digitalWrite(9,LOW);
mcp.digitalWrite(10,LOW);
mcp.digitalWrite(11,LOW);
mcp.digitalWrite(12,LOW);
mcp.digitalWrite(13,LOW);
mcp.digitalWrite(14,LOW);
mcp.digitalWrite(15,LOW);
MIDI.begin(MIDI_CHANNEL_16); // Initiate MIDI communications, listen to all channels
MIDI.setHandleNoteOn(HandleNoteOn); // set note on
MIDI.setHandleNoteOff(HandleNoteOff); // set note off
}
void loop()
}
void HandleNoteOn(byte channel, byte note, byte velocity){ //turn note on if note signal is recieved.
if (note == 53){
mcp.digitalWrite(0, HIGH);
}
else if (note == 55){
mcp.digitalWrite(1, HIGH);//turn on led
}
else if (note == 57 ){
mcp.digitalWrite(2, HIGH);//turn on led
}
else if (note == 59 ){
mcp.digitalWrite(3, HIGH);//turn on led
}
else if (note == 60 ){
mcp.digitalWrite(4, HIGH);//turn on led
}
else if (note == 62 ){
mcp.digitalWrite(5, HIGH);//turn on led
}
else if (note == 64 ){
mcp.digitalWrite(6, HIGH);//turn on led
}
else if (note == 65 ){
mcp.digitalWrite(7, HIGH);//turn on led
}
else if (note == 67 ){
mcp.digitalWrite(8, HIGH);//turn on led
}
else if (note == 69 ){
mcp.digitalWrite(9, HIGH);//turn on led
}
else if (note == 71 ){
mcp.digitalWrite(10, HIGH);//turn on led
}
else if (note == 72 ){
mcp.digitalWrite(11, HIGH);//turn on led
}
else if (note == 74 ){
mcp.digitalWrite(12, HIGH);//turn on led
}
else if (note == 76 ){
mcp.digitalWrite(13, HIGH);//turn on led
}
else if (note == 77 ){
mcp.digitalWrite(14, HIGH);//turn on led
}
else if (note == 79 ){
mcp.digitalWrite(15, HIGH);//turn on led
}
}
void HandleNoteOff(byte channel, byte note, byte velocity){ // Double check that note is off when note data stops.
if (note == 53){
mcp.digitalWrite(0,LOW);//turn on led
}
else if (note == 55 ){
mcp.digitalWrite(1,LOW);//turn on led
}
else if (note == 57 ){
mcp.digitalWrite(2,LOW);//turn on led
}
else if (note == 59 ){
mcp.digitalWrite(3,LOW);//turn on led
}
else if (note == 60 ){
mcp.digitalWrite(4,LOW);//turn on led
}
else if (note == 62 ){
mcp.digitalWrite(5,LOW);//turn on led
}
else if (note == 64 ){
mcp.digitalWrite(6,LOW);//turn on led
}
else if (note == 65 ){
mcp.digitalWrite(7,LOW);//turn on led
}
else if (note == 67 ){
mcp.digitalWrite(8,LOW);//turn on led
}
else if (note == 69 ){
mcp.digitalWrite(9,LOW);//turn on led
}
else if (note == 71 ){
mcp.digitalWrite(10,LOW);//turn on led
}
else if (note == 72 ){
mcp.digitalWrite(11,LOW);//turn on led
}
else if (note == 74 ){
mcp.digitalWrite(12,LOW);//turn on led
}
else if (note == 76 ){
mcp.digitalWrite(13,LOW);//turn on led
}
else if (note == 77 ){
mcp.digitalWrite(14,LOW);//turn on led
}
else if (note == 79 ){
mcp.digitalWrite(15,LOW);//turn on led
}
}
foutcode:
Arduino: 1.8.4 (Windows 10), Board:"Arduino Nano, ATmega328P"
C:\User\AppData\Local\Temp\FCUDLG0IUSM6KHE-1\FCUDLG0IUSM6KHE-1.ino: In function 'void setup()':
FCUDLG0IUSM6KHE-1:53: error: 'MIDI' was not declared in this scope
MIDI.begin(MIDI_CHANNEL_16); // Initiate MIDI communications, listen to all channels
^
FCUDLG0IUSM6KHE-1:53: error: 'MIDI_CHANNEL_16' was not declared in this scope
MIDI.begin(MIDI_CHANNEL_16); // Initiate MIDI communications, listen to all channels
^
FCUDLG0IUSM6KHE-1:56: error: 'HandleNoteOn' was not declared in this scope
MIDI.setHandleNoteOn(HandleNoteOn); // set note on
^
FCUDLG0IUSM6KHE-1:59: error: 'HandleNoteOff' was not declared in this scope
MIDI.setHandleNoteOff(HandleNoteOff); // set note off
^
C:\Users\AppData\Local\Temp\FCUDLG0IUSM6KHE-1\FCUDLG0IUSM6KHE-1.ino: At global scope:
FCUDLG0IUSM6KHE-1:66: error: expected initializer before '}' token
}
^
FCUDLG0IUSM6KHE-1:66: error: expected declaration before '}' token
Meerdere bibliotheken gevonden voor "MIDI.h"
Gebruikt: C:\Users\Documents\Arduino\libraries\MIDI
Niet gebruikt: C:\Users\Documents\Arduino\libraries\arduino_midi_library-master
exit status 1
'MIDI' was not declared in this scope
Ik hoop dat iemand mij hiermee kan helpen.
mule