Ovladani servaCílem tohoto projektu je se naučit jak ovládat servo pomocí joystick modulu a Arduina v našem případě pomocí Arduina Una R3. +Vysvětlení kódu.

  • Joystick měří pohyb páčky v různých směrech a přenáší ho jako hodnoty.
  • Servo nastavuje svou polohu na daný úhel podle vstupního signálu. Spolu joystick a servo umožňují přesné ovládání směru a polohy.

CO POTŘEBUJI?

  • Arduino (v tomto případě Uno R3 může být i klon)
  • Joystick module (QYF-860)
  • Servo (180°)
  • Dráty (6)

Viz foto:komponenty

ZAPOJENÍ

U joystick modulu používáme jenom osu X (VRX).

Viz schéma:
Schéma zapojení

KÓD A OŽIVENÍ

V Arduino IDE zadáme kód a uploadujeme

#include <Servo.h>

Servo myServo;               // Vytvoření objektu Servo
int joystickXPin = A0;       // Pin, ke kterému je připojen joystick modul (VRx)
int servoPin = 9;            // Pin, ke kterému je připojeno servo

int servoAngle = 90;         // Výchozí úhel serva (střední pozice 90°)
int tolerance = 10;          // Tolerance pro středovou pozici joysticku (Jostick modul nebude ujíždět)

void setup() {
  myServo.attach(servoPin);  // Připojení serva na pin
  myServo.write(servoAngle); // Nastavení výchozí pozice serva na střed (90°) Protože máme 180° servo.
  Serial.begin(9600);        // Inicializace sériové komunikace (pro ladění)
}

void loop() {
  int joystickX = analogRead(joystickXPin);   // Čtení hodnoty joysticku (VRx)

  
  // Mapování hodnot joysticku (0 - 1023) na rozsah serva (0 - 180°)
  if (joystickX > 512 + tolerance || joystickX < 512 - tolerance) {
    servoAngle = map(joystickX, 0, 1023, 0, 180);
    myServo.write(servoAngle);  // Nastavení serva podle joysticku
  }

  // Krátké zpoždění pro stabilitu
  delay(10);
}

Jak funguje tento kód?

Tento kód ovládá servo motor pomocí joysticku. Joystick čte hodnotu z osy X a pomocí funkce map() převádí tuto hodnotu (0 až 1023) na úhel (0 až 180°), který určuje polohu serva. Servo se otáčí podle pohybu joysticku: čím více je joystick posunutý vpravo, tím více se servo otočí doprava, a naopak.

FB tw

Další podobné články