Prog Shield XY Joystick

Fra Holstebro HTX Wiki
Skift til: navigering, søgning
XY Joystick kan monteres som vist nederst på siden

Et Joystick kan anvendes til at styre noget i både en X- og en Y-retning.

Joysticket er i princippet analogt, da man kan kontrollere spændingen i begge akser mellem 0 og 5V (0-1023 læst med analogRead()). I praksis er hvile-positionen på ca. 2,5V (ca. 512), dog med en vis variation. Mekanisk skal knoppen bevæges noget før der kommer en variation, og variationen op til 5V eller ned til 0V sker over et ret begrænset område, hvorefter resten at bevægelsen giver samme værdi.

Oprindeligt er Joysticket ikke tænkt ind i shieldet, men stikket til I2C-displayet giver forsyning de rigtige steder og X og Y spændingerne passe med at gå ind på A4 og A5, så man kan aflæse den analoge værdi. Der er dog nogle ulemper ved at bruge dette stik. Dels så blokerer man alle andre I2C moduler, fordi de skal anvende A4 og A5 til kommunikation, og man blokerer rent mekanisk for at få et display på.

Joysticket har også en trykknap indbygget, men den er heller ikke tilgængelig, da der ikke er ben i stikket til det.

Joysticket er købt i Kina[1]

Software

Softwaren herunder er et simpelt program, der aflæser de to kanaler og sender dem serielt, så de kan aflæses i Serial Monitor.

/*
 * Lille test-program til Joy-stick, der aflæser værdierne og printer dem
 * på den serielle port.
 * 
 * Programmet fungerer ikke sammen med I2C komponenter, da de udnytter A4 og A5
 * 
 * Bent Arnoldsen, Holstebro HTX - bar@ucholstebro.dk
 */
void setup() {
  // Initialiser den serielle port
  Serial.begin(9600);
}

void loop() {
  // Aflæs de to akser, analogt på A4 og A5
  int x = analogRead(A4);
  int y = analogRead(A5);
  // Print tekst og værdier på den serielle monitor
  Serial.print("X = ");
  Serial.print(x);
  Serial.print("   \tY = ");
  Serial.println(y);
  // Lille pause for at give luft til seriel-porten
  delay(50);
}

Layout

XY-Joystick modulets placering på programmerings-shieldet kan ses her:
Layout-Joystick.png
Placering af XY-Joystick modulet

Referencer

  1. Aliexpress Købsside