62 lines
1.2 KiB
C++
62 lines
1.2 KiB
C++
int pushButton1 = 2;
|
|
int pushButton2 = 4;
|
|
int pushButton3 = 6;
|
|
int pushButton4 = 11;
|
|
|
|
int buttons[4] = {pushButton1, pushButton2, pushButton3, pushButton4};
|
|
|
|
|
|
void setup() {
|
|
// set the digital pin as output:
|
|
Serial.begin(9600);
|
|
pinMode(pushButton1, OUTPUT);
|
|
digitalWrite(pushButton1, LOW);
|
|
pinMode(pushButton2, INPUT_PULLUP);
|
|
pinMode(pushButton3, INPUT_PULLUP);
|
|
pinMode(pushButton4, INPUT_PULLUP);
|
|
}
|
|
|
|
void loop() {
|
|
bool received_input = false;
|
|
for (int ii = 0; ii < 4; ii++)
|
|
{
|
|
for (int jj = 0; jj < 4; jj++)
|
|
{
|
|
if (jj == ii)
|
|
{
|
|
pinMode(buttons[jj], OUTPUT);
|
|
digitalWrite(buttons[jj], LOW);
|
|
}
|
|
else
|
|
{
|
|
pinMode(buttons[jj], INPUT_PULLUP);
|
|
}
|
|
}
|
|
for (int jj = ii; jj < 4; jj++)
|
|
{
|
|
if (!(ii == jj) && !digitalRead(buttons[jj]))
|
|
{
|
|
Serial.println(analogRead(buttons[jj]));
|
|
for (int kk = 3; kk >= 0; kk--)
|
|
{
|
|
if (kk == ii || kk == jj)
|
|
{
|
|
Serial.print(1);
|
|
}
|
|
else
|
|
{
|
|
Serial.print(0);
|
|
}
|
|
}
|
|
Serial.print("\n");
|
|
received_input = true;
|
|
break;
|
|
}
|
|
}
|
|
if (received_input)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|