Přeskočit obsah

Joystick (2 osy + tlačítko) — inicializace (joystick_init)

Co dělá: Inicializuje dvouosý analogový joystick (VRX, VRY) s tlačítkem SW a nastaví orientaci os podle zvolené rotace.

joystick_init

Vstupy

  • vrx: analogový pin osy X.
  • vry: analogový pin osy Y.
  • sw: pin tlačítka joysticku.
  • Pole joy_name: identifikátor joysticku.
  • Pole rot: otočení os (, 90°, 180°, 270°).

Výstup

  • Žádný (příkazový blok).

Kdy použít

  • Jednou při startu programu před čtením osy a směru.
  • Když používáš fyzický joystick připojený na piny procesoru. U Bluetooth virtuálního joysticku tento blok není nutný.

Tipy a pasti

  • U ESP32C3 je maximální měřitelné napětí na AD převodníku 2.5V. Pro použití joysticku je potřeba snížit napětí výstupu například sériovým zařazením odporu 2Kohm před VCC pin joysticku.

joystick_schematic_resistor_mod_esp32c3

  • Běžný joystick modul je tvořen dvěma potenciometry 10K a tlačítkem.
  • Po mechanickém uvolnění nemusí být střed přesně 0, proto se při zavolání inicializace automaticky kalibruje středová poloha.
  • V této implementaci se osa používá v rozsahu -100% až 100%.

Příklad použití

example_joy

Otevřít příklad v ESP IDE

Ukázka generovaného Python kódu

import joy_lib

joystick1 = joy_lib.joystick(34, 35, 32, 0)