2 mpr121 sensors in one arduino -> serial communication

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2 mpr121 sensors in one arduino -> serial communication

5,900件の閲覧回数
avantshin
Contributor I

I am trying to connect 2(0x5A, 0x5B)addresses.

In the code and  datasheet,  it says just connecting addr pin to (default, 3.3v) allows communication.

Arduino recognizes other sensors, however, it cannot read the two touch sensor at one time. just tells me i=0 ~ 11

how can I make the i=12~23 run?

and how can I differentiate 2 sensors in code?

Is it possible to communicate mpr121 sensor to mpr121 sensor ? 

I really want to know how to connect two sensors in one arduino.

I also tried i2c scanner to check the wiring

and weird thing is that serial monitor only tells me just one sensor.

here's my code

should i add some define in the first to differentiate?

or 

change loop 

for{

}

please enlighten me asap X(

------------------------------------------------------------------------------------------------------------------------------------

#include "SoftwareSerial.h"

//#define defaultPatch 15 //악기 초기화 버튼 설정 악기번호

SoftwareSerial mySerial(2, 3); //SW시리얼핀 정의 D3이 MIDI신호 전송용, D2는 미사용

byte note = 0; //The MIDI연주될 note(음계)
byte resetMIDI = 4; // VS1053 Reset용 핀
byte ledPin = 13; //MIDI 트래픽 표시용 LED

#include <Wire.h>
#include "Adafruit_MPR121.h"

#ifndef _BV
#define _BV(bit) (1 << (bit))
#endif


Adafruit_MPR121 cap = Adafruit_MPR121();

#define MPR121addr 0x5A
#define MPR121addr 0x5B

uint16_t lasttouched = 0;
uint16_t currtouched = 0;

#include <Adafruit_MPR121.h>
int btn[]={60, 62, 64, 65, 67,69, 71, 72, 74, 76, 77, 79,
81, 83, 84, 86, 88, 89, 91, 93, 95, 96, 98, 100};

byte byteData;

void setup() {
Serial.begin(9600);
mySerial.begin(9600);
/* while (!Serial) { // needed to keep leonardo/micro from starting too fast!
delay(10);
}
*/

Serial.println("Adafruit MPR121 Capacitive Touch sensor test");

// Default address is 0x5A, if tied to 3.3V its 0x5B
// If tied to SDA its 0x5C and if SCL then 0x5D
if (!cap.begin(0x5A)) {
Serial.println("MPR121-A not found, check wiring?");
while (1);
}
Serial.println("MPR121-A found!");
//
if (!cap.begin(0x5B)) {
Serial.println("MPR121-B not found, check wiring?");
while (1);
}
Serial.println("MPR121-B found!");



//Reset the VS1053
pinMode(resetMIDI, OUTPUT);
digitalWrite(resetMIDI, LOW);
delay(100);
digitalWrite(resetMIDI, HIGH);
delay(100);

}


void loop() {

currtouched = cap.touched();

for (uint8_t i=0; i<12; i++) {
// it if *is* touched and *wasnt* touched before, alert!
if ((currtouched & _BV(i)) && !(lasttouched & _BV(i)) ) {
Serial.print(i); Serial.println(" touched");
// tone(0, btn[i],100);
noteOn(0, btn[i],100);
//tone(buzzerPin, frequency[i], 330);

}
}


for (uint8_t i=12; i<24; i++) {
// it if *is* touched and *wasnt* touched before, alert!
if ((currtouched & _BV(i)) && !(lasttouched & _BV(i)) ) {
Serial.print(i); Serial.println(" touched");
// tone(0, btn[i],100);
noteOn(0, btn[i],100);
//tone(buzzerPin, frequency[i], 330);

}
}

//*************** MIDI LOOPBACK ******************//
if(Serial.available() > 0)
{
byteData = Serial.read();
mySerial.write( byteData);
}

lasttouched = currtouched;

return;


}

//Send a MIDI note-on message. Like pressing a piano key
//channel ranges from 0-15
void noteOn(byte channel, byte note, byte attack_velocity) {
talkMIDI( (0x90 | channel), note, attack_velocity);
}

//Send a MIDI note-off message. Like releasing a piano key
void noteOff(byte channel, byte note, byte release_velocity) {
talkMIDI( (0x80 | channel), note, release_velocity);
}

//Plays a MIDI note. Doesn't check to see that cmd is greater than 127, or that data values are less than 127
void talkMIDI(byte cmd, byte data1, byte data2) {
digitalWrite(ledPin, HIGH);
mySerial.write(cmd );
mySerial.write(data1 );

//Some commands only have one data byte. All cmds less than 0xBn have 2 data bytes
//(sort of: http://253.ccarh.org/handout/midiprotocol/)
if( (cmd & 0xF0) <= 0xB0)
mySerial.write(data2 );

digitalWrite(ledPin, LOW);
}

ラベル(1)
0 件の賞賛
返信
5 返答(返信)

5,324件の閲覧回数
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi Jin,

Yes, it is possible to communicate with two MPR121 sensors on the same I2C bus in order expand the number of touch buttons up to 24.

Actually you can assign four I2C addresses to the MPR121 depending on the connection of the ADDR pin:

pastedImage_2.png 

 

For instance, one MPR121 slave will have the 7-bit I2C address of 0x5A when ADDR=VDD (which translates to 0xB4 for a write and 0xB5 for a read) and the other one 0x5B when ADDR=GND (which translates to 0xB6 for a write and 0xB7 for a read).

 

I hope it helps!

Best regards,

Tomas

5,324件の閲覧回数
avantshin
Contributor I

Mr. Vacerka 

Thank you so much!!

I was relieved by the possibility of connection.

For your kind reply, I succeeded in connecting all 4 mpr121 sensors!!

One last problem I am facing is that "expand the number of touch buttons up to 24."

Every touch sensor gives me value of  0 to 11.

How can I make it to 0-11, 12-23, 24-35, 36-47 ?

----------------------------------------------------------------------------------------------------------------------------------------------------- 

#include "SoftwareSerial.h"

//#define defaultPatch 15 //악기 초기화 버튼 설정 악기번호

SoftwareSerial mySerial(2, 3); //SW시리얼핀 정의 D3이 MIDI신호 전송용, D2는 미사용

byte note = 0; //The MIDI연주될 note(음계)
byte resetMIDI = 4; // VS1053 Reset용 핀
byte ledPin = 13; //MIDI 트래픽 표시용 LED

#include <Wire.h>
#include "Adafruit_MPR121.h"

#ifndef _BV
#define _BV(bit) (1 << (bit))
#endif

// You can have up to 4 on one i2c bus but one is enough for testing!
Adafruit_MPR121 cap = Adafruit_MPR121();
Adafruit_MPR121 cap2 = Adafruit_MPR121();
Adafruit_MPR121 cap3 = Adafruit_MPR121();
Adafruit_MPR121 cap4 = Adafruit_MPR121();

// Keeps track of the last pins touched
// so we know when buttons are 'released'
uint16_t lasttouched = 0;
uint16_t currtouched = 0;

uint16_t lasttouched2 = 0;
uint16_t currtouched2 = 0;

uint16_t lasttouched3 = 0;
uint16_t currtouched3 = 0;

uint16_t lasttouched4 = 0;
uint16_t currtouched4 = 0;

int btn[]={21, 23, 24, 26, 28, 29, 31, 33, 35, 36, 38, 40,
41, 43, 45, 47, 48, 50, 52, 53, 55, 57, 59, 60,
62, 64, 65, 67,69, 71, 72, 74, 76, 77, 79, 81,
83, 84, 86, 88, 89, 91, 93, 95, 96, 98, 100, 101};

byte byteData;

void setup() {
Serial.begin(9600);
mySerial.begin(9600);
while (!Serial) { // needed to keep leonardo/micro from starting too fast!
delay(10);
}

Serial.println("Adafruit MPR121 Capacitive Touch sensor test");

// Default address is 0x5A, if tied to 3.3V its 0x5B
// If tied to SDA its 0x5C and if SCL then 0x5D
if (!cap.begin(0x5A)) {
Serial.println("MPR121-A not found, check wiring?");
while (1);
}
Serial.println("MPR121-A found!");
//

if (!cap2.begin(0x5B)) {
Serial.println("MPR121-B not found, check wiring?");
while (1);
}
Serial.println("MPR121-B found!");
//

if (!cap3.begin(0x5C)) {
Serial.println("MPR121-C not found, check wiring?");
while (1);
}
Serial.println("MPR121-C found!");
//

if (!cap4.begin(0x5D)) {
Serial.println("MPR121-D not found, check wiring?");
while (1);
}
Serial.println("MPR121-D found!");


//Reset the VS1053
pinMode(resetMIDI, OUTPUT);
digitalWrite(resetMIDI, LOW);
delay(100);
digitalWrite(resetMIDI, HIGH);
delay(100);


// this is inside the loop so you can plug boards hot
// if you do not need hot plugin you may put it in setup()
cap.begin(0x5A);
cap2.begin(0x5B);
cap3.begin(0x5C);
cap4.begin(0x5D);

}


void loop() {

// Get the currently touched pads
currtouched = cap.touched();
currtouched2 = cap2.touched();
currtouched3 = cap3.touched();
currtouched4 = cap4.touched();



for (uint8_t i=0; i<48; i++) {
// it if *is* touched and *wasnt* touched before, alert!
if ((currtouched & _BV(i)) && !(lasttouched & _BV(i)) ) {
Serial.print(i); Serial.println(" touched");
// tone(0, btn[i],100);
noteOn(0, btn[i],100);
//tone(buzzerPin, frequency[i], 330);
}

//2///////////////////////////////////////////////////
if ((currtouched2 & _BV(i)) && !(lasttouched2 & _BV(i)) ) {
//when sensor is touched do something
Serial.print(i); Serial.println(" touched");
noteOn(0, btn[i],100);
}
//3///////////////////////////////////////////////////
if ((currtouched3 & _BV(i)) && !(lasttouched3 & _BV(i)) ) {
//when sensor is touched do something
Serial.print(i); Serial.println(" touched");
noteOn(0, btn[i],100);
}
//4///////////////////////////////////////////////////
if ((currtouched4 & _BV(i)) && !(lasttouched4 & _BV(i)) ) {
//when sensor is touched do something
Serial.print(i); Serial.println(" touched");
noteOn(0, btn[i],100);
}
}

// reset our state
lasttouched = currtouched;
lasttouched2 = currtouched2;
lasttouched3 = currtouched3;
lasttouched4 = currtouched4;
return;


//*************** MIDI LOOPBACK ******************//
if(Serial.available() > 0)
{
byteData = Serial.read();
mySerial.write( byteData);
}

}

//Send a MIDI note-on message. Like pressing a piano key
//channel ranges from 0-15
void noteOn(byte channel, byte note, byte attack_velocity) {
talkMIDI( (0x90 | channel), note, attack_velocity);
}

//Send a MIDI note-off message. Like releasing a piano key
void noteOff(byte channel, byte note, byte release_velocity) {
talkMIDI( (0x80 | channel), note, release_velocity);
}

//Plays a MIDI note. Doesn't check to see that cmd is greater than 127, or that data values are less than 127
void talkMIDI(byte cmd, byte data1, byte data2) {
digitalWrite(ledPin, HIGH);
mySerial.write(cmd );
mySerial.write(data1 );

//Some commands only have one data byte. All cmds less than 0xBn have 2 data bytes
//(sort of: http://253.ccarh.org/handout/midiprotocol/)
if( (cmd & 0xF0) <= 0xB0)
mySerial.write(data2 );

digitalWrite(ledPin, LOW);
}

 

0 件の賞賛
返信

1,149件の閲覧回数
Woz
Contributor I

I only have 1 MPR121, so  I couldn't try the code, but I think it should be change like below :

 

for (uint8_t i=0; i<12; i++) {
// it if *is* touched and *wasnt* touched before, alert!
if ((currtouched & _BV(i)) && !(lasttouched & _BV(i)) ) {
Serial.print(i); Serial.println(" touched");
// tone(0, btn[i],100);
noteOn(0, btn[i],100);
//tone(buzzerPin, frequency[i], 330);
}

}

for (uint8_t i=0; i<12; i++) {
// it if *is* touched and *wasnt* touched before, alert!
if ((currtouched2 & _BV(i)) && !(lasttouched2 & _BV(i)) ) {
//when sensor is touched do something
Serial.print(i+12); Serial.println(" touched");
noteOn(0, btn[i],100);
}
}

 

MPR121 have 12 input, _BV(bit)' bit parameter should always between 0-12, then use currtouched2 choose different ADDR.

Lib's line-230: https://github.com/adafruit/Adafruit_MPR121/blob/master/Adafruit_MPR121.cpp

0 件の賞賛
返信

5,324件の閲覧回数
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi Jin,

Glad to hear you managed to connect all four MPR121 sensors on the same I2C bus.

 

I am not sure about your current question, I assume it can be done easily in your sw depending on the address of the sensor you are currently communicating with.  

 

Best regards,

Tomas

0 件の賞賛
返信

2,417件の閲覧回数
gippo
Contributor I

I have connected two MPR121 boards to my Arduino Uno at addresses 0x5C and 0x5A. The boards are recognized correctly. However, I would like to understand how I can set both boards in AUTOCONFIG mode and how I can adjust the TOUCH and RELEASE thresholds for each sensor on both boards. At the moment I use the .CPP file to make these settings but it seems to work only on the 0x5a address board. Thank you!

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-858294%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%201%E3%81%A4%E3%81%AEArduino%E3%81%AB2%E3%81%A4%E3%81%AEMPR121%E3%82%BB%E3%83%B3%E3%82%B5%E3%82%92%E6%90%AD%E8%BC%89%20-%26gt%3B%20%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%E9%80%9A%E4%BF%A1%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-858294%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E2%E3%81%A4%E3%81%AE(0x5A%E3%80%810x5B)%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%82%92%E6%8E%A5%E7%B6%9A%E3%81%97%E3%82%88%E3%81%86%E3%81%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%82%B3%E3%83%BC%E3%83%89%E3%81%A8%E3%83%87%E3%83%BC%E3%82%BF%E3%82%B7%E3%83%BC%E3%83%88%E3%81%AB%E3%81%AF%E3%80%81addr%20%E3%83%94%E3%83%B3%E3%82%92%20(%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E3%80%813.3%20V)%20%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%99%E3%82%8B%E3%81%A0%E3%81%91%E3%81%A7%E9%80%9A%E4%BF%A1%E3%81%8C%E5%8F%AF%E8%83%BD%E3%81%AB%E3%81%AA%E3%82%8B%E3%81%A8%E8%A8%98%E8%BC%89%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3EArduino%20%E3%81%AF%E4%BB%96%E3%81%AE%E3%82%BB%E3%83%B3%E3%82%B5%E3%82%92%E8%AA%8D%E8%AD%98%E3%81%97%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81%E4%B8%80%E5%BA%A6%E3%81%AB%202%20%E3%81%A4%E3%81%AE%E3%82%BF%E3%83%83%E3%83%81%20%E3%82%BB%E3%83%B3%E3%82%B5%E3%82%92%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AF%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82i%3D0%20~%2011%20%E3%81%A8%E3%81%A0%E3%81%91%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%3C%2FP%3E%3CP%3Ei%3D12~23%20%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F%3C%2FP%3E%3CP%3E%E3%82%B3%E3%83%BC%E3%83%89%E5%86%85%E3%81%A7%202%20%E3%81%A4%E3%81%AE%E3%82%BB%E3%83%B3%E3%82%B5%E3%82%92%E5%8C%BA%E5%88%A5%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%3F%3C%2FP%3E%3CP%3Empr121%20%E3%82%BB%E3%83%B3%E3%82%B5%E5%90%8C%E5%A3%AB%E3%81%A7%E9%80%9A%E4%BF%A1%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AF%E5%8F%AF%E8%83%BD%E3%81%A7%E3%81%99%E3%81%8B%3F%3C%2FP%3E%3CP%3E1%20%E3%81%A4%E3%81%AE%20Arduino%20%E3%81%AB%202%20%E3%81%A4%E3%81%AE%E3%82%BB%E3%83%B3%E3%82%B5%E3%82%92%E6%8E%A5%E7%B6%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%82%92%E6%9C%AC%E5%BD%93%E3%81%AB%E7%9F%A5%E3%82%8A%E3%81%9F%E3%81%84%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E9%85%8D%E7%B7%9A%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%ABi2c%E3%82%B9%E3%82%AD%E3%83%A3%E3%83%8A%E3%82%82%E8%A9%A6%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%3C%2FP%3E%3CP%3E%E5%A5%87%E5%A6%99%E3%81%AA%E3%81%93%E3%81%A8%E3%81%AB%E3%80%81%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%20%E3%83%A2%E3%83%8B%E3%82%BF%E3%83%BC%E3%81%AF%201%20%E3%81%A4%E3%81%AE%E3%82%BB%E3%83%B3%E3%82%B5%E3%81%97%E3%81%8B%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%81%93%E3%82%8C%E3%81%8C%E7%A7%81%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%81%A7%E3%81%99%3C%2FP%3E%3CP%3E%E5%8C%BA%E5%88%A5%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%E6%9C%80%E5%88%9D%E3%81%AB%E4%BD%95%E3%81%8B%E5%AE%9A%E7%BE%A9%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FP%3E%3CP%3E%E3%81%BE%E3%81%9F%E3%81%AF%3C%2FP%3E%3CP%3E%E3%83%AB%E3%83%BC%E3%83%97%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%3C%2FP%3E%3CP%3E%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AB%7B%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3CP%3E%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%A0%E3%81%91%E6%97%A9%E3%81%8F%E6%95%99%E3%81%88%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84X(%3C%2FP%3E%3CP%3E------------------------------------------------------------------------------------------------------------------------------------%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%23include%20%22SoftwareSerial.h%22%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%2F%2F%23define%20defaultPatch%2015%20%2F%2F%EC%95%85%EA%B8%B0%20%EC%B4%88%EA%B8%B0%ED%99%94%20%EB%B2%84%ED%8A%BC%20%EC%84%A4%EC%A0%95%20%EC%95%85%EA%B8%B0%EB%B2%88%ED%98%B8%3C%2FP%3E%3CP%3E%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%20mySerial(2%2C%203)%3B%20%2F%2FSW%20%E3%81%AE%E6%A9%9F%E8%83%BD%20D3%20MIDI%20%E6%A9%9F%E8%83%BD%E3%80%81D2%20%E3%81%AE%E6%A9%9F%E8%83%BD%3C%2FP%3E%3CP%3E%E3%83%90%E3%82%A4%E3%83%88%E3%83%8E%E3%83%BC%E3%83%88%20%3D%200%3B%20%2F%2FMIDI%20%EC%97%B0%EC%A3%BC%EB%90%A0%20%E3%83%8E%E3%83%BC%E3%83%88(%EC%9D%8C%EA%B3%84)%3CBR%20%2F%3E%E3%83%90%E3%82%A4%E3%83%88%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88MIDI%20%3D%204%3B%20%2F%2F%20VS1053%20%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88%3CBR%20%2F%3E%E3%83%90%E3%82%A4%E3%83%88ledPin%20%3D%2013%3B%20%2F%2FMIDI%20%ED%8A%B8%EB%9E%98%ED%94%BD%20%ED%91%9C%EC%8B%9C%EC%9A%A9%20LED%3CBR%20%2F%3E%3CBR%20%2F%3E%20%23include%20%3CWIRE.H%3E%3CBR%20%2F%3E%23include%20%22Adafruit_MPR121.h%22%3C%2FWIRE.H%3E%3C%2FP%3E%3CP%3E%23ifndef%20_BV%3CBR%20%2F%3E%20%23define%20_BV(%E3%83%93%E3%83%83%E3%83%88)%20(1%20%26lt%3B%26lt%3B%20(%E3%83%93%E3%83%83%E3%83%88))%3CBR%20%2F%3E%20%23endif%3C%2FP%3E%3CP%3E%3CBR%20%2F%3EAdafruit_MPR121%20%E3%82%AD%E3%83%A3%E3%83%83%E3%83%97%20%3D%20Adafruit_MPR121()%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%20%23MPR121addr%200x5A%20%E3%82%92%E5%AE%9A%E7%BE%A9%E3%81%99%E3%82%8B%3CBR%20%2F%3E%23MPR121addr%200x5B%20%E3%82%92%E5%AE%9A%E7%BE%A9%E3%81%99%E3%82%8B%3CBR%20%2F%3E%3CBR%20%2F%3Euint16_t%20%E6%9C%80%E5%BE%8C%E3%81%AB%E3%82%BF%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%9F%20%3D%200%3B%3CBR%20%2F%3E%20uint16_t%20currtouched%20%3D%200%3B%3C%2FP%3E%3CP%3E%23include%20%3CADAFRUIT_MPR121.H%3E%3CBR%20%2F%3E%20int%20btn%5B%5D%3D%7B60%2C%2062%2C%2064%2C%2065%2C%2067%2C69%2C%2071%2C%2072%2C%2074%2C%2076%2C%2077%2C%2079%2C%3CBR%20%2F%3E%2081%E3%80%8183%E3%80%8184%E3%80%8186%E3%80%8188%E3%80%8189%E3%80%8191%E3%80%8193%E3%80%8195%E3%80%8196%E3%80%8198%E3%80%81100%7D%3B%3C%2FADAFRUIT_MPR121.H%3E%3C%2FP%3E%3CP%3E%E3%83%90%E3%82%A4%E3%83%88%20byteData%3B%3C%2FP%3E%3CP%3Evoid%20%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97()%20%7B%3CBR%20%2F%3E%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB.begin(9600)%3B%3CBR%20%2F%3EmySerial.begin(9600)%3B%3CBR%20%2F%3E%2F*%20while%20(!Serial)%20%7B%20%2F%2F%20leonardo%2Fmicro%20%E3%81%8C%E9%AB%98%E9%80%9F%E3%81%AB%E8%B5%B7%E5%8B%95%E3%81%97%E3%81%AA%E3%81%84%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%A7%E3%81%99!%3CBR%20%2F%3E%E9%81%85%E5%BB%B6(10)%3B%3CBR%20%2F%3E%20%7D%3CBR%20%2F%3E%20*%2F%3C%2FP%3E%3CP%3ESerial.println(%22Adafruit%20MPR121%20%E9%9D%99%E9%9B%BB%E5%AE%B9%E9%87%8F%E5%BC%8F%E3%82%BF%E3%83%83%E3%83%81%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%86%E3%82%B9%E3%83%88%22)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%20%3CSTRONG%3E%2F%2F%20%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E3%81%AE%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%AF%200x5A%20%E3%81%A7%E3%81%99%E3%80%823.3V%20%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AF%200x5B%20%E3%81%A7%E3%81%99%E3%80%82%3C%2FSTRONG%3E%3CBR%20%2F%3E%20%3CSTRONG%3E%2F%2F%20SDA%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AF0x5C%E3%80%81SCL%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AF0x5D%3C%2FSTRONG%3E%3CBR%20%2F%3E%20if%20(!cap.begin(0x5A))%20%7B%3CBR%20%2F%3E%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB.println(%22MPR121-A%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E9%85%8D%E7%B7%9A%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%22)%3B%3CBR%20%2F%3E%20%EF%BC%88%EF%BC%91%EF%BC%89%E3%81%AE%E9%96%93%3CBR%20%2F%3E%7D%3CBR%20%2F%3E%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB.println(%22MPR121-A%E8%A6%8B%E3%81%A4%E3%81%8B%E3%81%A3%E3%81%9F%EF%BC%81%22%EF%BC%89%3B%3CBR%20%2F%3E%20%2F%2F%3CBR%20%2F%3E%20if%20(!cap.begin(0x5B))%20%7B%3CBR%20%2F%3E%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB.println(%22MPR121-B%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E9%85%8D%E7%B7%9A%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%22)%3B%3CBR%20%2F%3E%20%EF%BC%88%EF%BC%91%EF%BC%89%E3%81%AE%E9%96%93%3CBR%20%2F%3E%7D%3CBR%20%2F%3E%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB.println(%22MPR121-B%E8%A6%8B%E3%81%A4%E3%81%8B%E3%81%A3%E3%81%9F%EF%BC%81%22%EF%BC%89%3B%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%2F%2FVS1053%E3%82%92%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88%E3%81%99%E3%82%8B%3CBR%20%2F%3EpinMode(resetMIDI%2C%20OUTPUT)%3B%3CBR%20%2F%3E%20digitalWrite(resetMIDI%2C%20LOW)%3B%3CBR%20%2F%3E%E9%81%85%E5%BB%B6(100)%3B%3CBR%20%2F%3E%20digitalWrite(resetMIDI%2C%20HIGH)%3B%3CBR%20%2F%3E%E9%81%85%E5%BB%B6(100)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%20%7D%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%20void%20loop()%20%7B%3CBR%20%2F%3E%3CBR%20%2F%3E%20currtouched%20%3D%20cap.touched()%3B%3CBR%20%2F%3E%3CBR%20%2F%3E(uint8_t%20i%3D0%3B%20i%26lt%3B12%3B%20i%2B%2B)%20%E3%81%AE%E5%A0%B4%E5%90%88%20%7B%3CBR%20%2F%3E%20%2F%2F%20%E3%82%BF%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%9F%E3%81%8C%E3%80%81%E4%BB%A5%E5%89%8D%E3%81%AF%E3%82%BF%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E5%A0%B4%E5%90%88%E3%81%AF%E8%AD%A6%E5%91%8A!%3CBR%20%2F%3E%20if%20((currenttouched%20%26amp%3B%20_BV(i))%20%26amp%3B%26amp%3B%20!(lasttouched%20%26amp%3B%20_BV(i))%20)%20%7B%3CBR%20%2F%3E%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB.print(i)%3B%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB.println(%22%E8%A7%A6%E3%82%8C%E3%81%9F%22)%3B%3CBR%20%2F%3E%20%2F%2F%20%E3%83%88%E3%83%BC%E3%83%B3(0%2C%20btn%5Bi%5D%2C100)%3B%3CBR%20%2F%3E%20noteOn(0%2C%20btn%5Bi%5D%2C100)%3B%3CBR%20%2F%3E%20%2F%2Ftone(%E3%83%96%E3%82%B6%E3%83%BC%E3%83%94%E3%83%B3%E3%80%81%E5%91%A8%E6%B3%A2%E6%95%B0%5Bi%5D%E3%80%81330)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%20%7D%3CBR%20%2F%3E%20%7D%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%3CSTRONG%3E%3CEM%3E(uint8_t%20i%3D12%3B%20i%26lt%3B24%3B%20i%2B%2B)%20%E3%81%AE%E5%A0%B4%E5%90%88%20%7B%3C%2FEM%3E%3C%2FSTRONG%3E%3CBR%20%2F%3E%20%3CSTRONG%3E%3CEM%3E%2F%2F%20%E3%82%BF%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%9F%E3%81%8C%E3%80%81%E4%BB%A5%E5%89%8D%E3%81%AF%E3%82%BF%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E5%A0%B4%E5%90%88%E3%81%AF%E8%AD%A6%E5%91%8A!%3C%2FEM%3E%3C%2FSTRONG%3E%3CBR%20%2F%3E%20%3CSTRONG%3E%3CEM%3Eif%20((currenttouched%20%26amp%3B%20_BV(i))%20%26amp%3B%26amp%3B%20!(lasttouched%20%26amp%3B%20_BV(i))%20)%20%7B%3C%2FEM%3E%3C%2FSTRONG%3E%3CBR%20%2F%3E%20%3CSTRONG%3E%3CEM%3ESerial.print(i)%3B%20Serial.println(%22%20%E3%82%BF%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%22)%3B%3C%2FEM%3E%3C%2FSTRONG%3E%3CBR%20%2F%3E%20%3CSTRONG%3E%3CEM%3E%2F%2F%20%E3%83%88%E3%83%BC%E3%83%B3(0%2C%20btn%5Bi%5D%2C100)%3B%3C%2FEM%3E%3C%2FSTRONG%3E%3CBR%20%2F%3E%20%3CSTRONG%3E%3CEM%3EnoteOn(0%2C%20btn%5Bi%5D%2C100)%3B%3C%2FEM%3E%3C%2FSTRONG%3E%3CBR%20%2F%3E%20%3CSTRONG%3E%3CEM%3E%2F%2Ftone(%E3%83%96%E3%82%B6%E3%83%BC%E3%83%94%E3%83%B3%E3%80%81%E5%91%A8%E6%B3%A2%E6%95%B0%5Bi%5D%E3%80%81330)%3B%3C%2FEM%3E%3C%2FSTRONG%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%20%3CSTRONG%3E%3CEM%3E%7D%3C%2FEM%3E%3C%2FSTRONG%3E%3CBR%20%2F%3E%20%3CSTRONG%3E%3CEM%3E%7D%3C%2FEM%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%2F%2F***************%20MIDI%20%E3%83%AB%E3%83%BC%E3%83%97%E3%83%90%E3%83%83%E3%82%AF%20******************%2F%2F%3CBR%20%2F%3E%20if(Serial.available()%26gt%3B%200)%3CBR%20%2F%3E%20%7B%3CBR%20%2F%3E%20byteData%20%3D%20Serial.read()%3B%3CBR%20%2F%3EmySerial.write(%E3%83%90%E3%82%A4%E3%83%88%E3%83%87%E3%83%BC%E3%82%BF)%3B%3CBR%20%2F%3E%20%7D%20%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Elasttouched%20%3D%20currtouched%3B%3C%2FP%3E%3CP%3E%E6%88%BB%E3%82%8B%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%20%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%7D%3C%2FP%3E%3CP%3E%2F%2FMIDI%20%E3%83%8E%E3%83%BC%E3%83%88%E3%82%AA%E3%83%B3%20%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%82%92%E9%80%81%E4%BF%A1%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%83%94%E3%82%A2%E3%83%8E%E3%81%AE%E9%8D%B5%E7%9B%A4%E3%82%92%E6%8A%BC%E3%81%99%E3%82%88%E3%81%86%E3%81%AB%3CBR%20%2F%3E%2F%2F%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E3%81%AE%E7%AF%84%E5%9B%B2%E3%81%AF0%EF%BD%9E15%3CBR%20%2F%3E%20void%20noteOn(%E3%83%90%E3%82%A4%E3%83%88%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E3%80%81%E3%83%90%E3%82%A4%E3%83%88%E3%83%8E%E3%83%BC%E3%83%88%E3%80%81%E3%83%90%E3%82%A4%E3%83%88%E3%82%A2%E3%82%BF%E3%83%83%E3%82%AF%E3%83%99%E3%83%AD%E3%82%B7%E3%83%86%E3%82%A3)%20%7B%3CBR%20%2F%3E%20talkMIDI(%20(0x90%20%7C%20%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB)%2C%20%E3%83%8E%E3%83%BC%E3%83%88%2C%20attack_velocity)%3B%3CBR%20%2F%3E%20%7D%3C%2FP%3E%3CP%3E%2F%2FMIDI%20%E3%83%8E%E3%83%BC%E3%83%88%E3%82%AA%E3%83%95%20%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%82%92%E9%80%81%E4%BF%A1%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%83%94%E3%82%A2%E3%83%8E%E3%81%AE%E9%8D%B5%E7%9B%A4%E3%82%92%E6%94%BE%E3%81%99%E3%82%88%E3%81%86%E3%81%AB%3CBR%20%2F%3Evoid%20noteOff(%E3%83%90%E3%82%A4%E3%83%88%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E3%80%81%E3%83%90%E3%82%A4%E3%83%88%E3%83%8E%E3%83%BC%E3%83%88%E3%80%81%E3%83%90%E3%82%A4%E3%83%88%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%99%E3%83%AD%E3%82%B7%E3%83%86%E3%82%A3)%20%7B%3CBR%20%2F%3E%20talkMIDI(%20(0x80%20%7C%20%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB)%2C%20%E3%83%8E%E3%83%BC%E3%83%88%2C%20release_velocity)%3B%3CBR%20%2F%3E%20%7D%3C%2FP%3E%3CP%3E%2F%2FMIDI%20%E3%83%8E%E3%83%BC%E3%83%88%E3%82%92%E5%86%8D%E7%94%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82cmd%20%E3%81%8C%20127%20%E3%82%88%E3%82%8A%E5%A4%A7%E3%81%8D%E3%81%84%E3%81%8B%E3%80%81%E3%83%87%E3%83%BC%E3%82%BF%E5%80%A4%E3%81%8C%20127%20%E3%82%88%E3%82%8A%E5%B0%8F%E3%81%95%E3%81%84%E3%81%8B%E3%82%92%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%81%97%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3CBR%20%2F%3E%20void%20talkMIDI(%E3%83%90%E3%82%A4%E3%83%88%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%80%81%E3%83%90%E3%82%A4%E3%83%88%E3%83%87%E3%83%BC%E3%82%BF1%E3%80%81%E3%83%90%E3%82%A4%E3%83%88%E3%83%87%E3%83%BC%E3%82%BF2)%20%7B%3CBR%20%2F%3E%20digitalWrite(ledPin%2C%20HIGH)%3B%3CBR%20%2F%3E%20mySerial.write(%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%EF%BC%89%3B%3CBR%20%2F%3E%20mySerial.write(%E3%83%87%E3%83%BC%E3%82%BF1%EF%BC%89%3B%3C%2FP%3E%3CP%3E%2F%2F%20%E4%B8%80%E9%83%A8%E3%81%AE%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AB%E3%81%AF%E3%83%87%E3%83%BC%E3%82%BF%20%E3%83%90%E3%82%A4%E3%83%88%E3%81%8C%201%20%E3%81%A4%E3%81%97%E3%81%8B%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%820xBn%E6%9C%AA%E6%BA%80%E3%81%AE%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AF2%E3%81%A4%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%83%90%E3%82%A4%E3%83%88%E3%82%92%E6%8C%81%E3%81%A1%E3%81%BE%E3%81%99%3CBR%20%2F%3E%2F%2F(%E3%81%82%E3%82%8B%E6%84%8F%E5%91%B3%3A%20%3CA%20href%3D%22http%3A%2F%2F253.ccarh.org%2Fhandout%2Fmidiprotocol%2F)%22%20target%3D%22test_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttp%3A%2F%2F253.ccarh.org%2Fhandout%2Fmidiprotocol%2F)%3C%2FA%3E%3CBR%20%2F%3Eif(%20(%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%20%26amp%3B%200xF0)%20%26lt%3B%3D%200xB0)%3CBR%20%2F%3E%20mySerial.write(data2%EF%BC%89%3B%3C%2FP%3E%3CP%3EdigitalWrite(ledPin%2C%20LOW)%3B%3CBR%20%2F%3E%20%7D%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-858294%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3E%E3%82%BF%E3%83%83%E3%83%81%E3%83%BB%E3%82%BB%E3%83%B3%E3%82%B5%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2169242%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20%202%20mpr121%20sensors%20%20in%20one%20arduino%20-%26gt%3B%20serial%20communication%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2169242%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E7%A7%81%E3%81%AF%20MPR121%20%E3%82%92%201%20%E3%81%A4%E3%81%97%E3%81%8B%E6%8C%81%E3%81%A3%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%E3%80%81SO%20%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E8%A9%A6%E3%81%99%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%81%A7%E3%81%97%E3%81%9F%E3%81%8C%E3%80%81%E4%BB%A5%E4%B8%8B%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8B%E3%81%A8%E6%80%9D%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E(uint8_t%20i%3D0%3B%20i%26lt%3B12%3B%20i%2B%2B)%20%E3%81%AE%E5%A0%B4%E5%90%88%20%7B%3CBR%20%2F%3E%20%2F%2F%20%E3%82%BF%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%9F%E3%81%8C%E3%80%81%E4%BB%A5%E5%89%8D%E3%81%AF%E3%82%BF%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E5%A0%B4%E5%90%88%E3%81%AF%E8%AD%A6%E5%91%8A!%3CBR%20%2F%3E%20if%20((currenttouched%20%26amp%3B%20_BV(i))%20%26amp%3B%26amp%3B%20!(lasttouched%20%26amp%3B%20_BV(i))%20)%20%7B%3CBR%20%2F%3E%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB.print(i)%3B%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB.println(%22%E8%A7%A6%E3%82%8C%E3%81%9F%22)%3B%3CBR%20%2F%3E%20%2F%2F%20%E3%83%88%E3%83%BC%E3%83%B3(0%2C%20btn%5Bi%5D%2C100)%3B%3CBR%20%2F%3E%20noteOn(0%2C%20btn%5Bi%5D%2C100)%3B%3CBR%20%2F%3E%20%2F%2Ftone(%E3%83%96%E3%82%B6%E3%83%BC%E3%83%94%E3%83%B3%E3%80%81%E5%91%A8%E6%B3%A2%E6%95%B0%5Bi%5D%E3%80%81330)%3B%3CBR%20%2F%3E%20%7D%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3CP%3E%3CSTRONG%3E(uint8_t%20i%3D0%3B%20i%26lt%3B12%3B%20i%2B%2B)%20%E3%81%AE%E5%A0%B4%E5%90%88%20%7B%3C%2FSTRONG%3E%3CBR%20%2F%3E%20%2F%2F%20%E3%82%BF%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%9F%E3%81%8C%E3%80%81%E4%BB%A5%E5%89%8D%E3%81%AF%E3%82%BF%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E5%A0%B4%E5%90%88%E3%81%AF%E8%AD%A6%E5%91%8A!%3CBR%20%2F%3E%20if%20((%20%3CSTRONG%3Ecurrtouched2%3C%2FSTRONG%3E%20%26amp%3B%20_BV(i))%20%26amp%3B%26amp%3B%20!(lasttouched2%20%26amp%3B%20_BV(i))%20)%20%7B%3CBR%20%2F%3E%20%2F%2F%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E3%81%8C%E3%82%BF%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%9F%E3%82%89%E4%BD%95%E3%81%8B%E3%81%99%E3%82%8B%3CBR%20%2F%3E%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB.print(%20%3CSTRONG%3Ei%2B12%3C%2FSTRONG%3E%20)%3B%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB.println(%22%E8%A7%A6%E3%82%8C%E3%81%9F%22)%3B%3CBR%20%2F%3E%20noteOn(0%2C%20btn%5Bi%5D%2C100)%3B%3CBR%20%2F%3E%20%7D%3CBR%20%2F%3E%20%7D%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EMPR121%20%E3%81%AB%E3%81%AF%2012%20%E5%80%8B%E3%81%AE%E5%85%A5%E5%8A%9B%E3%81%8C%E3%81%82%E3%82%8A%E3%80%81_BV(bit)%20%E3%83%93%E3%83%83%E3%83%88%20%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%81%AF%E5%B8%B8%E3%81%AB%200%20%EF%BD%9E%2012%20%E3%81%AE%E7%AF%84%E5%9B%B2%E3%81%A7%E3%81%82%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%80%81%20%3CSTRONG%3Ecurrtouched2%3C%2FSTRONG%3E%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E7%95%B0%E3%81%AA%E3%82%8B%20ADDR%20%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3ELib%20%E3%81%AE%20230%20%E8%A1%8C%E7%9B%AE%3A%20%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fadafruit%2FAdafruit_MPR121%2Fblob%2Fmaster%2FAdafruit_MPR121.cpp%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fadafruit%2FAdafruit_MPR121%2Fblob%2Fmaster%2FAdafruit_MPR121.cpp%3C%2FA%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2041519%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20%202%20mpr121%20sensors%20%20in%20one%20arduino%20-%26gt%3B%20serial%20communication%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2041519%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSPAN%3E2%20%E3%81%A4%E3%81%AE%20MPR121%20%E3%83%9C%E3%83%BC%E3%83%89%E3%82%92%E3%80%81%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%200x5C%20%E3%81%A8%200x5A%20%E3%81%A7%20Arduino%20Uno%20%E3%81%AB%E3%82%B3%E3%83%8D%E3%82%AF%E3%83%86%E3%83%83%E3%83%89%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E3%83%9C%E3%83%BC%E3%83%89%E3%81%AF%E6%AD%A3%E3%81%97%E3%81%8F%E8%AA%8D%E8%AD%98%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%81%9F%E3%81%A0%E3%81%97%E3%80%81%E4%B8%A1%E6%96%B9%E3%81%AE%E3%83%9C%E3%83%BC%E3%83%89%E3%82%92%20AUTOCONFIG%20%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%A8%E3%80%81%E4%B8%A1%E6%96%B9%E3%81%AE%E3%83%9C%E3%83%BC%E3%83%89%E4%B8%8A%E3%81%AE%E5%90%84%E3%82%BB%E3%83%B3%E3%82%B5%E3%81%AE%20TOUCH%20%E3%81%8A%E3%82%88%E3%81%B3%20RELEASE%20%E3%81%97%E3%81%8D%E3%81%84%E5%80%A4%E3%82%92%E8%AA%BF%E6%95%B4%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%82%92%E7%90%86%E8%A7%A3%E3%81%97%E3%81%9F%E3%81%84%E3%81%A8%E6%80%9D%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E7%8F%BE%E6%99%82%E7%82%B9%E3%81%A7%E3%81%AF%E3%80%81%E3%81%93%E3%82%8C%E3%82%89%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%82%92%E8%A1%8C%E3%81%86%E3%81%9F%E3%82%81%E3%81%AB%20.CPP%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8C%E3%80%810x5a%20%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%20%E3%83%9C%E3%83%BC%E3%83%89%E3%81%A7%E3%81%AE%E3%81%BF%E6%A9%9F%E8%83%BD%E3%81%99%E3%82%8B%E3%82%88%E3%81%86%E3%81%A7%E3%81%99%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%EF%BC%81%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-858297%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20%202%20mpr121%20sensors%20%20in%20one%20arduino%20-%26gt%3B%20serial%20communication%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-858297%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%E3%82%B8%E3%83%B3%E3%81%95%E3%82%93%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E4%20%E3%81%A4%E3%81%AE%20MPR121%20%E3%82%BB%E3%83%B3%E3%82%B5%E3%81%99%E3%81%B9%E3%81%A6%E3%82%92%E5%90%8C%E3%81%98%20I2C%E3%83%90%E3%82%B9%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%A7%E3%81%8D%E3%81%9F%E3%81%A8%E8%81%9E%E3%81%84%E3%81%A6%E3%81%86%E3%82%8C%E3%81%97%E3%81%8F%E6%80%9D%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E7%8F%BE%E5%9C%A8%E3%81%AE%E8%B3%AA%E5%95%8F%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%81%AF%E3%82%88%E3%81%8F%E5%88%86%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%81%8C%E3%80%81%E7%8F%BE%E5%9C%A8%E9%80%9A%E4%BF%A1%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%82%BB%E3%83%B3%E3%82%B5%E3%81%AE%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%AB%E5%BF%9C%E3%81%98%E3%81%A6%E3%80%81%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%A7%E7%B0%A1%E5%8D%98%E3%81%AB%E5%AE%9F%E8%A1%8C%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%A8%E6%80%9D%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%83%88%E3%83%BC%E3%83%9E%E3%82%B9%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-858296%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20%202%20mpr121%20sensors%20%20in%20one%20arduino%20-%26gt%3B%20serial%20communication%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-858296%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%3CSTRONG%20class%3D%22%22%20style%3D%22color%3A%20%23646464%3B%20background-color%3A%20%23ffffff%3B%20border%3A%200px%3B%20font-weight%3A%20200%3B%20font-size%3A%201.286rem%3B%20padding%3A%200px%200px%200px%2030px%3B%22%3E%3CSPAN%20class%3D%22%22%20style%3D%22border%3A%200px%3B%20font-weight%3A%20inherit%3B%20font-size%3A%2018.004px%3B%22%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%E3%83%B4%E3%82%A1%E3%83%81%E3%82%A7%E3%83%AB%E3%82%AB%E6%B0%8F%3C%2FP%3E%3CP%3ESO%20%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%EF%BC%81%EF%BC%81%3C%2FP%3E%3CP%3E%E6%8E%A5%E7%B6%9A%E3%81%8C%E5%8F%AF%E8%83%BD%E3%81%A8%E3%81%AE%E3%81%93%E3%81%A8%E3%81%A7%E5%AE%89%E5%BF%83%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3CP%3E%E3%81%94%E8%A6%AA%E5%88%87%E3%81%AA%E3%81%94%E8%BF%94%E4%BF%A1%E3%81%AE%E3%81%8A%E3%81%8B%E3%81%92%E3%81%A7%E3%80%81mpr121%E3%82%BB%E3%83%B3%E3%82%B54%E5%80%8B%E5%85%A8%E3%81%A6%E3%82%92%E6%8E%A5%E7%B6%9A%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F%EF%BC%81%EF%BC%81%3C%2FP%3E%3CP%3E%E7%A7%81%E3%81%8C%E7%9B%B4%E9%9D%A2%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E6%9C%80%E5%BE%8C%E3%81%AE%E5%95%8F%E9%A1%8C%E3%81%AF%E3%80%81%E3%80%8C%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%22%3E%E3%82%BF%E3%83%83%E3%83%81%E3%83%9C%E3%82%BF%E3%83%B3%E3%81%AE%E6%95%B0%E3%82%92%E6%9C%80%E5%A4%A7%2024%20%E5%80%8B%E3%81%BE%E3%81%A7%E6%8B%A1%E5%BC%B5%E3%81%99%E3%82%8B%E3%80%8D%3C%2FSPAN%3E%E3%81%93%E3%81%A8%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%22%3E%E5%90%84%E3%82%BF%E3%83%83%E3%83%81%E3%82%BB%E3%83%B3%E3%82%B5%E3%81%AF%200%20%E3%81%8B%E3%82%89%2011%20%E3%81%BE%E3%81%A7%E3%81%AE%E5%80%A4%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%22%3E0-11%E3%80%8112-23%E3%80%8124-35%E3%80%8136-47%20%E3%81%AB%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%81%84%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%22%3E-----------------------------------------------------------------------------------------------------------------------------------------------------%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%23include%20%22SoftwareSerial.h%22%3CBR%20%2F%3E%3CBR%20%2F%3E%20%2F%2F%23define%20defaultPatch%2015%20%2F%2F%EC%95%85%EA%B8%B0%20%EC%B4%88%EA%B8%B0%ED%99%94%20%EB%B2%84%ED%8A%BC%20%EC%84%A4%EC%A0%95%20%EC%95%85%EA%B8%B0%EB%B2%88%ED%98%B8%3C%2FP%3E%3CP%3E%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%20mySerial(2%2C%203)%3B%20%2F%2FSW%20%E3%81%AE%E6%A9%9F%E8%83%BD%20D3%20MIDI%20%E6%A9%9F%E8%83%BD%E3%80%81D2%20%E3%81%AE%E6%A9%9F%E8%83%BD%3C%2FP%3E%3CP%3E%E3%83%90%E3%82%A4%E3%83%88%E3%83%8E%E3%83%BC%E3%83%88%20%3D%200%3B%20%2F%2FMIDI%20%EC%97%B0%EC%A3%BC%EB%90%A0%20%E3%83%8E%E3%83%BC%E3%83%88(%EC%9D%8C%EA%B3%84)%3CBR%20%2F%3E%E3%83%90%E3%82%A4%E3%83%88%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88MIDI%20%3D%204%3B%20%2F%2F%20VS1053%20%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88%3CBR%20%2F%3E%E3%83%90%E3%82%A4%E3%83%88ledPin%20%3D%2013%3B%20%2F%2FMIDI%20%ED%8A%B8%EB%9E%98%ED%94%BD%20%ED%91%9C%EC%8B%9C%EC%9A%A9%20LED%3CBR%20%2F%3E%3CBR%20%2F%3E%20%23include%20%3CWIRE.H%3E%3CBR%20%2F%3E%23include%20%22Adafruit_MPR121.h%22%3C%2FWIRE.H%3E%3C%2FP%3E%3CP%3E%23ifndef%20_BV%3CBR%20%2F%3E%20%23define%20_BV(%E3%83%93%E3%83%83%E3%83%88)%20(1%20%26lt%3B%26lt%3B%20(%E3%83%93%E3%83%83%E3%83%88))%3CBR%20%2F%3E%20%23endif%3C%2FP%3E%3CP%3E%2F%2F%201%20%E3%81%A4%E3%81%AE%20I2C%E3%83%90%E3%82%B9%20%E3%81%AB%E6%9C%80%E5%A4%A7%204%20%E3%81%A4%E3%81%BE%E3%81%A7%E6%8E%A5%E7%B6%9A%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81%E3%83%86%E3%82%B9%E3%83%88%E3%81%AB%E3%81%AF%201%20%E3%81%A4%E3%81%A7%E5%8D%81%E5%88%86%E3%81%A7%E3%81%99%E3%80%82%3CBR%20%2F%3E%20Adafruit_MPR121%20%E3%82%AD%E3%83%A3%E3%83%83%E3%83%97%20%3D%20Adafruit_MPR121()%3B%3CBR%20%2F%3E%20Adafruit_MPR121%20cap2%20%3D%20Adafruit_MPR121()%3B%3CBR%20%2F%3E%20Adafruit_MPR121%20cap3%20%3D%20Adafruit_MPR121()%3B%3CBR%20%2F%3E%20Adafruit_MPR121%20cap4%20%3D%20Adafruit_MPR121()%3B%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%2F%2F%20%E6%9C%80%E5%BE%8C%E3%81%AB%E3%82%BF%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%9F%E3%83%94%E3%83%B3%E3%82%92%E8%BF%BD%E8%B7%A1%E3%81%97%E3%81%BE%E3%81%99%3CBR%20%2F%3E%2F%2F%20SO%20%E3%83%9C%E3%82%BF%E3%83%B3%E3%81%8C%E3%80%8C%E6%94%BE%E3%81%95%E3%82%8C%E3%81%9F%E3%80%8D%E3%81%93%E3%81%A8%E3%81%8C%E5%88%86%E3%81%8B%E3%82%8B%3CBR%20%2F%3Euint16_t%20%E6%9C%80%E5%BE%8C%E3%81%AB%E3%82%BF%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%9F%20%3D%200%3B%3CBR%20%2F%3E%20uint16_t%20currtouched%20%3D%200%3B%3C%2FP%3E%3CP%3Euint16_t%20lasttouched2%20%3D%200%3B%3CBR%20%2F%3E%20uint16_t%20currtouched2%20%3D%200%3B%3C%2FP%3E%3CP%3Euint16_t%20lasttouched3%20%3D%200%3B%3CBR%20%2F%3E%20uint16_t%20currtouched3%20%3D%200%3B%3C%2FP%3E%3CP%3Euint16_t%20lasttouched4%20%3D%200%3B%3CBR%20%2F%3E%20uint16_t%20currtouched4%20%3D%200%3B%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Eint%20btn%5B%5D%3D%7B21%2C%2023%2C%2024%2C%2026%2C%2028%2C%2029%2C%2031%2C%2033%2C%2035%2C%2036%2C%2038%2C%2040%2C%3CBR%20%2F%3E%2041%E3%80%8143%E3%80%8145%E3%80%8147%E3%80%8148%E3%80%8150%E3%80%8152%E3%80%8153%E3%80%8155%E3%80%8157%E3%80%8159%E3%80%8160%E3%80%81%3CBR%20%2F%3E%2062%E3%80%8164%E3%80%8165%E3%80%8167%E3%80%8169%E3%80%8171%E3%80%8172%E3%80%8174%E3%80%8176%E3%80%8177%E3%80%8179%E3%80%8181%E3%80%81%3CBR%20%2F%3E%2083%E3%80%8184%E3%80%8186%E3%80%8188%E3%80%8189%E3%80%8191%E3%80%8193%E3%80%8195%E3%80%8196%E3%80%8198%E3%80%81100%E3%80%81101%7D%3B%3C%2FP%3E%3CP%3E%E3%83%90%E3%82%A4%E3%83%88%20byteData%3B%3C%2FP%3E%3CP%3Evoid%20%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97()%20%7B%3CBR%20%2F%3E%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB.begin(9600)%3B%3CBR%20%2F%3EmySerial.begin(9600)%3B%3CBR%20%2F%3Ewhile%20(!Serial)%20%7B%20%2F%2F%20leonardo%2Fmicro%20%E3%81%8C%E9%AB%98%E9%80%9F%E3%81%AB%E8%B5%B7%E5%8B%95%E3%81%97%E3%81%AA%E3%81%84%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%A7%E3%81%99%E3%80%82%3CBR%20%2F%3E%E9%81%85%E5%BB%B6(10)%3B%3CBR%20%2F%3E%20%7D%3C%2FP%3E%3CP%3ESerial.println(%22Adafruit%20MPR121%20%E9%9D%99%E9%9B%BB%E5%AE%B9%E9%87%8F%E5%BC%8F%E3%82%BF%E3%83%83%E3%83%81%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%86%E3%82%B9%E3%83%88%22)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%20%2F%2F%20%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E3%81%AE%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%AF%200x5A%20%E3%81%A7%E3%81%99%E3%80%823.3V%20%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AF%200x5B%20%E3%81%A7%E3%81%99%E3%80%82%3CBR%20%2F%3E%20%2F%2F%20SDA%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AF0x5C%E3%80%81SCL%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AF0x5D%3CBR%20%2F%3E%20if%20(!cap.begin(0x5A))%20%7B%3CBR%20%2F%3E%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB.println(%22MPR121-A%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E9%85%8D%E7%B7%9A%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%22)%3B%3CBR%20%2F%3E%20%EF%BC%88%EF%BC%91%EF%BC%89%E3%81%AE%E9%96%93%3CBR%20%2F%3E%7D%3CBR%20%2F%3E%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB.println(%22MPR121-A%E8%A6%8B%E3%81%A4%E3%81%8B%E3%81%A3%E3%81%9F%EF%BC%81%22%EF%BC%89%3B%3CBR%20%2F%3E%20%2F%2F%3C%2FP%3E%3CP%3E%E3%82%82%E3%81%97(!cap2.begin(0x5B))%7B%3CBR%20%2F%3E%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB.println(%22MPR121-B%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E9%85%8D%E7%B7%9A%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%22)%3B%3CBR%20%2F%3E%20%EF%BC%88%EF%BC%91%EF%BC%89%E3%81%AE%E9%96%93%3CBR%20%2F%3E%7D%3CBR%20%2F%3E%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB.println(%22MPR121-B%E8%A6%8B%E3%81%A4%E3%81%8B%E3%81%A3%E3%81%9F%EF%BC%81%22%EF%BC%89%3B%3CBR%20%2F%3E%20%2F%2F%3C%2FP%3E%3CP%3Eif%20(!cap3.begin(0x5C))%7B%3CBR%20%2F%3E%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB.println(%22MPR121-C%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E9%85%8D%E7%B7%9A%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%22)%3B%3CBR%20%2F%3E%20%EF%BC%88%EF%BC%91%EF%BC%89%E3%81%AE%E9%96%93%3CBR%20%2F%3E%7D%3CBR%20%2F%3E%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB.println(%22MPR121-C%E8%A6%8B%E3%81%A4%E3%81%8B%E3%81%A3%E3%81%9F%EF%BC%81%22%EF%BC%89%3B%3CBR%20%2F%3E%20%2F%2F%3C%2FP%3E%3CP%3E%E3%82%82%E3%81%97(!cap4.begin(0x5D))%7B%3CBR%20%2F%3E%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB.println(%22MPR121-D%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E9%85%8D%E7%B7%9A%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%22)%3B%3CBR%20%2F%3E%20%EF%BC%88%EF%BC%91%EF%BC%89%E3%81%AE%E9%96%93%3CBR%20%2F%3E%7D%3CBR%20%2F%3E%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB.println(%22MPR121-D%E8%A6%8B%E3%81%A4%E3%81%8B%E3%81%A3%E3%81%9F%EF%BC%81%22%EF%BC%89%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%20%2F%2FVS1053%E3%82%92%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88%E3%81%99%E3%82%8B%3CBR%20%2F%3EpinMode(resetMIDI%2C%20OUTPUT)%3B%3CBR%20%2F%3E%20digitalWrite(resetMIDI%2C%20LOW)%3B%3CBR%20%2F%3E%E9%81%85%E5%BB%B6(100)%3B%3CBR%20%2F%3E%20digitalWrite(resetMIDI%2C%20HIGH)%3B%3CBR%20%2F%3E%E9%81%85%E5%BB%B6(100)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%20%2F%2F%20%E3%81%93%E3%82%8C%E3%81%AF%E3%83%AB%E3%83%BC%E3%83%97%E5%86%85%E3%81%AB%E3%81%82%E3%82%8B%E3%81%AE%E3%81%A7%E3%80%81%E3%83%9C%E3%83%BC%E3%83%89%E3%82%92%E3%83%9B%E3%83%83%E3%83%88%E3%83%97%E3%83%A9%E3%82%B0%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%3CBR%20%2F%3E%2F%2F%20%E3%83%9B%E3%83%83%E3%83%88%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81setup()%20%E3%81%AB%E9%85%8D%E7%BD%AE%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%E3%82%AD%E3%83%A3%E3%83%83%E3%83%97%E3%81%AE%E9%96%8B%E5%A7%8B(0x5A)%3B%3CBR%20%2F%3E%20cap2.begin(0x5B)%3B%3CBR%20%2F%3Ecap3.begin(0x5C)%3B%3CBR%20%2F%3Ecap4.begin(0x5D)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%7D%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%20void%20loop()%20%7B%3C%2FP%3E%3CP%3E%2F%2F%20%E7%8F%BE%E5%9C%A8%E3%82%BF%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%83%91%E3%83%83%E3%83%89%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%BE%E3%81%99%3CBR%20%2F%3Ecurrtouched%20%3D%20cap.touched()%3B%3CBR%20%2F%3Ecurrtouched2%20%3D%20cap2.touched()%3B%3CBR%20%2F%3Ecurrtouched3%20%3D%20cap3.touched()%3B%3CBR%20%2F%3Ecurrtouched4%20%3D%20cap4.touched()%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CEM%3E%3CSTRONG%3E(uint8_t%20i%3D0%3B%20i%26lt%3B48%3B%20i%2B%2B)%20%E3%81%AE%E5%A0%B4%E5%90%88%20%7B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%20%3CEM%3E%3CSTRONG%3E%2F%2F%20%E3%82%BF%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%9F%E3%81%8C%E3%80%81%E4%BB%A5%E5%89%8D%E3%81%AF%E3%82%BF%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E5%A0%B4%E5%90%88%E3%81%AF%E8%AD%A6%E5%91%8A!%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%20%3CEM%3E%3CSTRONG%3Eif%20((currenttouched%20%26amp%3B%20_BV(i))%20%26amp%3B%26amp%3B%20!(lasttouched%20%26amp%3B%20_BV(i))%20)%20%7B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%20%3CEM%3E%3CSTRONG%3ESerial.print(i)%3B%20Serial.println(%22%20%E3%82%BF%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%22)%3B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%20%3CEM%3E%3CSTRONG%3E%2F%2F%20%E3%83%88%E3%83%BC%E3%83%B3(0%2C%20btn%5Bi%5D%2C100)%3B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%20%3CEM%3E%3CSTRONG%3EnoteOn(0%2C%20btn%5Bi%5D%2C100)%3B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%20%3CEM%3E%3CSTRONG%3E%2F%2Ftone(%E3%83%96%E3%82%B6%E3%83%BC%E3%83%94%E3%83%B3%E3%80%81%E5%91%A8%E6%B3%A2%E6%95%B0%5Bi%5D%E3%80%81330)%3B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%20%3CEM%3E%3CSTRONG%3E%7D%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%20%3CEM%3E%3CSTRONG%3E%2F%2F2%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%20%3CEM%3E%3CSTRONG%3Eif%20((currtouched2%20%26amp%3B%20_BV(i))%20%26amp%3B%26amp%3B%20!(lasttouched2%20%26amp%3B%20_BV(i))%20)%20%7B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%20%3CEM%3E%3CSTRONG%3E%2F%2F%E3%82%BB%E3%83%B3%E3%82%B5%E3%81%8C%E3%82%BF%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%9F%E3%82%89%E4%BD%95%E3%81%8B%E3%81%99%E3%82%8B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3E%3CSTRONG%3ESerial.print(i)%3B%20Serial.println(%22%20%E3%82%BF%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%22)%3B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%20%3CEM%3E%3CSTRONG%3EnoteOn(0%2C%20btn%5Bi%5D%2C100)%3B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%20%3CEM%3E%3CSTRONG%3E%7D%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%20%3CEM%3E%3CSTRONG%3E%2F%2F3%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%20%3CEM%3E%3CSTRONG%3Eif%20((currtouched3%20%26amp%3B%20_BV(i))%20%26amp%3B%26amp%3B%20!(lasttouched3%20%26amp%3B%20_BV(i))%20)%20%7B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%20%3CEM%3E%3CSTRONG%3E%2F%2F%E3%82%BB%E3%83%B3%E3%82%B5%E3%81%8C%E3%82%BF%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%9F%E3%82%89%E4%BD%95%E3%81%8B%E3%81%99%E3%82%8B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3E%3CSTRONG%3ESerial.print(i)%3B%20Serial.println(%22%20%E3%82%BF%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%22)%3B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%20%3CEM%3E%3CSTRONG%3EnoteOn(0%2C%20btn%5Bi%5D%2C100)%3B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%20%3CEM%3E%3CSTRONG%3E%7D%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%20%3CEM%3E%3CSTRONG%3E%2F%2F4%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%20%3CEM%3E%3CSTRONG%3Eif%20((currtouched4%20%26amp%3B%20_BV(i))%20%26amp%3B%26amp%3B%20!(lasttouched4%20%26amp%3B%20_BV(i))%20)%20%7B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%20%3CEM%3E%3CSTRONG%3E%2F%2F%E3%82%BB%E3%83%B3%E3%82%B5%E3%81%8C%E3%82%BF%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%9F%E3%82%89%E4%BD%95%E3%81%8B%E3%81%99%E3%82%8B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3E%3CSTRONG%3ESerial.print(i)%3B%20Serial.println(%22%20%E3%82%BF%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%22)%3B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%20%3CEM%3E%3CSTRONG%3EnoteOn(0%2C%20btn%5Bi%5D%2C100)%3B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%20%3CEM%3E%3CSTRONG%3E%7D%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%20%3CEM%3E%3CSTRONG%3E%7D%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%20%2F%2F%20%E7%8A%B6%E6%85%8B%E3%82%92%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88%E3%81%99%E3%82%8B%3CBR%20%2F%3Elasttouched%20%3D%20currtouched%3B%3CBR%20%2F%3E%E6%9C%80%E5%BE%8C%E3%81%AB%E3%82%BF%E3%83%83%E3%83%81%E3%81%97%E3%81%9F2%20%3D%20%E7%8F%BE%E5%9C%A8%E3%82%BF%E3%83%83%E3%83%81%E3%81%97%E3%81%9F2%3B%3CBR%20%2F%3E%20lasttouched3%20%3D%20currtouched3%3B%3CBR%20%2F%3E%E6%9C%80%E5%BE%8C%E3%81%AB%E3%82%BF%E3%83%83%E3%83%81%E3%81%97%E3%81%9F4%20%3D%20%E7%8F%BE%E5%9C%A8%E3%82%BF%E3%83%83%E3%83%81%E3%81%97%E3%81%9F4%3B%3CBR%20%2F%3E%E6%88%BB%E3%82%8B%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%20%2F%2F***************%20MIDI%20%E3%83%AB%E3%83%BC%E3%83%97%E3%83%90%E3%83%83%E3%82%AF%20******************%2F%2F%3CBR%20%2F%3E%20if(Serial.available()%26gt%3B%200)%3CBR%20%2F%3E%20%7B%3CBR%20%2F%3E%20byteData%20%3D%20Serial.read()%3B%3CBR%20%2F%3EmySerial.write(%E3%83%90%E3%82%A4%E3%83%88%E3%83%87%E3%83%BC%E3%82%BF)%3B%3CBR%20%2F%3E%20%7D%3CBR%20%2F%3E%3CBR%20%2F%3E%20%7D%3C%2FP%3E%3CP%3E%2F%2FMIDI%20%E3%83%8E%E3%83%BC%E3%83%88%E3%82%AA%E3%83%B3%20%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%82%92%E9%80%81%E4%BF%A1%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%83%94%E3%82%A2%E3%83%8E%E3%81%AE%E9%8D%B5%E7%9B%A4%E3%82%92%E6%8A%BC%E3%81%99%E3%82%88%E3%81%86%E3%81%AB%3CBR%20%2F%3E%2F%2F%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E3%81%AE%E7%AF%84%E5%9B%B2%E3%81%AF0%EF%BD%9E15%3CBR%20%2F%3E%20void%20noteOn(%E3%83%90%E3%82%A4%E3%83%88%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E3%80%81%E3%83%90%E3%82%A4%E3%83%88%E3%83%8E%E3%83%BC%E3%83%88%E3%80%81%E3%83%90%E3%82%A4%E3%83%88%E3%82%A2%E3%82%BF%E3%83%83%E3%82%AF%E3%83%99%E3%83%AD%E3%82%B7%E3%83%86%E3%82%A3)%20%7B%3CBR%20%2F%3E%20talkMIDI(%20(0x90%20%7C%20%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB)%2C%20%E3%83%8E%E3%83%BC%E3%83%88%2C%20attack_velocity)%3B%3CBR%20%2F%3E%20%7D%3C%2FP%3E%3CP%3E%2F%2FMIDI%20%E3%83%8E%E3%83%BC%E3%83%88%E3%82%AA%E3%83%95%20%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%82%92%E9%80%81%E4%BF%A1%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%83%94%E3%82%A2%E3%83%8E%E3%81%AE%E9%8D%B5%E7%9B%A4%E3%82%92%E6%94%BE%E3%81%99%E3%82%88%E3%81%86%E3%81%AB%3CBR%20%2F%3Evoid%20noteOff(%E3%83%90%E3%82%A4%E3%83%88%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E3%80%81%E3%83%90%E3%82%A4%E3%83%88%E3%83%8E%E3%83%BC%E3%83%88%E3%80%81%E3%83%90%E3%82%A4%E3%83%88%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%99%E3%83%AD%E3%82%B7%E3%83%86%E3%82%A3)%20%7B%3CBR%20%2F%3E%20talkMIDI(%20(0x80%20%7C%20%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB)%2C%20%E3%83%8E%E3%83%BC%E3%83%88%2C%20release_velocity)%3B%3CBR%20%2F%3E%20%7D%3C%2FP%3E%3CP%3E%2F%2FMIDI%20%E3%83%8E%E3%83%BC%E3%83%88%E3%82%92%E5%86%8D%E7%94%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82cmd%20%E3%81%8C%20127%20%E3%82%88%E3%82%8A%E5%A4%A7%E3%81%8D%E3%81%84%E3%81%8B%E3%80%81%E3%83%87%E3%83%BC%E3%82%BF%E5%80%A4%E3%81%8C%20127%20%E3%82%88%E3%82%8A%E5%B0%8F%E3%81%95%E3%81%84%E3%81%8B%E3%82%92%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%81%97%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3CBR%20%2F%3E%20void%20talkMIDI(%E3%83%90%E3%82%A4%E3%83%88%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%80%81%E3%83%90%E3%82%A4%E3%83%88%E3%83%87%E3%83%BC%E3%82%BF1%E3%80%81%E3%83%90%E3%82%A4%E3%83%88%E3%83%87%E3%83%BC%E3%82%BF2)%20%7B%3CBR%20%2F%3E%20digitalWrite(ledPin%2C%20HIGH)%3B%3CBR%20%2F%3E%20mySerial.write(%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%EF%BC%89%3B%3CBR%20%2F%3E%20mySerial.write(%E3%83%87%E3%83%BC%E3%82%BF1%EF%BC%89%3B%3C%2FP%3E%3CP%3E%2F%2F%20%E4%B8%80%E9%83%A8%E3%81%AE%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AB%E3%81%AF%E3%83%87%E3%83%BC%E3%82%BF%20%E3%83%90%E3%82%A4%E3%83%88%E3%81%8C%201%20%E3%81%A4%E3%81%97%E3%81%8B%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%820xBn%E6%9C%AA%E6%BA%80%E3%81%AE%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AF2%E3%81%A4%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%83%90%E3%82%A4%E3%83%88%E3%82%92%E6%8C%81%E3%81%A1%E3%81%BE%E3%81%99%3CBR%20%2F%3E%2F%2F(%E3%81%82%E3%82%8B%E6%84%8F%E5%91%B3%3A%20%3CA%20href%3D%22http%3A%2F%2F253.ccarh.org%2Fhandout%2Fmidiprotocol%2F)%22%20target%3D%22test_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttp%3A%2F%2F253.ccarh.org%2Fhandout%2Fmidiprotocol%2F)%3C%2FA%3E%3CBR%20%2F%3Eif(%20(%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%20%26amp%3B%200xF0)%20%26lt%3B%3D%200xB0)%3CBR%20%2F%3E%20mySerial.write(data2%EF%BC%89%3B%3C%2FP%3E%3CP%3EdigitalWrite(ledPin%2C%20LOW)%3B%3CBR%20%2F%3E%20%7D%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-858295%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20%202%20mpr121%20sensors%20%20in%20one%20arduino%20-%26gt%3B%20serial%20communication%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-858295%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%E3%82%B8%E3%83%B3%E3%81%95%E3%82%93%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%81%AF%E3%81%84%E3%80%81%E5%90%8C%E3%81%98%20I2C%E3%83%90%E3%82%B9%20%E4%B8%8A%E3%81%AE%202%20%E3%81%A4%E3%81%AE%20MPR121%20%E3%82%BB%E3%83%B3%E3%82%B5%20%E3%81%A8%E9%80%9A%E4%BF%A1%E3%81%97%E3%81%A6%E3%80%81%E3%82%BF%E3%83%83%E3%83%81%20%E3%83%9C%E3%82%BF%E3%83%B3%E3%81%AE%E6%95%B0%E3%82%92%E6%9C%80%E5%A4%A7%2024%20%E5%80%8B%E3%81%BE%E3%81%A7%E6%8B%A1%E5%BC%B5%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E5%AE%9F%E9%9A%9B%E3%81%AB%E3%81%AF%E3%80%81ADDR%20%E3%83%94%E3%83%B3%E3%81%AE%E6%8E%A5%E7%B6%9A%E3%81%AB%E5%BF%9C%E3%81%98%E3%81%A6%E3%80%81MPR121%20%E3%81%AB%204%20%E3%81%A4%E3%81%AE%20I2C%20%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%82%92%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6CAN%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_2.png%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_2.png%22%20style%3D%22width%3A%20282px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F72547iCA51D0C367B5D16C%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22pastedImage_2.png%22%20alt%3D%22pastedImage_2.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%26nbsp%3B%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E3%81%9F%E3%81%A8%E3%81%88%E3%81%B0%E3%80%811%20%E3%81%A4%E3%81%AE%20MPR121%20%E3%82%B9%E3%83%AC%E3%83%BC%E3%83%96%E3%81%AF%E3%80%81ADDR%3DVDD%20%E3%81%AE%E5%A0%B4%E5%90%88%E3%81%AB%207%20%E3%83%93%E3%83%83%E3%83%88%E3%81%AE%20I2C%20%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%200x5A%20(%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E3%81%AE%E5%A0%B4%E5%90%88%E3%81%AF%200xB4%E3%80%81%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8A%E3%81%AE%E5%A0%B4%E5%90%88%E3%81%AF%200xB5%20%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99)%20%E3%82%92%E6%8C%81%E3%81%A1%E3%80%81%E3%82%82%E3%81%86%201%20%E3%81%A4%E3%81%AE%20MPR121%20%E3%82%B9%E3%83%AC%E3%83%BC%E3%83%96%E3%81%AF%20ADDR%3DGND%20%E3%81%AE%E5%A0%B4%E5%90%88%E3%81%AB%200x5B%20(%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E3%81%AE%E5%A0%B4%E5%90%88%E3%81%AF%200xB6%E3%80%81%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8A%E3%81%AE%E5%A0%B4%E5%90%88%E3%81%AF%200xB7%20%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99)%20%E3%82%92%E6%8C%81%E3%81%A1%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E3%81%8A%E5%BD%B9%E3%81%AB%E7%AB%8B%E3%81%A6%E3%82%8C%E3%81%B0%E5%B9%B8%E3%81%84%E3%81%A7%E3%81%99%EF%BC%81%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%83%88%E3%83%BC%E3%83%9E%E3%82%B9%3C%2FP%3E%3C%2FLINGO-BODY%3E