<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>RoboController.ru</title>
		<link>http://robocontroller.ru/</link>
		<description></description>
		<lastBuildDate>Sun, 26 Apr 2015 11:53:17 GMT</lastBuildDate>
		<generator>uCoz Web-Service</generator>
		<atom:link href="https://robocontroller.ru/news/rss" rel="self" type="application/rss+xml" />
		
		<item>
			<title>Описание библиотеки Adafruit_GFX для Arduino</title>
			<description>Adafruit_GFX – это библиотека для Arduino, имеющая в своем наборе синтаксис и графические функции для LCD и OLED дисплеев. Она позволяет легко адаптировать скетч Ардуино для работы с дисплеем. Библиотека Adafruit_GFX всегда работает в паре со специализированной библиотекой для используемого дисплея. Например, если у вас монохромный дисплей OLED 128x64 с чипом SSD1306, вам нужно установить две библиотеки, Adafruit_GFX и Adafruit_SSD1306. Ссылки на библиотеки для различных дисплеев смотрите в конце статьи....</description>
			<content:encoded>Adafruit_GFX – это библиотека для Arduino, имеющая в своем наборе синтаксис и графические функции для LCD и OLED дисплеев. Она позволяет легко адаптировать скетч Ардуино для работы с дисплеем. Библиотека Adafruit_GFX всегда работает в паре со специализированной библиотекой для используемого дисплея. Например, если у вас монохромный дисплей OLED 128x64 с чипом SSD1306, вам нужно установить две библиотеки, Adafruit_GFX и Adafruit_SSD1306. Ссылки на библиотеки для различных дисплеев смотрите в конце статьи.$CUT$
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;!--IMG1--&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/28659512.jpg&quot; align=&quot;&quot; /&gt;&lt;!--IMG1--&gt;&lt;/div&gt;
&lt;br&gt;
&lt;span style=&quot;font-size:17pt&quot;&gt;&lt;b&gt;Система координат&lt;/b&gt;&lt;/span&gt;:
&lt;br&gt;&lt;br&gt;
Пиксели – это блоки из которых состоят цифровые картинки. Пиксель имеет фиксированный размер высоты и длинны (квадрат), размер пикселя зависит от разрешения дисплея. Каждый пиксель позиционируется на экране по горизонтальной оси X и вертикальной оси Y. Система координат начинается в левом верхнем углу экрана с точки X = 0, Y = 0 и продолжается с положительным увеличением оси X вправо, оси Y вниз. Это стандартная Декартовая (прямоугольная) система координат. В зависимости от ориентации дисплея «Портрет», «Пейзаж» или другого специфического расположения, можно указать какой из четырех углов будет обозначен как левый верхний (начальная точка осей). 
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;!--IMG2--&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/72917721.png&quot; align=&quot;&quot; /&gt;&lt;!--IMG2--&gt;&lt;/div&gt;
&lt;br&gt;
&lt;span style=&quot;font-size:17pt&quot;&gt;&lt;b&gt;Цвета:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
Для цветных дисплеев, цвета представлены в беззнаковом 16-и битном формате. Некоторые из дисплеев могут передавать цвета с большим количеством битов, но библиотека оперирует только 16-и битными значениями, это упрощает работу Ардуино с различными дисплеями. Цвет складывается из трех основных цветов – красный, зеленый, синий, которые упакованы в одном 16-и битном значении. Первые 5 бит для красного, средние 6 бит для зеленого, последние 5 бит для синего. Человеческий глаз более чувствителен к зеленому цвету, поэтому для него выделено на 1-бит больше.
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;!--IMG3--&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/76868845.png&quot; align=&quot;&quot; /&gt;&lt;!--IMG3--&gt;&lt;/div&gt;
&lt;br&gt;
Для удобства использования большинства основных и вторичных цветов, вы можете добавить в свой код готовый набор. Вы можете использовать любой из 65,536 цветов.
&lt;br&gt;&lt;br&gt;
&lt;i&gt;// Color definitions
&lt;br&gt;
#define BLACK 0x0000
&lt;br&gt;
#define BLUE 0x001F
&lt;br&gt;
#define RED 0xF800
&lt;br&gt;
#define GREEN 0x07E0
&lt;br&gt;
#define CYAN 0x07FF
&lt;br&gt;
#define MAGENTA 0xF81F
&lt;br&gt;
#define YELLOW 0xFFE0
&lt;br&gt;
#define WHITE 0xFFFF&lt;/i&gt;
&lt;br&gt;&lt;br&gt;
Для монохромных (одноцветных) дисплеев, цвет всегда определяется как 1 (светится) или 0 (не светится). Смысл значений «светится/не светится», меняется в зависимости от специфики отображения дисплеев. На дисплее с OLED подсветкой, значение “1” будет подсвечивать пиксель. На рефлективных дисплеях, значение 1 сделает цвет черным. Возможны исключения, но по умолчанию, цвет бекграунда при начальной инициализации дисплея имеет значение 0 (чистый, не светится).
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:17pt&quot;&gt;&lt;b&gt;Простейшая графика:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
В библиотеке для каждого дисплея имеются свои конструкции и функции инициализации. Они описаны в отдельных инструкциях для каждого типа дисплея. Также, их можно найти в заголовочном файле библиотеки дисплея. Далее описана общие графические функции, которые одинаково работают вне зависимости от типа дисплея.
&lt;br&gt;&lt;br&gt;
Описанные ниже функции всего лишь прототипы – дисплей может быть объявлен как объект в соответствии со структурой библиотеки используемого устройства. Смотрите пример работы библиотеки для конкретного дисплея. Например, чтобы вывести на экран символы используя команду print(3.14); Код для вашего дисплея будет содержать имя объявленного устройства непосредственно перед командой print. Если объект вашего дисплея объявлен как screen, то ваша строка будет выглядеть так: screen.print(3.14); На примере OLED 128x64 с чипом SSD1306, дисплей объявляется как объект с именем display. Тогда строка вывода на экран будет такая: display.print(3.14);.
&lt;br&gt;&lt;br&gt;
&lt;b&gt;&lt;span style=&quot;font-size:17pt&quot;&gt;Пиксель (точка):&lt;/span&gt;&lt;/b&gt;
&lt;br&gt;&lt;br&gt;
Это самый простой способ нарисовать пиксель (точку) на экране. Вам нужно указать координаты расположения пикселя X, Y и его цвет.
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:13pt&quot;&gt;&lt;b&gt;&lt;i&gt;void drawPixel(uint16_t x, uint16_t y, uint16_t color);&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
В вашем коде, эта строка будет выглядеть так (пример для монохромного OLED дисплея):
&lt;br&gt;&lt;br&gt;
&lt;i&gt;display.drawPixel(10, 15, 1);&lt;/i&gt;
&lt;br&gt;&lt;br&gt;
10 – x координата расположения пикселя на экране,
&lt;br&gt;
15 – y координата расположения пикселя на экране,
&lt;br&gt;
1 – color цвет пикселя (светится).
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:17pt&quot;&gt;&lt;b&gt;Линия:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
Для прорисовки линий используются начальная и конечная точка линии. 
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:13pt&quot;&gt;&lt;i&gt;&lt;b&gt;void drawLine(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint16_t color);&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
В вашем коде, эта строка будет выглядеть так (пример для монохромного OLED дисплея):
&lt;br&gt;&lt;br&gt;
&lt;i&gt;display.drawLine (5, 10, 19, 3, 1);&lt;/i&gt;
&lt;br&gt;&lt;br&gt;
5 – x0 начальная координата линии,
&lt;br&gt;10 – y0 начальная координата линии,
&lt;br&gt;
19 – x1 конечная координата линии,
&lt;br&gt;
3 – y1 конечная координата линии,
&lt;br&gt;
1 – color цвет линии (светится).
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;!--IMG4--&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/78842120.png&quot; align=&quot;&quot; /&gt;&lt;!--IMG4--&gt;&lt;/div&gt;
&lt;br&gt;
Для горизонтальных и вертикальных линий существует более упрощенная функция. В ней указывается начальные координаты линии, её длинна в пикселях и цвет.
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:13pt&quot;&gt;&lt;i&gt;&lt;b&gt;void drawFastVLine(uint16_t x0, uint16_t y0, uint16_t length, uint16_t color); &lt;/b&gt;&lt;/i&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style=&quot;font-size:13pt&quot;&gt;&lt;i&gt;&lt;b&gt;void drawFastHLine(uin86_t x0, uin86_t y0, uint8_t length, uint16_t color); &lt;/b&gt;&lt;/i&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
В вашем коде, строка для вертикальной линии будет выглядеть так (пример для монохромного OLED дисплея):
&lt;br&gt;&lt;br&gt;
&lt;i&gt;display.drawFastVLine (7, 12, 20, 1);&lt;/i&gt;
&lt;br&gt;&lt;br&gt;
7 – x0 начальная координата вертикальной линии,
&lt;br&gt;
12 – y0 начальная координата вертикальной линии,
&lt;br&gt;
20 – length длинна вертикальной линии в пикселях,
&lt;br&gt;
1 – color цвет вертикальной линии (светится).
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:17pt&quot;&gt;&lt;b&gt;Прямоугольники:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
Для прорисовки прямоугольников используются, координаты верхнего левого угла прямоугольника X, Y, ширина w, высота h, цвет. drawRect() – рисует линию по границам сторон прямоугольника. fillRect() – рисует прямоугольник площадь которого залита указанным цветом.
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:13pt&quot;&gt;&lt;i&gt;&lt;b&gt;void drawRect(uint16_t x0, uint16_t y0, uint16_t w, uint16_t h, uint16_t color);&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style=&quot;font-size:13pt&quot;&gt;&lt;i&gt;&lt;b&gt;void fillRect(uint16_t x0, uint16_t y0, uint16_t w, uint16_t h, uint16_t color);&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
В вашем коде, строка для прорисовки прямоугольника будет выглядеть так (пример для монохромного OLED дисплея):
&lt;br&gt;&lt;br&gt;
&lt;i&gt;display.drawRect (3, 2, 12, 10, 1);&lt;/i&gt;
&lt;br&gt;&lt;br&gt;
3 – x0 начальная координата прямоугольника,
&lt;br&gt;
2 – y0 начальная координата прямоугольника,
&lt;br&gt;
12 – w ширина прямоугольника в пикселях,
&lt;br&gt;
10 – h высота прямоугольника в пикселях,
&lt;br&gt;
1 – color цвет прямоугольника (светится), для функции fillRect() – это цвет заливки площади прямоугольника.
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;!--IMG5--&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/33516449.png&quot; align=&quot;&quot; /&gt;&lt;!--IMG5--&gt;&lt;/div&gt;
&lt;br&gt;
&lt;span style=&quot;font-size:17pt&quot;&gt;&lt;i&gt;&lt;b&gt;Круг:&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
Функция прорисовки круга использует следующие значения: центральные координаты круга X, Y, радиус, цвет. drawCircle() – рисует круг. fillCircle – рисует круг, площадь которого залита выбранным цветом.
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:13pt&quot;&gt;&lt;i&gt;&lt;b&gt;void drawCircle(uint16_t x0, uint16_t y0, uint16_t r, uint16_t color);&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style=&quot;font-size:13pt&quot;&gt;&lt;i&gt;&lt;b&gt;void fillCircle(uint16_t x0, uint16_t y0, uint16_t r, uint16_t color);&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
В вашем коде, строка для прорисовки круга будет выглядеть так (пример для монохромного OLED дисплея):
&lt;br&gt;&lt;br&gt;
&lt;i&gt;display.drawCircle (14, 8, 7, 1);&lt;/i&gt;
&lt;br&gt;&lt;br&gt;
14 – x0 центральная координата круга по оси X,
&lt;br&gt;
8 – y0 центральная координата круга по оси Y,
&lt;br&gt;
7 – r радиус круга в пикселях,
&lt;br&gt;
1 – color цвет круга (светится), для функции fillCircle() – это цвет заливки площади круга.
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;!--IMG6--&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/13825537.png&quot; align=&quot;&quot; /&gt;&lt;!--IMG6--&gt;&lt;/div&gt;
&lt;br&gt;
&lt;span style=&quot;font-size:17pt&quot;&gt;&lt;b&gt;Прямоугольник со скругленными углами:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
Функция прорисовки прямоугольника со скругленными углами использует: начальные координаты левого верхнего угла прямоугольника X, Y, ширину, высоту, радиус скругления угла в пикселях и цвет. drawRoundRect() – прорисовывает прямоугольник со скругленными углами. fillRoundRect() – прорисовывает прямоугольник со скругленными углами, площадь которого залита выбранным цветом.
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:13pt&quot;&gt;&lt;i&gt;&lt;b&gt;void drawRoundRect(uint16_t x0, uint16_t y0, uint16_t w, uint16_t h, uint16_t radius, uint16_t color);&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:13pt&quot;&gt;&lt;i&gt;&lt;b&gt;void fillRoundRect(uint16_t x0, uint16_t y0, uint16_t w, uint16_t h, uint16_t radius, uint16_t color);&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
В вашем коде, строка для прорисовки прямоугольника со скругленными углами будет выглядеть так (пример для монохромного OLED дисплея):
&lt;br&gt;&lt;br&gt;
&lt;i&gt;display.drawRoundRect (3, 1, 18, 13, 5, 1);&lt;/i&gt;
&lt;br&gt;&lt;br&gt;
3 – x0 начальная координата прямоугольника,
&lt;br&gt;
1 – y0 начальная координата прямоугольника,
&lt;br&gt;
18 – w ширина прямоугольника в пикселях,
&lt;br&gt;
13 – h высота прямоугольника в пикселях,
&lt;br&gt;
5 – radius радиус скругления углов прямоугольника,
&lt;br&gt;
1 – color цвет прямоугольника (светится), для функции fillRoundRect() – это цвет заливки площади прямоугольника.
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;!--IMG7--&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/56097707.png&quot; align=&quot;&quot; /&gt;&lt;!--IMG7--&gt;&lt;/div&gt;
&lt;br&gt;
Использование функции прямоугольника со скругленными углами имеет дополнительную возможность. Если радиус скругления углов сделать равным половине ширины или высоты прямоугольника, то вы сможете получить овал. Радиус скругления углов применяется ко всем четырем углам прямоугольника.
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:17pt&quot;&gt;&lt;b&gt;Треугольник:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
Функция прорисовки треугольника использует следующие параметры: начальные координаты первого угла, координаты второго угла, координаты третьего угла, цвет. drawTriangle() – прорисовывает треугольник. fillTriangle() – прорисовывает треугольник площадь которого залита выбранным цветом.
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:13pt&quot;&gt;&lt;i&gt;&lt;b&gt;void drawTriangle(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color);
&lt;br&gt;&lt;br&gt;
void fillTriangle(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color);&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
В вашем коде, строка для прорисовки прямоугольника будет выглядеть так (пример для монохромного OLED дисплея):
&lt;br&gt;&lt;br&gt;
&lt;i&gt;display.drawTriangle (6, 13, 9, 2, 18, 9, 1);&lt;/i&gt;
&lt;br&gt;&lt;br&gt;
7 – x0 координата первого угла,
&lt;br&gt;
12 – y0 координата первого угла,
&lt;br&gt;
7 – x1 координата второго угла,
&lt;br&gt;
12 – y1 координата второго угла,
&lt;br&gt;
7 – x2 координата третьего угла,
&lt;br&gt;
12 – y2 координата третьего угла,
&lt;br&gt;
1 – color цвет треугольника (светится), для функции fillTriangle () – это цвет заливки площади треугольника.
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;!--IMG8--&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/22609268.png&quot; align=&quot;&quot; /&gt;&lt;!--IMG8--&gt;&lt;/div&gt;
&lt;br&gt;
&lt;span style=&quot;font-size:17pt&quot;&gt;&lt;b&gt;Символы и текст:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
В библиотеке имеются две простые функции вывода текста на экран. Первая, для вывода одного единственного символа. Вы можете поместить один символ в любое место экрана и задать этому символу нужный цвет. Основной размер символа 5x8 пикселей. Но размеры можно пропорционально изменять. Например, задав символу размер size=2, размер символа станет 10x16 пикселей. Эта скомпонованная функция сделана для уменьшения программы.
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:13pt&quot;&gt;&lt;i&gt;&lt;b&gt;void drawChar(uint16_t x, uint16_t y, char c, uint16_t color, uint16_t bg, uint8_t size);&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
В вашем коде, строка для одного символа будет выглядеть так (пример для монохромного OLED дисплея):
&lt;br&gt;&lt;br&gt;
&lt;i&gt;display.drawChar (3, 4, ‘A’, 1, 0, 1);&lt;/i&gt;
&lt;br&gt;&lt;br&gt;
3 – x координата символа,
&lt;br&gt;
4 – y координата символа,
&lt;br&gt; 
‘A’ – выводимый символ, должен быть заключен в одинарные ковычки,
&lt;br&gt;
1 – color цвет символа,
&lt;br&gt;
0 – bg фон (бекграунд) символа,
&lt;br&gt;
1 – size размер символа,
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;!--IMG9--&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/50104348.png&quot; align=&quot;&quot; /&gt;&lt;!--IMG9--&gt;&lt;/div&gt;
&lt;br&gt;
Вывод строки символов (текст), отличается от вывода одного символа. Для того, чтобы задать параметры для строки, нужно использовать несколько функций. Задав координаты, цвет и размеры в разных функциях, строка выводится функцией print() которая использует заданные раннее параметры. Такой способ вывода похож на известную вам функции Serial.print(). Ниже приведен набор функций используемых для вывода строк.
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:13pt&quot;&gt;&lt;i&gt;&lt;b&gt;void setCursor(uint16_t x0, uint16_t y0);
&lt;br&gt;
void setTextColor(uint16_t color);
&lt;br&gt;
void setTextColor(uint16_t color, uint16_t backgroundcolor);
&lt;br&gt;
void setTextSize(uint8_t size);
&lt;br&gt;
void setTextWrap(boolean w);&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
В первую очередь, вам нужно задать координаты начала строки, функция setCursor(x, y), задает координаты верхнего левого угла строки. По умолчанию, её значения (0, 0) (верхний левый угол экрана). Затем задаем цвет строки, функция setTextColor(color). По умолчанию, её значение 0 (текст не видим / не светится). Каждый символ в строке имеет свой фон. Фону можно задать цвет дополнительным (не обязательным) вторым параметром функции setTextColor() (цвет фона задается для всей строки символов) setTextColor(color, backgroundcolor); Далее задаем размер символов в строке setTextSize(size). По умолчанию значение size=1, допустимые значения 2 и 3.
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;!--IMG11--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/80303760.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s80303760.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG11--&gt;&lt;/div&gt;
&lt;br&gt;
После того как вы установили все нужные настройки, вы можете выводить строку символов на экран, используя функцию print() или println(). Точно также, как вы выводите текст при помощи функции Serial.print(). Например, для того, чтобы вывести строку (текст) на экран, используйте print(“Hello world”) – это первая строка на фотографии экрана. Вы также можете выводить цифры и переменные, например, print(1234.56) – это вторая строка на фотографии с экраном. И третья строка, это print(0xDEADBEEF, HEX).
&lt;br&gt;&lt;br&gt;
По умолчанию, длинные строки выводятся слева направо, если строка длиннее размеров экрана, то происходит перенос текста на новую строку. За это отвечает функцию setTextWrap(), по умолчанию setTextWrap(1). Если применить setTextWrap(0), то длинная строка не будет переноситься и уйдет за пределы экрана, что подходит для скрола (можно сделать бегущую строку).
&lt;br&gt;&lt;br&gt;
Ваш код для вывода строки символа будет выглядеть так (пример для монохромного OLED дисплея):
&lt;br&gt;&lt;br&gt;
&lt;i&gt;// Устанавливаем курсор (X = 5, Y = 3) 
&lt;br&gt;
display.setCursor(5, 3);
&lt;br&gt;
// Задаем цвет текста (1) (видимый / светится)
&lt;br&gt;
display.setTextColor(1);
&lt;br&gt;
// Если дополнительно нужно задать цвет фона строки,
&lt;br&gt;
// используем ниже идущую функцию
&lt;br&gt;
// в этом случае использовать функцию display.setTextColor(1); не нужно.
&lt;br&gt;
// Указываем цвет текста и фона строки, в данном примере будет темный текст на белом фоне.
&lt;br&gt;
display.setTextColor(0, 1);
&lt;br&gt;
// Указываем размер символов в строке (1), каждый символ размером 5x7 пикселей.
&lt;br&gt;
display.setTextSize(1);
&lt;br&gt;
// Выводим текст на экран, текст будет выведен с указанными выше настройками
&lt;br&gt;
display.print(“Hello world”);&lt;/i&gt;
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:17pt&quot;&gt;&lt;b&gt;Bitmaps (растровые изображения):&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
Вы можете выводить на экран небольшие монохромные (одноцветные) растровые изображения (bitmaps). Функция drawBitmap() хорошо подходит для спрайтов, мини анимации и иконок.
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:13pt&quot;&gt;&lt;i&gt;&lt;b&gt;void drawBitmap(int16_t x, int16_t y, uint8_t *bitmap, int16_t w, int16_t h, uint16_t color);&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
Эта функция выводит блок битов на дисплей, где ‘1’ бит выводит (окрашивает) один пиксель на экране. В то время как ‘0’ бит пропускает (не выводит на экран) пиксель. Координаты X, Y, указывают верхний левый угол с которого начинается прорисовка картинки на экране. w и h, указывают ширину и высоту картинки в пикселях. Bitmap должен быть записан в память устройства, для этого используется PROGMEM директивы. Для ознакомления предлагается прочитать инструкцию по применению PROGMEM (ссылка).
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:17pt&quot;&gt;&lt;b&gt;Очистка и заливка экрана:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
Функция fillScreen() заливает дисплей выбранным цветом стирая всё что есть на экране. В библиотеках для разных дисплеев могут быть свои функции очистки дисплея.
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:13pt&quot;&gt;&lt;i&gt;&lt;b&gt;void fillScreen(uint16_t color);&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:17pt&quot;&gt;&lt;b&gt;Поворот экрана:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
Вы можете изменять ориентацию выводимой графики и текста на экране. Эта функция не изменяет положение уже выведенных элементов, но изменит расположение системы координат для последующего выведения. Функция setRotation() может применить всего один раз, в разделе setup(). Можно повернуть экран только на 0, 90, 180 или 270 градусов. Остальные углы требуют более мощного оборудования, это делает невозможным их вычисление на Arduino.
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:13pt&quot;&gt;&lt;i&gt;&lt;b&gt;void setRotation(uint8_t rotation);&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
Параметры поворота экрана могут быть 0, 1, 2, 3. Для разных типов экранов, начальное положение (0 градусов) может быть в разных положениях. Меняйте значение в функции setRotation(), чтобы повернуть экран в нужное положение.
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;!--IMG10--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/51616798.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s51616798.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG10--&gt;&lt;/div&gt;
&lt;br&gt;
В вашем коде, строка для поворота экрана будет выглядеть так (пример для монохромного OLED дисплея):
&lt;br&gt;&lt;br&gt;
&lt;i&gt;display.setRotation(1);&lt;/i&gt;
&lt;br&gt;&lt;br&gt;
1 – rotation угол поворота экрана в градусах: 0 = 0, 1 = 90, 2 = 180, 3 = 270.
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:17pt&quot;&gt;&lt;b&gt;Ссылки и информация:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
Подробное описание всех функций библиотеки Adafruit_SSD1306 и примеры их применения читайте тут (ссылка скоро появиться).
&lt;br&gt;&lt;br&gt;
Описание и технические возможности дисплеев Adafruit ищите на официальном сайте производителя &lt;a href=&quot;https://www.adafruit.com/&quot; target=&quot;_blank&quot;&gt;https://www.adafruit.com/&lt;/a&gt;
&lt;br&gt;&lt;br&gt;
Библиотеки для дисплеев ищите на GitHub Adafruit &lt;a href=&quot;https://github.com/adafruit&quot; target=&quot;_blank&quot;&gt;https://github.com/adafruit&lt;/a&gt; (воспользуйтесь поиском).
&lt;br&gt;&lt;br&gt;
В статье использовались материалы с сайта &lt;a href=&quot;https://learn.adafruit.com&quot; target=&quot;_blank&quot;&gt;https://learn.adafruit.com&lt;/a&gt;.
&lt;br&gt;
Оригинал статьи &lt;a href=&quot;https://learn.adafruit.com/adafruit-gfx-graphics-library?view=all&quot; target=&quot;_blank&quot;&gt;https://learn.adafruit.com/adafruit-gfx-graphics-library?view=all&lt;/a&gt;.
&lt;br&gt;
Возможен не точный перевод! Автор перевода Зайцев Сергей (ZSeregaA).
&lt;br&gt;</content:encoded>
			<link>https://robocontroller.ru/news/opisanie_biblioteki_adafruit_gfx_dlja_arduino/2015-04-26-56</link>
			<category>Статьи</category>
			<dc:creator>ZSeregaA</dc:creator>
			<guid>https://robocontroller.ru/news/opisanie_biblioteki_adafruit_gfx_dlja_arduino/2015-04-26-56</guid>
			<pubDate>Sun, 26 Apr 2015 11:53:17 GMT</pubDate>
		</item>
		<item>
			<title>R-Frame Mini двухколесный управляемый робот</title>
			<description>Первый раз увидев &lt;a href=&quot;http://www.youtube.com/watch?v=Zi-5hbaGmuQ&quot; target=&quot;_blank&quot;&gt;Sphero Ollie&lt;/a&gt;, я решил сделать свою версию. Начертил чертеж, собрал простейшую 3D модель для наглядности, размеры робота получались не маленькими. Купил Arduino Nano и моторшилд на L298N, начертил чертеж и собрал уже реальную модель. В связи с уменьшением размеров, изменил название на R-Frame Mini. В этом роботе использовал маленькие, но мощные для данной модели мотор-редукторы....</description>
			<content:encoded>Первый раз увидев &lt;a href=&quot;http://www.youtube.com/watch?v=Zi-5hbaGmuQ&quot; target=&quot;_blank&quot;&gt;Sphero Ollie&lt;/a&gt;, я решил сделать свою версию. Начертил чертеж, собрал простейшую 3D модель для наглядности, размеры робота получались не маленькими. Купил Arduino Nano и моторшилд на L298N, начертил чертеж и собрал уже реальную модель. В связи с уменьшением размеров, изменил название на R-Frame Mini. В этом роботе использовал маленькие, но мощные для данной модели мотор-редукторы.$CUT$
&lt;br/&gt;&lt;br/&gt;
&lt;div align=&quot;center&quot;&gt;&lt;!--IMG1--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/57354462.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s57354462.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG1--&gt; &lt;!--IMG2--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/39847710.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s39847710.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG2--&gt;
&lt;br/&gt;
&lt;!--IMG3--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/92008467.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s92008467.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG3--&gt; &lt;!--IMG4--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/29280544.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s29280544.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG4--&gt;
&lt;br/&gt;
&lt;!--IMG5--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/69409939.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s69409939.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG5--&gt; &lt;!--IMG6--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/53488731.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s53488731.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG6--&gt; &lt;!--IMG7--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/85300024.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s85300024.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG7--&gt; &lt;!--IMG8--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/35040397.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s35040397.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG8--&gt;
&lt;br/&gt;
&lt;!--IMG9--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/31119545.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s31119545.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG9--&gt; &lt;!--IMG10--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/28839367.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s28839367.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG10--&gt; &lt;!--IMG11--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/50878982.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s50878982.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG11--&gt; &lt;!--IMG12--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/03633199.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s03633199.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG12--&gt;
&lt;br/&gt;
&lt;!--IMG13--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/80788544.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s80788544.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG13--&gt; &lt;!--IMG14--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/00973680.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s00973680.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG14--&gt; &lt;!--IMG15--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/07505021.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s07505021.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG15--&gt; &lt;!--IMG16--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/52397735.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s52397735.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG16--&gt;&lt;/div&gt;
&lt;br/&gt;
К сожалению, эти редукторы не выдержали нагрузки и один из редукторов заклинило. До этого момента я написал программу управления с более плавным стартом и остановкой. Но видео снять не успел, во время тестов случилась поломка. Вот как работал мой алгоритм старта. Скорость набиралась плавно. Но даже это не спасало от проворачивания внутренней части. Для решения этой проблемы на робота был установлен 10DOF модуль. Если при старте или во время движения внутренняя часть проворачивалась более заданного угла, скорость моторов снижалась до минимальной. При этой минимальной скорости, моторы не могли сдвинутся с места без посторонней помощи. Внутренняя часть (по инерции) возвращалась в рабочие приделы. Как только внутренняя часть проходила заданный угол, на моторы вновь подавалась рабочая скорость с плавным возрастанием. Таким образом, робот продолжал движение плавно набирая скорость. На видео используется другой алгоритм, по этому движения дерганые.
&lt;br/&gt;&lt;br/&gt;
&lt;div align=&quot;center&quot;&gt;&lt;iframe width=&quot;640&quot; height=&quot;360&quot; src=&quot;https://robocontroller.ru//www.youtube.com/embed/92mYp5Vc7sU&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br/&gt;
Но как остановить разогнавшегося двухколесного робота? Если перестать подавать ШИМ, он просто катится по инерции. Если тормозит противоходом, внутренняя часть прокручивается и робот катится в том же направлении. Немного поэкспериментировав, решил использовать систему как у балансирующих роботов. Опыта в этом не было, но как не странно, у меня получилось сделать это самому. Представьте, что двухколесный робот разогнался и были отпущены кнопки управления, ШИМ на моторы не подавался. Так как моторы были мощными, они вставали намертво, их и руками с трудом можно провернуть. Робот катился по инерции, при этом, его внутренняя часть крутилась вместе с колесами. Смотрите видео, на нем видно как работает моя балансировка.
&lt;br/&gt;&lt;br/&gt;
&lt;div align=&quot;center&quot;&gt;&lt;iframe width=&quot;640&quot; height=&quot;360&quot; src=&quot;https://robocontroller.ru//www.youtube.com/embed/CJSd1kXN2o4&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br/&gt;
Управление роботом осуществлялось по блютуз через приложение RemoteXY (&lt;a href=&quot;http://remotexy.com/ru/&quot; target=&quot;_blank&quot;&gt;http://remotexy.com/ru/&lt;/a&gt;). Приложение очень удобное и гибкое, советую. В связи с поломкой, работу над этим роботом решил остановить. Алгоритм управления и балансировки так и не доведен до стабильной работы. Сейчас занимаюсь реализацией других идей.
&lt;br/&gt;&lt;br/&gt;
&lt;span style=&quot;color:red&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size:14pt&quot;&gt;Файлы проекта:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt; &lt;a href=&quot;http://robocontroller.ru/robots/R-Frame_Mini.zip&quot; target=&quot;_blank&quot;&gt;R-Frame_Mini.zip&lt;/a&gt;</content:encoded>
			<link>https://robocontroller.ru/news/r_frame_mini_dvukhkolesnyj_upravljaemyj_robot/2014-10-11-50</link>
			<category>Проекты</category>
			<dc:creator>ZSeregaA</dc:creator>
			<guid>https://robocontroller.ru/news/r_frame_mini_dvukhkolesnyj_upravljaemyj_robot/2014-10-11-50</guid>
			<pubDate>Sat, 11 Oct 2014 19:48:41 GMT</pubDate>
		</item>
		<item>
			<title>Bluetooth машинка на ардуино - BIGFOOT Edition</title>
			<description>Эту машинку сделал ради развлечения. Корпус от Z-RoboDog, колеса от WheelXBot, в качестве приводов, четыре микро серво. Один раз решил переделать серво под вращение на 360 градусов. Испортил 5 штук, они конечно работали, но почему-то грелась плата. Решив, что их уже не исправить, убрал из них платы и отключил потенциометры....</description>
			<content:encoded>Эту машинку сделал ради развлечения. Корпус от Z-RoboDog, колеса от WheelXBot, в качестве приводов, четыре микро серво. Один раз решил переделать серво под вращение на 360 градусов. Испортил 5 штук, они конечно работали, но почему-то грелась плата. Решив, что их уже не исправить, убрал из них платы и отключил потенциометры.$CUT$ Припаял провода к моторчикам, сервы превратились в обычные мотор-редукторы.
&lt;br&gt;&lt;br&gt;
Фотографии смотрите тут &lt;a href=&quot;http://vk.com/wall209994195_300&quot; target=&quot;_blank&quot;&gt;http://vk.com/wall209994195_300&lt;/a&gt;
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://robocontroller.ru//www.youtube.com/embed/2qNv4t7rcYc&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br&gt;</content:encoded>
			<link>https://robocontroller.ru/news/bluetooth_mashinka_na_arduino_bigfoot_edition/2014-02-23-49</link>
			<category>Эксперименты</category>
			<dc:creator>ZSeregaA</dc:creator>
			<guid>https://robocontroller.ru/news/bluetooth_mashinka_na_arduino_bigfoot_edition/2014-02-23-49</guid>
			<pubDate>Sat, 22 Feb 2014 21:48:00 GMT</pubDate>
		</item>
		<item>
			<title>Дополнение Smart Protect для платформа RoboTrooper</title>
			<description>В процессе создания гусеничной платформы RoboTrooper, была идея сделать платформу самостоятельной. Она смогла бы двигаться по компасу в заданном направлении. Так как проходимость платформы приличная, она легко взбиралась на высокие препятствия. Это часто приводило к опрокидыванию. Исключать подобные опасные ситуации должна программа Smart Protect (Умная Защита)....</description>
			<content:encoded>В процессе создания гусеничной платформы RoboTrooper, была идея сделать платформу самостоятельной. Она смогла бы двигаться по компасу в заданном направлении. Так как проходимость платформы приличная, она легко взбиралась на высокие препятствия. Это часто приводило к опрокидыванию. Исключать подобные опасные ситуации должна программа Smart Protect (Умная Защита).$CUT$ Небольшую её часть я реализовал. Достигнув заданный угол крена, платформа самостоятельно останавливается. При въезде на высокие препятствия, автоматически выдвигается опорный ролик.
&lt;br&gt;&lt;br&gt;
Более подробно про платформу RoboTrooper и планы читайте тут &lt;a href=&quot;http://robocontroller.ru/news/robotrooper_nachalo_proekta_i_plany/2013-11-13-37&quot; target=&quot;_blank&quot;&gt;robocontroller.ru/news/robotrooper...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://robocontroller.ru//www.youtube.com/embed/eP07ztBoxXc&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br&gt;
Возможно, я ещё вернусь к этой наработке.</content:encoded>
			<link>https://robocontroller.ru/news/dopolnenie_smart_protect_dlja_platforma_robotrooper/2014-02-23-48</link>
			<category>Эксперименты</category>
			<dc:creator>ZSeregaA</dc:creator>
			<guid>https://robocontroller.ru/news/dopolnenie_smart_protect_dlja_platforma_robotrooper/2014-02-23-48</guid>
			<pubDate>Sat, 22 Feb 2014 21:28:09 GMT</pubDate>
		</item>
		<item>
			<title>RC PSX Bot машина управляемая джойстиком от PS3</title>
			<description>На просторах интернета увидел машинку управляемую джойстиком от приставки PlayStation. Решил сделать что то подобное. Заказал себе недорогой китайский аналог PS3 джойстика. Прочитал несколько инструкций и советов по использования PS3 джойстика на Ардуино. Собрал вот такую машинку. На тот момент, для меня, этот способ управления был заменой для ИК пульта. Но так как это был китайский клон, то джойстик работал не совсем правильно. ...</description>
			<content:encoded>На просторах интернета увидел машинку управляемую джойстиком от приставки PlayStation. Решил сделать что то подобное. Заказал себе недорогой китайский аналог PS3 джойстика. Прочитал несколько инструкций и советов по использования PS3 джойстика на Ардуино. Собрал вот такую машинку. На тот момент, для меня, этот способ управления был заменой для ИК пульта. Но так как это был китайский клон, то джойстик работал не совсем правильно. $CUT$
&lt;br&gt;&lt;br&gt;
Составляющие части RC PSX Bot:
&lt;br&gt;&lt;br&gt;
Корпус – платформа (пластиковая пластина с множеством отверстий).
&lt;br&gt;
Привод – 2 мотор-редуктора с колесами. Пассивный поворотный ролик спереди. 
&lt;br&gt;
Платы – Arduino Mega 2560 R3 + Arduino Motor Shield R3.
&lt;br&gt;
Питание – 3 аккумулятора по 3.7 В.
&lt;br&gt;
Управление – PS3 радио джойстик с приемником.
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://robocontroller.ru//www.youtube.com/embed/wIpaHNpcjmI&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br&gt;&lt;br&gt;</content:encoded>
			<link>https://robocontroller.ru/news/rc_psx_bot_mashina_na_arduino_upravljaemaja_dzhojstikom_ot_playstation/2014-02-23-46</link>
			<category>Эксперименты</category>
			<dc:creator>ZSeregaA</dc:creator>
			<guid>https://robocontroller.ru/news/rc_psx_bot_mashina_na_arduino_upravljaemaja_dzhojstikom_ot_playstation/2014-02-23-46</guid>
			<pubDate>Sat, 22 Feb 2014 20:31:02 GMT</pubDate>
		</item>
		<item>
			<title>ArduCar-Z машина на ардуино с ИК пультом управления</title>
			<description>Это моя вторая поделка. Машинка на ардуино, которой можно управлять пультом от ТВ. Впервые я собрал машинку которой можно было управлять. Подсмотрев несколько примеров, сам написал программу управления. Единственное что мне не нравилось, это крепление моторов. Для этого я использовал детали из детского железного конструктора. Моторы хоть и держались, но могли повернуться при столкновении с препятствием....</description>
			<content:encoded>Это моя вторая поделка. Машинка на ардуино, которой можно управлять пультом от ТВ. Впервые я собрал машинку которой можно было управлять. Подсмотрев несколько примеров, сам написал программу управления. Единственное что мне не нравилось, это крепление моторов. Для этого я использовал детали из детского железного конструктора. Моторы хоть и держались, но могли повернуться при столкновении с препятствием.$CUT$ Силенок у моторов было достаточно, чтобы избежать повреждения платы при опрокидывании, сделал защитные стойки.
&lt;br&gt;&lt;br&gt;
Составляющие части ArduCar-Z:
&lt;br&gt;&lt;br&gt;
Корпус – две платформы (пластиковые пластины с множеством отверстий).
&lt;br&gt;
Привод – 4 мотор-редуктора с колесами.
&lt;br&gt;
Платы – Arduino Mega 2560 R3 + Arduino Motor Shield R3.
&lt;br&gt;
Питание – 2 аккумулятора по 3.7 В.
&lt;br&gt;
Управление – пульт от ТВ.
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://robocontroller.ru//www.youtube.com/embed/YyRNpPgy2PU&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br&gt;&lt;br&gt;</content:encoded>
			<link>https://robocontroller.ru/news/arducar_z_mashina_na_arduino_s_ik_pultom_upravlenija/2014-02-23-45</link>
			<category>Эксперименты</category>
			<dc:creator>ZSeregaA</dc:creator>
			<guid>https://robocontroller.ru/news/arducar_z_mashina_na_arduino_s_ik_pultom_upravlenija/2014-02-23-45</guid>
			<pubDate>Sat, 22 Feb 2014 20:02:39 GMT</pubDate>
		</item>
		<item>
			<title>Рука манипулятор для робота на ардуино</title>
			<description>Когда я собирался купить Arduino, планировал в первую очередь собрать руку-манипулятор с клешней. У меня это получилось, манипулятор работал, но до клешни дело не дошло. Решил набраться опыта и потом вернуться к этой идее. Вот из чего он собран:...</description>
			<content:encoded>Когда я собирался купить Arduino, планировал в первую очередь собрать руку-манипулятор с клешней. У меня это получилось, манипулятор работал, но до клешни дело не дошло. Решил набраться опыта и потом вернуться к этой идее. Вот из чего он собран:$CUT$
&lt;br&gt;&lt;br&gt;
Корпус – коробка из-под обуви.
&lt;br&gt;
Манипулятор – 4 микро серво и кабель канал в качестве каркаса.
&lt;br&gt;
Ардуино – использую Arduino Mega 2560 R3.
&lt;br&gt;
Питание – блок питания.
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://robocontroller.ru//www.youtube.com/embed/VbjnAV4DJug&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br&gt;</content:encoded>
			<link>https://robocontroller.ru/news/ruka_manipuljator_dlja_robota_na_arduino/2014-02-22-44</link>
			<category>Эксперименты</category>
			<dc:creator>ZSeregaA</dc:creator>
			<guid>https://robocontroller.ru/news/ruka_manipuljator_dlja_robota_na_arduino/2014-02-22-44</guid>
			<pubDate>Sat, 22 Feb 2014 19:06:15 GMT</pubDate>
		</item>
		<item>
			<title>URoboBox - бесполезная роботизированная коробка</title>
			<description>Многие из вас наверняка знают и видели гаджет под названием «Бесполезная коробка». Но коробочка эта, вовсе не бесполезная, игра с ней дает немало положительных эмоций. Решив позабавить своих детей, друзей и знакомых, я сделал URoboBox. Это моя версия легендарной коробки....</description>
			<content:encoded>Многие из вас наверняка знают и видели гаджет под названием «Бесполезная коробка». Но коробочка эта, вовсе не бесполезная, игра с ней дает немало положительных эмоций. Решив позабавить своих детей, друзей и знакомых, я сделал URoboBox. Это моя версия легендарной коробки.$CUT$
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;!--IMG34--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/90241993.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s90241993.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG34--&gt;&lt;/div&gt;
&lt;br&gt;&lt;br&gt;
URoboBox – Useless Robotic Box (Бесполезная Роботизированная Коробка). Коробочка получилась простая, с минимальной начинкой доступной каждому. Для тех, кто хочет сделать такую коробку, прилагаю подробную инструкцию по сборке и все необходимые файлы. Для начала давайте посмотрим что получилось.
&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;font size=&quot;4&quot; style=&quot;font-size: 14pt;&quot;&gt;
URoboBox в действии:&lt;/font&gt;&lt;/b&gt;
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;iframe width=&quot;420&quot; height=&quot;236&quot; src=&quot;https://robocontroller.ru//www.youtube.com/embed/syfzV2MEBCM&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br&gt;&lt;br&gt;
URoboBox может работать в двух режимах, случайный выбор движений и по порядку. Коробочка имеет 7 движений для отключения тумблера, можно добавлять свои движения. Если рычаг по каким-то причинам не может выключить тумблер, то после трех попыток коробочка переходит в режим ожидания. Работа продолжится после отключение тумблера вручную. Далее идет часть для тех кто желает собрать такую коробочку самостоятельно.
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:14pt&quot;&gt;&lt;b&gt;Работа URoboBox изнутри:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;iframe width=&quot;420&quot; height=&quot;236&quot; src=&quot;https://robocontroller.ru//www.youtube.com/embed/f3UQXzMd8FQ&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br&gt;&lt;br&gt;
Корпус и рычаг вырезаны лазером из фанеры толщиной 4 мм. Вы можете использовать любой другой материал, например, пластик, оргстекло. Но толщина материала не должна превышать 4 мм, в противном случае, вам придется изменить чертежи. Чертежи нарисованы в программе CorelDRAW X6. Следуйте инструкции и у вас всё получится.
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;color:red&quot;&gt;&lt;b&gt;ВНИМАНИЕ: Вовремя сборки внимательно смотрите на фотографии и располагайте детали именно так, как они расположены на фото.&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:14pt&quot;&gt;&lt;b&gt;Необходимые компоненты:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
1. Плата Arduino. Я использую Arduino Mega, вы можете использовать любую другую.
&lt;br&gt;
2. Тумблер с двумя положениями. Диаметр втулки с резьбой не должен превышать 6 мм.
&lt;br&gt;
3. Серво. Я использую TowerPro g9. Если вы будете использовать другие серво, вам придется изменить чертежи крепления серво.
&lt;br&gt;
4. Элементы питания.
&lt;br&gt;
5. Супер клей. Маленькие тюбики, желательно гель.
&lt;br&gt;
6. Шесть маленьких саморезов диаметром до 2.5 мм.
&lt;br&gt;
7. Сверло 2 мм, 1 мм. Дрель или шуруповерт.
&lt;br&gt;&lt;br&gt;
&lt;u&gt;&lt;span style=&quot;font-size:14pt&quot;&gt;&lt;b&gt;Инструкция по сборке:&lt;/b&gt;&lt;/span&gt;&lt;/u&gt;
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:14pt&quot;&gt;&lt;b&gt;Крепление для Arduino.&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
1. Возьмите необходимые детали. Расположите их точно также как на фото (рис. 1). 
&lt;br&gt;
2. Переверните боковую стенку, поставьте детали крепления (гантельки) в прямоугольные отверстия (рис. 2).
&lt;br&gt;
3. Сделайте отметки с двух сторон у каждой «гантельки», примерно посередине, между прямоугольными отверстиями (рис. 2 и рис. 3).
&lt;br&gt;
4. Поочередно, установите «гантельки» с обратной (внутренней стороны) и просверлите отверстия (сверло 2 мм) в местах указанных точками на рисунке (рис. 3). Сверлите таким образом, чтобы сверло вошло в стенку «гантельки» прямо по центру. Диаметр сверла зависит от диаметра самореза.
&lt;br&gt;
5. Закрепите «гантельки» саморезами (рис. 4, рис. 5).
&lt;br&gt;
6. Возьмите пластинку для крепления Arduino. Приложите к ней плату так, чтобы совпали отверстия для креплений. Отметьте где будет находиться гнездо USB и куда оно направлено (рис. 6).
&lt;br&gt;
7. Нанесите клей на паз «гантелек» (рис. 7), приложите пластину крепления Ардуино к «гантелькам» и дождитесь пока она приклеится.
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left;&quot;&gt;&lt;!--IMG1--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/05866347.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s05866347.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG1--&gt;&lt;br&gt;(рис. 1)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 10px;&quot;&gt;&lt;!--IMG2--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/42114669.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s42114669.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG2--&gt;&lt;br&gt;(рис. 2)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 10px;&quot;&gt;&lt;!--IMG3--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/98385242.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s98385242.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG3--&gt;&lt;br&gt;(рис. 3)&lt;/div&gt;
&lt;div style=&quot;clear:left;&quot;&gt;&lt;/div&gt;
&lt;br&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left;&quot;&gt;&lt;!--IMG4--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/08122642.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s08122642.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG4--&gt;&lt;br&gt;(рис. 4)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 10px;&quot;&gt;&lt;!--IMG5--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/16282995.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s16282995.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG5--&gt;&lt;br&gt;(рис. 5)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 10px;&quot;&gt;&lt;!--IMG6--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/80070874.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s80070874.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG6--&gt;&lt;br&gt;(рис. 6)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 10px;&quot;&gt;&lt;!--IMG7--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/73885816.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s73885816.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG7--&gt;&lt;br&gt;(рис. 7)&lt;/div&gt;
&lt;div style=&quot;clear:left;&quot;&gt;&lt;/div&gt;
&lt;br&gt;
&lt;b&gt;Вот что у вас должно получиться:&lt;/b&gt;
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;iframe width=&quot;420&quot; height=&quot;236&quot; src=&quot;https://robocontroller.ru//www.youtube.com/embed/EMCvhACmtCk&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;br&gt;(видео 1)&lt;/div&gt;
&lt;br&gt;
&lt;span style=&quot;font-size:14pt&quot;&gt;&lt;b&gt;Корпус &lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
1. Разложите детали так, как показано на фото (рис. 8). Синими стрелками указаны основные элементы деталей, убедитесь, что ваши детали лежат также.
&lt;br&gt;
2. Склейте скотчем: дно, левый торец, заднюю стенку и правый торец (видео 2). Соблюдайте расположение деталей.
&lt;br&gt;
3. Нанесите клей на торцы пазов дна и передней стенки (рис. 9). Прижмите переднюю стенку и дождитесь высыхания клея. У вас должно получиться так (видео 3).
&lt;br&gt;
4. Склейте скотчем: дно, левый торец, переднюю стенку и правый торец. Нанесите клей на торцы пазов дна и задней стенки (рис. 10). Прижмите заднюю стенку соблюдая расположение деталей и дождитесь высыхания клея. Вот что у вас должно получиться (видео 4). 
&lt;br&gt;
5. Со стороны правого торца, намажьте клеем торцы пазов задней стенки, дна и передней стенки. Аккуратно вставьте правый торец в пазы и дождитесь засыхания клея.
&lt;br&gt;
6. Левый торец приклеивать не нужно.
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left;&quot;&gt;&lt;!--IMG8--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/97879479.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s97879479.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG8--&gt;&lt;br&gt;(рис. 8)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 5px;&quot;&gt;&lt;iframe width=&quot;270&quot; height=&quot;152&quot; src=&quot;https://robocontroller.ru//www.youtube.com/embed/1GbSDOlz9uo&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;br&gt;(видео 2)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 5px;&quot;&gt;&lt;!--IMG9--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/45337165.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s45337165.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG9--&gt;&lt;br&gt;(рис. 9)&lt;/div&gt;
&lt;div style=&quot;clear:left;&quot;&gt;&lt;/div&gt;
&lt;br&gt; 
&lt;div align=&quot;center&quot; style=&quot;float: left&quot;&gt;&lt;iframe width=&quot;240&quot; height=&quot;135&quot; src=&quot;https://robocontroller.ru//www.youtube.com/embed/AYhRRvrtoBE&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;br&gt;(видео 3)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 5px;&quot;&gt;&lt;!--IMG10--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/90821013.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s90821013.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG10--&gt;&lt;br&gt;(рис. 10)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 5px;&quot;&gt;&lt;iframe width=&quot;240&quot; height=&quot;135&quot; src=&quot;https://robocontroller.ru//www.youtube.com/embed/G4QD8ooytRw&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;br&gt;(видео 4)&lt;/div&gt;
&lt;div style=&quot;clear:left;&quot;&gt;&lt;/div&gt;
&lt;br&gt;
&lt;b&gt;Вот что у вас должно получиться:&lt;/b&gt;
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;iframe width=&quot;420&quot; height=&quot;236&quot; src=&quot;https://robocontroller.ru//www.youtube.com/embed/9w8eKhorQS8&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;br&gt;(видео 5)&lt;/div&gt;
&lt;br&gt;
&lt;span style=&quot;font-size:14pt&quot;&gt;&lt;b&gt;Левая верхняя крышка:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
1. Возьмите корпус, левую крышку и 2 крючка (рис. 11).
&lt;br&gt;
2. Приклейте крючки. Крючок в корпусе должен быть направлен прорезью в сторону левого торца коробки. Крючок на крышке должен быть направлен прорезью в сторону правого торца (рис. 12), (рис. 13).
&lt;br&gt;
3. Возьмите канцелярскую скрепку, распрямите её и откусите кусачками два куска по 3 см. Загните оба отрезка как показано на рисунке (рис. 14).
&lt;br&gt;
4. Уберите стенку левого торца, приложите правую верхнюю крышка как показано на рисунке (рис. 13) и просверлите отверстие (сверло 1 мм) в указанных на картинке местах (рис. 15). Сверло должно пройти сквозь боковые стенки и в середину торца верхней крышки.
&lt;br&gt;
5. Вставьте в просверленные отверстия скобы из канцелярской скрепки (рис. 16)
&lt;br&gt;
6. Загните каждую скобу так, чтобы «свободный» конец был направлен внутрь корпуса (рис. 17).
&lt;br&gt;
7. Возьмите резинку для денег, сложите её в двое, закрутите на нужное число оборотов и наденьте на крючки (рис. 18).
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left;&quot;&gt;&lt;!--IMG11--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/47493867.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s47493867.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG11--&gt;&lt;br&gt;(рис. 11)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 10px;&quot;&gt;&lt;!--IMG12--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/54696925.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s54696925.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG12--&gt;&lt;br&gt;(рис. 12)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 10px;&quot;&gt;&lt;!--IMG13--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/34527237.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s34527237.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG13--&gt;&lt;br&gt;(рис. 13)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 10px;&quot;&gt;&lt;!--IMG14--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/50730588.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s50730588.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG14--&gt;&lt;br&gt;(рис. 14)&lt;/div&gt;
&lt;div style=&quot;clear:left;&quot;&gt;&lt;/div&gt;
&lt;br&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left;&quot;&gt;&lt;!--IMG15--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/29683996.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s29683996.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG15--&gt;&lt;br&gt;(рис. 15)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 10px;&quot;&gt;&lt;!--IMG16--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/39041252.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s39041252.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG16--&gt;&lt;br&gt;(рис. 16)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 10px;&quot;&gt;&lt;!--IMG17--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/47392623.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s47392623.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG17--&gt;&lt;br&gt;(рис. 17)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 10px;&quot;&gt;&lt;!--IMG18--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/71326066.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s71326066.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG18--&gt;&lt;br&gt;(рис. 18)&lt;/div&gt;
&lt;div style=&quot;clear:left;&quot;&gt;&lt;/div&gt;
&lt;br&gt;
&lt;b&gt;Вот что у вас должно получиться:&lt;/b&gt;
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;iframe width=&quot;420&quot; height=&quot;236&quot; src=&quot;https://robocontroller.ru//www.youtube.com/embed/2r_r2YmUEgo&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;br&gt;(видео 6)&lt;/div&gt;
&lt;br&gt;
&lt;span style=&quot;font-size:14pt&quot;&gt;&lt;b&gt;Крепление серво, рычага, тумблер, завершение сборки:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
1. Возьмите крепление для серво и сам сервопривод (рис. 19).
&lt;br&gt;
2. Вставьте серво в прямоугольное отверстие, при этом вал серво должен быть ближе к верхнему краю крепления. Нижняя часть крепления обозначена отверстием (рис. 20, рис. 21). Закрепите серво шурупами или винтиками M2 (пример на фото), предварительно просверлив отверстия (сверло 2 мм).
&lt;br&gt;
3. Возьмите две части рычага (рис. 22), склейте их или соедините винтиками (пример на фото). Прикрутите качалку от серво точно также, как на фото (рис. 23).
&lt;br&gt;
4. Поставьте серво в положение 0 градусов и закрепите рычаг на серво. Прямая часть рычага должна быть направлена вниз (рис. 24).
&lt;br&gt;
5. Возьмите тумблер, провода штекера и сопротивление 10 кОм. Припаяйте провода и сопротивление как на картинке (рис. 25).
&lt;br&gt;
6. Закрепите тумблер в правой верхней крышке как на картинке (рис. 26).
&lt;br&gt;
7. Если у вас не Arduino Mega, тогда изготовьте вот такой провод (рис. 27).
&lt;br&gt;
8. Подключите все компоненты к ардуино, смотрите схему (рис. 28, рис. 29, рис. 30).
 &lt;br&gt;
9. Закрепите Ардуино. Установите крепление с серво таким образом, чтобы вал серво был направлен в сторону задней стенки. Блок с батареями можно разместить на стенке левого торца (рис. 31, рис. 32).
&lt;br&gt;
10. Закрепите верхнюю правую крышку и левый торец при помощи шурупов. Предварительно, под шурупы просверлите отверстия (сверло 2 мм) (рис. 33).
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left;&quot;&gt;&lt;!--IMG19--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/62861598.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s62861598.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG19--&gt;&lt;br&gt;(рис. 19)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 10px;&quot;&gt;&lt;!--IMG20--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/05494031.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s05494031.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG20--&gt;&lt;br&gt;(рис. 20)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 10px;&quot;&gt;&lt;!--IMG21--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/57128087.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s57128087.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG21--&gt;&lt;br&gt;(рис. 21)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 10px;&quot;&gt;&lt;!--IMG22--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/36729760.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s36729760.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG22--&gt;&lt;br&gt;(рис. 22)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 10px;&quot;&gt;&lt;!--IMG23--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/77471487.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s77471487.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG23--&gt;&lt;br&gt;(рис. 23)&lt;/div&gt;
&lt;div style=&quot;clear:left;&quot;&gt;&lt;/div&gt;
&lt;br&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left;&quot;&gt;&lt;!--IMG24--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/39632721.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s39632721.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG24--&gt;&lt;br&gt;(рис. 24)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 10px;&quot;&gt;&lt;!--IMG25--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/49709924.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s49709924.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG25--&gt;&lt;br&gt;(рис. 25)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 10px;&quot;&gt;&lt;!--IMG26--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/84592156.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s84592156.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG26--&gt;&lt;br&gt;(рис. 26)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 10px;&quot;&gt;&lt;!--IMG27--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/94039045.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s94039045.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG27--&gt;&lt;br&gt;(рис. 27)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 10px;&quot;&gt;&lt;!--IMG28--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/25851592.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s25851592.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG28--&gt;&lt;br&gt;(рис. 28)&lt;/div&gt;
&lt;div style=&quot;clear:left;&quot;&gt;&lt;/div&gt;
&lt;br&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left;&quot;&gt;&lt;!--IMG29--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/94160750.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s94160750.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG29--&gt;&lt;br&gt;(рис. 29)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 10px;&quot;&gt;&lt;!--IMG30--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/41014644.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s41014644.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG30--&gt;&lt;br&gt;(рис. 30)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 10px;&quot;&gt;&lt;!--IMG31--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/73003110.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s73003110.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG31--&gt;&lt;br&gt;(рис. 31)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 10px;&quot;&gt;&lt;!--IMG32--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/72691907.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s72691907.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG32--&gt;&lt;br&gt;(рис. 32)&lt;/div&gt;
&lt;div align=&quot;center&quot; style=&quot;float: left; margin-left: 10px;&quot;&gt;&lt;!--IMG33--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/00196121.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s00196121.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG33--&gt;&lt;br&gt;(рис. 33)&lt;/div&gt;
&lt;div style=&quot;clear:left;&quot;&gt;&lt;/div&gt;
&lt;br&gt;&lt;br&gt;
&lt;b&gt;Вот что у вас должно получиться:&lt;/b&gt;
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;iframe width=&quot;420&quot; height=&quot;236&quot; src=&quot;https://robocontroller.ru//www.youtube.com/embed/NhFg6vp9V88&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;br&gt;(видео 6)&lt;/div&gt;
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:14pt&quot;&gt;&lt;b&gt;Настройка программы:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
Откройте код для URoboBox. В самом начале кода, вы увидите раздел настроек.
&lt;br&gt;
1. Укажите пины на которых подключены серво (пин 3) и тумблер (пин 2).
&lt;br&gt;
2. Укажите минимальное положение рычага, по умолчанию 10. Максимальное положение рычага, в диапазоне от 90 до 110. Укажите такой градус, при котором в максимальном положении рычаг будет выключать тумблер.
&lt;br&gt;
3. Укажите пин для светодиода подсветки.
&lt;br&gt;
4. Выберите режим работы URoboBox, 1 - Выбор движений в случайном порядке, 2 - Движения идут по порядку.
&lt;br&gt;
5. Общее число движений. Измените это число, если вы добавляли свои движения, укажите общее число движений.
&lt;br&gt;
6. Настройте движение Shake, читайте описание в коде.
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:14pt&quot;&gt;&lt;b&gt;Файлы проекта:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
&lt;b&gt;Код URoboBox для Arduino (много ошибок, отправлен на доработку)&lt;/b&gt;
&lt;br&gt;&lt;br&gt;
&lt;b&gt;Архив с файлом чертежей URoboBox для лазерной резки. Файл создан в программе CorelDRAW X6. (&lt;a href=&quot;http://robocontroller.ru/load/urobobox/urobobox_fajl_chertezhej/2-1-0-5&quot; target=&quot;_blank&quot;&gt;СКАЧАТЬ&lt;/a&gt;)&lt;/b&gt;
&lt;br&gt;</content:encoded>
			<link>https://robocontroller.ru/news/urobobox_bespoleznaja_robotizirovannaja_korobka/2014-01-19-43</link>
			<category>Проекты</category>
			<dc:creator>ZSeregaA</dc:creator>
			<guid>https://robocontroller.ru/news/urobobox_bespoleznaja_robotizirovannaja_korobka/2014-01-19-43</guid>
			<pubDate>Sat, 18 Jan 2014 21:22:42 GMT</pubDate>
		</item>
		<item>
			<title>RoboTumbler — самодельный робот неваляшка</title>
			<description>RoboTumbler - это робот неваляшка. Название робота характеризует его основную функцию. В переводе с английского, Tumbler означает «неваляшка, акробат». Основная задача этого робота, оставаться в горизонтальном положении. Он может самостоятельно встать после падения....</description>
			<content:encoded>RoboTumbler - это робот неваляшка. Название робота характеризует его основную функцию. В переводе с английского, Tumbler означает «неваляшка, акробат». Основная задача этого робота, оставаться в горизонтальном положении. Он может самостоятельно встать после падения.$CUT$
&lt;div align=&quot;center&quot;&gt;&lt;img border=&quot;0&quot; align=&quot;absmiddle&quot; src=&quot;http://robocontroller.ru/robots/robotumbler/robotumbler_logo_03_640.png&quot;&gt;&lt;/div&gt;
&lt;span style=&quot;font-size:13pt&quot;&gt;&lt;b&gt;Предыстория:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
Полгода назад я увлекся робототехникой, до этого момента c электроникой меня ничего не связывало. Впечатленный разнообразием роботов обладающих потрясающими способностями, мне захотелось сделать своего. Смотря &lt;a href=&quot;http://www.youtube.com/watch?v=nNbj2G3GmAo&quot; target=&quot;_blank&quot;&gt;ролик&lt;/a&gt; про робота NAO, я увидел, как он встает после падения. Не зная как это работает, я решил, что должен сделать, что то подобное. Прошло немного времени, я познакомился с Arduino и понял, что это совсем не сложно. Решил начинать постепенно, чтобы понять все тонкости. И вот сейчас, хочу показать вам робота RoboTumbler, который может автоматически вставать после падения.
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;!--IMG1--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/51884032.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s51884032.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG1--&gt; &lt;!--IMG2--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/14689089.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s14689089.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG2--&gt; &lt;!--IMG3--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/09289896.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s09289896.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG3--&gt; &lt;br/&gt;&lt;!--IMG5--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/97376396.png&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s97376396.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG5--&gt; &lt;!--IMG4--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/49314432.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s49314432.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG4--&gt;&lt;/div&gt;
&lt;br&gt;
&lt;span style=&quot;font-size:13pt&quot;&gt;&lt;b&gt;Устройство RoboTumbler:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
Корпус и части манипулятора вырезаны лазером из фанеры 4 мм. Высота робота на опорах 325 мм, ширина 120 мм. В корпусе закреплены элементы питания, плата Arduino Mega, модуль 10 DOF, сервопривод поворота манипулятора. Манипулятор состоит из нескольких подвижных частей, основание манипулятора закреплено на сервоприводе. На этом &lt;a href=&quot;http://www.youtube.com/watch?v=hWIasza1vc8&quot; target=&quot;_blank&quot;&gt;видео&lt;/a&gt; можно посмотреть как устроен робот.
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:13pt&quot;&gt;&lt;b&gt;Принцип работы RoboTumbler:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
Arduino считывает показатели акселерометра (pitch, roll). Если показания превышают указанный градус, манипулятор направляется в сторону уклона. Отталкиваясь от поверхности, робот возвращается в горизонтальное положение. Таким образом, робот автоматически встает после падения. Если робот находится на неровной поверхности и не может встать. После пяти неудачных попыток или невозвращении в горизонтальное положение, он старается сместиться. Смещение происходит за счет инерции от рывка манипулятором. Такой способ передвижения конечно не идеален, его использование связано со слабыми сервоприводами. По идее, робот должен был перекатываться, поворачивая корпус манипулятором. Но сервоприводам TowerPro SG90 такая работа не под силу. Использовал эти сервы потому, что они были у меня под рукой. На видео показаны все возможности RoboTumbler. 
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://robocontroller.ru//www.youtube.com/embed/nwfyMfaeQsg&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:14pt&quot;&gt;&lt;b&gt;Файлы проекта:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
&lt;a href=&quot;http://robocontroller.ru/robots/robotumbler/RoboTumbler_v01_ino.zip&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;RoboTumbler_v01_ino.zip&lt;/b&gt;&lt;/a&gt; - архив с файлом кода для Arduino. Код основан на готовом коде для 6DOF. Состоит из нескольких файлов, запускать RoboTumbler_v01.
&lt;br&gt;&lt;br&gt;
&lt;a href=&quot;http://robocontroller.ru/robots/robotumbler/RoboTumbler_v16_cdr.zip&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;RoboTumbler_v16_cdr.zip&lt;/b&gt;&lt;/a&gt; - архив с файлом чертежей для CorelDraw x6. Сохранено для версии 16.0. В чертежах учтены допуски в 0,2 мм. (толщина реза лазера). Например, отверстие 3 мм, будет 2,8 мм.
&lt;br/&gt;&lt;br/&gt;
&lt;b&gt;Добавлено 16.022016:&lt;/b&gt;
&lt;br/&gt;&lt;br/&gt;
&lt;a href=&quot;http://robocontroller.ru/robots/robotumbler/RoboTumbler3D.stl&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;RoboTumbler3D.stl&lt;/b&gt;&lt;/a&gt; - STL файл для 3D печати частей корпуса робота. Автор STL файла, Евгений Токарев.
&lt;br/&gt;</content:encoded>
			<link>https://robocontroller.ru/news/robotumbler_samodelnyj_robot_nevaljashka/2013-12-15-42</link>
			<category>Проекты</category>
			<dc:creator>ZSeregaA</dc:creator>
			<guid>https://robocontroller.ru/news/robotumbler_samodelnyj_robot_nevaljashka/2013-12-15-42</guid>
			<pubDate>Sun, 15 Dec 2013 10:38:23 GMT</pubDate>
		</item>
		<item>
			<title>BTCA2A - управление Arduino по Bluetooth при помощи Android</title>
			<description>BTCA2A - это библиотека для Arduino. Данная библиотека написана под приложение BT Controller для Android. Применяя библиотеку BTCA2A совместно с приложением BT Controller, можно управлять Arduino, используя смартфон или планшет в качестве Bluetooth контроллера....</description>
			<content:encoded>BTCA2A - это библиотека для Arduino. Данная библиотека написана под приложение BT Controller для Android. Применяя библиотеку BTCA2A совместно с приложением BT Controller, можно управлять Arduino, используя смартфон или планшет в качестве Bluetooth контроллера.$CUT$
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;img border=&quot;0&quot; align=&quot;absmiddle&quot; src=&quot;http://robocontroller.ru/img/logo/BTCA2A/BTCA2A_logo_001_1_1.png&quot;&gt;&lt;/div&gt;
&lt;br&gt;&lt;br&gt;
Библиотека BTCA2A поддерживает более двухсот команд. Что даёт вам возможность управлять Ардуино, используя свои контроллеры созданные в приложении BT Controller. Наглядное применение смотрите на видео.
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;iframe width=&quot;320&quot; height=&quot;180&quot; src=&quot;https://robocontroller.ru//www.youtube.com/embed/780qJlzh5kY&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt; &lt;iframe width=&quot;320&quot; height=&quot;180&quot; src=&quot;https://robocontroller.ru//www.youtube.com/embed/yu8JJPl-TEs&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;br&gt;
&lt;iframe width=&quot;480&quot; height=&quot;270&quot; src=&quot;https://robocontroller.ru//www.youtube.com/embed/ExVX5kOGzBk&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br&gt;&lt;br&gt;
Если вы не желаете использовать платное приложение или хотите опробовать работу библиотеки. Специально для Вас существует библиотека BTCA2ALite, написанная под бесплатное приложение BT Controller Lite. Подробное описание и инструкция тут &lt;a href=&quot;http://robocontroller.ru/news/2013-11-05-35&quot; target=&quot;_blank&quot;&gt;http://robocontroller.ru/news/2013-11-05-35&lt;/a&gt;
&lt;br&gt;&lt;br&gt;
Работа с библиотекой BTCA2A:
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:13pt&quot;&gt;&lt;b&gt;1. Подготовка Bluetooth модуля для работы с библиотекой BTCA2A:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
Для нормальной работы библиотеки BTCA2A, скорость последовательной передачи данных установлена на 115200bps. По этому, вам нужно изменить скорость вашего блютуз модуля. Сделать это не сложно. Просто следуйте инструкции и у вас всё получится. Далее в тексте Bluetooth модуль будет указываться как БТ.
&lt;br&gt;&lt;br&gt;
&lt;b&gt;1.1.&lt;/b&gt; Скачайте скетч для изменения скорости Bluetooth модуля. &lt;a href=&quot;http://robocontroller.ru/files/sketch/BT_AT_Setup_SoftwareSerial.zip&quot; target=&quot;_blank&quot;&gt;BT_AT_Setup_SoftwareSerial&lt;/a&gt;
&lt;br&gt;
Если у вас Arduino Mega то скачайте вот этот скетч &lt;a href=&quot;http://robocontroller.ru/files/sketch/BT_AT_Setup_Mega.zip&quot; target=&quot;_blank&quot;&gt;BT_AT_Setup_Mega&lt;/a&gt;
&lt;br&gt;&lt;br&gt;
&lt;b&gt;1.2.&lt;/b&gt; В скетче укажите пины, к которым будет подключен БТ. Если у вас Arduino Mega подключите БТ к пинам Serial1.
&lt;br&gt;&lt;br&gt;
&lt;b&gt;1.3.&lt;/b&gt; Загрузите скетч на ардуино. Откройте монитор портов в Arduino IDE.
&lt;br&gt;&lt;br&gt;
&lt;b&gt;1.4.&lt;/b&gt; Проверьте, отвечает ли ваш БТ, отправьте команду AT (латинскими буквами). Вы должны получить ответ OK. Если ответ не пришел, убедитесь в следующем: ваш БТ подключен к нужным пинам, его скорость совпадает со скоростью указанной в инициализации портов в скетче. В некоторых случаях нужно отключить провод массы от БТ, затем подключить его снова и нажать кнопку перезагрузки платы ардуино.
&lt;br&gt;&lt;br&gt;
&lt;b&gt;1.5.&lt;/b&gt; Если вы получили ответ OK, отправьте команду AT+BAUD8. Вы должны получить ответ OK115200. Скорость вашего БТ изменена.
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:13pt&quot;&gt;&lt;b&gt;2. Пример работы библиотеки BTCA2A:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
В библиотеку BTCA2A добавлен пример BTCA2A_Example. Для использования этого примера вам понадобиться три светодиода. На основе данного примера разберем работу основных функций библиотеки.
&lt;br&gt;&lt;br&gt;
&lt;b&gt;2.1.&lt;/b&gt; Скачайте библиотеку BTCA2A (&lt;a href=&quot;http://robocontroller.ru/load/biblioteki_btca2a/btca2a/1-1-0-3&quot; target=&quot;_blank&quot;&gt;ссылка BTCA2A v1.0&lt;/a&gt;). Распакуйте библиотеку в папку libraries в установленной программе Arduino IDE.
&lt;br&gt;&lt;br&gt;
&lt;b&gt;2.2.&lt;/b&gt; Подключите светодиоды по следующей схеме.
&lt;br&gt;&lt;br&gt;
&lt;!--IMG6--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/00931366.png&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s00931366.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG6--&gt;
&lt;br&gt;&lt;br&gt;
&lt;b&gt;2.3.&lt;/b&gt; Откройте пример BTCA2A_Example из библиотеки. Укажите пины к которым подключены светодиоды.
&lt;br&gt;&lt;br&gt;
&lt;b&gt;2.4.&lt;/b&gt; В библиотеке реализован выбор последовательных портов для подключения Bluetooth к Arduino Mega. Если вы используете другую плату ардуино тогда первое число в &lt;span style=&quot;color:gray&quot;&gt;&lt;b&gt;btca2a.SetupHardwareSerial(0, 115200)&lt;/b&gt;&lt;/span&gt; должен быть 0. Если вы используете Arduino Mega или её аналоги, тогда вы можете выбрать номер нужного порта. 1 - Serial1, 2 - Serial2, 3 - Serial3, 0 - основной Serial. Например, Bluetooth модуль будет использовать Serial2, результат &lt;span style=&quot;color:gray&quot;&gt;&lt;b&gt;btca2a.SetupHardwareSerial(2, 115200)&lt;/b&gt;&lt;/span&gt;. Это обязательная часть кода, располагается до setup.
&lt;br&gt;&lt;br&gt;
ВАЖНО!!! Для нормальной работы библиотеки, скорость последовательной передачи данных должна быть 115200.
&lt;br&gt;&lt;br&gt;
&lt;b&gt;2.5.&lt;/b&gt; &lt;span style=&quot;color:gray&quot;&gt;&lt;b&gt;btca2a.ReadCommand()&lt;/b&gt;&lt;/span&gt; – Считывает принятые команды и изменяет статус кнопок. Это обязательная часть кода, располагается в начала loop.
&lt;br&gt;&lt;br&gt;
&lt;b&gt;2.6.&lt;/b&gt; &lt;span style=&quot;color:gray&quot;&gt;&lt;b&gt;btca2a.Button(НАЗВАНИЕ_КНОПКИ)&lt;/b&gt;&lt;/span&gt; – считывает статуса кнопок в момент нажатия. Действие в условии будет выполняться только в момент нажатия выбранной кнопки.
&lt;br&gt;&lt;br&gt;
В момент нажатия на джойстике кнопки X (KEYCODE_BUTTON_X), светодиод LED1 загорится.
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;color:gray&quot;&gt;&lt;b&gt;if (btca2a.Button(KEYCODE_BUTTON_X)){
&lt;br&gt;
 digitalWrite(LED1, HIGH);
&lt;br&gt;
 }&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
В момент нажатия на джойстике кнопки Y (KEYCODE_BUTTON_Y), светодиод LED1 погаснет.
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;color:gray&quot;&gt;&lt;b&gt;if (btca2a.Button(KEYCODE_BUTTON_Y)){
&lt;br&gt;
 digitalWrite(LED1, LOW);
&lt;br&gt;
 }&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
&lt;b&gt;2.7.&lt;/b&gt; &lt;span style=&quot;color:gray&quot;&gt;&lt;b&gt;btca2a.ButtonPressed(НАЗВАНИЕ_КНОПКИ)&lt;/b&gt;&lt;/span&gt; – считывает статус зажатой кнопки. Действие в условии будет выполняться пока указанная кнопка зажата. Как только вы отпустите кнопку, действие в условии выполняться не будет.
&lt;br&gt;&lt;br&gt;
Светодиод LED2 будет гореть пока вы удерживаете кнопку A (KEYCODE_BUTTON_A). Как только вы отпустите кнопку, светодиод LED2 погаснет.
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;color:gray&quot;&gt;&lt;b&gt;if (btca2a.ButtonPressed(KEYCODE_BUTTON_A)){
&lt;br&gt;
 digitalWrite(LED2, HIGH);
&lt;br&gt;
 }
&lt;br&gt;
 else{
&lt;br&gt;
 digitalWrite(LED2, LOW);
&lt;br&gt;
 }&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
&lt;b&gt;2.8.&lt;/b&gt; &lt;span style=&quot;color:gray&quot;&gt;&lt;b&gt;btca2a.ButtonReleased(НАЗВАНИЕ_КНОПКИ)&lt;/b&gt;&lt;/span&gt; – считывает статус не нажатых кнопки. Действие в условии будет выполняться если указанная кнопка не нажата.
&lt;br&gt;&lt;br&gt;
Светодиод LED3 будет гореть пока удерживаете кнопку L1 (KEYCODE_BUTTON_L1) и при этом не нажата кнопка L2 (KEYCODE_BUTTON_L2). Если нажать и удерживать сразу две кнопки L1 и L2, светодиод LED3 не загорится.
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;left&quot; style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;color:gray&quot;&gt;&lt;b&gt;if (btca2a.ButtonPressed(KEYCODE_BUTTON_L1) &amp;amp;&amp;amp; btca2a.ButtonReleased(KEYCODE_BUTTON_L2)){
&lt;br&gt;
 digitalWrite(LED3, HIGH);
&lt;br&gt;
 }
&lt;br&gt;
 else{
&lt;br&gt;
 digitalWrite(LED3, LOW);
&lt;br&gt;
 }&lt;/b&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;br&gt;
Используя данные методы, вы сможете запрограммировать нужное действие для каждой кнопки на джойстике.
&lt;br&gt;&lt;br&gt;
&lt;b&gt;2.9.&lt;/b&gt; Загрузите пример на плату Ардуино и переходите к инструкции по использованию приложения BT Controller.
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:12pt&quot;&gt;&lt;b&gt;Видео с демонстрацией работы примера:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://robocontroller.ru//www.youtube.com/embed/yu8JJPl-TEs&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;color:red&quot;&gt;&lt;b&gt;Все названия кнопок в библиотеке BTCA2A соответствуют названиям кнопок в приложении BT Controller.&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:14pt&quot;&gt;&lt;b&gt;Инструкция по использованию приложения BT Controller:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
&lt;b&gt;1.&lt;/b&gt; Скачайте и установите приложение BT Controller на Android смартфон или планшет (&lt;a href=&quot;https://play.google.com/store/apps/details?id=droidbean.btcontrollerfull&amp;amp;hl=ru&quot; target=&quot;_blank&quot;&gt;ссылка&lt;/a&gt;).
&lt;br&gt;&lt;br&gt;
&lt;b&gt;2.&lt;/b&gt; Включите Bluetooth на вашем андроид устройстве. Запустите приложение и выберите способ соединения.
&lt;br&gt;&lt;br&gt;
&lt;!--IMG1--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/18661982.png&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s18661982.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG1--&gt;
&lt;br&gt;&lt;br&gt;
&lt;b&gt;3.&lt;/b&gt; Выберите Controller.
&lt;br&gt;&lt;br&gt;
&lt;!--IMG2--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/61511248.png&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s61511248.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG2--&gt;
&lt;br&gt;&lt;br&gt;
&lt;b&gt;4.&lt;/b&gt; Выберите любой контроллер из списка. Для работы с примером из библиотеки, выберите snes контроллер.
&lt;br&gt;&lt;br&gt;
&lt;!--IMG3--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/30165550.png&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s30165550.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG3--&gt;
&lt;br&gt;&lt;br&gt;
&lt;b&gt;5.&lt;/b&gt; Из списка выберите блютуз модуль подключенный к Ардуино. Если вашего модуля нет в списке, нажмите на кнопку поиска блютуз устройств «Scan for bluetooth devices».
&lt;br&gt;&lt;br&gt;
&lt;!--IMG4--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/18549886.png&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s18549886.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG4--&gt;
&lt;br&gt;&lt;br&gt;
&lt;b&gt;6.&lt;/b&gt; Через несколько секунд после выбора блютуз модуля из списка, должен включиться контроллер. Если этого не произошло, проверьте правильность подключения БТ.
&lt;br&gt;&lt;br&gt;
&lt;!--IMG5--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/39639452.png&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s39639452.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG5--&gt;
&lt;br&gt;&lt;br&gt;
Если изображение контроллера появилось, значит всё готово к работе. Управляйте своими проектами, нажимая соответствующие кнопки на контроллере. 
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:13pt&quot;&gt;&lt;b&gt;Создание нового контроллера:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
В приложении BT Controller можно создавать свои уникальные контроллеры. Для этого вы сможете использовать фоновое изображение вашего контроллера, на которое будете накладывать нужное количество кнопок. В готовом виде, наложенных кнопок не будет видно, так что картинка служит ориентиром для размещения кнопок. Приложение BT Controller поддерживает разные размеры экранов, если вы создали джойстик на планшете с большим экраном. На телефоне с маленьким экраном картинка будет адаптирована, кнопки не сместятся.
&lt;br&gt;&lt;br&gt;
&lt;b&gt;1.&lt;/b&gt; Создайте картинку своего контроллера. Желательно знать разрешение экрана вашего устройства и создавать картинку соответствующую размерам вашего экрана. Пример картинки:
&lt;br&gt;&lt;br&gt;
&lt;!--IMG7--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/21641490.png&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s21641490.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG7--&gt;
&lt;br&gt;&lt;br&gt;
&lt;b&gt;2.&lt;/b&gt; В меню приложения BT Controller, зайдите в пункт «CONTROLLERS». Затем выберите пункт «Create».
&lt;br&gt;&lt;br&gt;
&lt;!--IMG8--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/38623750.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s38623750.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG8--&gt; &lt;!--IMG9--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/46477630.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s46477630.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG9--&gt;
&lt;br&gt;&lt;br&gt;
&lt;b&gt;3.&lt;/b&gt; [1] Напишите имя вашего контроллера. [2] Выберите тип контроллера. Разница между Аналоговым (левый пункт) и Цифровым (правый пункт), в наличии стикера. Но стикеры вы сможете добавлять на любой тип контроллера. [3] Выберите картинку вашего контроллера. После чего нажмите на кнопку «Next».
&lt;br&gt;&lt;br&gt;
&lt;!--IMG10--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/23508024.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s23508024.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG10--&gt;
&lt;br&gt;&lt;br&gt;
&lt;b&gt;4.&lt;/b&gt; На экране появиться изображение вашего контроллера. В середине вы увидите заготовку кнопки. Нажав на середину, передвигайте кнопку в нужное место. Для изменения размера кнопки нажмите в правом нижнем углу и двигайте палец до достижения нужного размера. Чтобы добавить дополнительную кнопку, нажмите на + в левом нижнем углу. Кнопки можно накладывать друг на друга.
&lt;br&gt;&lt;br&gt;
&lt;!--IMG11--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/35567226.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s35567226.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG11--&gt;
&lt;br&gt;&lt;br&gt;
&lt;b&gt;5.&lt;/b&gt; Двумя кратковременными нажатиями на кнопку, назначьте её новое название. Перед вами появиться меню. Для изменения названия нажмите «Change» (рис. 1). Выберите раздел из списка (рис. 2). Выберите нужное название кнопку из списка (рис. 3). Нажмите кнопку «Save Key» (рис. 1). Данные действия применяются для назначения новой кнопки и изменения названия готовой. 
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;color:red&quot;&gt;&lt;b&gt;ВАЖНО – название кнопок будут использоваться в скетче на Arduino.&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;div style=&quot;float: left; padding: 4px;&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;!--IMG12--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/86045513.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s86045513.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG12--&gt;&lt;br&gt;(рис. 1)&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;float: left; padding: 4px;&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;!--IMG13--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/91864214.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s91864214.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG13--&gt;&lt;br&gt;(рис. 2)&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;float: left; padding: 4px;&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;!--IMG14--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/96446319.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s96446319.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG14--&gt;&lt;br&gt;(рис. 3)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div style=&quot;clear: Left;&quot;&gt;&lt;/div&gt;
&lt;br&gt;
&lt;b&gt;6.&lt;/b&gt; В своих контроллерах вы можете использовать два стикера. Для добавления стикера, нажмите на кружок в левом нижнем углу (рис. 4). Измените размер стикера и расположите его в нужном месте. Двойным кратковременным нажатием можно изменить кнопки используемые стикером, в появившемся меню нажмите «Edit Keycodes» (рис. 5). Задайте нужные кнопки и сохраните изменения нажав «Save» (рис. 6).
&lt;br&gt;&lt;br&gt;
&lt;div style=&quot;float: left; padding: 4px;&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;!--IMG15--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/01156259.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s01156259.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG15--&gt;&lt;br&gt;(рис. 4)&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;float: left; padding: 4px;&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;!--IMG16--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/04066090.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s04066090.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG16--&gt;&lt;br&gt;(рис. 5)&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;float: left; padding: 4px;&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;!--IMG17--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/06030534.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s06030534.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG17--&gt;&lt;br&gt;(рис. 6)&lt;/div&gt;&lt;/div&gt;
&lt;div style=&quot;clear: Left;&quot;&gt;&lt;/div&gt;
&lt;br&gt;
&lt;b&gt;7.&lt;/b&gt; Для удаления ненужной кнопки, сделайте двойное кратковременное нажатие на нужную кнопку. В появившемся меню нажмите на «Delete Tile».
&lt;br&gt;&lt;br&gt;
&lt;b&gt;8.&lt;/b&gt; После того как вы укажете все необходимые кнопки, нажмите на «гаечный ключ» в правом нижнем углу (рис. 7). В появившемся меню нажмите Save Controller (рис. 8). Затем, выберите свой контроллер из списка, нажмите на него (он выделится), нажмите кнопку «назад» на вашем устройстве (рис. 9). Если вы были подключены, то ваш новенький контроллер сразу начнет действовать.
&lt;br&gt;&lt;br&gt;
&lt;div style=&quot;float: left; padding: 4px;&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;!--IMG18--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/82271555.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s82271555.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG18--&gt;&lt;br&gt;(рис. 7)&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;float: left; padding: 4px;&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;!--IMG19--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/47443976.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s47443976.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG19--&gt;&lt;br&gt;(рис. 8)&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;float: left; padding: 4px;&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;!--IMG20--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/42282912.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s42282912.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG20--&gt;&lt;br&gt;(рис. 9)&lt;/div&gt;&lt;/div&gt;
&lt;div style=&quot;clear: Left;&quot;&gt;&lt;/div&gt;
&lt;br&gt;
&lt;span style=&quot;font-size:13pt&quot;&gt;&lt;b&gt;Изменение готового контроллера:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
В меню приложения BT Controller, зайдите в пункт «CONTROLLERS». Затем из списка выберите нужный контроллер, нажмите на пункт «Edit» (рис. 10). Используйте инструкцию по созданию нового контроллера, начиная с пункта номер 4.
&lt;br&gt;&lt;br&gt;
&lt;div style=&quot;float: left; padding: 4px;&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;!--IMG21--&gt;&lt;a href=&quot;http://robocontroller.ucoz.ru/_nw/0/80761629.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://robocontroller.ucoz.ru/_nw/0/s80761629.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG21--&gt;&lt;br&gt;(рис. 10)&lt;/div&gt;&lt;/div&gt;
&lt;div style=&quot;clear: Left;&quot;&gt;&lt;/div&gt;
&lt;br&gt;
Если у вас есть вопросы по работе с библиотекой BTCA2A или приложением BT Controller, пишите в комментариях.
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;font-size:14pt&quot;&gt;&lt;b&gt;Для вас старались:&lt;/b&gt;&lt;/span&gt;
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;color:gray&quot;&gt;&lt;b&gt;Зайцев Сергей (ZSeregaA)&lt;/b&gt;&lt;/span&gt; – Вконтакте &lt;a href=&quot;http://vk.com/robocontroller&quot; target=&quot;_blank&quot;&gt;http://vk.com/robocontroller&lt;/a&gt; 
&lt;br&gt;&lt;br&gt;
&lt;span style=&quot;color:gray&quot;&gt;&lt;b&gt;Дмитрий Шумельчук&lt;/b&gt;&lt;/span&gt; – Вконтакте &lt;a href=&quot;http://vk.com/id61438007&quot; target=&quot;_blank&quot;&gt;http://vk.com/id61438007&lt;/a&gt;
&lt;br&gt;</content:encoded>
			<link>https://robocontroller.ru/news/btca2a_upravlenie_arduino_po_bluetooth_pri_pomoshhi_android/2013-11-16-40</link>
			<category>Проекты</category>
			<dc:creator>ZSeregaA</dc:creator>
			<guid>https://robocontroller.ru/news/btca2a_upravlenie_arduino_po_bluetooth_pri_pomoshhi_android/2013-11-16-40</guid>
			<pubDate>Sat, 16 Nov 2013 17:26:10 GMT</pubDate>
		</item>
	</channel>
</rss>