
Cílem tohoto projektu je vytvoření jednoduchého ovládacího systému, který umožňuje naklápění dvou servomotorů pomocí analogového joysticku. Platforma řízená servomotory může simulovat pohyb například v ose X a Y — tedy naklánění doleva/doprava a dopředu/dozadu. Tento systém může sloužit jako základ pro různé aplikace:
- Manuální ovládání kamery nebo senzoru (např. na pohyblivé konstrukci nebo robotovi)
- Interaktivní ovládací panel pro školní projekty nebo herní ovladač
Schéma zapojení:
| Joystick: | |
| VCC | 5V na Arduinu |
| GND | GND na Arduinu |
| VRx (Osa X) | Analogový pin A0 |
| VRy (Osa Y) | Analogový pin A1 |
| Servomotory: | |
| Servo X (například osa doleva/doprava) | |
| Signální kabel | Digitální pin 9 |
| VCC | 5V na Arduinu |
| GND | GND na Arduinu |
| Servo Y (například osa dopředu/dozadu) | |
| Signální kabel | Digitální pin 10 |
| VCC | 5V na Arduinu |
| GND | GND na Arduinu |

Kód pro arduino:
#include <Arduino.h>
#include <Servo.h>
Servo servoX; // Servo motor for the X axis (e.g. left/right)
Servo servoY; // Servo motor for the Y axis (e.g. forward/backward)
int joyPinX = A0; // Analog pin for the joystick's X axis
int joyPinY = A1; // Analog pin for the joystick's Y axis
void setup() {
servoX.attach(9); // Attach servo X to pin 9
servoY.attach(10); // Attach servo Y to pin 10
}
void loop() {
// Read joystick values
int valX = analogRead(joyPinX);
int valY = analogRead(joyPinY);
// Convert joystick values to servo angle range (0–180°)
int angleX = map(valX, 0, 1023, 0, 180);
int angleY = map(valY, 0, 1023, 0, 180);
// Set the servo positions according to calculated angles
servoX.write(angleX);
servoY.write(angleY);
delay(15); // Short delay for smoother movement
}
