<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[RemoteXY community — Управление Сервоприводом]]></title>
	<link rel="self" href="https://forum.remotexy.com/extern.php?action=feed&amp;tid=363&amp;type=atom" />
	<updated>2018-11-19T18:11:50Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.remotexy.com/viewtopic.php?id=363</id>
		<entry>
			<title type="html"><![CDATA[Re: Управление Сервоприводом]]></title>
			<link rel="alternate" href="https://forum.remotexy.com/viewtopic.php?pid=1883#p1883" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>kdn567 wrote:</cite><blockquote><p>На ардуино нано подключил серво на 10 канал, с мотором через l293 всё глючит и зависает, по отдельности мотор и серва работают, не знаете в чём может быть проблема?</p></blockquote></div><p>Возможно конфликт по таймерам-счетчикам которые одновременно пытается использовать библиотека Servo и ШИМ регулятор для управления мотором.</p>]]></content>
			<author>
				<name><![CDATA[remotexy]]></name>
				<uri>https://forum.remotexy.com/profile.php?id=2</uri>
			</author>
			<updated>2018-11-19T18:11:50Z</updated>
			<id>https://forum.remotexy.com/viewtopic.php?pid=1883#p1883</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Управление Сервоприводом]]></title>
			<link rel="alternate" href="https://forum.remotexy.com/viewtopic.php?pid=1877#p1877" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>olegeglit wrote:</cite><blockquote><p>Спасибо, из другой ветки разобрался с проблемой управления мотором (Библиотека Servo позволяет одновременно управлять 12-ю сервоприводами на большинстве плат Arduino и 48-ю на Arduino Mega. На контроллерах отличных от Mega использование библиотеки отключает возможность использовать выходы 9 и 10 в режиме ШИМ даже если привод не подключен к этим выводам.)</p></blockquote></div><p>На ардуино нано подключил серво на 10 канал, с мотором через l293 всё глючит и зависает, по отдельности мотор и серва работают, не знаете в чём может быть проблема?</p>]]></content>
			<author>
				<name><![CDATA[kdn567]]></name>
				<uri>https://forum.remotexy.com/profile.php?id=761</uri>
			</author>
			<updated>2018-11-15T13:21:42Z</updated>
			<id>https://forum.remotexy.com/viewtopic.php?pid=1877#p1877</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Управление Сервоприводом]]></title>
			<link rel="alternate" href="https://forum.remotexy.com/viewtopic.php?pid=1296#p1296" />
			<content type="html"><![CDATA[<p>Спасибо, из другой ветки разобрался с проблемой управления мотором (Библиотека Servo позволяет одновременно управлять 12-ю сервоприводами на большинстве плат Arduino и 48-ю на Arduino Mega. На контроллерах отличных от Mega использование библиотеки отключает возможность использовать выходы 9 и 10 в режиме ШИМ даже если привод не подключен к этим выводам.)</p>]]></content>
			<author>
				<name><![CDATA[olegeglit]]></name>
				<uri>https://forum.remotexy.com/profile.php?id=497</uri>
			</author>
			<updated>2018-01-30T16:52:12Z</updated>
			<id>https://forum.remotexy.com/viewtopic.php?pid=1296#p1296</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Управление Сервоприводом]]></title>
			<link rel="alternate" href="https://forum.remotexy.com/viewtopic.php?pid=1287#p1287" />
			<content type="html"><![CDATA[<p>1. Вычисляете целевой угол сервопривода:<br /></p><div class="codebox"><pre><code>target_angle = map(RemoteXY.slider_1, 0, 100, myservo1_L_ANGLE, myservo1_R_ANGLE );</code></pre></div><p>2. Вычисляете текущий угол сервопривода<br /></p><div class="codebox"><pre><code>if (target_angle &gt; curmyservo1Angle + myservo1_STEP) curmyservo1Angle +=myservo1_STEP;
else if (target_angle &lt; curmyservo1Angle - myservo1_STEP) curmyservo1Angle -=myservo1_STEP;
else curmyservo1Angle = target_angle;</code></pre></div><p>3. Устанавливаете текущее положение сервопривода<br /></p><div class="codebox"><pre><code> myservo1.write(curmyservo1Angle);</code></pre></div><p>PS. В приведенном примере возможно есть тех.ошибки, но думаю суть понятна.<br />Кроме того для более равномерного движения сервопривода шаг изменения угла в каждом цикле контроллера желательно синхронизировать с длительностью цикла по времени.</p><div class="quotebox"><blockquote><p>или если эта проблема в этой программе не решается, то буду использовать другую</p></blockquote></div><p>RemoteXY вам возвращает текущее положение слайдера, и это ее основное назначения. Как вы поступите с этим положением и как вы его будите использовать для вычислений в ваших данных - это задача которую вы должны решить сами.</p>]]></content>
			<author>
				<name><![CDATA[remotexy]]></name>
				<uri>https://forum.remotexy.com/profile.php?id=2</uri>
			</author>
			<updated>2018-01-28T18:08:13Z</updated>
			<id>https://forum.remotexy.com/viewtopic.php?pid=1287#p1287</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Управление Сервоприводом]]></title>
			<link rel="alternate" href="https://forum.remotexy.com/viewtopic.php?pid=1283#p1283" />
			<content type="html"><![CDATA[<p>Функция map() нравится <img src="https://forum.remotexy.com/img/smilies/smile.png" width="15" height="15" alt="smile" />, но вот менять шаг нельзя, </p><p>подскажи, как точно выставить ограничения по углу сервы?</p><p> myservo.attach(9);&nbsp; <br />&nbsp; RemoteXY.slider_1 = 20;&nbsp; <br />&nbsp; &nbsp; <br />}&nbsp; </p><p>void loop()&nbsp; &nbsp;<br />{&nbsp; &nbsp;<br />&nbsp; RemoteXY_Handler ();&nbsp; </p><p>&nbsp; // TODO you loop code&nbsp; <br />&nbsp; // use the RemoteXY structure for data transfer&nbsp; </p><p>&nbsp; int ms = RemoteXY.slider_1; <br />&nbsp; ms = map(ms, 0, 100, 50, 100); <br />&nbsp; myservo.write(ms);</p>]]></content>
			<author>
				<name><![CDATA[olegeglit]]></name>
				<uri>https://forum.remotexy.com/profile.php?id=497</uri>
			</author>
			<updated>2018-01-28T13:10:15Z</updated>
			<id>https://forum.remotexy.com/viewtopic.php?pid=1283#p1283</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Управление Сервоприводом]]></title>
			<link rel="alternate" href="https://forum.remotexy.com/viewtopic.php?pid=1247#p1247" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>olegeglit wrote:</cite><blockquote><p>ограничению угла поворота сервопривода и шага</p></blockquote></div><p>Функция map() не нравится? Элемент управления - слайдер? Шаг 0.01 градуса? оО</p>]]></content>
			<author>
				<name><![CDATA[Focus]]></name>
				<uri>https://forum.remotexy.com/profile.php?id=149</uri>
			</author>
			<updated>2018-01-21T03:21:28Z</updated>
			<id>https://forum.remotexy.com/viewtopic.php?pid=1247#p1247</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Управление Сервоприводом]]></title>
			<link rel="alternate" href="https://forum.remotexy.com/viewtopic.php?pid=1243#p1243" />
			<content type="html"><![CDATA[<p>кто может помочь с этой проблемой по ограничению угла поворота сервопривода и шага? или если эта проблема в этой программе не решается, то буду использовать другую <img src="https://forum.remotexy.com/img/smilies/sad.png" width="15" height="15" alt="sad" /></p>]]></content>
			<author>
				<name><![CDATA[olegeglit]]></name>
				<uri>https://forum.remotexy.com/profile.php?id=497</uri>
			</author>
			<updated>2018-01-16T07:07:47Z</updated>
			<id>https://forum.remotexy.com/viewtopic.php?pid=1243#p1243</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Управление Сервоприводом]]></title>
			<link rel="alternate" href="https://forum.remotexy.com/viewtopic.php?pid=1242#p1242" />
			<content type="html"><![CDATA[<p>Дополнение к предыдущему посту</p><p>вот приблизительно что я хочу получить от этой программы</p><br /><br /><br /><br /><p>// RemoteXY select connection mode and include library&nbsp; </p><br /><p>#define REMOTEXY_MODE__HARDSERIAL</p><p>#include &lt;RemoteXY.h&gt; </p><p>// RemoteXY connection settings&nbsp; <br />#define REMOTEXY_SERIAL Serial <br />#define REMOTEXY_SERIAL_SPEED 9600 </p><br /><p>// RemoteXY configurate&nbsp; &nbsp;<br />#pragma pack(push, 1) <br />uint8_t RemoteXY_CONF[] = <br />&nbsp; { 255,8,0,0,0,60,0,8,13,0,<br />&nbsp; 4,0,48,2,5,41,2,26,4,0,<br />&nbsp; 61,2,5,41,2,26,4,0,76,2,<br />&nbsp; 5,41,2,26,4,0,88,2,5,41,<br />&nbsp; 2,26,4,160,46,46,49,5,2,26,<br />&nbsp; 4,160,46,54,49,5,2,26,5,0,<br />&nbsp; 10,16,30,30,2,26,31 }; <br />&nbsp; &nbsp;<br />// this structure defines all the variables of your control interface&nbsp; <br />struct { </p><p>&nbsp; &nbsp; // input variable<br />&nbsp; int8_t slider_1; // =0..100 slider position <br />&nbsp; int8_t slider_2; // =0..100 slider position <br />&nbsp; int8_t slider_3; // =0..100 slider position <br />&nbsp; int8_t slider_4; // =0..100 slider position <br />&nbsp; int8_t slider_5; // =-100..100 slider position <br />&nbsp; int8_t slider_6; // =-100..100 slider position <br />&nbsp; int8_t joystick_1_x; // =-100..100 x-coordinate joystick position <br />&nbsp; int8_t joystick_1_y; // =-100..100 y-coordinate joystick position <br />&nbsp; </p><p>&nbsp; &nbsp; // other variable<br />&nbsp; uint8_t connect_flag;&nbsp; // =1 if wire connected, else =0 </p><p>} RemoteXY; <br />#pragma pack(pop) </p><p>///////////////////////////////////////////// <br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;END RemoteXY include&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // <br />///////////////////////////////////////////// </p><p>#include &lt;Servo.h&gt;&nbsp; &nbsp;</p><p>Servo myservo1;<br />Servo myservo2;<br />Servo myservo3;<br />Servo myservo4;<br />Servo myservo5;<br />Servo myservo6;<br /><strong><br />const float myservo1_L_ANGLE = 145; // Максимальные угл поворота налево <br />const float myservo1_R_ANGLE = 25;&nbsp; // Максимальные угл поворота направо <br />const float myservo1_DEF_ANGLE = 85; // Дефолтный угол (центровка) <br />const float myservo2_U_ANGLE = 55;&nbsp; // Максимальные угл поворота вверх <br />const float myservo2_D_ANGLE = 0; // Максимальные угл поворота вниз <br />const float myservo2_DEF_ANGLE = 25; // Дефолтный угол (центровка)<br />//Размер шага V_STEP и H_STEP побираем экспериментально для достижения нужной скорости поворота серв<br />const float myservo2_STEP = 0.01; // Шаг - знаение отвечающее за скорость вращения по вертикали.<br />const float myservo1_STEP = 0.02; // Шаг - знаение отвечающее за скорость вращения по горизонтали<br />float curmyservo2Angle = myservo2_DEF_ANGLE; //Переменная текущего угла верт. сервы<br />float curmyservo1Angle = myservo1_DEF_ANGLE; //Переменная текущего угла гор. сервы<br />bool moveServomyservo2Up = false; //Флаг движения верт. сервы вверх<br />bool moveServomyservo1Down = false; //Флаг движения верт. сервы вниз<br />bool moveServomyservo2Left = false; //Флаг движения гор. сервы влево<br />bool moveServomyservo1Right = false; //Флаг движения гор. сервы вправо<br />const int TIMEOUT_TIME_MS = 150;<br />unsigned long lastPilotSymbolTime;<br />char symbol;<br /></strong><br />/* определяем пины управления правым мотором */ <br />#define PIN_MOTOR_RIGHT_UP 8 <br />#define PIN_MOTOR_RIGHT_DN 9 <br />#define PIN_MOTOR_RIGHT_SPEED 10 </p><p>/* определяем пины управления левым мотором */ <br />#define PIN_MOTOR_LEFT_UP 12 <br />#define PIN_MOTOR_LEFT_DN 13 <br />#define PIN_MOTOR_LEFT_SPEED 11 </p><br /><br /><br /><p>/* определяем два массива с перечислением пинов для каждого мотора */ <br />unsigned char RightMotor[3] =&nbsp; <br />&nbsp; {PIN_MOTOR_RIGHT_UP, PIN_MOTOR_RIGHT_DN, PIN_MOTOR_RIGHT_SPEED}; <br />unsigned char LeftMotor[3] =&nbsp; <br />&nbsp; {PIN_MOTOR_LEFT_UP, PIN_MOTOR_LEFT_DN, PIN_MOTOR_LEFT_SPEED}; </p><p>/* <br />&nbsp; &nbsp;управление скоростью мотора <br />&nbsp; &nbsp;motor - ссылка на массив пинов <br />&nbsp; &nbsp;v - скорость мотора, может принимать значения от -100 до 100 <br />*/ <br />void Wheel (unsigned char * motor, int v) <br />{ <br />&nbsp; if (v&gt;100) v=100; <br />&nbsp; if (v&lt;-100) v=-100; <br />&nbsp; if (v&gt;0) { <br />&nbsp; &nbsp; digitalWrite(motor[0], HIGH); <br />&nbsp; &nbsp; digitalWrite(motor[1], LOW); <br />&nbsp; &nbsp; analogWrite(motor[2], v*2.55); <br />&nbsp; } <br />&nbsp; else if (v&lt;0) { <br />&nbsp; &nbsp; digitalWrite(motor[0], LOW); <br />&nbsp; &nbsp; digitalWrite(motor[1], HIGH); <br />&nbsp; &nbsp; analogWrite(motor[2], (-v)*2.55); <br />&nbsp; } <br />&nbsp; else { <br />&nbsp; &nbsp; digitalWrite(motor[0], LOW); <br />&nbsp; &nbsp; digitalWrite(motor[1], LOW); <br />&nbsp; &nbsp; analogWrite(motor[2], 0); <br />&nbsp; } <br />} <br />void setup()&nbsp; <br />{ <br />&nbsp; RemoteXY_Init ();&nbsp; <br />&nbsp; &nbsp; &nbsp; <br />&nbsp; // TODO you setup code&nbsp; <br />&nbsp; myservo1.attach(2); <br />&nbsp; RemoteXY.slider_1 = 60;<br />&nbsp; myservo2.attach(3); <br />&nbsp; RemoteXY.slider_2 = 60;<br />&nbsp; myservo3.attach(4); <br />&nbsp; RemoteXY.slider_3 = 50;<br />&nbsp; myservo4.attach(5); <br />&nbsp; RemoteXY.slider_4 = 50;<br />&nbsp; myservo5.attach(6); <br />&nbsp; RemoteXY.slider_5 = 100;<br />&nbsp; myservo6.attach(7); <br />&nbsp; RemoteXY.slider_6 = 100; </p><p>&nbsp; /* инициализация пинов */ <br />&nbsp; pinMode (PIN_MOTOR_RIGHT_UP, OUTPUT); <br />&nbsp; pinMode (PIN_MOTOR_RIGHT_DN, OUTPUT); <br />&nbsp; pinMode (PIN_MOTOR_LEFT_UP, OUTPUT); <br />&nbsp; pinMode (PIN_MOTOR_LEFT_DN, OUTPUT); </p><br /><p>} </p><p>void loop()&nbsp; <br />{&nbsp; <br />&nbsp; RemoteXY_Handler (); <br />&nbsp; &nbsp; <br />&nbsp; /* управляем правым мотором */ <br />&nbsp; Wheel (RightMotor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x); <br />&nbsp; /* управляем левым мотором */ <br />&nbsp; Wheel (LeftMotor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x);&nbsp; </p><p>&nbsp; // TODO you loop code <br />&nbsp; // use the RemoteXY structure for data transfer </p><p>&nbsp; &nbsp; int ms1 = RemoteXY.slider_1*20+180;&nbsp; <br />&nbsp; myservo1.writeMicroseconds(ms1); </p><p>&nbsp; &nbsp; int ms2 = RemoteXY.slider_2*50+200;&nbsp; <br />&nbsp; myservo2.writeMicroseconds(ms2); </p><p>&nbsp; &nbsp; int ms3 = RemoteXY.slider_3*20+500;&nbsp; <br />&nbsp; myservo3.writeMicroseconds(ms3); </p><p>&nbsp; &nbsp; int ms4 = RemoteXY.slider_4*20+500;&nbsp; <br />&nbsp; myservo4.writeMicroseconds(ms4);</p><p>&nbsp; &nbsp; int ms5 = RemoteXY.slider_5*20+500;&nbsp; <br />&nbsp; myservo5.writeMicroseconds(ms5); </p><p>&nbsp; &nbsp; int ms6 = RemoteXY.slider_6*20+500;&nbsp; <br />&nbsp; myservo6.writeMicroseconds(ms6); </p><br /><br /><p>&nbsp; <br />}</p>]]></content>
			<author>
				<name><![CDATA[olegeglit]]></name>
				<uri>https://forum.remotexy.com/profile.php?id=497</uri>
			</author>
			<updated>2018-01-14T20:32:55Z</updated>
			<id>https://forum.remotexy.com/viewtopic.php?pid=1242#p1242</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Управление Сервоприводом]]></title>
			<link rel="alternate" href="https://forum.remotexy.com/viewtopic.php?pid=1241#p1241" />
			<content type="html"><![CDATA[<p>Добрый день, есть код управления сервоприводами и двумя моторами, как в коде прописать ограничения по управлению сервоприводами, начальный угол выставляется везде одинаково, ВОПРОС: Как установить мин и максимальный угол работы сервомашинок?<br />например: необходимо чтобы первая серва отклонялась от исходного положения 10 гр влево и 30 гр вправо </p><p>// RemoteXY select connection mode and include library&nbsp; </p><br /><p>#define REMOTEXY_MODE__HARDSERIAL</p><p>#include &lt;RemoteXY.h&gt; </p><p>// RemoteXY connection settings&nbsp; <br />#define REMOTEXY_SERIAL Serial <br />#define REMOTEXY_SERIAL_SPEED 9600 </p><br /><p>// RemoteXY configurate&nbsp; &nbsp;<br />#pragma pack(push, 1) <br />uint8_t RemoteXY_CONF[] = <br />&nbsp; { 255,8,0,0,0,60,0,8,13,0,<br />&nbsp; 4,0,48,2,5,41,2,26,4,0,<br />&nbsp; 61,2,5,41,2,26,4,0,76,2,<br />&nbsp; 5,41,2,26,4,0,88,2,5,41,<br />&nbsp; 2,26,4,160,46,46,49,5,2,26,<br />&nbsp; 4,160,46,54,49,5,2,26,5,0,<br />&nbsp; 10,16,30,30,2,26,31 }; <br />&nbsp; &nbsp;<br />// this structure defines all the variables of your control interface&nbsp; <br />struct { </p><p>&nbsp; &nbsp; // input variable<br />&nbsp; int8_t slider_1; // =0..100 slider position <br />&nbsp; int8_t slider_2; // =0..100 slider position <br />&nbsp; int8_t slider_3; // =0..100 slider position <br />&nbsp; int8_t slider_4; // =0..100 slider position <br />&nbsp; int8_t slider_5; // =-100..100 slider position <br />&nbsp; int8_t slider_6; // =-100..100 slider position <br />&nbsp; int8_t joystick_1_x; // =-100..100 x-coordinate joystick position <br />&nbsp; int8_t joystick_1_y; // =-100..100 y-coordinate joystick position </p><p>&nbsp; &nbsp; // other variable<br />&nbsp; uint8_t connect_flag;&nbsp; // =1 if wire connected, else =0 </p><p>} RemoteXY; <br />#pragma pack(pop) </p><p>///////////////////////////////////////////// <br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;END RemoteXY include&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // <br />///////////////////////////////////////////// </p><p>#include &lt;Servo.h&gt;&nbsp; &nbsp;</p><p>Servo myservo1;<br />Servo myservo2;<br />Servo myservo3;<br />Servo myservo4;<br />Servo myservo5;<br />Servo myservo6;</p><br /><p>/* определяем пины управления правым мотором */ <br />#define PIN_MOTOR_RIGHT_UP 8 <br />#define PIN_MOTOR_RIGHT_DN 9 <br />#define PIN_MOTOR_RIGHT_SPEED 10 </p><p>/* определяем пины управления левым мотором */ <br />#define PIN_MOTOR_LEFT_UP 12 <br />#define PIN_MOTOR_LEFT_DN 13 <br />#define PIN_MOTOR_LEFT_SPEED 11 </p><br /><br /><br /><p>/* определяем два массива с перечислением пинов для каждого мотора */ <br />unsigned char RightMotor[3] =&nbsp; <br />&nbsp; {PIN_MOTOR_RIGHT_UP, PIN_MOTOR_RIGHT_DN, PIN_MOTOR_RIGHT_SPEED}; <br />unsigned char LeftMotor[3] =&nbsp; <br />&nbsp; {PIN_MOTOR_LEFT_UP, PIN_MOTOR_LEFT_DN, PIN_MOTOR_LEFT_SPEED}; </p><p>/* <br />&nbsp; &nbsp;управление скоростью мотора <br />&nbsp; &nbsp;motor - ссылка на массив пинов <br />&nbsp; &nbsp;v - скорость мотора, может принимать значения от -100 до 100 <br />*/ <br />void Wheel (unsigned char * motor, int v) <br />{ <br />&nbsp; if (v&gt;100) v=100; <br />&nbsp; if (v&lt;-100) v=-100; <br />&nbsp; if (v&gt;0) { <br />&nbsp; &nbsp; digitalWrite(motor[0], HIGH); <br />&nbsp; &nbsp; digitalWrite(motor[1], LOW); <br />&nbsp; &nbsp; analogWrite(motor[2], v*2.55); <br />&nbsp; } <br />&nbsp; else if (v&lt;0) { <br />&nbsp; &nbsp; digitalWrite(motor[0], LOW); <br />&nbsp; &nbsp; digitalWrite(motor[1], HIGH); <br />&nbsp; &nbsp; analogWrite(motor[2], (-v)*2.55); <br />&nbsp; } <br />&nbsp; else { <br />&nbsp; &nbsp; digitalWrite(motor[0], LOW); <br />&nbsp; &nbsp; digitalWrite(motor[1], LOW); <br />&nbsp; &nbsp; analogWrite(motor[2], 0); <br />&nbsp; } <br />} <br />void setup()&nbsp; <br />{ <br />&nbsp; RemoteXY_Init ();&nbsp; <br />&nbsp; &nbsp; &nbsp; <br />&nbsp; // TODO you setup code&nbsp; <br />&nbsp; myservo1.attach(2); <br />&nbsp; RemoteXY.slider_1 = 50;<br />&nbsp; myservo2.attach(3); <br />&nbsp; RemoteXY.slider_2 = 50;<br />&nbsp; myservo3.attach(4); <br />&nbsp; RemoteXY.slider_3 = 50;<br />&nbsp; myservo4.attach(5); <br />&nbsp; RemoteXY.slider_4 = 50;<br />&nbsp; myservo5.attach(6); <br />&nbsp; RemoteXY.slider_5 = 100;<br />&nbsp; myservo6.attach(7); <br />&nbsp; RemoteXY.slider_6 = 100; </p><p>&nbsp; /* инициализация пинов */ <br />&nbsp; pinMode (PIN_MOTOR_RIGHT_UP, OUTPUT); <br />&nbsp; pinMode (PIN_MOTOR_RIGHT_DN, OUTPUT); <br />&nbsp; pinMode (PIN_MOTOR_LEFT_UP, OUTPUT); <br />&nbsp; pinMode (PIN_MOTOR_LEFT_DN, OUTPUT); </p><br /><p>} </p><p>void loop()&nbsp; <br />{&nbsp; <br />&nbsp; RemoteXY_Handler (); <br />&nbsp; &nbsp; <br />&nbsp; /* управляем правым мотором */ <br />&nbsp; Wheel (RightMotor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x); <br />&nbsp; /* управляем левым мотором */ <br />&nbsp; Wheel (LeftMotor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x);&nbsp; </p><p>&nbsp; // TODO you loop code <br />&nbsp; // use the RemoteXY structure for data transfer </p><p>&nbsp; &nbsp; int ms1 = RemoteXY.slider_1*20+500;&nbsp; <br />&nbsp; myservo1.writeMicroseconds(ms1); </p><p>&nbsp; &nbsp; int ms2 = RemoteXY.slider_2*20+500;&nbsp; <br />&nbsp; myservo2.writeMicroseconds(ms2); </p><p>&nbsp; &nbsp; int ms3 = RemoteXY.slider_3*20+500;&nbsp; <br />&nbsp; myservo3.writeMicroseconds(ms3); </p><p>&nbsp; &nbsp; int ms4 = RemoteXY.slider_4*20+500;&nbsp; <br />&nbsp; myservo4.writeMicroseconds(ms4);</p><p>&nbsp; &nbsp; int ms5 = RemoteXY.slider_5*20+500;&nbsp; <br />&nbsp; myservo5.writeMicroseconds(ms5); </p><p>&nbsp; &nbsp; int ms6 = RemoteXY.slider_6*20+500;&nbsp; <br />&nbsp; myservo6.writeMicroseconds(ms6); </p><br /><br /><p>&nbsp; <br />}</p>]]></content>
			<author>
				<name><![CDATA[olegeglit]]></name>
				<uri>https://forum.remotexy.com/profile.php?id=497</uri>
			</author>
			<updated>2018-01-14T18:18:22Z</updated>
			<id>https://forum.remotexy.com/viewtopic.php?pid=1241#p1241</id>
		</entry>
</feed>
