Files
HardwareDesign/Test/Test.ino
2023-08-24 17:14:38 +08:00

50 lines
1.0 KiB
C++

byte status = 0;
byte layer = 0;
void setup() {
Serial.begin(115200);
for (int i = 0; i < 8; i++) {
pinMode(22 + i, OUTPUT);
}
// pinMode(30, OUTPUT);
// pinMode(31, OUTPUT);
for (int i = 0; i < 8; i++) {
pinMode(30 + i, OUTPUT);
}
for (int i = 0; i < 8; i++) {
pinMode(38 + i, OUTPUT);
}
}
int column = 0;
void loop() {
if (Serial.available()) {
int num = Serial.read();
if (num >= '0' && num <= '7') {
num = num - '0';
status ^= 1 << num;
for (int i = 0; i < 8; i++) {
digitalWrite(22 + i, status >> i & 1);
}
Serial.println(status, BIN);
} else if (num >= 'a' && num <= 'h') {
num = num - 'a';
column = num;
Serial.print("LOAD");
Serial.print(num);
Serial.println(status, BIN);
digitalWrite(30 + column, HIGH);
digitalWrite(30 + column, LOW);
}
else if (num == 'z') {
digitalWrite(38 + layer, LOW);
layer = (layer + 1) % 8;
digitalWrite(38 + layer, HIGH);
}
}
}