<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[RemoteXY community — воспроизведение звуков]]></title>
		<link>https://forum.remotexy.com/viewtopic.php?id=377</link>
		<atom:link href="https://forum.remotexy.com/extern.php?action=feed&amp;tid=377&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent posts in воспроизведение звуков.]]></description>
		<lastBuildDate>Wed, 07 Feb 2018 19:31:07 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: воспроизведение звуков]]></title>
			<link>https://forum.remotexy.com/viewtopic.php?pid=1312#p1312</link>
			<description><![CDATA[<p>пока решил проблему покупкой мп3 плейера под ардуино <img src="https://forum.remotexy.com/img/smilies/smile.png" width="15" height="15" alt="smile" /></p>]]></description>
			<author><![CDATA[null@example.com (olegeglit)]]></author>
			<pubDate>Wed, 07 Feb 2018 19:31:07 +0000</pubDate>
			<guid>https://forum.remotexy.com/viewtopic.php?pid=1312#p1312</guid>
		</item>
		<item>
			<title><![CDATA[воспроизведение звуков]]></title>
			<link>https://forum.remotexy.com/viewtopic.php?pid=1301#p1301</link>
			<description><![CDATA[<p>Добрый день, кто может помочь с воспроизведением звуков. Собран и запущен Танк, все прекрасно работает, но не знаю как добавить звук работающего мотора и выстрела. А также как организовать имитацию отката танка при выстреле?</p><p>Исходный код ниже:</p><p>////////////////////////////////////////////// <br />//&nbsp; &nbsp; &nbsp; &nbsp; RemoteXY include library&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // <br />////////////////////////////////////////////// </p><p>// определение режима соединения и подключение библиотеки RemoteXY&nbsp; <br />#define REMOTEXY_MODE__HARDSERIAL<br />#include &lt;RemoteXY.h&gt; </p><p>// настройки соединения&nbsp; <br />#define REMOTEXY_SERIAL Serial <br />#define REMOTEXY_SERIAL_SPEED 9600 <br />#include &lt;Servo.h&gt;&nbsp; &nbsp;</p><p>// конфигурация интерфейса&nbsp; &nbsp;<br />#pragma pack(push, 1) <br />uint8_t RemoteXY_CONF[] = <br />&nbsp; { 255,7,0,0,0,147,0,8,216,0,<br />&nbsp; 1,8,56,18,12,12,1,31,81,0,<br />&nbsp; 2,0,82,57,16,5,2,26,31,31,<br />&nbsp; 79,78,0,79,70,70,0,5,37,8,<br />&nbsp; 15,30,30,246,117,31,4,0,85,6,<br />&nbsp; 10,44,49,136,129,0,55,14,13,3,<br />&nbsp; 17,208,178,209,139,209,129,209,130,209,<br />&nbsp; 128,208,181,208,187,0,129,0,85,3,<br />&nbsp; 9,3,17,208,191,209,131,209,136,208,<br />&nbsp; 186,208,176,0,129,0,57,35,10,3,<br />&nbsp; 17,208,177,208,176,209,136,208,189,209,<br />&nbsp; 143,0,129,0,84,52,12,3,17,209,<br />&nbsp; 129,209,130,208,176,209,128,209,130,208,<br />&nbsp; 181,209,128,0,1,0,45,39,12,12,<br />&nbsp; 3,31,76,0,1,0,67,39,12,12,<br />&nbsp; 3,31,82,0 }; <br />&nbsp; &nbsp;<br />// структура определяет все переменные вашего интерфейса управления&nbsp; <br />struct { </p><p>&nbsp; &nbsp; // input variable<br />&nbsp; uint8_t button_1; // =1 если кнопка нажата, иначе =0 <br />&nbsp; uint8_t switch_1; // =1 если переключатель включен и =0 если отключен <br />&nbsp; int8_t joystick_1_x; // =-100..100 координата x положения джойстика <br />&nbsp; int8_t joystick_1_y; // =-100..100 координата y положения джойстика <br />&nbsp; int8_t slider_2; // =0..100 положение слайдера <br />&nbsp; uint8_t button_2; // =1 если кнопка нажата, иначе =0 <br />&nbsp; uint8_t button_3; // =1 если кнопка нажата, иначе =0 </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 />///////////////////////////////////////////// <br />/* определяем пины управления светодиодом пушки&nbsp; */<br />#define PIN_BUTTON_1 A0</p><p>/* определяем пины управления мотором башни&nbsp; */<br />#define PIN_BUTTON_2 9<br />#define PIN_BUTTON_3 10</p><p>/* определяем управление пушкой&nbsp; */<br />Servo myservo;</p><p>/* определяем пины управления реле стартера&nbsp; */<br />#define PIN_SWITCH_1 12</p><p>/* определяем пины управления правым мотором */ <br />#define PIN_MOTOR_RIGHT_UP 2 <br />#define PIN_MOTOR_RIGHT_DN 4 <br />#define PIN_MOTOR_RIGHT_SPEED 3 </p><p>/* определяем пины управления левым мотором */ <br />#define PIN_MOTOR_LEFT_UP 7 <br />#define PIN_MOTOR_LEFT_DN 8 <br />#define PIN_MOTOR_LEFT_SPEED 6 </p><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}; <br />/* <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><p>void setup()&nbsp; <br />{ <br />&nbsp; /* инициализация модуля RemoteXY */ <br />&nbsp; RemoteXY_Init ();<br />&nbsp; /* инициализация пинов */&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_BUTTON_1, OUTPUT);<br />&nbsp; pinMode (PIN_BUTTON_2, OUTPUT);<br />&nbsp; pinMode (PIN_BUTTON_3, OUTPUT);<br />&nbsp; pinMode (PIN_SWITCH_1, OUTPUT);<br />&nbsp; <br />&nbsp; &nbsp;/* определяем пины управления пушкой&nbsp; */<br />&nbsp; // TODO you setup code <br />&nbsp; &nbsp;myservo.attach(5);&nbsp; <br />&nbsp; &nbsp;RemoteXY.slider_2 = 0;<br />&nbsp; &nbsp; <br />} </p><p>void loop()&nbsp; <br />{<br />&nbsp; /* обработчик событий модуля RemoteXY */ <br /> RemoteXY_Handler (); <br />&nbsp; <br />&nbsp; // TODO you loop code <br />&nbsp; // используйте структуру RemoteXY для передачи данных <br />&nbsp; <br />&nbsp; &nbsp;/* управления пушкой&nbsp; */<br />&nbsp; &nbsp;<br />&nbsp; int ms = RemoteXY.slider_2; <br />&nbsp; ms = map(ms, 0, 100, 5, 175); <br />&nbsp; myservo.write(ms);&nbsp; </p><p>&nbsp; &nbsp;/* управляем светодиода пушки */ <br />&nbsp; digitalWrite(PIN_BUTTON_1, (RemoteXY.button_1==0)?LOW:HIGH);<br />&nbsp; <br />&nbsp; /* управляем мотором башни */ <br />&nbsp; digitalWrite(PIN_BUTTON_2, (RemoteXY.button_2==0)?LOW:HIGH);<br />&nbsp; digitalWrite(PIN_BUTTON_3, (RemoteXY.button_3==0)?LOW:HIGH);<br />&nbsp; <br />&nbsp; &nbsp;/* управляем реле стартера */ <br />&nbsp; digitalWrite(PIN_SWITCH_1, (RemoteXY.switch_1==0)?LOW:HIGH);<br />&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); </p><p>}</p>]]></description>
			<author><![CDATA[null@example.com (olegeglit)]]></author>
			<pubDate>Wed, 31 Jan 2018 19:17:07 +0000</pubDate>
			<guid>https://forum.remotexy.com/viewtopic.php?pid=1301#p1301</guid>
		</item>
	</channel>
</rss>
