Electronic TiltMaze


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
}

Další podobné články

OVLÁDÁNÍ LED NEBO ZÁSUVKY S MODULEM CC1101 433.92Mhz

Po prvních pokusech s moduly CC1101 433.92Mhz jsem se po čase rozhodl si vyzkoušet napsat program na jednoduché ovládání led diody tak aby jeden modul pravidelně vysílal hodnoty které se na druhém modulu vyhodnotí a tento pak bude pravidelně blikat led diodou. Po tomto programu a jeho odzkoušení jsem se rozhodl si napsat další program na zjištění číselných hodnot tlačítek na dálkovém ovladači pro bezdrátové zásuvky 433Mhz, a tyto pak ovládat dalším napsaným programem na zapínání a vypínání zásuvky. Pro ovládání jsem použil Arduino Nano které jsem pro testování osadil do Arduino IO shieldu, pro komunikaci mezi Arduino a modulem CC1101 jsem použit 8 – kanálový obousměrný převodník logických úrovní (5V – 3.3V) a pro napájení celé sestavy jsem použil vyrobený napájecí zdroj s výstupním napětím 8V pro napájení  Arduino Nano,  5V a 3.3V pro napájení převodníku a modulu CC1101. Uvedené přípravky rozšiřují zapojení uveřejněná v [1].