Étape 3: Les Concepts de Midi...
Midi envoie d’informations avec 3 octets de données à un débit en bauds de 31250. Le premier octet détermine si une note est activée, l’octet suivant détermine à quelle hauteur se joue, et le troisième octet détermine le volume de la note. Il est important de noter l’ordre des informations comme si vous ne définissez pas le code à lire dans cet ordre pour seulement 3 octets, drôle, les choses commencent à se produire. Nous font confiance.
Examinons le code suivant :
//reads the serial port to see if there is any incoming information boolean check_midi() { while (Serial.available() >= 3)//when three bytes available { if (Serial.available()) { digitalWrite(3,HIGH); location_byte = Serial.read();//read first byte in_note = Serial.read();//read next byte in_volume = Serial.read();//read final byte return true; } } }
Cette fonction vérifie lorsqu’il y a 3 octets disponibles à lire et met dans les variables appropriées et, enfin, retourne la valeur true lorsque la tâche est complète. Les variables sont globales, car ils sont utilisés dans d’autres fonctions. Bien sûr, il y a bien d’autres façons beaucoup qui serait probablement beaucoup plus propres dans C++, mais pour des raisons de taille de la mémoire, il ne fait pas mal d’être un peu désordonné dans l’Arduino. (Aussi longtemps que vous pouvez garder trace de ce qui se passe!) Quant à la sortie, si vous souhaitez envoyer votre musique sur le bouclier ainsi, considérer ce code :
//Here is the internet function for writing out the pitch void midi_send(byte cmd, byte note, byte volume) { Serial.write(cmd); Serial.write(note); Serial.write(volume); }
Copiez le code suivant reçoit 3 octets et écrit (dans l’ordre!) dans le port série sur l’Arduino. Ceci enverra la sur ou hors commande, la tonalité et le volume à l’aide de la ligne de sortie. IMPORTANT ! --Si vous utilisez un câble USB à partir de l’ordinateur de voyage à l’Arduino, Notez que les câbles sont inversées, tel que le câble en va à l’extérieur ; et la sortie va dans l’en. Sinon, il y aura beaucoup de problèmes et vous aurez laissé avec frustration. Nous font confiance...