Я делаю проект с помощью джойстика Arduino, и я сделал светодиод включенным в двух случаях: если вы потянете ручку вверх и влево, я заметил, что если я потяну ее влево, светодиод загорится минимально, если я потяну ручкудо загорается нормально. Кто-нибудь знает почему? Я использую джойстик, входящий в комплект Arduino / Genuino Uno
void pinLight(int pin1, int pin2) { // Switches 2 pins on
digitalWrite(pin1, HIGH);
digitalWrite(pin2, HIGH);
}
void pinDark(int pin1, int pin2) { // Switches 2 pins off
digitalWrite(pin1, LOW);
digitalWrite(pin2, LOW);
}
int Xpin = A0;
int Ypin = A1;
int Xval, Yval;
void setup() {
for (int i = 2; i < 13; i++) {
pinMode(i, OUTPUT);
}
Serial.begin(9600);
pinMode(Xpin, INPUT);
pinMode(Ypin, INPUT);
}
void loop() {
Xval = analogRead(Xpin);
Yval = analogRead(Ypin);
delay(20); // Used for debug
Serial.println(Xval);
Serial.println(Yval);
// Slightly turned right
if (Xval < 420) {
pinLight(8, 9);
} else {
pinDark(8, 9);
}
// Slightly turned left
if (Xval > 550) {
pinLight(6, 7);
} else {
pinDark(6, 7);
}
// Slightly turned up
if (Yval < 506) {
pinLight(7, 9);
} else {
pinDark(7, 9);
}
// Turned left
if (Xval < 10 && Yval > 90) {
digitalWrite(12, HIGH);
} else {
digitalWrite(12, LOW);
}
// Turned right
if (Xval > 1010) {
pinLight(3, 11);
} else {
pinDark(2, 3);
}
// Turned up
if (Yval < 10) {
pinLight(5, 11);
} else {
pinDark(5, 11);
}
}