Salut a tous,
j'ai entrée le code de skywodd suivant:
/*
*
* 24 BP Midi Footswitch by SkyWodd
*
* Boutons :
* 1 ~ 8 : D22 ~ D29 (PORTA)
* 9 ~ 16 : D37 ~ D30 (PORTC)
* 17 ~ 24 : A8 ~ A15 (PORTK)
*
* Dx -> BP -> GND
*/
void setup() {
DDRA = 0x0;
PORTA = 0xFF; // PORT A -> INPUT + Pull-up
DDRC = 0x0;
PORTC = 0xFF; // PORT C -> INPUT + Pull-up
DDRK = 0x0;
PORTK = 0xFF; // PORT K -> INPUT + Pull-up
Serial.begin(31250); // Serial -> midi
}
void loop() {
if(bitRead(PINA, 0)) { // BP 1
}
if(bitRead(PINA, 1)) { // BP 2
}
if(bitRead(PINA, 2)) { // BP 3
}
if(bitRead(PINA, 3)) { // BP 4
}
if(bitRead(PINA, 4)) { // BP 5
}
if(bitRead(PINA, 5)) { // BP 6
}
if(bitRead(PINA, 6)) { // BP 7
}
if(bitRead(PINA, 7)) { // BP 8
}
if(bitRead(PINC, 0)) { // BP 9
}
if(bitRead(PINC, 1)) { // BP 10
}
if(bitRead(PINC, 2)) { // BP 11
}
if(bitRead(PINC, 3)) { // BP 12
}
if(bitRead(PINC, 4)) { // BP 13
}
if(bitRead(PINC, 5)) { // BP 14
}
if(bitRead(PINC, 6)) { // BP 15
}
if(bitRead(PINC, 7)) { // BP 16
}
if(bitRead(PINC, 0)) { // BP 17
}
if(bitRead(PINK, 1)) { // BP 18
}
if(bitRead(PINK, 2)) { // BP 19
}
if(bitRead(PINK, 3)) { // BP 20
}
if(bitRead(PINK, 4)) { // BP 21
}
if(bitRead(PINK, 5)) { // BP 22
}
if(bitRead(PINK, 6)) { // BP 23
}
if(bitRead(PINK, 7)) { // BP 24
}
delay(1000); // Evite le flood
}
void midiCmd(byte db1, byte db2, byte db3) {
Serial.write(db1);
Serial.write(db2);
Serial.write(db3);
}
void midiCmd(byte db1, byte db2 ) {
Serial.write(db1);
Serial.write(db2);
}
et j'ai changé cette ligne:
Serial.begin(9600); // Serial -> midi
vu que sur les tutoriels que j'ai trouvé pour max la plupart du temps on trouve ce baud ?
après cela pour ceux qui connaissent max/msp j'ai fait un patch avec l'objet [serial a 9600 8]
en sortie je me retrouve avec cette série de 3 nombres 176, 11, 0
sans que j'appuie sur le moindre boutons qui est cablé sur le gnd qui ce trouve à coté de l'entrée aref (est ce que c'est le bon endroit ?) et mon entrée digitale 22 qui devrait correspondre à mon bouton poussoir 1.
et quand j'appuis sur mon boutons il n'y a aucun changement.
enfin j'ai un doute sur la commande:
void loop() {
if(bitRead(PINA, 0)) { // BP 1
midiCmd(0xb0,0x0b,0x00);
}
en effet est ce que (0xb0,0x0b,0x00) correspond à une information midi valide ??
(j'ai trouvé cela sur un tutoriel midi).
avec toute les aide que l'on m'a filé (merci encore skywodd

) je pense être près du but.
Pascal