Analogovy joystick - manual
Prejsť na navigáciu
Prejsť na vyhľadávanie
Joystick
Joystick ktorý ste dostali má 2 osi (X a Y) a 1 tlačidlo (SW – stlačenie joysticku). Funguje ako dva potenciometre – otočením v smere X alebo Y sa mení odpor a tým aj analógová hodnota na výstupe.
Zapojenie
| Pin joysticku | Pin na RP2350-Zero |
|---|---|
| VCC | 3.3V |
| GND | GND |
| VRX (os X) | GP26 (ADC) |
| VRY (os Y) | GP27 (ADC) |
| SW (tlačidlo) | GP6 |
Kód
Vyskúšaj toto: Skopíruj a spusti nasledujúci program. Otvor sériový monitor (115200 baud) a pohybuj joystickom. Sleduj ako sa menia hodnoty.
const int JOY_X = 26;
const int JOY_Y = 27;
const int JOY_SW = 6;
void setup() {
Serial.begin(115200);
analogReadResolution(12); // 12-bitové ADC (0–4095)
pinMode(JOY_SW, INPUT_PULLUP); // tlačidlo – aktívne LOW
}
void loop() {
int x = analogRead(JOY_X);
int y = analogRead(JOY_Y);
int sw = digitalRead(JOY_SW); // 0 = stlačené, 1 = nestlačené
Serial.print("X: "); Serial.print(x);
Serial.print(" Y: "); Serial.print(y);
Serial.print(" SW: "); Serial.println(sw == LOW ? "stlacene" : "volne");
delay(100);
}
| Novinka | Vysvetlenie |
|---|---|
INPUT_PULLUP |
Aktivuje vnútorný pull-up rezistor – tlačidlo číta LOW keď je stlačené a HIGH keď nie
|
sw == LOW |
Tlačidlo je aktívne LOW – stlačenie stiahne pin na GND |