<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sk">
	<id>https://3dliga.robotika.sk/wiki/index.php?action=history&amp;feed=atom&amp;title=Arm_structure</id>
	<title>Arm structure - História úprav</title>
	<link rel="self" type="application/atom+xml" href="https://3dliga.robotika.sk/wiki/index.php?action=history&amp;feed=atom&amp;title=Arm_structure"/>
	<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=Arm_structure&amp;action=history"/>
	<updated>2026-08-04T22:48:31Z</updated>
	<subtitle>História úprav pre túto stránku na wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://3dliga.robotika.sk/wiki/index.php?title=Arm_structure&amp;diff=181&amp;oldid=prev</id>
		<title>Sebastian: Vytvorená stránka „&lt;syntaxhighlight lang=&quot;C&quot;&gt; #include &lt;Servo.h&gt;  // Joystick const int JOY_X  = 26; const int JOY_Y  = 27; const int JOY_SW = 6;  // Touch senzory const int TOUCH_1 = 7;   // dopredu/dozadu const int TOUCH_2 = 8;   // dopredu/dozadu (opačný smer)  // Servá #define SERVO_ROTACIA   12  // 360° – otáčanie doľava/doprava #define SERVO_HORE_DOLE 13  // 180° – pohyb nahor/nadol #define SERVO_DOPREDU   14  // 180° – pohyb dopredu/dozadu #define SERVO_KLIESTE…“</title>
		<link rel="alternate" type="text/html" href="https://3dliga.robotika.sk/wiki/index.php?title=Arm_structure&amp;diff=181&amp;oldid=prev"/>
		<updated>2026-05-08T02:05:06Z</updated>

		<summary type="html">&lt;p&gt;Vytvorená stránka „&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt; #include &amp;lt;Servo.h&amp;gt;  // Joystick const int JOY_X  = 26; const int JOY_Y  = 27; const int JOY_SW = 6;  // Touch senzory const int TOUCH_1 = 7;   // dopredu/dozadu const int TOUCH_2 = 8;   // dopredu/dozadu (opačný smer)  // Servá #define SERVO_ROTACIA   12  // 360° – otáčanie doľava/doprava #define SERVO_HORE_DOLE 13  // 180° – pohyb nahor/nadol #define SERVO_DOPREDU   14  // 180° – pohyb dopredu/dozadu #define SERVO_KLIESTE…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nová stránka&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Joystick&lt;br /&gt;
const int JOY_X  = 26;&lt;br /&gt;
const int JOY_Y  = 27;&lt;br /&gt;
const int JOY_SW = 6;&lt;br /&gt;
&lt;br /&gt;
// Touch senzory&lt;br /&gt;
const int TOUCH_1 = 7;   // dopredu/dozadu&lt;br /&gt;
const int TOUCH_2 = 8;   // dopredu/dozadu (opačný smer)&lt;br /&gt;
&lt;br /&gt;
// Servá&lt;br /&gt;
#define SERVO_ROTACIA   12  // 360° – otáčanie doľava/doprava&lt;br /&gt;
#define SERVO_HORE_DOLE 13  // 180° – pohyb nahor/nadol&lt;br /&gt;
#define SERVO_DOPREDU   14  // 180° – pohyb dopredu/dozadu&lt;br /&gt;
#define SERVO_KLIESTE   15  // 180° – otvoriť/zatvoriť kliešte&lt;br /&gt;
&lt;br /&gt;
Servo servoRotacia;&lt;br /&gt;
Servo servoHoreDole;&lt;br /&gt;
Servo servoDopredu;&lt;br /&gt;
Servo servoKlieste;&lt;br /&gt;
&lt;br /&gt;
// Aktuálne pozície 180° serv (0–180°)&lt;br /&gt;
int posHoreDole = 90;&lt;br /&gt;
int posDopredu  = 90;&lt;br /&gt;
int posKlieste  = 90;  // 90 = zatvorené, 0 = otvorené&lt;br /&gt;
&lt;br /&gt;
// Citlivosť joysticku – pásmo okolo stredu kde sa nič nedeje&lt;br /&gt;
const int DEAD_ZONE = 1000;  // stred je ~2048, ignorujeme 2048±1000, chceme okraje&lt;br /&gt;
const int SPEED = 2;        // o koľko stupňov sa servo pohne pri každom kroku&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  analogReadResolution(12);&lt;br /&gt;
&lt;br /&gt;
  pinMode(JOY_SW,  INPUT_PULLUP);&lt;br /&gt;
  pinMode(TOUCH_1, INPUT);&lt;br /&gt;
  pinMode(TOUCH_2, INPUT);&lt;br /&gt;
&lt;br /&gt;
  servoRotacia.attach(SERVO_ROTACIA,   500, 2500);&lt;br /&gt;
  servoHoreDole.attach(SERVO_HORE_DOLE, 500, 2500);&lt;br /&gt;
  servoDopredu.attach(SERVO_DOPREDU,   500, 2500);&lt;br /&gt;
  servoKlieste.attach(SERVO_KLIESTE,   500, 2500);&lt;br /&gt;
&lt;br /&gt;
  // Nastav všetky servá do stredu&lt;br /&gt;
  servoRotacia.write(90);&lt;br /&gt;
  servoHoreDole.write(posHoreDole);&lt;br /&gt;
  servoDopredu.write(posDopredu);&lt;br /&gt;
  servoKlieste.write(posKlieste);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Obmedzí hodnotu na rozsah min–max&lt;br /&gt;
int clamp(int val, int minVal, int maxVal) {&lt;br /&gt;
  if (val &amp;lt; minVal) return minVal;&lt;br /&gt;
  if (val &amp;gt; maxVal) return maxVal;&lt;br /&gt;
  return val;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int x  = analogRead(JOY_X);&lt;br /&gt;
  int y  = analogRead(JOY_Y);&lt;br /&gt;
  int sw = digitalRead(JOY_SW);&lt;br /&gt;
  int t1 = digitalRead(TOUCH_1);&lt;br /&gt;
  int t2 = digitalRead(TOUCH_2);&lt;br /&gt;
&lt;br /&gt;
  // 1. Otáčanie doľava/doprava – 360° servo&lt;br /&gt;
  // Stred (2048) = stoj, pod stred = jedna strana, nad stred = druhá strana&lt;br /&gt;
  if (x &amp;lt; 2048 - DEAD_ZONE) {&lt;br /&gt;
    // --- doplňte: otáčanie doľava ---&lt;br /&gt;
    // Nápoveda: servoRotacia.write(hodnota pod 90)&lt;br /&gt;
  } else if (x &amp;gt; 2048 + DEAD_ZONE) {&lt;br /&gt;
    // --- doplňte: otáčanie doprava ---&lt;br /&gt;
  } else {&lt;br /&gt;
    servoRotacia.write(90);  // stoj&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // 2. Pohyb nahor/nadol – os Y joysticku&lt;br /&gt;
  if (y &amp;lt; 2048 - DEAD_ZONE) {&lt;br /&gt;
    posHoreDole = clamp(posHoreDole - SPEED, 0, 180);&lt;br /&gt;
  } else if (y &amp;gt; 2048 + DEAD_ZONE) {&lt;br /&gt;
    posHoreDole = clamp(posHoreDole + SPEED, 0, 180);&lt;br /&gt;
  }&lt;br /&gt;
  servoHoreDole.write(posHoreDole);&lt;br /&gt;
&lt;br /&gt;
  // 3. Pohyb dopredu/dozadu – touch senzory&lt;br /&gt;
  if (t1 == HIGH) {&lt;br /&gt;
    posDopredu = clamp(posDopredu + SPEED, 0, 180);&lt;br /&gt;
  } else if (t2 == HIGH) {&lt;br /&gt;
    posDopredu = clamp(posDopredu - SPEED, 0, 180);&lt;br /&gt;
  }&lt;br /&gt;
  servoDopredu.write(posDopredu);&lt;br /&gt;
&lt;br /&gt;
  // 4. Kliešte – stlačenie joysticku&lt;br /&gt;
  if (sw == LOW) {&lt;br /&gt;
    // --- doplňte: prepínanie otvorené/zatvorené ---&lt;br /&gt;
    // Nápoveda: použite bool premennú na zapamätanie stavu&lt;br /&gt;
    // a debouncing – pridajte delay alebo kontrolu zmeny stavu&lt;br /&gt;
  }&lt;br /&gt;
  servoKlieste.write(posKlieste);&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;X:&amp;quot;); Serial.print(x);&lt;br /&gt;
  Serial.print(&amp;quot; Y:&amp;quot;); Serial.print(y);&lt;br /&gt;
  Serial.print(&amp;quot; HoreDole:&amp;quot;); Serial.print(posHoreDole);&lt;br /&gt;
  Serial.print(&amp;quot; Dopredu:&amp;quot;); Serial.print(posDopredu);&lt;br /&gt;
  Serial.print(&amp;quot; Klieste:&amp;quot;); Serial.println(posKlieste);&lt;br /&gt;
&lt;br /&gt;
  delay(20);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>
	</entry>
</feed>