Midi / WebIO2 プロトコル

機能 send(PC → I/O) receive(I/O → PC)JavaScript関数備考
byte1byte2byte3 byte1byte2byte3
8x [midi] NoteOff 1000nnnn0kkkkkkk0vvvvvvv 1000nnnn0kkkkkkk0vvvvvvv pin6の音を停止
9x[midi] NoteOn 1001nnnn0kkkkkkk0vvvvvvv 1001nnnn0kkkkkkk0vvvvvvv sendNote(key, t)pin6にkey0-125のブザー音をt[ms]出力
Ax[midi] Pressure 1010nnnn0kkkkkkk0vvvvvvv
Bx[midi] Control Change 1011nnnn0ccccccc0vvvvvvv
([midi] Program Change) 1011nnnn011111110ppppppp setVoice(ch, voice) ch0-15を音源0-127に
Reset 1011nnnn0111100100000000 reset() Reset All Control
AllNoteOff 1011nnnn0111101100000000 All Note Off
Cx[midi] Program Change 1100nnnn0ppppppp
Dx[midi] Pressure 1101nnnn0vvvvvvv
Ex[midi] Pitch Bend 1110nnnn0lllllll0mmmmmmm
(Reserved) 512Byte 11100xxx
(E0-E7)
0xxxxxxx0xxxxxxx 11100xxx
(E0-E7)
0xxxxxxx0xxxxxxx
PinMode
DigitalOut
11101000
(E8)
00pppppp0000mmmm
0000111v
pinMode(pin, mode)
digitalWrite(pin,val)
digitalWrite(pin,1,t)
pin0-63のpinModeをmode0-13に
pin0-63を0/1に
tを指定した場合は t[ms] 1に
DigitalIn 11101000
(E8)
00pppppp0000111v digitalRead(pin) pin0-63の値0/1 (20ms毎に更新)
AnalogOut 11101000
(E8)
01vppppp0vvvvvvv analogWrite(pin, val) pin0~31を0-255に
ServoMotor
Motor
11101001
(E9)
00vppppp
00v1111p
0vvvvvvv
0vvvvvvv
servo(pin, val)
servo(pin, val, t)
motor(lspeed, rspeed)
pin0~29のサーボモーターを0-180に
tを指定した場合はt[ms]後に停止
L(30) R(31)モーターのスピードを -128~127に
(Reserved) 32Byte 11101001
(E9)
01xxxxxx0xxxxxxx
AnalogIn 11101001
(E9)
0vvvvvpp0vvvvvvv analogRead(pin) TEMP(0:60),HUMI(1:61),CO2(2:62)の値0-4095
AnalogIn 1110101v
(EA-EB)
0vvppppp0vvvvvvv analogRead(pin) pin0~31の値0-1023(20ms毎に更新)
NeoPixel 11101010
(EA)
0rgbllll0rrrrrrr Pixel(LED, R,G,B) LED0-15の色をR(0-255)G(0-255)B(0-255)に
11101011
(EB)
0ggggggg0bbbbbbb
IRsend 11101100
(EC)
0ppppppp0000aacc IRsend(&IRDATA) IRリモート信号を送信
IRDATA内に protocol, address, command
11101101
(ED)
0aaaaaaa0aaaaaaa
11101110
(EE)
0ccccccc0ccccccc
IRreceive 11101100
(EC)
0ppppppp0000aacc IRreceive(&IRDATA) IRリモート信号を受信
IRDATA内に protocol, address, command
11101101
(ED)
0aaaaaaa0aaaaaaa
11101110
(EE)
0ccccccc0ccccccc
(Reserved) 64Byte 11101111
(EF)
0xxxxxxx0xxxxxxx 11101111
(EF)
0xxxxxxx0xxxxxxx
Fx[midi] SysEx 1111xxxx 1111xxxx

koyama88@cameo.plala.or.jp