<?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=286&amp;type=atom" />
	<updated>2017-10-21T08:03:46Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.remotexy.com/viewtopic.php?id=286</id>
		<entry>
			<title type="html"><![CDATA[Re: Сервопривод+Мотор-редуктор (конфликт библиотек)]]></title>
			<link rel="alternate" href="https://forum.remotexy.com/viewtopic.php?pid=1023#p1023" />
			<content type="html"><![CDATA[<p>Лучше самого ардуино ваш скетч никто не проверит. Загружайте и ищите ошибки.</p>]]></content>
			<author>
				<name><![CDATA[remotexy]]></name>
				<uri>https://forum.remotexy.com/profile.php?id=2</uri>
			</author>
			<updated>2017-10-21T08:03:46Z</updated>
			<id>https://forum.remotexy.com/viewtopic.php?pid=1023#p1023</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Сервопривод+Мотор-редуктор (конфликт библиотек)]]></title>
			<link rel="alternate" href="https://forum.remotexy.com/viewtopic.php?pid=1021#p1021" />
			<content type="html"><![CDATA[<p>И тут же следующий вопрос, подскажите пожалуйста к Motor Shield L293D, через библиотеку &quot;AFMotor.h&quot; как подтянуть управление.<br />В Вашем примере идет 3 пина на выход (вперед, назад, скорость), а у Motor Shield L293D через библиотеку &quot;AFMotor.h&quot; используется как я понял 2 пина (направление вращения, скорость). Как вот это все можно совместить, или тот вариант, что я указал в скетче сработает. То есть хочу роторный двигатель подключить паралельно на 2 канала, где на каждом канале будет свое направление вращения (так как у Вас было в примере).</p>]]></content>
			<author>
				<name><![CDATA[Svold]]></name>
				<uri>https://forum.remotexy.com/profile.php?id=433</uri>
			</author>
			<updated>2017-10-19T09:20:02Z</updated>
			<id>https://forum.remotexy.com/viewtopic.php?pid=1021#p1021</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Сервопривод+Мотор-редуктор (конфликт библиотек)]]></title>
			<link rel="alternate" href="https://forum.remotexy.com/viewtopic.php?pid=1019#p1019" />
			<content type="html"><![CDATA[<p>Огромное спасибо за ответ. Также прошу Вашей помощи в проверке моего скетча (заранее спасибо за проверку), правильно ли я все сделал и указал в нужном порядке библиотеки. Сразу оговорюсь, что я в программировании ардуино очень слаб. <br />Вот мой скетч</p><p>//////////////////////////////////////////////<br />//&nbsp; &nbsp; &nbsp; &nbsp; RemoteXY include library&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //<br />//////////////////////////////////////////////</p><p>// определение режима соединения и подключение библиотеки RemoteXY <br />#define REMOTEXY_MODE__ESP8266_HARDSERIAL_POINT</p><p>#include &lt;RemoteXY.h&gt;</p><p>// настройки соединения <br />#define REMOTEXY_SERIAL Serial<br />#define REMOTEXY_SERIAL_SPEED 115200<br />#define REMOTEXY_WIFI_SSID &quot;RemoteXY&quot;<br />#define REMOTEXY_WIFI_PASSWORD &quot;12345678&quot;<br />#define REMOTEXY_SERVER_PORT 6377</p><br /><p>// конфигурация интерфейса&nbsp; <br />#pragma pack(push, 1) <br />uint8_t RemoteXY_CONF[] = <br />&nbsp; { 255,5,0,0,0,33,0,6,0,0,<br />&nbsp; 5,0,5,29,30,30,2,1,0,74,<br />&nbsp; 24,21,21,2,88,0,4,32,52,15,<br />&nbsp; 9,45,2,4,160,30,6,51,8,2 }; <br />&nbsp; <br />// структура определяет все переменные вашего интерфейса управления <br />struct {</p><p>&nbsp; &nbsp; // input variable<br />&nbsp; int8_t joystick_1_x; // =-100..100 координата x положения джойстика <br />&nbsp; int8_t joystick_1_y; // =-100..100 координата y положения джойстика <br />&nbsp; uint8_t button_3; // =1 если кнопка нажата, иначе =0 <br />&nbsp; int8_t slider_x; // =0..100 положение слайдера <br />&nbsp; int8_t slider_y; // =0..100 положение слайдера </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; </p><p>#define PIN_X_SERVO 2 <br />#define PIN_Y_SERVO 3 </p><p>Servo x_servo; <br />Servo y_servo; </p><p>unsigned char led_state = 0; <br />unsigned long led_time=0; <br />unsigned long prev_time=0; </p><p>/* определяем пины управления правым мотором */ <br />#define PIN_MOTOR_RIGHT_UP 7 <br />#define PIN_MOTOR_RIGHT_DN 6 <br />#define PIN_MOTOR_RIGHT_SPEED 10 </p><p>/* определяем пины управления левым мотором */ <br />#define PIN_MOTOR_LEFT_UP 5 <br />#define PIN_MOTOR_LEFT_DN 4 <br />#define PIN_MOTOR_LEFT_SPEED 9 </p><p>/* определяем пин управления светодиодом */ <br />#define PIN_MOTOR_SHOOT 8 </p><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 />} </p><br /><p>void setup() <br />{<br />&nbsp; RemoteXY_Init (); <br />&nbsp; &nbsp; <br />&nbsp; // TODO you setup code&nbsp; <br />&nbsp; &nbsp;<br />&nbsp; x_servo.attach(PIN_X_SERVO); <br />&nbsp; y_servo.attach(PIN_Y_SERVO); </p><p>&nbsp; RemoteXY.slider_x=50; <br />&nbsp; RemoteXY.slider_y=50; </p><p>&nbsp; &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); <br />&nbsp; pinMode (PIN_MOTOR_SHOOT, OUTPUT); </p><p>&nbsp; /* инициализация модуля RemoteXY */ <br />&nbsp; RemoteXY_Init (); <br />}</p><p>void loop() <br />{ <br />&nbsp; RemoteXY_Handler ();<br />&nbsp; <br />&nbsp; <br />&nbsp; // TODO you loop code<br />&nbsp; // используйте структуру RemoteXY для передачи данных<br />/* обработчик событий модуля RemoteXY */ <br />&nbsp; RemoteXY_Handler (); </p><p>&nbsp; /* управляем пином спускового механизма */ <br />&nbsp; digitalWrite (PIN_MOTOR_SHOOT, (RemoteXY.button_3==0)?LOW:HIGH); </p><p>&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); </p><p>&nbsp; /* Cервоприводы */ <br />&nbsp; unsigned long time = millis(); <br />&nbsp; unsigned long d_time = time - prev_time; <br />&nbsp; prev_time = time; <br />&nbsp; &nbsp;<br />&nbsp; x_servo.writeMicroseconds(RemoteXY.slider_x*20+500);&nbsp; <br />&nbsp; y_servo.writeMicroseconds(2500-RemoteXY.slider_y*20);&nbsp; </p><p>}</p>]]></content>
			<author>
				<name><![CDATA[Svold]]></name>
				<uri>https://forum.remotexy.com/profile.php?id=433</uri>
			</author>
			<updated>2017-10-18T09:56:15Z</updated>
			<id>https://forum.remotexy.com/viewtopic.php?pid=1019#p1019</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Сервопривод+Мотор-редуктор (конфликт библиотек)]]></title>
			<link rel="alternate" href="https://forum.remotexy.com/viewtopic.php?pid=1015#p1015" />
			<content type="html"><![CDATA[<p>1. Библиотека servo.h только для сервоприводов, а не для мотор-редукторов.<br />2. Совместить сервоприводы и мотор-редукторы можно. <br />3. Утверждение &quot;servo.h&quot; нельзя использовать совместно с библиотекой &quot;SoftwareSerial.h&quot;, - это относится только к библиотекам servo.h и SoftwareSerial.h , и ни как не к мотор-редукторам<br />4. Что бы использовать servo.h без проблем, просто не используйте SoftwareSerial.h, цепляйте RemoteXY к аппаратному порту</p>]]></content>
			<author>
				<name><![CDATA[remotexy]]></name>
				<uri>https://forum.remotexy.com/profile.php?id=2</uri>
			</author>
			<updated>2017-10-17T19:14:24Z</updated>
			<id>https://forum.remotexy.com/viewtopic.php?pid=1015#p1015</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Сервопривод+Мотор-редуктор (конфликт библиотек)]]></title>
			<link rel="alternate" href="https://forum.remotexy.com/viewtopic.php?pid=1012#p1012" />
			<content type="html"><![CDATA[<p>Подскажите пожалуйста как совместить сервоприводы+Моторы-редукторы, при условии, что в примере говорится про &quot;Есть одна особенность использования библиотеки &quot;servo.h&quot;. Ее нельзя использовать совместно с библиотекой программного последовательного порта &quot;SoftwareSerial.h&quot;. Можно ли на библиотеке &quot;servo.h&quot; использовать мотор-редуктор в месте с сервоприводом.? Или как настроить чтобы все работало. Хочу сделать танк с 3 моторами-редукторами (а будет на спусковом механизме шмалять пульками) и 2 серовпривода (башня танка). И также подскажите как можно настроить угол поворота. Заранее спасибо за помощь, жду с нетерпением ответа.</p>]]></content>
			<author>
				<name><![CDATA[Svold]]></name>
				<uri>https://forum.remotexy.com/profile.php?id=433</uri>
			</author>
			<updated>2017-10-17T07:32:41Z</updated>
			<id>https://forum.remotexy.com/viewtopic.php?pid=1012#p1012</id>
		</entry>
</feed>
