ArduinoAmstradCPCJoystick/amstradcpc2serial.ino

73 lines
1.5 KiB
Arduino
Raw Normal View History

2020-10-24 01:05:03 +02:00
const int pl1up = 44;
const int p11dn = 46;
const int p11lf = 42;
const int p11rg = 48;
const int p11f2 = 50;
const int p11f1 = 40;
const int pl2up = 30;
const int pl2dn = 32;
const int pl2lf = 28;
const int pl2rg = 34;
const int pl2f2 = 36;
const int pl2f1 = 26;
void setup() {
Serial.begin(9600);
pinMode(pl1up, INPUT_PULLUP);
pinMode(p11dn, INPUT_PULLUP);
pinMode(p11lf, INPUT_PULLUP);
pinMode(p11rg, INPUT_PULLUP);
pinMode(p11f2, INPUT_PULLUP);
pinMode(p11f1, INPUT_PULLUP);
pinMode(pl2up, INPUT_PULLUP);
pinMode(pl2dn, INPUT_PULLUP);
pinMode(pl2lf, INPUT_PULLUP);
pinMode(pl2rg, INPUT_PULLUP);
pinMode(pl2f2, INPUT_PULLUP);
pinMode(pl2f1, INPUT_PULLUP);
}
void loop() {
uint8_t pl1_state = 0;
if (digitalRead(pl1up) == LOW) {
pl1_state += 1;
}
if (digitalRead(p11dn) == LOW) {
pl1_state += 2;
}
if (digitalRead(p11lf) == LOW) {
pl1_state += 4;
}
if (digitalRead(p11rg) == LOW) {
pl1_state += 8;
}
if (digitalRead(p11f2) == LOW) {
pl1_state += 16;
}
if (digitalRead(p11f1) == LOW) {
pl1_state += 32;
}
Serial.write(pl1_state);
uint8_t pl2_state = 64;
if (digitalRead(pl2up) == LOW) {
pl2_state += 1;
}
if (digitalRead(pl2dn) == LOW) {
pl2_state += 2;
}
if (digitalRead(pl2lf) == LOW) {
pl2_state += 4;
}
if (digitalRead(pl2rg) == LOW) {
pl2_state += 8;
}
if (digitalRead(pl2f2) == LOW) {
pl2_state += 16;
}
if (digitalRead(pl2f1) == LOW) {
pl2_state += 32;
}
Serial.write(pl2_state);
delay(50);
}