<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://wiki.me-robotics.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%D0%98%D0%BB%D1%8C%D0%BD%D0%B0%D1%80+%D0%97%D0%B8%D0%B0%D1%82%D0%B4%D0%B8%D0%BD%D0%BE%D0%B2</id>
	<title>me-robotics wiki - Вклад участника [ru]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.me-robotics.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%D0%98%D0%BB%D1%8C%D0%BD%D0%B0%D1%80+%D0%97%D0%B8%D0%B0%D1%82%D0%B4%D0%B8%D0%BD%D0%BE%D0%B2"/>
	<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/%D0%98%D0%BB%D1%8C%D0%BD%D0%B0%D1%80_%D0%97%D0%B8%D0%B0%D1%82%D0%B4%D0%B8%D0%BD%D0%BE%D0%B2"/>
	<updated>2026-07-10T21:07:33Z</updated>
	<subtitle>Вклад участника</subtitle>
	<generator>MediaWiki 1.35.2</generator>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%A3%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D0%B7%D0%B2%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B9_%D0%B4%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC%D0%B5%D1%80_HC-SR04&amp;diff=736</id>
		<title>Ультразвуковой дальномер HC-SR04</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%A3%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D0%B7%D0%B2%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B9_%D0%B4%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC%D0%B5%D1%80_HC-SR04&amp;diff=736"/>
		<updated>2021-06-23T16:39:40Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: /* Программа */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:HC-SR04.jpg|мини|Внешний вид HC-SR04|302x302пкс]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;HC-SR04&amp;#039;&amp;#039;&amp;#039; - цифровой ультразвуковой дальномер, основанный на принципе эхолокации. Модуль посылает ультразвуковой сигнал и принимает его отражение от объекта. Измерив время между отправкой и получением импульса, возможно вычислить расстояние до препятствия.&lt;br /&gt;
&lt;br /&gt;
Датчик расстояния является прибором бесконтактного типа, и обеспечивает высокоточное измерение и стабильность. Диапазон дальности его измерения составляет от 2 до 400 см. На его работу не оказывает существенного воздействия электромагнитные излучения и солнечная энергия. В комплект модуля с HC SR04 arduino также входят ресивер и трансмиттер.&lt;br /&gt;
&lt;br /&gt;
== Характеристики ==&lt;br /&gt;
&lt;br /&gt;
* Входное напряжение: 5 В&lt;br /&gt;
* Потребляемый ток в режиме ожидания: до 2 мА&lt;br /&gt;
* Потребляемый ток в режиме измерений: до 15 мА&lt;br /&gt;
* Частота ультразвука: 40 кГц&lt;br /&gt;
* Измеряемая дальность: 3 … 400 см&lt;br /&gt;
* Точность измерения: от 0,3 см&lt;br /&gt;
* Угол измерения: до 15°&lt;br /&gt;
* Рабочая температура: -30 … 80 °С&lt;br /&gt;
* Габариты: 45x20x15 мм&lt;br /&gt;
&lt;br /&gt;
== Принцип работы ==&lt;br /&gt;
Если подать положительный импульс на вход датчика TRIG длительностью 10 мкс, то датчик отправит звуковую волну (8 импульсов на частоте 40 кГц - ультразвук) и установит уровень логической «1» на выходе ECHO. Звуковая волна отразится от препятствия и вернётся на приёмник датчика, после чего он сбросит уровень на выходе ECHO в логический «0» (то же самое датчик сделает, если звуковая волна не вернётся в течении 38 мс.) В результате время наличия логической «1» на выходе ECHO равно времени прохождения ультразвуковой волны от датчика до препятствия и обратно. Зная скорость распространения звуковой волны в воздухе и время наличия логической «1» на выводе ECHO, можно рассчитать расстояние до препятствия.&lt;br /&gt;
[[Файл:Datchik-prepyatstvij-infrakrastnyj12.png|мини|429x429пкс]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Расстояние&amp;#039;&amp;#039;&amp;#039; вычисляется умножением скорости на время (в данном случае скорости распространения звуковой волны &amp;#039;&amp;#039;&amp;#039;V&amp;#039;&amp;#039;&amp;#039;, на время ожидания эха &amp;#039;&amp;#039;&amp;#039;Echo&amp;#039;&amp;#039;&amp;#039;). Но так звуковая волна проходит расстояние от датчика до объекта и обратно, а нам нужно только до объекта, то результат делим на 2:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;L = V * Echo / 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;L&amp;#039;&amp;#039;&amp;#039; – расстояние (м);&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;V&amp;#039;&amp;#039;&amp;#039; – скорость звука в воздухе (м/с);&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Echo&amp;#039;&amp;#039;&amp;#039; – время ожидания эха (с).&lt;br /&gt;
&lt;br /&gt;
== Контакты датчика ==&lt;br /&gt;
[[Файл:Imageд.png|мини|287x287пкс]]&lt;br /&gt;
Датчик оснащен четырьмя выводами (стандарт 2, 54 мм):&lt;br /&gt;
&lt;br /&gt;
* Контакт питания положительного типа – +5В;&lt;br /&gt;
* Trig (Т) – выход сигнала входа;&lt;br /&gt;
* Echo (R) – вывод сигнала выхода;&lt;br /&gt;
* GND – вывод «Земля».&lt;br /&gt;
&lt;br /&gt;
При подключении стоит учитывать, что данные выводы микроконтроллера должны поддерживать возможность работы с +5 В уровнями. В документации такой вывод помечается как FT. &lt;br /&gt;
&lt;br /&gt;
== Подключение HC SR04 к Arduino ==&lt;br /&gt;
Контакт земли подключаем к выводу GND на плате Arduino, выход питания соединяем с 5V. Выходы Trig и Echo подсоединяем к arduino на цифровые пины. Вариант подключения с помощью макетной платы:&lt;br /&gt;
[[Файл:Imageвнек.png|мини|316x316пкс|Внешний вид подключения]]&lt;br /&gt;
&lt;br /&gt;
=== Программа ===&lt;br /&gt;
Подключение HC-SR04  к Arduino может быть выполнено посредством использования одного пина. Такой вариант пригодится, если вы работаете с большим проектом и вам не хватает свободных пинов. Для подключения вам нужно просто установить между контактами TRIG и ECHO резистор номиналом 2.2K и подключить к ардуино контакт TRIG.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;NewPing.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define PIN_PING 12  // Пин с Arduino соединен с пинами trigger и echo на датчике расстояния&lt;br /&gt;
#define MAX_DISTANCE 200 // Максимальное расстояние, которое мы способны контролировать (400-500см).&lt;br /&gt;
&lt;br /&gt;
NewPing sonar(PIN_PING, PIN_PING, MAX_DISTANCE); // Регулировка пинов и максимального расстояния&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(9600); // Открывается протокол с данными и частотой передачи 115200 бит/сек.&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  delay(50); // Задержка в 50 мс между генерируемыми волнами. 29 мс – минимально допустимое значение&lt;br /&gt;
  unsigned int distanceSm = sonar.ping(); // Создание сигнала, получение параметра его продолжительности в мкс (uS).&lt;br /&gt;
  Serial.print(&amp;quot;Ping: &amp;quot;);&lt;br /&gt;
  Serial.print(distanceSm / US_ROUNDTRIP_CM); // Пересчет параметра времени в величину расстояния и вывод результата (0 соответствует выходу за допустимый предел)&lt;br /&gt;
  Serial.println(&amp;quot;cm&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%A3%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D0%B7%D0%B2%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B9_%D0%B4%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC%D0%B5%D1%80_HC-SR04&amp;diff=735</id>
		<title>Ультразвуковой дальномер HC-SR04</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%A3%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D0%B7%D0%B2%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B9_%D0%B4%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC%D0%B5%D1%80_HC-SR04&amp;diff=735"/>
		<updated>2021-06-23T16:39:12Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:HC-SR04.jpg|мини|Внешний вид HC-SR04|302x302пкс]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;HC-SR04&amp;#039;&amp;#039;&amp;#039; - цифровой ультразвуковой дальномер, основанный на принципе эхолокации. Модуль посылает ультразвуковой сигнал и принимает его отражение от объекта. Измерив время между отправкой и получением импульса, возможно вычислить расстояние до препятствия.&lt;br /&gt;
&lt;br /&gt;
Датчик расстояния является прибором бесконтактного типа, и обеспечивает высокоточное измерение и стабильность. Диапазон дальности его измерения составляет от 2 до 400 см. На его работу не оказывает существенного воздействия электромагнитные излучения и солнечная энергия. В комплект модуля с HC SR04 arduino также входят ресивер и трансмиттер.&lt;br /&gt;
&lt;br /&gt;
== Характеристики ==&lt;br /&gt;
&lt;br /&gt;
* Входное напряжение: 5 В&lt;br /&gt;
* Потребляемый ток в режиме ожидания: до 2 мА&lt;br /&gt;
* Потребляемый ток в режиме измерений: до 15 мА&lt;br /&gt;
* Частота ультразвука: 40 кГц&lt;br /&gt;
* Измеряемая дальность: 3 … 400 см&lt;br /&gt;
* Точность измерения: от 0,3 см&lt;br /&gt;
* Угол измерения: до 15°&lt;br /&gt;
* Рабочая температура: -30 … 80 °С&lt;br /&gt;
* Габариты: 45x20x15 мм&lt;br /&gt;
&lt;br /&gt;
== Принцип работы ==&lt;br /&gt;
Если подать положительный импульс на вход датчика TRIG длительностью 10 мкс, то датчик отправит звуковую волну (8 импульсов на частоте 40 кГц - ультразвук) и установит уровень логической «1» на выходе ECHO. Звуковая волна отразится от препятствия и вернётся на приёмник датчика, после чего он сбросит уровень на выходе ECHO в логический «0» (то же самое датчик сделает, если звуковая волна не вернётся в течении 38 мс.) В результате время наличия логической «1» на выходе ECHO равно времени прохождения ультразвуковой волны от датчика до препятствия и обратно. Зная скорость распространения звуковой волны в воздухе и время наличия логической «1» на выводе ECHO, можно рассчитать расстояние до препятствия.&lt;br /&gt;
[[Файл:Datchik-prepyatstvij-infrakrastnyj12.png|мини|429x429пкс]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Расстояние&amp;#039;&amp;#039;&amp;#039; вычисляется умножением скорости на время (в данном случае скорости распространения звуковой волны &amp;#039;&amp;#039;&amp;#039;V&amp;#039;&amp;#039;&amp;#039;, на время ожидания эха &amp;#039;&amp;#039;&amp;#039;Echo&amp;#039;&amp;#039;&amp;#039;). Но так звуковая волна проходит расстояние от датчика до объекта и обратно, а нам нужно только до объекта, то результат делим на 2:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;L = V * Echo / 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;L&amp;#039;&amp;#039;&amp;#039; – расстояние (м);&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;V&amp;#039;&amp;#039;&amp;#039; – скорость звука в воздухе (м/с);&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Echo&amp;#039;&amp;#039;&amp;#039; – время ожидания эха (с).&lt;br /&gt;
&lt;br /&gt;
== Контакты датчика ==&lt;br /&gt;
[[Файл:Imageд.png|мини|287x287пкс]]&lt;br /&gt;
Датчик оснащен четырьмя выводами (стандарт 2, 54 мм):&lt;br /&gt;
&lt;br /&gt;
* Контакт питания положительного типа – +5В;&lt;br /&gt;
* Trig (Т) – выход сигнала входа;&lt;br /&gt;
* Echo (R) – вывод сигнала выхода;&lt;br /&gt;
* GND – вывод «Земля».&lt;br /&gt;
&lt;br /&gt;
При подключении стоит учитывать, что данные выводы микроконтроллера должны поддерживать возможность работы с +5 В уровнями. В документации такой вывод помечается как FT. &lt;br /&gt;
&lt;br /&gt;
== Подключение HC SR04 к Arduino ==&lt;br /&gt;
Контакт земли подключаем к выводу GND на плате Arduino, выход питания соединяем с 5V. Выходы Trig и Echo подсоединяем к arduino на цифровые пины. Вариант подключения с помощью макетной платы:&lt;br /&gt;
[[Файл:Imageвнек.png|мини|316x316пкс|Внешний вид подключения]]&lt;br /&gt;
&lt;br /&gt;
=== Программа ===&lt;br /&gt;
Подключение HC-SR04  к Arduino может быть выполнено посредством использования одного пина. Такой вариант пригодится, если вы работаете с большим проектом и вам не хватает свободных пинов. Для подключения вам нужно просто установить между контактами TRIG и ECHO резистор номиналом 2.2K и подключить к ардуино контакт TRIG.&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Image%D0%B2%D0%BD%D0%B5%D0%BA.png&amp;diff=734</id>
		<title>Файл:Imageвнек.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Image%D0%B2%D0%BD%D0%B5%D0%BA.png&amp;diff=734"/>
		<updated>2021-06-23T16:35:27Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;св&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Image%D0%B4.png&amp;diff=733</id>
		<title>Файл:Imageд.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Image%D0%B4.png&amp;diff=733"/>
		<updated>2021-06-23T16:28:24Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;д&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Datchik-prepyatstvij-infrakrastnyj12.png&amp;diff=732</id>
		<title>Файл:Datchik-prepyatstvij-infrakrastnyj12.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Datchik-prepyatstvij-infrakrastnyj12.png&amp;diff=732"/>
		<updated>2021-06-23T16:23:35Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Datchik-prepyatstvij-infrakrastnyj12&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=731</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=731"/>
		<updated>2021-06-23T16:21:14Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: /* Описание модулей */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Добро пожаловать на Вики!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Здесь Вы найдете материалы по нашим и сторонним изделиям, программированию и инженерным решениям.&lt;br /&gt;
&lt;br /&gt;
== Редактирование ==&lt;br /&gt;
[[Файл:LogIn screenshot.png|200x200пкс|альт=|мини|Расположение кнопки входа]]Для добавления и редактирования статей: &lt;br /&gt;
&lt;br /&gt;
# создайте учетную запись или выполните вход (кнопка &amp;#039;&amp;#039;&amp;#039;Аноним&amp;#039;&amp;#039;&amp;#039; справа сверху)&lt;br /&gt;
# отредактируйте данную страницу, добавив ссылку &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;на пока ещё не созданную страницу&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; в один из разделов (или создав новый)&lt;br /&gt;
# сохраните изменения и перейдите по ссылке&lt;br /&gt;
# Отредактируйте новую страницу, заполнив её содержанием по выбранной теме. Не забудьте нажать сохранить изменения.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Описание модулей ==&lt;br /&gt;
*[[Ультразвуковой дальномер HC-SR04]]&lt;br /&gt;
*[[Драйвер двигателя L298N]]&lt;br /&gt;
*[[Датчик линии на базе TCRT5000]]&lt;br /&gt;
*[[Драйвер моторов двухканальный tb6680|Драйвер двухканальный на базе микросхемы tb6612fng]]&lt;br /&gt;
*[[Лазерные дальномеры|Лазерные дальномеры - Laser Sensor]]&lt;br /&gt;
*[[Шаговый электродвигатель]]&lt;br /&gt;
*[[Оптические энкодеры|Оптические энкодеры - FC-03 на базе ITR9608]]&lt;br /&gt;
*[[Подключение гироскопа GY-521 MPU-6050 к Arduio]]&lt;br /&gt;
*[[АЦП на базе микросхемы hx711|АЦП на базе микросхемы HX711]]&lt;br /&gt;
*[[Сервопривод]]&lt;br /&gt;
*[[Arduino Shield]]&lt;br /&gt;
*[[Драйвер двигателя L293D]]&lt;br /&gt;
*[[Зуммер]]&lt;br /&gt;
*[[Сторожевой таймер|Сторожевой таймер | WatchDog Timer]]&lt;br /&gt;
*[[Мотор-редуктор]]&lt;br /&gt;
*[[Четырехразрядный семисегментный индикатор]]&lt;br /&gt;
*[[Ethernet Shield на базе WIZnet w5100]]&lt;br /&gt;
*[[Использование АЦП в микроконтроллере AVR ATmega16]]&lt;br /&gt;
*[[Жидкокристаллический дисплей]]&lt;br /&gt;
*[[ИК-датчик движения HC-SR501]]&lt;br /&gt;
*[[Доплеровский датчик движения RCWL-0516]]&lt;br /&gt;
*[[Сервоприводы SG90, MG995, MG996]]&lt;br /&gt;
*[[Энкодер FLASH-I2C]]&lt;br /&gt;
*[[Разновидности плат Arduino]]&lt;br /&gt;
&lt;br /&gt;
== Процессы и подходы ==&lt;br /&gt;
&lt;br /&gt;
* [[ШИМ]]&lt;br /&gt;
* [[Калибровка]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
&lt;br /&gt;
== Алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
* [[Движение робота по черной ленте]]&lt;br /&gt;
* [[Алгоритм A*]]&lt;br /&gt;
* [[Алгоритм D*]]&lt;br /&gt;
* [[Объезд препятствий]]&lt;br /&gt;
* [[SLAM]]&lt;br /&gt;
* [[Алгоритм матричной клавиатуры]]&lt;br /&gt;
&lt;br /&gt;
== Датчики ==&lt;br /&gt;
&lt;br /&gt;
* [[Инфракрасный Датчик]]&lt;br /&gt;
* [[Тензодатчик]]&lt;br /&gt;
* [[Датчик Холла]]&lt;br /&gt;
* [[Доплеровский датчик]]&lt;br /&gt;
* [[Датчик влажности воздуха]]&lt;br /&gt;
* [[Акселерометр]]&lt;br /&gt;
* [[Датчики влажности почвы|Датчик влажности почвы]]&lt;br /&gt;
* [[Датчик наклона]]&lt;br /&gt;
* [[Датчик цвета]]&lt;br /&gt;
* [[Датчик-компас]]&lt;br /&gt;
* [[Энкодер]]&lt;br /&gt;
* [[Датчик препятствия|Инфракрасный датчик препятствий YL-63]]&lt;br /&gt;
* [[Датчик освещенности]]&lt;br /&gt;
* [[Датчик температуры]]&lt;br /&gt;
* [[Датчик уровня звука]]&lt;br /&gt;
* [[Датчик уровня воды]]&lt;br /&gt;
* [[Датчик вибрации]]&lt;br /&gt;
* [[Датчик угарного газа]]&lt;br /&gt;
* [[Датчик жестов]]&lt;br /&gt;
* [[Кнопка]]&lt;br /&gt;
* [[Датчик давления|Датчик давления BMP-180]]&lt;br /&gt;
* [[Резистивный датчик давления]]&lt;br /&gt;
* [[Пьезоэлектрический датчик]]&lt;br /&gt;
* [[Датчик движения]]&lt;br /&gt;
* [[Датчик положения]]&lt;br /&gt;
* [[Датчик утечки газа]]&lt;br /&gt;
* [[Плата мониторинга окружающей среды Pimoroni enviro:bit]] &lt;br /&gt;
&lt;br /&gt;
== Советы и рекомендации ==&lt;br /&gt;
&lt;br /&gt;
* [[Технология проектирования печатных плат]]&lt;br /&gt;
* [[Полезные советы по Webots]]&lt;br /&gt;
* [[Устанавливаем драйвер Ардуино - Подключаем порт]]&lt;br /&gt;
* [[Как выбрать Arduino]]&lt;br /&gt;
* [[Методики оптимизации кода]] &lt;br /&gt;
&lt;br /&gt;
== Программирование MIK32 в среде eclipse ==&lt;br /&gt;
&lt;br /&gt;
* [[Быстрый старт с MIK32]]&lt;br /&gt;
&lt;br /&gt;
== Некоторые полезные ресурсы ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Список возможных настроек];&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Manual:FAQ/ru Часто задаваемые вопросы и ответы по MediaWiki];&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki].&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Перевод MediaWiki на свой язык]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Узнайте, как бороться со спамом в вашей вики]&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=730</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=730"/>
		<updated>2021-06-23T16:17:53Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: /* Описание модулей */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Добро пожаловать на Вики!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Здесь Вы найдете материалы по нашим и сторонним изделиям, программированию и инженерным решениям.&lt;br /&gt;
&lt;br /&gt;
== Редактирование ==&lt;br /&gt;
[[Файл:LogIn screenshot.png|200x200пкс|альт=|мини|Расположение кнопки входа]]Для добавления и редактирования статей: &lt;br /&gt;
&lt;br /&gt;
# создайте учетную запись или выполните вход (кнопка &amp;#039;&amp;#039;&amp;#039;Аноним&amp;#039;&amp;#039;&amp;#039; справа сверху)&lt;br /&gt;
# отредактируйте данную страницу, добавив ссылку &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;на пока ещё не созданную страницу&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; в один из разделов (или создав новый)&lt;br /&gt;
# сохраните изменения и перейдите по ссылке&lt;br /&gt;
# Отредактируйте новую страницу, заполнив её содержанием по выбранной теме. Не забудьте нажать сохранить изменения.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Описание модулей ==&lt;br /&gt;
*[[Ультразвуковой дальномер HC-SR04]]&lt;br /&gt;
*[[Драйвер двигателя L298N]]&lt;br /&gt;
*[[Датчик линии на базе TCRT5000]]&lt;br /&gt;
*[[Драйвер моторов двухканальный tb6680|Драйвер двухканальный на базе микросхемы tb6612fng]]&lt;br /&gt;
*[[Лазерные дальномеры|Лазерные дальномеры - Laser Sensor]]&lt;br /&gt;
*[[Шаговый электродвигатель]]&lt;br /&gt;
*[[Оптические энкодеры|Оптические энкодеры - FC-03 на базе ITR9608]]&lt;br /&gt;
*[[Подключение гироскопа GY-521 MPU-6050 к Arduio]]&lt;br /&gt;
*[[АЦП на базе микросхемы hx711|АЦП на базе микросхемы HX711]]&lt;br /&gt;
*[[Сервопривод]]&lt;br /&gt;
*[[Arduino Shield]]&lt;br /&gt;
*[[Драйвер двигателя L293D]]&lt;br /&gt;
*[[Зуммер]]&lt;br /&gt;
*[[Сторожевой таймер|Сторожевой таймер | WatchDog Timer]]&lt;br /&gt;
*[[Мотор-редуктор]]&lt;br /&gt;
*[[Четырехразрядный семисегментный индикатор]]&lt;br /&gt;
*[[Ethernet Shield на базе WIZnet w5100]]&lt;br /&gt;
*[[Использование АЦП в микроконтроллере AVR ATmega16]]&lt;br /&gt;
*[[Жидкокристаллический дисплей]]&lt;br /&gt;
*[[ИК-датчик движения HC-SR501]]&lt;br /&gt;
*[[Доплеровский датчик движения RCWL-0516]]&lt;br /&gt;
*[[Сервоприводы SG90, MG995, MG996]]&lt;br /&gt;
*[[Энкодер FLASH-I2C]]&lt;br /&gt;
*[[Разновидности плат Arduino]]&lt;br /&gt;
*[[ИК-датчик движения HC-SR505]]&lt;br /&gt;
&lt;br /&gt;
== Процессы и подходы ==&lt;br /&gt;
&lt;br /&gt;
* [[ШИМ]]&lt;br /&gt;
* [[Калибровка]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
&lt;br /&gt;
== Алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
* [[Движение робота по черной ленте]]&lt;br /&gt;
* [[Алгоритм A*]]&lt;br /&gt;
* [[Алгоритм D*]]&lt;br /&gt;
* [[Объезд препятствий]]&lt;br /&gt;
* [[SLAM]]&lt;br /&gt;
* [[Алгоритм матричной клавиатуры]]&lt;br /&gt;
&lt;br /&gt;
== Датчики ==&lt;br /&gt;
&lt;br /&gt;
* [[Инфракрасный Датчик]]&lt;br /&gt;
* [[Тензодатчик]]&lt;br /&gt;
* [[Датчик Холла]]&lt;br /&gt;
* [[Доплеровский датчик]]&lt;br /&gt;
* [[Датчик влажности воздуха]]&lt;br /&gt;
* [[Акселерометр]]&lt;br /&gt;
* [[Датчики влажности почвы|Датчик влажности почвы]]&lt;br /&gt;
* [[Датчик наклона]]&lt;br /&gt;
* [[Датчик цвета]]&lt;br /&gt;
* [[Датчик-компас]]&lt;br /&gt;
* [[Энкодер]]&lt;br /&gt;
* [[Датчик препятствия|Инфракрасный датчик препятствий YL-63]]&lt;br /&gt;
* [[Датчик освещенности]]&lt;br /&gt;
* [[Датчик температуры]]&lt;br /&gt;
* [[Датчик уровня звука]]&lt;br /&gt;
* [[Датчик уровня воды]]&lt;br /&gt;
* [[Датчик вибрации]]&lt;br /&gt;
* [[Датчик угарного газа]]&lt;br /&gt;
* [[Датчик жестов]]&lt;br /&gt;
* [[Кнопка]]&lt;br /&gt;
* [[Датчик давления|Датчик давления BMP-180]]&lt;br /&gt;
* [[Резистивный датчик давления]]&lt;br /&gt;
* [[Пьезоэлектрический датчик]]&lt;br /&gt;
* [[Датчик движения]]&lt;br /&gt;
* [[Датчик положения]]&lt;br /&gt;
* [[Датчик утечки газа]]&lt;br /&gt;
* [[Плата мониторинга окружающей среды Pimoroni enviro:bit]] &lt;br /&gt;
&lt;br /&gt;
== Советы и рекомендации ==&lt;br /&gt;
&lt;br /&gt;
* [[Технология проектирования печатных плат]]&lt;br /&gt;
* [[Полезные советы по Webots]]&lt;br /&gt;
* [[Устанавливаем драйвер Ардуино - Подключаем порт]]&lt;br /&gt;
* [[Как выбрать Arduino]]&lt;br /&gt;
* [[Методики оптимизации кода]] &lt;br /&gt;
&lt;br /&gt;
== Программирование MIK32 в среде eclipse ==&lt;br /&gt;
&lt;br /&gt;
* [[Быстрый старт с MIK32]]&lt;br /&gt;
&lt;br /&gt;
== Некоторые полезные ресурсы ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Список возможных настроек];&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Manual:FAQ/ru Часто задаваемые вопросы и ответы по MediaWiki];&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki].&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Перевод MediaWiki на свой язык]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Узнайте, как бороться со спамом в вашей вики]&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=729</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=729"/>
		<updated>2021-06-23T16:16:21Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: /* Датчики */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Добро пожаловать на Вики!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Здесь Вы найдете материалы по нашим и сторонним изделиям, программированию и инженерным решениям.&lt;br /&gt;
&lt;br /&gt;
== Редактирование ==&lt;br /&gt;
[[Файл:LogIn screenshot.png|200x200пкс|альт=|мини|Расположение кнопки входа]]Для добавления и редактирования статей: &lt;br /&gt;
&lt;br /&gt;
# создайте учетную запись или выполните вход (кнопка &amp;#039;&amp;#039;&amp;#039;Аноним&amp;#039;&amp;#039;&amp;#039; справа сверху)&lt;br /&gt;
# отредактируйте данную страницу, добавив ссылку &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;на пока ещё не созданную страницу&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; в один из разделов (или создав новый)&lt;br /&gt;
# сохраните изменения и перейдите по ссылке&lt;br /&gt;
# Отредактируйте новую страницу, заполнив её содержанием по выбранной теме. Не забудьте нажать сохранить изменения.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Описание модулей ==&lt;br /&gt;
*[[Ультразвуковой дальномер HC-SR04]]&lt;br /&gt;
*[[Драйвер двигателя L298N]]&lt;br /&gt;
*[[Датчик линии на базе TCRT5000]]&lt;br /&gt;
*[[Драйвер моторов двухканальный tb6680|Драйвер двухканальный на базе микросхемы tb6612fng]]&lt;br /&gt;
*[[Лазерные дальномеры|Лазерные дальномеры - Laser Sensor]]&lt;br /&gt;
*[[Шаговый электродвигатель]]&lt;br /&gt;
*[[Оптические энкодеры|Оптические энкодеры - FC-03 на базе ITR9608]]&lt;br /&gt;
*[[Подключение гироскопа GY-521 MPU-6050 к Arduio]]&lt;br /&gt;
*[[АЦП на базе микросхемы hx711|АЦП на базе микросхемы HX711]]&lt;br /&gt;
*[[Сервопривод]]&lt;br /&gt;
*[[Arduino Shield]]&lt;br /&gt;
*[[Драйвер двигателя L293D]]&lt;br /&gt;
*[[Зуммер]]&lt;br /&gt;
*[[Сторожевой таймер|Сторожевой таймер | WatchDog Timer]]&lt;br /&gt;
*[[Мотор-редуктор]]&lt;br /&gt;
*[[Четырехразрядный семисегментный индикатор]]&lt;br /&gt;
*[[Ethernet Shield на базе WIZnet w5100]]&lt;br /&gt;
*[[Использование АЦП в микроконтроллере AVR ATmega16]]&lt;br /&gt;
*[[Жидкокристаллический дисплей]]&lt;br /&gt;
*[[ИК-датчик движения HC-SR501]]&lt;br /&gt;
*[[Доплеровский датчик движения RCWL-0516]]&lt;br /&gt;
*[[Сервоприводы SG90, MG995, MG996]]&lt;br /&gt;
*[[Энкодер FLASH-I2C]]&lt;br /&gt;
*[[Разновидности плат Arduino]]&lt;br /&gt;
&lt;br /&gt;
== Процессы и подходы ==&lt;br /&gt;
&lt;br /&gt;
* [[ШИМ]]&lt;br /&gt;
* [[Калибровка]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
&lt;br /&gt;
== Алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
* [[Движение робота по черной ленте]]&lt;br /&gt;
* [[Алгоритм A*]]&lt;br /&gt;
* [[Алгоритм D*]]&lt;br /&gt;
* [[Объезд препятствий]]&lt;br /&gt;
* [[SLAM]]&lt;br /&gt;
* [[Алгоритм матричной клавиатуры]]&lt;br /&gt;
&lt;br /&gt;
== Датчики ==&lt;br /&gt;
&lt;br /&gt;
* [[Инфракрасный Датчик]]&lt;br /&gt;
* [[Тензодатчик]]&lt;br /&gt;
* [[Датчик Холла]]&lt;br /&gt;
* [[Доплеровский датчик]]&lt;br /&gt;
* [[Датчик влажности воздуха]]&lt;br /&gt;
* [[Акселерометр]]&lt;br /&gt;
* [[Датчики влажности почвы|Датчик влажности почвы]]&lt;br /&gt;
* [[Датчик наклона]]&lt;br /&gt;
* [[Датчик цвета]]&lt;br /&gt;
* [[Датчик-компас]]&lt;br /&gt;
* [[Энкодер]]&lt;br /&gt;
* [[Датчик препятствия|Инфракрасный датчик препятствий YL-63]]&lt;br /&gt;
* [[Датчик освещенности]]&lt;br /&gt;
* [[Датчик температуры]]&lt;br /&gt;
* [[Датчик уровня звука]]&lt;br /&gt;
* [[Датчик уровня воды]]&lt;br /&gt;
* [[Датчик вибрации]]&lt;br /&gt;
* [[Датчик угарного газа]]&lt;br /&gt;
* [[Датчик жестов]]&lt;br /&gt;
* [[Кнопка]]&lt;br /&gt;
* [[Датчик давления|Датчик давления BMP-180]]&lt;br /&gt;
* [[Резистивный датчик давления]]&lt;br /&gt;
* [[Пьезоэлектрический датчик]]&lt;br /&gt;
* [[Датчик движения]]&lt;br /&gt;
* [[Датчик положения]]&lt;br /&gt;
* [[Датчик утечки газа]]&lt;br /&gt;
* [[Плата мониторинга окружающей среды Pimoroni enviro:bit]] &lt;br /&gt;
&lt;br /&gt;
== Советы и рекомендации ==&lt;br /&gt;
&lt;br /&gt;
* [[Технология проектирования печатных плат]]&lt;br /&gt;
* [[Полезные советы по Webots]]&lt;br /&gt;
* [[Устанавливаем драйвер Ардуино - Подключаем порт]]&lt;br /&gt;
* [[Как выбрать Arduino]]&lt;br /&gt;
* [[Методики оптимизации кода]] &lt;br /&gt;
&lt;br /&gt;
== Программирование MIK32 в среде eclipse ==&lt;br /&gt;
&lt;br /&gt;
* [[Быстрый старт с MIK32]]&lt;br /&gt;
&lt;br /&gt;
== Некоторые полезные ресурсы ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Список возможных настроек];&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Manual:FAQ/ru Часто задаваемые вопросы и ответы по MediaWiki];&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki].&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Перевод MediaWiki на свой язык]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Узнайте, как бороться со спамом в вашей вики]&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%AD%D0%BD%D0%BA%D0%BE%D0%B4%D0%B5%D1%80_FLASH-I2C&amp;diff=728</id>
		<title>Энкодер FLASH-I2C</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%AD%D0%BD%D0%BA%D0%BE%D0%B4%D0%B5%D1%80_FLASH-I2C&amp;diff=728"/>
		<updated>2021-06-23T16:11:39Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: /* Программа */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:1190 1000.png|мини|Внешний вид FLASH-I2C]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Энкодер FLASH-I2C&amp;#039;&amp;#039;&amp;#039; -является устройством ввода данных с подключением по шине I2С. У модуля есть программируемый выход, значительно расширяющий его возможности.&lt;br /&gt;
&lt;br /&gt;
Модуль способен работать как энкодер (отправляя количество тактов поворота вала в одну и другую сторону), как потенциометр (отправляя точное положение вала относительно точки сброса), как тактовая кнопка (отправляя события и состояния кнопки, в т.ч. и время её удержания), а так же модуль способен работать автономно (управляя сигналом на выходе без подключения к шине I2C).&lt;br /&gt;
&lt;br /&gt;
Модуль относится к серии «Flash», а значит к одной шине I2C можно подключить более 100 модулей, так как их адрес на шине I2C (по умолчанию 0x09), хранящийся в энергонезависимой памяти, можно менять программно.&lt;br /&gt;
&lt;br /&gt;
Модуль можно использовать в любых проектах где требуется тактовая кнопка, потенциометр или энкодер, а так же в тех проектах где требуется диммирование устройств без участия других микроконтроллеров.&lt;br /&gt;
&lt;br /&gt;
== Характеристики ==&lt;br /&gt;
&lt;br /&gt;
* Напряжение питания: 3,3 В или 5 В (постоянного тока).&lt;br /&gt;
* Потребляемый ток: до 10 мА (без нагрузки на программируемом выходе).&lt;br /&gt;
* Интерфейс: I2C.&lt;br /&gt;
* Скорость шины I2C: 100 кбит/с.&lt;br /&gt;
* Адрес на шине I2C: устанавливается программно (по умолчанию 0x09).&lt;br /&gt;
* Уровень логической 1 на линиях шины I2C: 3,3 В (толерантны к 5 В).&lt;br /&gt;
* Уровень логической 1 на выходе Signal: 3,3 В.&lt;br /&gt;
* Аналоговый уровень на выходе Signal: от 0 до 3,3 В.&lt;br /&gt;
* Разрешение ШИМ: 8 бит.&lt;br /&gt;
* Разрешение ЦАП: 8 бит (ШИМ + RC-фильтр).&lt;br /&gt;
* Частота ШИМ: устанавливается программно от 1 до 12000 Гц (по умолчанию 1,5 кГц).&lt;br /&gt;
* Рабочая температура: от -20 до +70 °С.&lt;br /&gt;
* Габариты: 30 х 30 мм.&lt;br /&gt;
&lt;br /&gt;
== Описание датчика ==&lt;br /&gt;
Модуль построен на базе микроконтроллера STM32F030F4 и снабжен собственным стабилизатором напряжения. Модуль самостоятельно обрабатывает сигналы энкодера (и его тактовой кнопки). Отличием данного модуля является наличие вывода, который можно запрограммировать для работы в качестве выхода без дальнейшего подключения модуля к шине I2C (без подключения к внешнему микроконтроллеру). Вывод модуля может работать как выход кнопки энкодера, как выход кнопочного переключателя (триггер), как выход с ШИМ (для управления моторами), как выход с логарифмической ШИМ (для управления светодиодами), как выход управления сервоприводами и как аналоговый выход (имитация ЦАП) с напряжением от 0 до 3,3 В. Режим работы выхода сохраняется и после отключения питания. Значит вывод можно однократно запрограммировать и использовать модуль в проектах без подключения к шине I2C.&lt;br /&gt;
&lt;br /&gt;
Модуль позволяет:&lt;br /&gt;
&lt;br /&gt;
* Получать количество тактов поворота энкодера в одну и другую сторону.&lt;br /&gt;
* Получать состояние и события кнопки вала энкодера.&lt;br /&gt;
* Получать время удержания кнопки вала энкодера.&lt;br /&gt;
* Получать точное положение вала энкодера относительно точки сброса.&lt;br /&gt;
* Сбрасывать положение вала энкодера.&lt;br /&gt;
* Автономно работать управляя сигналом на выходе без подключения к шине I2C.&lt;br /&gt;
* Задавать количество оборотов вала энкодера, как для автономной работы, так и для определения его положения.&lt;br /&gt;
* Указывать частоту для сигнала ШИМ, если таковой формируется на выходе модуля.&lt;br /&gt;
&lt;br /&gt;
== Контакты датчика ==&lt;br /&gt;
[[Файл:Imageгш.png|мини|342x342пкс]]&lt;br /&gt;
У модуля имеются две колодки выводов: разъём &amp;#039;&amp;#039;&amp;#039;I2C&amp;#039;&amp;#039;&amp;#039; (GND, Vcc, SDA, SCL) и разъём &amp;#039;&amp;#039;&amp;#039;D/A&amp;#039;&amp;#039;&amp;#039; (GND, Vcc, Signal).&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;SCL&amp;#039;&amp;#039;&amp;#039; - вход/выход линии тактирования шины I2C.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;SDA&amp;#039;&amp;#039;&amp;#039; - вход/выход линии данных шины I2C.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Vcc&amp;#039;&amp;#039;&amp;#039; - вход питания 3,3 или 5 В.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;GND&amp;#039;&amp;#039;&amp;#039; - общий вывод питания.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Signal&amp;#039;&amp;#039;&amp;#039; - программируемый выход модуля.&lt;br /&gt;
&lt;br /&gt;
Модуль подключается к Arduino по &amp;#039;&amp;#039;&amp;#039;шине I2C&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Устройства которыми модуль управляет в автономном режиме, подключаются к колодке &amp;#039;&amp;#039;&amp;#039;D/A&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Подключение ==&lt;br /&gt;
[[Файл:Imageвнеш.png|мини|389x389пкс|Внешний вид макета]]&lt;br /&gt;
Модуль подключается к аппаратной или программной шине I2C Arduino и имеет адрес 0x68. Используя провода «Папа — Мама», подключаем  напрямую к контроллеру Piranha UNO.&lt;br /&gt;
&lt;br /&gt;
Модуль может работать в автономном режиме, при этом необязательно подключать ведущее устройство к колодке I2C, достаточно подать питание на Vcc и GND, но, перед этим, модулю необходимо установить опцию работы вывода &amp;#039;&amp;#039;&amp;#039;S&amp;#039;&amp;#039;&amp;#039; при помощи ведущего устройства функцией PinMode( РЕЖИМ ). Опция будет сохранена в энергонезависимой памяти модуля.&lt;br /&gt;
&lt;br /&gt;
=== Программа ===&lt;br /&gt;
Программа демонстрирует пример вывода состояния кнопки (нажата/отпущена) в монитор последовательного порта.&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;                                // Подключаем библиотеку Wire для работы с шиной I2C.&lt;br /&gt;
const int ADDRESS     = 0x09;                    // Определяем адрес модуля.&lt;br /&gt;
const int REG_DATA    = 0x10;                    // Определяем адрес регистра REG_DATA.&lt;br /&gt;
const int FLG_PRESSED = 5;                       // Определяем номер бита FLG_PRESSED в регистре REG_DATA.&lt;br /&gt;
byte      DATA;                                  // Объявляем переменную для хранения байта данных считанных с регистра.&lt;br /&gt;
                                                 //&lt;br /&gt;
void setup(){                                    //&lt;br /&gt;
    Serial.begin(9600);                          // Инициируем связь с монитором последовательного порта на скорости 9600 бит/сек.&lt;br /&gt;
    while(!Serial){;}                            // Ждём готовность к работе аппаратной шины UART.&lt;br /&gt;
    Wire.setClock(100000L);                      // Устанавливаем скорость передачи данных по шине I2C.&lt;br /&gt;
    Wire.begin();                                // Инициируем работу c шиной I2C в качестве мастера.&lt;br /&gt;
}                                                //&lt;br /&gt;
                                                 //&lt;br /&gt;
void loop(){                                     //&lt;br /&gt;
    Wire.beginTransmission(ADDRESS);             // Инициируем передачу данных по шине I2C к устройству с адресом ADDRESS и битом RW=0 (запись). При этом сама передача не начнётся.&lt;br /&gt;
    Wire.write(REG_DATA);                        // Функция write() помещает значение своего аргумента в буфер для передачи.&lt;br /&gt;
    Wire.endTransmission(false);                 // Выполняем инициированную ранее передачу данных (параметр false указывает что состояние STOP устанавливать не требуется).&lt;br /&gt;
    Wire.requestFrom(ADDRESS, 1);                // Читаем из модуля с адресом ADDRESS, 1 байт данных в буфер библиотеки Wire. Так как предыдущая функция не установила состояние STOP, то состояние START установленное данной функцией будет расценено как RESTART.&lt;br /&gt;
    if   ( Wire.available() ){DATA=Wire.read();} // Если в буфере библиотеки Wire есть данные, то читаем 1 байт в переменную DATA.&lt;br /&gt;
    while( Wire.available() ){     Wire.read();} // Если в буфере библиотеки Wire есть еще данные, то читаем их в никуда (чистим буфер).&lt;br /&gt;
    if   ( DATA &amp;amp; bit(FLG_PRESSED) ){            // Если в полученном байте DATA установлен бит FLG_PRESSED, значит кнопка нажата.&lt;br /&gt;
           Serial.println(&amp;quot;Кнопка нажата&amp;quot;);      //&lt;br /&gt;
    }else{ Serial.println(&amp;quot;Кнопка отпущена&amp;quot;); }  //&lt;br /&gt;
    delay(1000);                                 //&lt;br /&gt;
}                                                //&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%AD%D0%BD%D0%BA%D0%BE%D0%B4%D0%B5%D1%80_FLASH-I2C&amp;diff=727</id>
		<title>Энкодер FLASH-I2C</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%AD%D0%BD%D0%BA%D0%BE%D0%B4%D0%B5%D1%80_FLASH-I2C&amp;diff=727"/>
		<updated>2021-06-23T16:10:36Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: /* Программа */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:1190 1000.png|мини|Внешний вид FLASH-I2C]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Энкодер FLASH-I2C&amp;#039;&amp;#039;&amp;#039; -является устройством ввода данных с подключением по шине I2С. У модуля есть программируемый выход, значительно расширяющий его возможности.&lt;br /&gt;
&lt;br /&gt;
Модуль способен работать как энкодер (отправляя количество тактов поворота вала в одну и другую сторону), как потенциометр (отправляя точное положение вала относительно точки сброса), как тактовая кнопка (отправляя события и состояния кнопки, в т.ч. и время её удержания), а так же модуль способен работать автономно (управляя сигналом на выходе без подключения к шине I2C).&lt;br /&gt;
&lt;br /&gt;
Модуль относится к серии «Flash», а значит к одной шине I2C можно подключить более 100 модулей, так как их адрес на шине I2C (по умолчанию 0x09), хранящийся в энергонезависимой памяти, можно менять программно.&lt;br /&gt;
&lt;br /&gt;
Модуль можно использовать в любых проектах где требуется тактовая кнопка, потенциометр или энкодер, а так же в тех проектах где требуется диммирование устройств без участия других микроконтроллеров.&lt;br /&gt;
&lt;br /&gt;
== Характеристики ==&lt;br /&gt;
&lt;br /&gt;
* Напряжение питания: 3,3 В или 5 В (постоянного тока).&lt;br /&gt;
* Потребляемый ток: до 10 мА (без нагрузки на программируемом выходе).&lt;br /&gt;
* Интерфейс: I2C.&lt;br /&gt;
* Скорость шины I2C: 100 кбит/с.&lt;br /&gt;
* Адрес на шине I2C: устанавливается программно (по умолчанию 0x09).&lt;br /&gt;
* Уровень логической 1 на линиях шины I2C: 3,3 В (толерантны к 5 В).&lt;br /&gt;
* Уровень логической 1 на выходе Signal: 3,3 В.&lt;br /&gt;
* Аналоговый уровень на выходе Signal: от 0 до 3,3 В.&lt;br /&gt;
* Разрешение ШИМ: 8 бит.&lt;br /&gt;
* Разрешение ЦАП: 8 бит (ШИМ + RC-фильтр).&lt;br /&gt;
* Частота ШИМ: устанавливается программно от 1 до 12000 Гц (по умолчанию 1,5 кГц).&lt;br /&gt;
* Рабочая температура: от -20 до +70 °С.&lt;br /&gt;
* Габариты: 30 х 30 мм.&lt;br /&gt;
&lt;br /&gt;
== Описание датчика ==&lt;br /&gt;
Модуль построен на базе микроконтроллера STM32F030F4 и снабжен собственным стабилизатором напряжения. Модуль самостоятельно обрабатывает сигналы энкодера (и его тактовой кнопки). Отличием данного модуля является наличие вывода, который можно запрограммировать для работы в качестве выхода без дальнейшего подключения модуля к шине I2C (без подключения к внешнему микроконтроллеру). Вывод модуля может работать как выход кнопки энкодера, как выход кнопочного переключателя (триггер), как выход с ШИМ (для управления моторами), как выход с логарифмической ШИМ (для управления светодиодами), как выход управления сервоприводами и как аналоговый выход (имитация ЦАП) с напряжением от 0 до 3,3 В. Режим работы выхода сохраняется и после отключения питания. Значит вывод можно однократно запрограммировать и использовать модуль в проектах без подключения к шине I2C.&lt;br /&gt;
&lt;br /&gt;
Модуль позволяет:&lt;br /&gt;
&lt;br /&gt;
* Получать количество тактов поворота энкодера в одну и другую сторону.&lt;br /&gt;
* Получать состояние и события кнопки вала энкодера.&lt;br /&gt;
* Получать время удержания кнопки вала энкодера.&lt;br /&gt;
* Получать точное положение вала энкодера относительно точки сброса.&lt;br /&gt;
* Сбрасывать положение вала энкодера.&lt;br /&gt;
* Автономно работать управляя сигналом на выходе без подключения к шине I2C.&lt;br /&gt;
* Задавать количество оборотов вала энкодера, как для автономной работы, так и для определения его положения.&lt;br /&gt;
* Указывать частоту для сигнала ШИМ, если таковой формируется на выходе модуля.&lt;br /&gt;
&lt;br /&gt;
== Контакты датчика ==&lt;br /&gt;
[[Файл:Imageгш.png|мини|342x342пкс]]&lt;br /&gt;
У модуля имеются две колодки выводов: разъём &amp;#039;&amp;#039;&amp;#039;I2C&amp;#039;&amp;#039;&amp;#039; (GND, Vcc, SDA, SCL) и разъём &amp;#039;&amp;#039;&amp;#039;D/A&amp;#039;&amp;#039;&amp;#039; (GND, Vcc, Signal).&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;SCL&amp;#039;&amp;#039;&amp;#039; - вход/выход линии тактирования шины I2C.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;SDA&amp;#039;&amp;#039;&amp;#039; - вход/выход линии данных шины I2C.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Vcc&amp;#039;&amp;#039;&amp;#039; - вход питания 3,3 или 5 В.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;GND&amp;#039;&amp;#039;&amp;#039; - общий вывод питания.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Signal&amp;#039;&amp;#039;&amp;#039; - программируемый выход модуля.&lt;br /&gt;
&lt;br /&gt;
Модуль подключается к Arduino по &amp;#039;&amp;#039;&amp;#039;шине I2C&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Устройства которыми модуль управляет в автономном режиме, подключаются к колодке &amp;#039;&amp;#039;&amp;#039;D/A&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Подключение ==&lt;br /&gt;
[[Файл:Imageвнеш.png|мини|389x389пкс|Внешний вид макета]]&lt;br /&gt;
Модуль подключается к аппаратной или программной шине I2C Arduino и имеет адрес 0x68. Используя провода «Папа — Мама», подключаем  напрямую к контроллеру Piranha UNO.&lt;br /&gt;
&lt;br /&gt;
Модуль может работать в автономном режиме, при этом необязательно подключать ведущее устройство к колодке I2C, достаточно подать питание на Vcc и GND, но, перед этим, модулю необходимо установить опцию работы вывода &amp;#039;&amp;#039;&amp;#039;S&amp;#039;&amp;#039;&amp;#039; при помощи ведущего устройства функцией PinMode( РЕЖИМ ). Опция будет сохранена в энергонезависимой памяти модуля.&lt;br /&gt;
&lt;br /&gt;
=== Программа ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;                                // Подключаем библиотеку Wire для работы с шиной I2C.&lt;br /&gt;
const int ADDRESS     = 0x09;                    // Определяем адрес модуля.&lt;br /&gt;
const int REG_DATA    = 0x10;                    // Определяем адрес регистра REG_DATA.&lt;br /&gt;
const int FLG_PRESSED = 5;                       // Определяем номер бита FLG_PRESSED в регистре REG_DATA.&lt;br /&gt;
byte      DATA;                                  // Объявляем переменную для хранения байта данных считанных с регистра.&lt;br /&gt;
                                                 //&lt;br /&gt;
void setup(){                                    //&lt;br /&gt;
    Serial.begin(9600);                          // Инициируем связь с монитором последовательного порта на скорости 9600 бит/сек.&lt;br /&gt;
    while(!Serial){;}                            // Ждём готовность к работе аппаратной шины UART.&lt;br /&gt;
    Wire.setClock(100000L);                      // Устанавливаем скорость передачи данных по шине I2C.&lt;br /&gt;
    Wire.begin();                                // Инициируем работу c шиной I2C в качестве мастера.&lt;br /&gt;
}                                                //&lt;br /&gt;
                                                 //&lt;br /&gt;
void loop(){                                     //&lt;br /&gt;
    Wire.beginTransmission(ADDRESS);             // Инициируем передачу данных по шине I2C к устройству с адресом ADDRESS и битом RW=0 (запись). При этом сама передача не начнётся.&lt;br /&gt;
    Wire.write(REG_DATA);                        // Функция write() помещает значение своего аргумента в буфер для передачи.&lt;br /&gt;
    Wire.endTransmission(false);                 // Выполняем инициированную ранее передачу данных (параметр false указывает что состояние STOP устанавливать не требуется).&lt;br /&gt;
    Wire.requestFrom(ADDRESS, 1);                // Читаем из модуля с адресом ADDRESS, 1 байт данных в буфер библиотеки Wire. Так как предыдущая функция не установила состояние STOP, то состояние START установленное данной функцией будет расценено как RESTART.&lt;br /&gt;
    if   ( Wire.available() ){DATA=Wire.read();} // Если в буфере библиотеки Wire есть данные, то читаем 1 байт в переменную DATA.&lt;br /&gt;
    while( Wire.available() ){     Wire.read();} // Если в буфере библиотеки Wire есть еще данные, то читаем их в никуда (чистим буфер).&lt;br /&gt;
    if   ( DATA &amp;amp; bit(FLG_PRESSED) ){            // Если в полученном байте DATA установлен бит FLG_PRESSED, значит кнопка нажата.&lt;br /&gt;
           Serial.println(&amp;quot;Кнопка нажата&amp;quot;);      //&lt;br /&gt;
    }else{ Serial.println(&amp;quot;Кнопка отпущена&amp;quot;); }  //&lt;br /&gt;
    delay(1000);                                 //&lt;br /&gt;
}                                                //&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%AD%D0%BD%D0%BA%D0%BE%D0%B4%D0%B5%D1%80_FLASH-I2C&amp;diff=726</id>
		<title>Энкодер FLASH-I2C</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%AD%D0%BD%D0%BA%D0%BE%D0%B4%D0%B5%D1%80_FLASH-I2C&amp;diff=726"/>
		<updated>2021-06-23T16:07:42Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:1190 1000.png|мини|Внешний вид FLASH-I2C]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Энкодер FLASH-I2C&amp;#039;&amp;#039;&amp;#039; -является устройством ввода данных с подключением по шине I2С. У модуля есть программируемый выход, значительно расширяющий его возможности.&lt;br /&gt;
&lt;br /&gt;
Модуль способен работать как энкодер (отправляя количество тактов поворота вала в одну и другую сторону), как потенциометр (отправляя точное положение вала относительно точки сброса), как тактовая кнопка (отправляя события и состояния кнопки, в т.ч. и время её удержания), а так же модуль способен работать автономно (управляя сигналом на выходе без подключения к шине I2C).&lt;br /&gt;
&lt;br /&gt;
Модуль относится к серии «Flash», а значит к одной шине I2C можно подключить более 100 модулей, так как их адрес на шине I2C (по умолчанию 0x09), хранящийся в энергонезависимой памяти, можно менять программно.&lt;br /&gt;
&lt;br /&gt;
Модуль можно использовать в любых проектах где требуется тактовая кнопка, потенциометр или энкодер, а так же в тех проектах где требуется диммирование устройств без участия других микроконтроллеров.&lt;br /&gt;
&lt;br /&gt;
== Характеристики ==&lt;br /&gt;
&lt;br /&gt;
* Напряжение питания: 3,3 В или 5 В (постоянного тока).&lt;br /&gt;
* Потребляемый ток: до 10 мА (без нагрузки на программируемом выходе).&lt;br /&gt;
* Интерфейс: I2C.&lt;br /&gt;
* Скорость шины I2C: 100 кбит/с.&lt;br /&gt;
* Адрес на шине I2C: устанавливается программно (по умолчанию 0x09).&lt;br /&gt;
* Уровень логической 1 на линиях шины I2C: 3,3 В (толерантны к 5 В).&lt;br /&gt;
* Уровень логической 1 на выходе Signal: 3,3 В.&lt;br /&gt;
* Аналоговый уровень на выходе Signal: от 0 до 3,3 В.&lt;br /&gt;
* Разрешение ШИМ: 8 бит.&lt;br /&gt;
* Разрешение ЦАП: 8 бит (ШИМ + RC-фильтр).&lt;br /&gt;
* Частота ШИМ: устанавливается программно от 1 до 12000 Гц (по умолчанию 1,5 кГц).&lt;br /&gt;
* Рабочая температура: от -20 до +70 °С.&lt;br /&gt;
* Габариты: 30 х 30 мм.&lt;br /&gt;
&lt;br /&gt;
== Описание датчика ==&lt;br /&gt;
Модуль построен на базе микроконтроллера STM32F030F4 и снабжен собственным стабилизатором напряжения. Модуль самостоятельно обрабатывает сигналы энкодера (и его тактовой кнопки). Отличием данного модуля является наличие вывода, который можно запрограммировать для работы в качестве выхода без дальнейшего подключения модуля к шине I2C (без подключения к внешнему микроконтроллеру). Вывод модуля может работать как выход кнопки энкодера, как выход кнопочного переключателя (триггер), как выход с ШИМ (для управления моторами), как выход с логарифмической ШИМ (для управления светодиодами), как выход управления сервоприводами и как аналоговый выход (имитация ЦАП) с напряжением от 0 до 3,3 В. Режим работы выхода сохраняется и после отключения питания. Значит вывод можно однократно запрограммировать и использовать модуль в проектах без подключения к шине I2C.&lt;br /&gt;
&lt;br /&gt;
Модуль позволяет:&lt;br /&gt;
&lt;br /&gt;
* Получать количество тактов поворота энкодера в одну и другую сторону.&lt;br /&gt;
* Получать состояние и события кнопки вала энкодера.&lt;br /&gt;
* Получать время удержания кнопки вала энкодера.&lt;br /&gt;
* Получать точное положение вала энкодера относительно точки сброса.&lt;br /&gt;
* Сбрасывать положение вала энкодера.&lt;br /&gt;
* Автономно работать управляя сигналом на выходе без подключения к шине I2C.&lt;br /&gt;
* Задавать количество оборотов вала энкодера, как для автономной работы, так и для определения его положения.&lt;br /&gt;
* Указывать частоту для сигнала ШИМ, если таковой формируется на выходе модуля.&lt;br /&gt;
&lt;br /&gt;
== Контакты датчика ==&lt;br /&gt;
[[Файл:Imageгш.png|мини|342x342пкс]]&lt;br /&gt;
У модуля имеются две колодки выводов: разъём &amp;#039;&amp;#039;&amp;#039;I2C&amp;#039;&amp;#039;&amp;#039; (GND, Vcc, SDA, SCL) и разъём &amp;#039;&amp;#039;&amp;#039;D/A&amp;#039;&amp;#039;&amp;#039; (GND, Vcc, Signal).&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;SCL&amp;#039;&amp;#039;&amp;#039; - вход/выход линии тактирования шины I2C.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;SDA&amp;#039;&amp;#039;&amp;#039; - вход/выход линии данных шины I2C.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Vcc&amp;#039;&amp;#039;&amp;#039; - вход питания 3,3 или 5 В.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;GND&amp;#039;&amp;#039;&amp;#039; - общий вывод питания.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Signal&amp;#039;&amp;#039;&amp;#039; - программируемый выход модуля.&lt;br /&gt;
&lt;br /&gt;
Модуль подключается к Arduino по &amp;#039;&amp;#039;&amp;#039;шине I2C&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Устройства которыми модуль управляет в автономном режиме, подключаются к колодке &amp;#039;&amp;#039;&amp;#039;D/A&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Подключение ==&lt;br /&gt;
[[Файл:Imageвнеш.png|мини|389x389пкс|Внешний вид макета]]&lt;br /&gt;
Модуль подключается к аппаратной или программной шине I2C Arduino и имеет адрес 0x68. Используя провода «Папа — Мама», подключаем  напрямую к контроллеру Piranha UNO.&lt;br /&gt;
&lt;br /&gt;
Модуль может работать в автономном режиме, при этом необязательно подключать ведущее устройство к колодке I2C, достаточно подать питание на Vcc и GND, но, перед этим, модулю необходимо установить опцию работы вывода &amp;#039;&amp;#039;&amp;#039;S&amp;#039;&amp;#039;&amp;#039; при помощи ведущего устройства функцией PinMode( РЕЖИМ ). Опция будет сохранена в энергонезависимой памяти модуля.&lt;br /&gt;
&lt;br /&gt;
=== Программа ===&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Image%D0%B2%D0%BD%D0%B5%D1%88.png&amp;diff=725</id>
		<title>Файл:Imageвнеш.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Image%D0%B2%D0%BD%D0%B5%D1%88.png&amp;diff=725"/>
		<updated>2021-06-23T16:06:04Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Imageвнеш&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Image%D0%B3%D1%88.png&amp;diff=724</id>
		<title>Файл:Imageгш.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Image%D0%B3%D1%88.png&amp;diff=724"/>
		<updated>2021-06-23T16:04:11Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Imageгш&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%AD%D0%BD%D0%BA%D0%BE%D0%B4%D0%B5%D1%80_FLASH-I2C&amp;diff=720</id>
		<title>Энкодер FLASH-I2C</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%AD%D0%BD%D0%BA%D0%BE%D0%B4%D0%B5%D1%80_FLASH-I2C&amp;diff=720"/>
		<updated>2021-06-21T16:45:06Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: Новая страница: «Внешний вид FLASH-I2C &amp;#039;&amp;#039;&amp;#039;Энкодер FLASH-I2C&amp;#039;&amp;#039;&amp;#039; -является устройством ввода данны...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:1190 1000.png|мини|Внешний вид FLASH-I2C]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Энкодер FLASH-I2C&amp;#039;&amp;#039;&amp;#039; -является устройством ввода данных с подключением по шине I2С. У модуля есть программируемый выход, значительно расширяющий его возможности.&lt;br /&gt;
&lt;br /&gt;
Модуль способен работать как энкодер (отправляя количество тактов поворота вала в одну и другую сторону), как потенциометр (отправляя точное положение вала относительно точки сброса), как тактовая кнопка (отправляя события и состояния кнопки, в т.ч. и время её удержания), а так же модуль способен работать автономно (управляя сигналом на выходе без подключения к шине I2C).&lt;br /&gt;
&lt;br /&gt;
Модуль относится к серии «Flash», а значит к одной шине I2C можно подключить более 100 модулей, так как их адрес на шине I2C (по умолчанию 0x09), хранящийся в энергонезависимой памяти, можно менять программно.&lt;br /&gt;
&lt;br /&gt;
Модуль можно использовать в любых проектах где требуется тактовая кнопка, потенциометр или энкодер, а так же в тех проектах где требуется диммирование устройств без участия других микроконтроллеров.&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:1190_1000.png&amp;diff=719</id>
		<title>Файл:1190 1000.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:1190_1000.png&amp;diff=719"/>
		<updated>2021-06-21T16:44:16Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1190 1000&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=718</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=718"/>
		<updated>2021-06-21T16:41:39Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: /* Датчики */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Добро пожаловать на Вики!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Здесь Вы найдете материалы по нашим и сторонним изделиям, программированию и инженерным решениям.&lt;br /&gt;
&lt;br /&gt;
== Редактирование ==&lt;br /&gt;
[[Файл:LogIn screenshot.png|200x200пкс|альт=|мини|Расположение кнопки входа]]Для добавления и редактирования статей: &lt;br /&gt;
&lt;br /&gt;
# создайте учетную запись или выполните вход (кнопка &amp;#039;&amp;#039;&amp;#039;Аноним&amp;#039;&amp;#039;&amp;#039; справа сверху)&lt;br /&gt;
# отредактируйте данную страницу, добавив ссылку &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;на пока ещё не созданную страницу&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; в один из разделов (или создав новый)&lt;br /&gt;
# сохраните изменения и перейдите по ссылке&lt;br /&gt;
# Отредактируйте новую страницу, заполнив её содержанием по выбранной теме. Не забудьте нажать сохранить изменения.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Описание модулей ==&lt;br /&gt;
*[[Ультразвуковой дальномер HC-SR04]]&lt;br /&gt;
*[[Драйвер двигателя L298N]]&lt;br /&gt;
*[[Датчик линии на базе TCRT5000]]&lt;br /&gt;
*[[Драйвер моторов двухканальный tb6680|Драйвер двухканальный на базе микросхемы tb6612fng]]&lt;br /&gt;
*[[Лазерные дальномеры|Лазерные дальномеры - Laser Sensor]]&lt;br /&gt;
*[[Шаговый электродвигатель]]&lt;br /&gt;
*[[Оптические энкодеры|Оптические энкодеры - FC-03 на базе ITR9608]]&lt;br /&gt;
*[[Подключение гироскопа GY-521 MPU-6050 к Arduio]]&lt;br /&gt;
*[[АЦП на базе микросхемы hx711|АЦП на базе микросхемы HX711]]&lt;br /&gt;
*[[Сервопривод]]&lt;br /&gt;
*[[Arduino Shield]]&lt;br /&gt;
*[[Драйвер двигателя L293D]]&lt;br /&gt;
*[[Зуммер]]&lt;br /&gt;
*[[Сторожевой таймер|Сторожевой таймер | WatchDog Timer]]&lt;br /&gt;
*[[Мотор-редуктор]]&lt;br /&gt;
*[[Четырехразрядный семисегментный индикатор]]&lt;br /&gt;
*[[Ethernet Shield на базе WIZnet w5100]]&lt;br /&gt;
*[[Использование АЦП в микроконтроллере AVR ATmega16]]&lt;br /&gt;
*[[Жидкокристаллический дисплей]]&lt;br /&gt;
*[[ИК-датчик движения HC-SR501]]&lt;br /&gt;
*[[Доплеровский датчик движения RCWL-0516]]&lt;br /&gt;
*[[Сервоприводы SG90, MG995, MG996]]&lt;br /&gt;
*[[Разновидности плат Arduino]]&lt;br /&gt;
&lt;br /&gt;
== Процессы и подходы ==&lt;br /&gt;
&lt;br /&gt;
* [[ШИМ]]&lt;br /&gt;
* [[Калибровка]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
&lt;br /&gt;
== Алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
* [[Движение робота по черной ленте]]&lt;br /&gt;
* [[Алгоритм A*]]&lt;br /&gt;
* [[Алгоритм D*]]&lt;br /&gt;
* [[Объезд препятствий]]&lt;br /&gt;
* [[SLAM]]&lt;br /&gt;
* [[Алгоритм матричной клавиатуры]]&lt;br /&gt;
&lt;br /&gt;
== Датчики ==&lt;br /&gt;
&lt;br /&gt;
* [[Инфракрасный Датчик]]&lt;br /&gt;
* [[Тензодатчик]]&lt;br /&gt;
* [[Датчик Холла]]&lt;br /&gt;
* [[Доплеровский датчик]]&lt;br /&gt;
* [[Датчик влажности воздуха]]&lt;br /&gt;
* [[Акселерометр]]&lt;br /&gt;
* [[Датчики влажности почвы|Датчик влажности почвы]]&lt;br /&gt;
* [[Датчик наклона]]&lt;br /&gt;
* [[Датчик цвета]]&lt;br /&gt;
* [[Датчик-компас]]&lt;br /&gt;
* [[Энкодер]]&lt;br /&gt;
* [[Датчик препятствия|Инфракрасный датчик препятствий YL-63]]&lt;br /&gt;
* [[Датчик освещенности]]&lt;br /&gt;
* [[Датчик температуры]]&lt;br /&gt;
* [[Датчик уровня звука]]&lt;br /&gt;
* [[Датчик уровня воды]]&lt;br /&gt;
* [[Датчик вибрации]]&lt;br /&gt;
* [[Датчик угарного газа]]&lt;br /&gt;
* [[Датчик жестов]]&lt;br /&gt;
* [[Кнопка]]&lt;br /&gt;
* [[Датчик давления|Датчик давления BMP-180]]&lt;br /&gt;
* [[Резистивный датчик давления]]&lt;br /&gt;
* [[Пьезоэлектрический датчик]]&lt;br /&gt;
* [[Датчик движения]]&lt;br /&gt;
* [[Датчик положения]]&lt;br /&gt;
* [[Датчик утечки газа]]&lt;br /&gt;
* [[Плата мониторинга окружающей среды Pimoroni enviro:bit]] &lt;br /&gt;
* [[Энкодер FLASH-I2C]]&lt;br /&gt;
&lt;br /&gt;
== Советы и рекомендации ==&lt;br /&gt;
&lt;br /&gt;
* [[Технология проектирования печатных плат]]&lt;br /&gt;
* [[Полезные советы по Webots]]&lt;br /&gt;
* [[Устанавливаем драйвер Ардуино - Подключаем порт]]&lt;br /&gt;
* [[Как выбрать Arduino]]&lt;br /&gt;
* [[Методики оптимизации кода]] &lt;br /&gt;
&lt;br /&gt;
== Программирование MIK32 в среде eclipse ==&lt;br /&gt;
&lt;br /&gt;
* [[Быстрый старт с MIK32]]&lt;br /&gt;
&lt;br /&gt;
== Некоторые полезные ресурсы ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Список возможных настроек];&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Manual:FAQ/ru Часто задаваемые вопросы и ответы по MediaWiki];&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki].&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Перевод MediaWiki на свой язык]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Узнайте, как бороться со спамом в вашей вики]&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=UART_Arduino&amp;diff=701</id>
		<title>UART Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=UART_Arduino&amp;diff=701"/>
		<updated>2021-06-20T18:07:01Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: /* Пример кода */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Универсальный асинхронный передатчик (Univsersal Asynchronos Reciever-Transmitter)&amp;#039;&amp;#039;&amp;#039; - это физическое устройство приёма и передачи данных по двум проводам. Оно позволяет двум устройствам обмениваться данными на различных скоростях. В спецификацию UART не входят аналоговые уровни на которых ведётся общение между устройствами, UART это протокол передачи единиц и нулей, электрическую спецификацию на себя берут другие стандарты, такие как TTL (transistor-transistor logic — транзисторно-транзисторная логика), RS-232, RS-422, RS-485 и другие. На данный момент в микроконтроллерах используется в основном TTL (или точнее CMOS) UART для соединения не более двух устройств. В наших примерах мы часто называем его &amp;#039;&amp;#039;&amp;#039;последовательным портом&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Подключение ==&lt;br /&gt;
[[Файл:Макетподкл.png|мини|430x430пкс|Макет подключения]]&lt;br /&gt;
[[Файл:Imageгн.png|мини|Соединение контактов]]&lt;br /&gt;
У каждого устройства, поддерживающего UART обычно обозначены два вывода: RX и TX. TX — означает transmit (передаю), RX — receive (принимаю). Отсюда становится понятно что RX одного устройства нужно подключать к TX другого. Если Вы подключите RX одного устройства к RX другого, то оба устройства будут слушать друг друга, вы соединили их входы. Если соединить TX и TX - это уже более опасно, это выходы низкого сопротивления устройств и если на одном будет логическая единица, а на втором ноль — по проводу пойдёт ток короткого замыкания (это зависит от конкретной программной или аппаратной реализации). Хотя в современных чипах от этого есть защита, на всякий случай, не стоит на неё ориентироваться. Так же необходимо объединить референсные уровни двух устройств (GND-GND), если не подразумевается гальваническая развязка.&lt;br /&gt;
&lt;br /&gt;
Принимающее устройство UART проверяет принятый пакет (через вывод RX) на наличие ошибок, вычисляя число единиц и сравнивая его со значением бита четности, содержащегося в пакете.&lt;br /&gt;
&lt;br /&gt;
Если ошибки при передаче отсутствуют, то для получения блока данных он перейдет к обработке стартового бита, стоповых битов и бита четности. Возможно, ему понадобится получить несколько пакетов, прежде чем он сможет пересобрать весь байт данных из фреймов данных. После восстановления байт сохраняется в буфере UART.&lt;br /&gt;
&lt;br /&gt;
Принимающее устройство UART использует бит четности для определения факта потери данных при передаче. Потеря данных при передаче происходит, когда бит во время передачи изменил свое состояние. Бит может меняться, в том числе, из-за расстояния передачи, магнитного излучения, несовпадения скоростей передачи.&lt;br /&gt;
&lt;br /&gt;
=== Скорость передачи данных ===&lt;br /&gt;
Скорость изменения логических уровней (импульсов) на линии принято измерять в бодах. Единица измерения названа так в честь французского изобретателя Жана Мориса Эмиля Бодо.&lt;br /&gt;
&lt;br /&gt;
Скорость при использовании UART может быть любой, единственное требование — скорости передающего и принимающего должны быть одинаковы. Стандартная скорость UART принята за 9600 бод. Arduino без проблем и лишних настроек может принимать и передавать данные на скоростях до 115200 бод.&lt;br /&gt;
&lt;br /&gt;
Так как при передаче данных присутствуют синхронизирующие биты, именуемые старт-бит и стоп-бит, не совсем корректно говорить, что скорость 9600 бод равна 9600 битам в секунду. Если речь идёт о полезных данных, то реальная скорость на 20% ниже. Например, если выставлены параметры 8-N-1 и 9600 бод, то на передачу одного байта уходит десять бит, и 9600/10 = 960 байт, что равно 7680 битам в секунду.&lt;br /&gt;
&lt;br /&gt;
=== Методы связи ===&lt;br /&gt;
UART позволяет одновременно передавать и принимать данные, однако не всегда это возможно или нужно. Например, если Вам нужно только получать не критические данные (которые можно проверить следующим пакетом, например расстояние, посылаемое лидаром каждые несколько сотен миллисекунд) от цифрового датчика или любого другого устройства и не нужно ничего передавать, такой метод называется симплексным. Всего различают три метода связи:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Полнодуплексная&amp;#039;&amp;#039;&amp;#039; — когда ведущий и ведомый могут одновременно принимать и передавать (одновременная передача в обе стороны)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Полудуплексная&amp;#039;&amp;#039;&amp;#039; — когда ведущий и ведомый поочерёдно принимают и передают (Поочерёдная передача в обе стороны)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Симплексная&amp;#039;&amp;#039;&amp;#039; — когда ведущий или ведомый только передают (Передача в одну сторону)&lt;br /&gt;
&lt;br /&gt;
== Пример кода ==&lt;br /&gt;
Передача информации из контроллера на компьютер с ее отображением в мониторе. Это очень важная возможность, позволяющая наблюдать происходящее в программе, если вставить в нее соответствующие строки. Можно выводить на экран содержимое переменных, метки прохождения каких-то точек и так далее.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);       // запускаем порт&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  Serial.print(&amp;quot;timer: &amp;quot;);  // пишем слово timer:&lt;br /&gt;
  Serial.print(millis());   // выводим кол-во миллисекунд с начала запуска программы&lt;br /&gt;
  Serial.println(&amp;quot;ms&amp;quot;);     // подписываем их ms, переводим строку на новую&lt;br /&gt;
  delay(1000);              // задержка 1 сек&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Еще один пример про передачу данных между двумя платами. Для реализации нам потребуется две любых платы Ардуино, между которыми мы будем гонять данные. К каждой из них мы подключим две кнопки и два светодиода по одинаковой схеме, и соединим их RX-TX крест-накрест, как было описано выше.&lt;br /&gt;
[[Файл:Imageав.png|мини|370x370пкс|Внешний вид подключения]]&lt;br /&gt;
Важное примечание. Если платы подключены к разным источникам питания, необходимо обязательно объединить их контакты GND, иначе для сигналов не будет опоры на соседней плате.&lt;br /&gt;
&lt;br /&gt;
Кнопки, подключенные к одной плате, будут управлять светодиодами, подключенными к другой. И наоборот. Для этого каждая плата должна передавать информацию о том, что происходит на ее кнопках другой плате, одновременно принимая от нее такие же данные и управляя согласно им своими светодиодами. Сборки симметричны, функции тоже, значит и программы на обеих платах будут одинаковые.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define LED_1   4   // светодиод 1&lt;br /&gt;
#define LED_2   5   // светодиод 2&lt;br /&gt;
#define BUT_1   2   // кнопка 1&lt;br /&gt;
#define BUT_2   3   // кнопка 2&lt;br /&gt;
&lt;br /&gt;
byte but[2];  // переменные для отслеживания кнопок&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // инициализируем пины, запускаем сирал порт&lt;br /&gt;
  pinMode(LED_1, OUTPUT);&lt;br /&gt;
  pinMode(LED_2, OUTPUT);&lt;br /&gt;
  pinMode(BUT_1, INPUT);&lt;br /&gt;
  pinMode(BUT_2, INPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  if (get_but()) {            // с кнопками что-то было&lt;br /&gt;
    Serial.write(but[1]);   // отправляем в порт новое состояние кнопок&lt;br /&gt;
  }&lt;br /&gt;
  if (Serial.available() &amp;gt; 0) {         // если пришли данные от соседних кнопок&lt;br /&gt;
    byte incom = Serial.read();         // считываем эти данные&lt;br /&gt;
    digitalWrite(LED_1, !(incom / 2));  // зажигаем или гасим светодиод 1&lt;br /&gt;
    digitalWrite(LED_2, !(incom % 2));  // зажигаем или гасим светодиод 2&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
byte get_but() {&lt;br /&gt;
  static unsigned long timer;&lt;br /&gt;
  if (timer + 50 &amp;gt; millis()) return 0; // опрос каждые 50мс (антидребезг)&lt;br /&gt;
  timer = millis();&lt;br /&gt;
  but[0] = but[1];&lt;br /&gt;
  but[1] = digitalRead(BUT_1) + digitalRead(BUT_2) * 10; // данные с обеих кнопок в одну переменную (единицы и десятки)&lt;br /&gt;
  if (but[0] != but[1]) return 1;      // если есть изменение, сигнализируем единицей&lt;br /&gt;
  return 0;                            // если нет, возвращаем 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Заключение ==&lt;br /&gt;
UART бесспорно и заслуженно самый известный и широко применяемый интерфейс передачи данных. С его помощью к Ардуино подключаются датчики, исполнительные устройства, индикаторы и дисплеи, GPS и GPRS-модули. Через него осуществляется заливка программы в Ардуино и ее отладка. С его помощью можно легко и быстро организовать обмен команд и информацией с другим контроллером. Однако, у него есть и недостатки, например ограничение по скорости, относительно невысокая помехозащищенность, требование к точности тактовой частоты у передающей и принимающей платы, что особенно критично для контроллеров, работающих от внутреннего RC-генератора. Тем не менее он остается очень важным инструментом с огромными возможностями.&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=UART_Arduino&amp;diff=700</id>
		<title>UART Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=UART_Arduino&amp;diff=700"/>
		<updated>2021-06-20T18:06:34Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: /* Пример кода */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Универсальный асинхронный передатчик (Univsersal Asynchronos Reciever-Transmitter)&amp;#039;&amp;#039;&amp;#039; - это физическое устройство приёма и передачи данных по двум проводам. Оно позволяет двум устройствам обмениваться данными на различных скоростях. В спецификацию UART не входят аналоговые уровни на которых ведётся общение между устройствами, UART это протокол передачи единиц и нулей, электрическую спецификацию на себя берут другие стандарты, такие как TTL (transistor-transistor logic — транзисторно-транзисторная логика), RS-232, RS-422, RS-485 и другие. На данный момент в микроконтроллерах используется в основном TTL (или точнее CMOS) UART для соединения не более двух устройств. В наших примерах мы часто называем его &amp;#039;&amp;#039;&amp;#039;последовательным портом&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Подключение ==&lt;br /&gt;
[[Файл:Макетподкл.png|мини|430x430пкс|Макет подключения]]&lt;br /&gt;
[[Файл:Imageгн.png|мини|Соединение контактов]]&lt;br /&gt;
У каждого устройства, поддерживающего UART обычно обозначены два вывода: RX и TX. TX — означает transmit (передаю), RX — receive (принимаю). Отсюда становится понятно что RX одного устройства нужно подключать к TX другого. Если Вы подключите RX одного устройства к RX другого, то оба устройства будут слушать друг друга, вы соединили их входы. Если соединить TX и TX - это уже более опасно, это выходы низкого сопротивления устройств и если на одном будет логическая единица, а на втором ноль — по проводу пойдёт ток короткого замыкания (это зависит от конкретной программной или аппаратной реализации). Хотя в современных чипах от этого есть защита, на всякий случай, не стоит на неё ориентироваться. Так же необходимо объединить референсные уровни двух устройств (GND-GND), если не подразумевается гальваническая развязка.&lt;br /&gt;
&lt;br /&gt;
Принимающее устройство UART проверяет принятый пакет (через вывод RX) на наличие ошибок, вычисляя число единиц и сравнивая его со значением бита четности, содержащегося в пакете.&lt;br /&gt;
&lt;br /&gt;
Если ошибки при передаче отсутствуют, то для получения блока данных он перейдет к обработке стартового бита, стоповых битов и бита четности. Возможно, ему понадобится получить несколько пакетов, прежде чем он сможет пересобрать весь байт данных из фреймов данных. После восстановления байт сохраняется в буфере UART.&lt;br /&gt;
&lt;br /&gt;
Принимающее устройство UART использует бит четности для определения факта потери данных при передаче. Потеря данных при передаче происходит, когда бит во время передачи изменил свое состояние. Бит может меняться, в том числе, из-за расстояния передачи, магнитного излучения, несовпадения скоростей передачи.&lt;br /&gt;
&lt;br /&gt;
=== Скорость передачи данных ===&lt;br /&gt;
Скорость изменения логических уровней (импульсов) на линии принято измерять в бодах. Единица измерения названа так в честь французского изобретателя Жана Мориса Эмиля Бодо.&lt;br /&gt;
&lt;br /&gt;
Скорость при использовании UART может быть любой, единственное требование — скорости передающего и принимающего должны быть одинаковы. Стандартная скорость UART принята за 9600 бод. Arduino без проблем и лишних настроек может принимать и передавать данные на скоростях до 115200 бод.&lt;br /&gt;
&lt;br /&gt;
Так как при передаче данных присутствуют синхронизирующие биты, именуемые старт-бит и стоп-бит, не совсем корректно говорить, что скорость 9600 бод равна 9600 битам в секунду. Если речь идёт о полезных данных, то реальная скорость на 20% ниже. Например, если выставлены параметры 8-N-1 и 9600 бод, то на передачу одного байта уходит десять бит, и 9600/10 = 960 байт, что равно 7680 битам в секунду.&lt;br /&gt;
&lt;br /&gt;
=== Методы связи ===&lt;br /&gt;
UART позволяет одновременно передавать и принимать данные, однако не всегда это возможно или нужно. Например, если Вам нужно только получать не критические данные (которые можно проверить следующим пакетом, например расстояние, посылаемое лидаром каждые несколько сотен миллисекунд) от цифрового датчика или любого другого устройства и не нужно ничего передавать, такой метод называется симплексным. Всего различают три метода связи:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Полнодуплексная&amp;#039;&amp;#039;&amp;#039; — когда ведущий и ведомый могут одновременно принимать и передавать (одновременная передача в обе стороны)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Полудуплексная&amp;#039;&amp;#039;&amp;#039; — когда ведущий и ведомый поочерёдно принимают и передают (Поочерёдная передача в обе стороны)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Симплексная&amp;#039;&amp;#039;&amp;#039; — когда ведущий или ведомый только передают (Передача в одну сторону)&lt;br /&gt;
&lt;br /&gt;
== Пример кода ==&lt;br /&gt;
Передача информации из контроллера на компьютер с ее отображением в мониторе. Это очень важная возможность, позволяющая наблюдать происходящее в программе, если вставить в нее соответствующие строки. Можно выводить на экран содержимое переменных, метки прохождения каких-то точек и так далее.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);       // запускаем порт&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  Serial.print(&amp;quot;timer: &amp;quot;);  // пишем слово timer:&lt;br /&gt;
  Serial.print(millis());   // выводим кол-во миллисекунд с начала запуска программы&lt;br /&gt;
  Serial.println(&amp;quot;ms&amp;quot;);     // подписываем их ms, переводим строку на новую&lt;br /&gt;
  delay(1000);              // задержка 1 сек&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Еще один пример про передачу данных между двумя платами. Для реализации нам потребуется две любых платы Ардуино, между которыми мы будем гонять данные. К каждой из них мы подключим две кнопки и два светодиода по одинаковой схеме, и соединим их RX-TX крест-накрест, как было описано выше.&lt;br /&gt;
[[Файл:Imageав.png|мини|370x370пкс|Внешний вид подключения]]&lt;br /&gt;
Важное примечание. Если платы подключены к разным источникам питания, необходимо обязательно объединить их контакты GND, иначе для сигналов не будет опоры на соседней плате.&lt;br /&gt;
&lt;br /&gt;
Кнопки, подключенные к одной плате, будут управлять светодиодами, подключенными к другой. И наоборот. Для этого каждая плата должна передавать информацию о том, что происходит на ее кнопках другой плате, одновременно принимая от нее такие же данные и управляя согласно им своими светодиодами. Сборки симметричны, функции тоже, значит и программы на обеих платах будут одинаковые.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define LED_1   4   // светодиод 1&lt;br /&gt;
#define LED_2   5   // светодиод 2&lt;br /&gt;
#define BUT_1   2   // кнопка 1&lt;br /&gt;
#define BUT_2   3   // кнопка 2&lt;br /&gt;
&lt;br /&gt;
byte but[2];  // переменные для отслеживания кнопок&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // инициализируем пины, запускаем сирал порт&lt;br /&gt;
  pinMode(LED_1, OUTPUT);&lt;br /&gt;
  pinMode(LED_2, OUTPUT);&lt;br /&gt;
  pinMode(BUT_1, INPUT);&lt;br /&gt;
  pinMode(BUT_2, INPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  if (get_but()) {            // с кнопками что-то было&lt;br /&gt;
    Serial.write(but[1]);   // отправляем в порт новое состояние кнопок&lt;br /&gt;
  }&lt;br /&gt;
  if (Serial.available() &amp;gt; 0) {         // если пришли данные от соседних кнопок&lt;br /&gt;
    byte incom = Serial.read();         // считываем эти данные&lt;br /&gt;
    digitalWrite(LED_1, !(incom / 2));  // зажигаем или гасим светодиод 1&lt;br /&gt;
    digitalWrite(LED_2, !(incom % 2));  // зажигаем или гасим светодиод 2&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
byte get_but() {&lt;br /&gt;
  static unsigned long timer;&lt;br /&gt;
  if (timer + 50 &amp;gt; millis()) return 0; // опрос каждые 50мс (антидребезг)&lt;br /&gt;
  timer = millis();&lt;br /&gt;
  but[0] = but[1];&lt;br /&gt;
  but[1] = digitalRead(BUT_1) + digitalRead(BUT_2) * 10; // данные с обеих кнопок в одну переменную (единицы и десятки)&lt;br /&gt;
  if (but[0] != but[1]) return 1;      // если есть изменение, сигнализируем единицей&lt;br /&gt;
  return 0;                            // если нет, возвращаем 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Заключение ==&lt;br /&gt;
UART бесспорно и заслуженно самый известный и широко применяемый интерфейс передачи данных. С его помощью к Ардуино подключаются датчики, исполнительные устройства, индикаторы и дисплеи, GPS и GPRS-модули. Через него осуществляется заливка программы в Ардуино и ее отладка. С его помощью можно легко и быстро организовать обмен команд и информацией с другим контроллером. Однако, у него есть и недостатки, например ограничение по скорости, относительно невысокая помехозащищенность, требование к точности тактовой частоты у передающей и принимающей платы, что особенно критично для контроллеров, работающих от внутреннего RC-генератора. Тем не менее он остается очень важным инструментом с огромными возможностями. Знать этот интерфейс и уметь им пользоваться должен любой DIY-мастер без исключения.&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=UART_Arduino&amp;diff=699</id>
		<title>UART Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=UART_Arduino&amp;diff=699"/>
		<updated>2021-06-20T18:05:32Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: /* Пример кода */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Универсальный асинхронный передатчик (Univsersal Asynchronos Reciever-Transmitter)&amp;#039;&amp;#039;&amp;#039; - это физическое устройство приёма и передачи данных по двум проводам. Оно позволяет двум устройствам обмениваться данными на различных скоростях. В спецификацию UART не входят аналоговые уровни на которых ведётся общение между устройствами, UART это протокол передачи единиц и нулей, электрическую спецификацию на себя берут другие стандарты, такие как TTL (transistor-transistor logic — транзисторно-транзисторная логика), RS-232, RS-422, RS-485 и другие. На данный момент в микроконтроллерах используется в основном TTL (или точнее CMOS) UART для соединения не более двух устройств. В наших примерах мы часто называем его &amp;#039;&amp;#039;&amp;#039;последовательным портом&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Подключение ==&lt;br /&gt;
[[Файл:Макетподкл.png|мини|430x430пкс|Макет подключения]]&lt;br /&gt;
[[Файл:Imageгн.png|мини|Соединение контактов]]&lt;br /&gt;
У каждого устройства, поддерживающего UART обычно обозначены два вывода: RX и TX. TX — означает transmit (передаю), RX — receive (принимаю). Отсюда становится понятно что RX одного устройства нужно подключать к TX другого. Если Вы подключите RX одного устройства к RX другого, то оба устройства будут слушать друг друга, вы соединили их входы. Если соединить TX и TX - это уже более опасно, это выходы низкого сопротивления устройств и если на одном будет логическая единица, а на втором ноль — по проводу пойдёт ток короткого замыкания (это зависит от конкретной программной или аппаратной реализации). Хотя в современных чипах от этого есть защита, на всякий случай, не стоит на неё ориентироваться. Так же необходимо объединить референсные уровни двух устройств (GND-GND), если не подразумевается гальваническая развязка.&lt;br /&gt;
&lt;br /&gt;
Принимающее устройство UART проверяет принятый пакет (через вывод RX) на наличие ошибок, вычисляя число единиц и сравнивая его со значением бита четности, содержащегося в пакете.&lt;br /&gt;
&lt;br /&gt;
Если ошибки при передаче отсутствуют, то для получения блока данных он перейдет к обработке стартового бита, стоповых битов и бита четности. Возможно, ему понадобится получить несколько пакетов, прежде чем он сможет пересобрать весь байт данных из фреймов данных. После восстановления байт сохраняется в буфере UART.&lt;br /&gt;
&lt;br /&gt;
Принимающее устройство UART использует бит четности для определения факта потери данных при передаче. Потеря данных при передаче происходит, когда бит во время передачи изменил свое состояние. Бит может меняться, в том числе, из-за расстояния передачи, магнитного излучения, несовпадения скоростей передачи.&lt;br /&gt;
&lt;br /&gt;
=== Скорость передачи данных ===&lt;br /&gt;
Скорость изменения логических уровней (импульсов) на линии принято измерять в бодах. Единица измерения названа так в честь французского изобретателя Жана Мориса Эмиля Бодо.&lt;br /&gt;
&lt;br /&gt;
Скорость при использовании UART может быть любой, единственное требование — скорости передающего и принимающего должны быть одинаковы. Стандартная скорость UART принята за 9600 бод. Arduino без проблем и лишних настроек может принимать и передавать данные на скоростях до 115200 бод.&lt;br /&gt;
&lt;br /&gt;
Так как при передаче данных присутствуют синхронизирующие биты, именуемые старт-бит и стоп-бит, не совсем корректно говорить, что скорость 9600 бод равна 9600 битам в секунду. Если речь идёт о полезных данных, то реальная скорость на 20% ниже. Например, если выставлены параметры 8-N-1 и 9600 бод, то на передачу одного байта уходит десять бит, и 9600/10 = 960 байт, что равно 7680 битам в секунду.&lt;br /&gt;
&lt;br /&gt;
=== Методы связи ===&lt;br /&gt;
UART позволяет одновременно передавать и принимать данные, однако не всегда это возможно или нужно. Например, если Вам нужно только получать не критические данные (которые можно проверить следующим пакетом, например расстояние, посылаемое лидаром каждые несколько сотен миллисекунд) от цифрового датчика или любого другого устройства и не нужно ничего передавать, такой метод называется симплексным. Всего различают три метода связи:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Полнодуплексная&amp;#039;&amp;#039;&amp;#039; — когда ведущий и ведомый могут одновременно принимать и передавать (одновременная передача в обе стороны)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Полудуплексная&amp;#039;&amp;#039;&amp;#039; — когда ведущий и ведомый поочерёдно принимают и передают (Поочерёдная передача в обе стороны)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Симплексная&amp;#039;&amp;#039;&amp;#039; — когда ведущий или ведомый только передают (Передача в одну сторону)&lt;br /&gt;
&lt;br /&gt;
== Пример кода ==&lt;br /&gt;
Передача информации из контроллера на компьютер с ее отображением в мониторе. Это очень важная возможность, позволяющая наблюдать происходящее в программе, если вставить в нее соответствующие строки. Можно выводить на экран содержимое переменных, метки прохождения каких-то точек и так далее.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);       // запускаем порт&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  Serial.print(&amp;quot;timer: &amp;quot;);  // пишем слово timer:&lt;br /&gt;
  Serial.print(millis());   // выводим кол-во миллисекунд с начала запуска программы&lt;br /&gt;
  Serial.println(&amp;quot;ms&amp;quot;);     // подписываем их ms, переводим строку на новую&lt;br /&gt;
  delay(1000);              // задержка 1 сек&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Еще один пример про передачу данных между двумя платами. Для реализации нам потребуется две любых платы Ардуино, между которыми мы будем гонять данные. К каждой из них мы подключим две кнопки и два светодиода по одинаковой схеме, и соединим их RX-TX крест-накрест, как было описано выше.&lt;br /&gt;
[[Файл:Imageав.png|мини|370x370пкс|Внешний вид подключения]]&lt;br /&gt;
Важное примечание. Если платы подключены к разным источникам питания, необходимо обязательно объединить их контакты GND, иначе для сигналов не будет опоры на соседней плате.&lt;br /&gt;
&lt;br /&gt;
Кнопки, подключенные к одной плате, будут управлять светодиодами, подключенными к другой. И наоборот. Для этого каждая плата должна передавать информацию о том, что происходит на ее кнопках другой плате, одновременно принимая от нее такие же данные и управляя согласно им своими светодиодами. Сборки симметричны, функции тоже, значит и программы на обеих платах будут одинаковые.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define LED_1   4   // светодиод 1&lt;br /&gt;
#define LED_2   5   // светодиод 2&lt;br /&gt;
#define BUT_1   2   // кнопка 1&lt;br /&gt;
#define BUT_2   3   // кнопка 2&lt;br /&gt;
&lt;br /&gt;
byte but[2];  // переменные для отслеживания кнопок&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // инициализируем пины, запускаем сирал порт&lt;br /&gt;
  pinMode(LED_1, OUTPUT);&lt;br /&gt;
  pinMode(LED_2, OUTPUT);&lt;br /&gt;
  pinMode(BUT_1, INPUT);&lt;br /&gt;
  pinMode(BUT_2, INPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  if (get_but()) {            // с кнопками что-то было&lt;br /&gt;
    Serial.write(but[1]);   // отправляем в порт новое состояние кнопок&lt;br /&gt;
  }&lt;br /&gt;
  if (Serial.available() &amp;gt; 0) {         // если пришли данные от соседних кнопок&lt;br /&gt;
    byte incom = Serial.read();         // считываем эти данные&lt;br /&gt;
    digitalWrite(LED_1, !(incom / 2));  // зажигаем или гасим светодиод 1&lt;br /&gt;
    digitalWrite(LED_2, !(incom % 2));  // зажигаем или гасим светодиод 2&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
byte get_but() {&lt;br /&gt;
  static unsigned long timer;&lt;br /&gt;
  if (timer + 50 &amp;gt; millis()) return 0; // опрос каждые 50мс (антидребезг)&lt;br /&gt;
  timer = millis();&lt;br /&gt;
  but[0] = but[1];&lt;br /&gt;
  but[1] = digitalRead(BUT_1) + digitalRead(BUT_2) * 10; // данные с обеих кнопок в одну переменную (единицы и десятки)&lt;br /&gt;
  if (but[0] != but[1]) return 1;      // если есть изменение, сигнализируем единицей&lt;br /&gt;
  return 0;                            // если нет, возвращаем 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=UART_Arduino&amp;diff=698</id>
		<title>UART Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=UART_Arduino&amp;diff=698"/>
		<updated>2021-06-20T18:04:55Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: /* Пример кода */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Универсальный асинхронный передатчик (Univsersal Asynchronos Reciever-Transmitter)&amp;#039;&amp;#039;&amp;#039; - это физическое устройство приёма и передачи данных по двум проводам. Оно позволяет двум устройствам обмениваться данными на различных скоростях. В спецификацию UART не входят аналоговые уровни на которых ведётся общение между устройствами, UART это протокол передачи единиц и нулей, электрическую спецификацию на себя берут другие стандарты, такие как TTL (transistor-transistor logic — транзисторно-транзисторная логика), RS-232, RS-422, RS-485 и другие. На данный момент в микроконтроллерах используется в основном TTL (или точнее CMOS) UART для соединения не более двух устройств. В наших примерах мы часто называем его &amp;#039;&amp;#039;&amp;#039;последовательным портом&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Подключение ==&lt;br /&gt;
[[Файл:Макетподкл.png|мини|430x430пкс|Макет подключения]]&lt;br /&gt;
[[Файл:Imageгн.png|мини|Соединение контактов]]&lt;br /&gt;
У каждого устройства, поддерживающего UART обычно обозначены два вывода: RX и TX. TX — означает transmit (передаю), RX — receive (принимаю). Отсюда становится понятно что RX одного устройства нужно подключать к TX другого. Если Вы подключите RX одного устройства к RX другого, то оба устройства будут слушать друг друга, вы соединили их входы. Если соединить TX и TX - это уже более опасно, это выходы низкого сопротивления устройств и если на одном будет логическая единица, а на втором ноль — по проводу пойдёт ток короткого замыкания (это зависит от конкретной программной или аппаратной реализации). Хотя в современных чипах от этого есть защита, на всякий случай, не стоит на неё ориентироваться. Так же необходимо объединить референсные уровни двух устройств (GND-GND), если не подразумевается гальваническая развязка.&lt;br /&gt;
&lt;br /&gt;
Принимающее устройство UART проверяет принятый пакет (через вывод RX) на наличие ошибок, вычисляя число единиц и сравнивая его со значением бита четности, содержащегося в пакете.&lt;br /&gt;
&lt;br /&gt;
Если ошибки при передаче отсутствуют, то для получения блока данных он перейдет к обработке стартового бита, стоповых битов и бита четности. Возможно, ему понадобится получить несколько пакетов, прежде чем он сможет пересобрать весь байт данных из фреймов данных. После восстановления байт сохраняется в буфере UART.&lt;br /&gt;
&lt;br /&gt;
Принимающее устройство UART использует бит четности для определения факта потери данных при передаче. Потеря данных при передаче происходит, когда бит во время передачи изменил свое состояние. Бит может меняться, в том числе, из-за расстояния передачи, магнитного излучения, несовпадения скоростей передачи.&lt;br /&gt;
&lt;br /&gt;
=== Скорость передачи данных ===&lt;br /&gt;
Скорость изменения логических уровней (импульсов) на линии принято измерять в бодах. Единица измерения названа так в честь французского изобретателя Жана Мориса Эмиля Бодо.&lt;br /&gt;
&lt;br /&gt;
Скорость при использовании UART может быть любой, единственное требование — скорости передающего и принимающего должны быть одинаковы. Стандартная скорость UART принята за 9600 бод. Arduino без проблем и лишних настроек может принимать и передавать данные на скоростях до 115200 бод.&lt;br /&gt;
&lt;br /&gt;
Так как при передаче данных присутствуют синхронизирующие биты, именуемые старт-бит и стоп-бит, не совсем корректно говорить, что скорость 9600 бод равна 9600 битам в секунду. Если речь идёт о полезных данных, то реальная скорость на 20% ниже. Например, если выставлены параметры 8-N-1 и 9600 бод, то на передачу одного байта уходит десять бит, и 9600/10 = 960 байт, что равно 7680 битам в секунду.&lt;br /&gt;
&lt;br /&gt;
=== Методы связи ===&lt;br /&gt;
UART позволяет одновременно передавать и принимать данные, однако не всегда это возможно или нужно. Например, если Вам нужно только получать не критические данные (которые можно проверить следующим пакетом, например расстояние, посылаемое лидаром каждые несколько сотен миллисекунд) от цифрового датчика или любого другого устройства и не нужно ничего передавать, такой метод называется симплексным. Всего различают три метода связи:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Полнодуплексная&amp;#039;&amp;#039;&amp;#039; — когда ведущий и ведомый могут одновременно принимать и передавать (одновременная передача в обе стороны)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Полудуплексная&amp;#039;&amp;#039;&amp;#039; — когда ведущий и ведомый поочерёдно принимают и передают (Поочерёдная передача в обе стороны)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Симплексная&amp;#039;&amp;#039;&amp;#039; — когда ведущий или ведомый только передают (Передача в одну сторону)&lt;br /&gt;
&lt;br /&gt;
== Пример кода ==&lt;br /&gt;
Передача информации из контроллера на компьютер с ее отображением в мониторе. Это очень важная возможность, позволяющая наблюдать происходящее в программе, если вставить в нее соответствующие строки. Можно выводить на экран содержимое переменных, метки прохождения каких-то точек и так далее.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);       // запускаем порт&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  Serial.print(&amp;quot;timer: &amp;quot;);  // пишем слово timer:&lt;br /&gt;
  Serial.print(millis());   // выводим кол-во миллисекунд с начала запуска программы&lt;br /&gt;
  Serial.println(&amp;quot;ms&amp;quot;);     // подписываем их ms, переводим строку на новую&lt;br /&gt;
  delay(1000);              // задержка 1 сек&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Еще один пример про передачу данных между двумя платами. Для реализации нам потребуется две любых платы Ардуино, между которыми мы будем гонять данные. К каждой из них мы подключим две кнопки и два светодиода по одинаковой схеме, и соединим их RX-TX крест-накрест, как было описано выше.&lt;br /&gt;
[[Файл:Imageав.png|мини|370x370пкс|Внешний вид подключения]]&lt;br /&gt;
Важное примечание. Если платы подключены к разным источникам питания, необходимо обязательно объединить их контакты GND, иначе для сигналов не будет опоры на соседней плате.&lt;br /&gt;
&lt;br /&gt;
Кнопки, подключенные к одной плате, будут управлять светодиодами, подключенными к другой. И наоборот. Для этого каждая плата должна передавать информацию о том, что происходит на ее кнопках другой плате, одновременно принимая от нее такие же данные и управляя согласно им своими светодиодами. Сборки симметричны, функции тоже, значит и программы на обеих платах будут одинаковые.&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Image%D0%B0%D0%B2.png&amp;diff=697</id>
		<title>Файл:Imageав.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Image%D0%B0%D0%B2.png&amp;diff=697"/>
		<updated>2021-06-20T18:03:36Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ва&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=UART_Arduino&amp;diff=696</id>
		<title>UART Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=UART_Arduino&amp;diff=696"/>
		<updated>2021-06-20T18:01:15Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: /* Пример кода */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Универсальный асинхронный передатчик (Univsersal Asynchronos Reciever-Transmitter)&amp;#039;&amp;#039;&amp;#039; - это физическое устройство приёма и передачи данных по двум проводам. Оно позволяет двум устройствам обмениваться данными на различных скоростях. В спецификацию UART не входят аналоговые уровни на которых ведётся общение между устройствами, UART это протокол передачи единиц и нулей, электрическую спецификацию на себя берут другие стандарты, такие как TTL (transistor-transistor logic — транзисторно-транзисторная логика), RS-232, RS-422, RS-485 и другие. На данный момент в микроконтроллерах используется в основном TTL (или точнее CMOS) UART для соединения не более двух устройств. В наших примерах мы часто называем его &amp;#039;&amp;#039;&amp;#039;последовательным портом&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Подключение ==&lt;br /&gt;
[[Файл:Макетподкл.png|мини|430x430пкс|Макет подключения]]&lt;br /&gt;
[[Файл:Imageгн.png|мини|Соединение контактов]]&lt;br /&gt;
У каждого устройства, поддерживающего UART обычно обозначены два вывода: RX и TX. TX — означает transmit (передаю), RX — receive (принимаю). Отсюда становится понятно что RX одного устройства нужно подключать к TX другого. Если Вы подключите RX одного устройства к RX другого, то оба устройства будут слушать друг друга, вы соединили их входы. Если соединить TX и TX - это уже более опасно, это выходы низкого сопротивления устройств и если на одном будет логическая единица, а на втором ноль — по проводу пойдёт ток короткого замыкания (это зависит от конкретной программной или аппаратной реализации). Хотя в современных чипах от этого есть защита, на всякий случай, не стоит на неё ориентироваться. Так же необходимо объединить референсные уровни двух устройств (GND-GND), если не подразумевается гальваническая развязка.&lt;br /&gt;
&lt;br /&gt;
Принимающее устройство UART проверяет принятый пакет (через вывод RX) на наличие ошибок, вычисляя число единиц и сравнивая его со значением бита четности, содержащегося в пакете.&lt;br /&gt;
&lt;br /&gt;
Если ошибки при передаче отсутствуют, то для получения блока данных он перейдет к обработке стартового бита, стоповых битов и бита четности. Возможно, ему понадобится получить несколько пакетов, прежде чем он сможет пересобрать весь байт данных из фреймов данных. После восстановления байт сохраняется в буфере UART.&lt;br /&gt;
&lt;br /&gt;
Принимающее устройство UART использует бит четности для определения факта потери данных при передаче. Потеря данных при передаче происходит, когда бит во время передачи изменил свое состояние. Бит может меняться, в том числе, из-за расстояния передачи, магнитного излучения, несовпадения скоростей передачи.&lt;br /&gt;
&lt;br /&gt;
=== Скорость передачи данных ===&lt;br /&gt;
Скорость изменения логических уровней (импульсов) на линии принято измерять в бодах. Единица измерения названа так в честь французского изобретателя Жана Мориса Эмиля Бодо.&lt;br /&gt;
&lt;br /&gt;
Скорость при использовании UART может быть любой, единственное требование — скорости передающего и принимающего должны быть одинаковы. Стандартная скорость UART принята за 9600 бод. Arduino без проблем и лишних настроек может принимать и передавать данные на скоростях до 115200 бод.&lt;br /&gt;
&lt;br /&gt;
Так как при передаче данных присутствуют синхронизирующие биты, именуемые старт-бит и стоп-бит, не совсем корректно говорить, что скорость 9600 бод равна 9600 битам в секунду. Если речь идёт о полезных данных, то реальная скорость на 20% ниже. Например, если выставлены параметры 8-N-1 и 9600 бод, то на передачу одного байта уходит десять бит, и 9600/10 = 960 байт, что равно 7680 битам в секунду.&lt;br /&gt;
&lt;br /&gt;
=== Методы связи ===&lt;br /&gt;
UART позволяет одновременно передавать и принимать данные, однако не всегда это возможно или нужно. Например, если Вам нужно только получать не критические данные (которые можно проверить следующим пакетом, например расстояние, посылаемое лидаром каждые несколько сотен миллисекунд) от цифрового датчика или любого другого устройства и не нужно ничего передавать, такой метод называется симплексным. Всего различают три метода связи:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Полнодуплексная&amp;#039;&amp;#039;&amp;#039; — когда ведущий и ведомый могут одновременно принимать и передавать (одновременная передача в обе стороны)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Полудуплексная&amp;#039;&amp;#039;&amp;#039; — когда ведущий и ведомый поочерёдно принимают и передают (Поочерёдная передача в обе стороны)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Симплексная&amp;#039;&amp;#039;&amp;#039; — когда ведущий или ведомый только передают (Передача в одну сторону)&lt;br /&gt;
&lt;br /&gt;
== Пример кода ==&lt;br /&gt;
Передача информации из контроллера на компьютер с ее отображением в мониторе. Это очень важная возможность, позволяющая наблюдать происходящее в программе, если вставить в нее соответствующие строки. Можно выводить на экран содержимое переменных, метки прохождения каких-то точек и так далее.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);       // запускаем порт&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  Serial.print(&amp;quot;timer: &amp;quot;);  // пишем слово timer:&lt;br /&gt;
  Serial.print(millis());   // выводим кол-во миллисекунд с начала запуска программы&lt;br /&gt;
  Serial.println(&amp;quot;ms&amp;quot;);     // подписываем их ms, переводим строку на новую&lt;br /&gt;
  delay(1000);              // задержка 1 сек&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=UART_Arduino&amp;diff=695</id>
		<title>UART Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=UART_Arduino&amp;diff=695"/>
		<updated>2021-06-20T18:00:50Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Универсальный асинхронный передатчик (Univsersal Asynchronos Reciever-Transmitter)&amp;#039;&amp;#039;&amp;#039; - это физическое устройство приёма и передачи данных по двум проводам. Оно позволяет двум устройствам обмениваться данными на различных скоростях. В спецификацию UART не входят аналоговые уровни на которых ведётся общение между устройствами, UART это протокол передачи единиц и нулей, электрическую спецификацию на себя берут другие стандарты, такие как TTL (transistor-transistor logic — транзисторно-транзисторная логика), RS-232, RS-422, RS-485 и другие. На данный момент в микроконтроллерах используется в основном TTL (или точнее CMOS) UART для соединения не более двух устройств. В наших примерах мы часто называем его &amp;#039;&amp;#039;&amp;#039;последовательным портом&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Подключение ==&lt;br /&gt;
[[Файл:Макетподкл.png|мини|430x430пкс|Макет подключения]]&lt;br /&gt;
[[Файл:Imageгн.png|мини|Соединение контактов]]&lt;br /&gt;
У каждого устройства, поддерживающего UART обычно обозначены два вывода: RX и TX. TX — означает transmit (передаю), RX — receive (принимаю). Отсюда становится понятно что RX одного устройства нужно подключать к TX другого. Если Вы подключите RX одного устройства к RX другого, то оба устройства будут слушать друг друга, вы соединили их входы. Если соединить TX и TX - это уже более опасно, это выходы низкого сопротивления устройств и если на одном будет логическая единица, а на втором ноль — по проводу пойдёт ток короткого замыкания (это зависит от конкретной программной или аппаратной реализации). Хотя в современных чипах от этого есть защита, на всякий случай, не стоит на неё ориентироваться. Так же необходимо объединить референсные уровни двух устройств (GND-GND), если не подразумевается гальваническая развязка.&lt;br /&gt;
&lt;br /&gt;
Принимающее устройство UART проверяет принятый пакет (через вывод RX) на наличие ошибок, вычисляя число единиц и сравнивая его со значением бита четности, содержащегося в пакете.&lt;br /&gt;
&lt;br /&gt;
Если ошибки при передаче отсутствуют, то для получения блока данных он перейдет к обработке стартового бита, стоповых битов и бита четности. Возможно, ему понадобится получить несколько пакетов, прежде чем он сможет пересобрать весь байт данных из фреймов данных. После восстановления байт сохраняется в буфере UART.&lt;br /&gt;
&lt;br /&gt;
Принимающее устройство UART использует бит четности для определения факта потери данных при передаче. Потеря данных при передаче происходит, когда бит во время передачи изменил свое состояние. Бит может меняться, в том числе, из-за расстояния передачи, магнитного излучения, несовпадения скоростей передачи.&lt;br /&gt;
&lt;br /&gt;
=== Скорость передачи данных ===&lt;br /&gt;
Скорость изменения логических уровней (импульсов) на линии принято измерять в бодах. Единица измерения названа так в честь французского изобретателя Жана Мориса Эмиля Бодо.&lt;br /&gt;
&lt;br /&gt;
Скорость при использовании UART может быть любой, единственное требование — скорости передающего и принимающего должны быть одинаковы. Стандартная скорость UART принята за 9600 бод. Arduino без проблем и лишних настроек может принимать и передавать данные на скоростях до 115200 бод.&lt;br /&gt;
&lt;br /&gt;
Так как при передаче данных присутствуют синхронизирующие биты, именуемые старт-бит и стоп-бит, не совсем корректно говорить, что скорость 9600 бод равна 9600 битам в секунду. Если речь идёт о полезных данных, то реальная скорость на 20% ниже. Например, если выставлены параметры 8-N-1 и 9600 бод, то на передачу одного байта уходит десять бит, и 9600/10 = 960 байт, что равно 7680 битам в секунду.&lt;br /&gt;
&lt;br /&gt;
=== Методы связи ===&lt;br /&gt;
UART позволяет одновременно передавать и принимать данные, однако не всегда это возможно или нужно. Например, если Вам нужно только получать не критические данные (которые можно проверить следующим пакетом, например расстояние, посылаемое лидаром каждые несколько сотен миллисекунд) от цифрового датчика или любого другого устройства и не нужно ничего передавать, такой метод называется симплексным. Всего различают три метода связи:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Полнодуплексная&amp;#039;&amp;#039;&amp;#039; — когда ведущий и ведомый могут одновременно принимать и передавать (одновременная передача в обе стороны)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Полудуплексная&amp;#039;&amp;#039;&amp;#039; — когда ведущий и ведомый поочерёдно принимают и передают (Поочерёдная передача в обе стороны)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Симплексная&amp;#039;&amp;#039;&amp;#039; — когда ведущий или ведомый только передают (Передача в одну сторону)&lt;br /&gt;
&lt;br /&gt;
== Пример кода ==&lt;br /&gt;
Передача информации из контроллера на компьютер с ее отображением в мониторе. Это очень важная возможность, позволяющая наблюдать происходящее в программе, если вставить в нее соответствующие строки. Можно выводить на экран содержимое переменных, метки прохождения каких-то точек и так далее.&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=UART_Arduino&amp;diff=694</id>
		<title>UART Arduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=UART_Arduino&amp;diff=694"/>
		<updated>2021-06-20T17:39:03Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: Новая страница: «&amp;#039;&amp;#039;&amp;#039;Универсальный асинхронный приёмопередатчик (Univsersal Asynchronos Reciever-Transmitter)&amp;#039;&amp;#039;&amp;#039; - это физическо...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Универсальный асинхронный приёмопередатчик (Univsersal Asynchronos Reciever-Transmitter)&amp;#039;&amp;#039;&amp;#039; - это физическое устройство приёма и передачи данных по двум проводам. Оно позволяет двум устройствам обмениваться данными на различных скоростях. В спецификацию UART не входят аналоговые уровни на которых ведётся общение между устройствами, UART это протокол передачи единиц и нулей, электрическую спецификацию на себя берут другие стандарты, такие как TTL (transistor-transistor logic — транзисторно-транзисторная логика), RS-232, RS-422, RS-485 и другие. На данный момент в микроконтроллерах используется в основном TTL (или точнее CMOS) UART для соединения не более двух устройств. В наших примерах мы часто называем его &amp;#039;&amp;#039;&amp;#039;последовательным портом&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Подключение ==&lt;br /&gt;
[[Файл:Макетподкл.png|мини|430x430пкс|Макет подключения]]&lt;br /&gt;
[[Файл:Imageгн.png|мини|Соединение контактов]]&lt;br /&gt;
У каждого устройства, поддерживающего &amp;#039;&amp;#039;&amp;#039;UART&amp;#039;&amp;#039;&amp;#039; обычно обозначены два вывода: &amp;#039;&amp;#039;&amp;#039;RX&amp;#039;&amp;#039;&amp;#039; и &amp;#039;&amp;#039;&amp;#039;TX&amp;#039;&amp;#039;&amp;#039;. &amp;#039;&amp;#039;&amp;#039;TX&amp;#039;&amp;#039;&amp;#039; — означает transmit (передаю), &amp;#039;&amp;#039;&amp;#039;RX&amp;#039;&amp;#039;&amp;#039; — receive (принимаю). Отсюда становится понятно что RX одного устройства нужно подключать к TX другого. Если Вы подключите RX одного устройства к RX другого, то оба устройства будут слушать друг друга, вы соединили их входы. Если соединить TX и TX - это уже более опасно, это выходы низкого сопротивления устройств и если на одном будет логическая единица, а на втором ноль — по проводу пойдёт ток короткого замыкания (это зависит от конкретной программной или аппаратной реализации). Хотя в современных чипах от этого есть защита, на всякий случай, не стоит на неё ориентироваться. Так же необходимо объединить референсные уровни двух устройств (&amp;#039;&amp;#039;&amp;#039;GND&amp;#039;&amp;#039;&amp;#039;-&amp;#039;&amp;#039;&amp;#039;GND&amp;#039;&amp;#039;&amp;#039;), если не подразумевается гальваническая развязка.&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Image%D0%B3%D0%BD.png&amp;diff=693</id>
		<title>Файл:Imageгн.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Image%D0%B3%D0%BD.png&amp;diff=693"/>
		<updated>2021-06-20T17:38:36Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;нг&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9C%D0%B0%D0%BA%D0%B5%D1%82%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB.png&amp;diff=689</id>
		<title>Файл:Макетподкл.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9C%D0%B0%D0%BA%D0%B5%D1%82%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB.png&amp;diff=689"/>
		<updated>2021-06-20T17:33:30Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Макетподкл&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=684</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=684"/>
		<updated>2021-06-20T17:27:44Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: /* Процессы и подходы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Добро пожаловать на Вики!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Здесь Вы найдете материалы по нашим и сторонним изделиям, программированию и инженерным решениям.&lt;br /&gt;
&lt;br /&gt;
== Редактирование ==&lt;br /&gt;
[[Файл:LogIn screenshot.png|200x200пкс|альт=|мини|Расположение кнопки входа]]Для добавления и редактирования статей: &lt;br /&gt;
&lt;br /&gt;
# создайте учетную запись или выполните вход (кнопка &amp;#039;&amp;#039;&amp;#039;Аноним&amp;#039;&amp;#039;&amp;#039; справа сверху)&lt;br /&gt;
# отредактируйте данную страницу, добавив ссылку &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;на пока ещё не созданную страницу&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; в один из разделов (или создав новый)&lt;br /&gt;
# сохраните изменения и перейдите по ссылке&lt;br /&gt;
# Отредактируйте новую страницу, заполнив её содержанием по выбранной теме. Не забудьте нажать сохранить изменения.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Описание модулей ==&lt;br /&gt;
*[[Ультразвуковой дальномер HC-SR04]]&lt;br /&gt;
*[[Драйвер двигателя L298N]]&lt;br /&gt;
*[[Датчик линии на базе TCRT5000]]&lt;br /&gt;
*[[Драйвер моторов двухканальный tb6680|Драйвер двухканальный на базе микросхемы tb6612fng]]&lt;br /&gt;
*[[Лазерные дальномеры|Лазерные дальномеры - Laser Sensor]]&lt;br /&gt;
*[[Шаговый электродвигатель]]&lt;br /&gt;
*[[Оптические энкодеры|Оптические энкодеры - FC-03 на базе ITR9608]]&lt;br /&gt;
*[[Подключение гироскопа GY-521 MPU-6050 к Arduio]]&lt;br /&gt;
*[[АЦП на базе микросхемы hx711|АЦП на базе микросхемы HX711]]&lt;br /&gt;
*[[Сервопривод]]&lt;br /&gt;
*[[Arduino Shield]]&lt;br /&gt;
*[[Драйвер двигателя L293D]]&lt;br /&gt;
*[[Зуммер]]&lt;br /&gt;
*[[Сторожевой таймер|Сторожевой таймер | WatchDog Timer]]&lt;br /&gt;
*[[Мотор-редуктор]]&lt;br /&gt;
*[[Четырехразрядный семисегментный индикатор]]&lt;br /&gt;
*[[Ethernet Shield на базе WIZnet w5100]]&lt;br /&gt;
*[[Использование АЦП в микроконтроллере AVR ATmega16]]&lt;br /&gt;
*[[Жидкокристаллический дисплей]]&lt;br /&gt;
*[[ИК-датчик движения HC-SR501]]&lt;br /&gt;
*[[Доплеровский датчик движения RCWL-0516]]&lt;br /&gt;
*[[Сервоприводы SG90, MG995, MG996]]&lt;br /&gt;
*[[Разновидности плат Arduino]]&lt;br /&gt;
&lt;br /&gt;
== Процессы и подходы ==&lt;br /&gt;
&lt;br /&gt;
* [[ШИМ]]&lt;br /&gt;
* [[Калибровка]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
&lt;br /&gt;
== Алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
* [[Движение робота по черной ленте]]&lt;br /&gt;
* [[Алгоритм A*]]&lt;br /&gt;
* [[Алгоритм D*]]&lt;br /&gt;
* [[Объезд препятствий]]&lt;br /&gt;
* [[SLAM]]&lt;br /&gt;
* [[Алгоритм матричной клавиатуры]]&lt;br /&gt;
&lt;br /&gt;
== Датчики ==&lt;br /&gt;
&lt;br /&gt;
* [[Инфракрасный Датчик]]&lt;br /&gt;
* [[Тензодатчик]]&lt;br /&gt;
* [[Датчик Холла]]&lt;br /&gt;
* [[Доплеровский датчик]]&lt;br /&gt;
* [[Датчик влажности воздуха]]&lt;br /&gt;
* [[Акселерометр]]&lt;br /&gt;
* [[Датчики влажности почвы|Датчик влажности почвы]]&lt;br /&gt;
* [[Датчик наклона]]&lt;br /&gt;
* [[Датчик цвета]]&lt;br /&gt;
* [[Датчик-компас]]&lt;br /&gt;
* [[Энкодер]]&lt;br /&gt;
* [[Датчик препятствия|Инфракрасный датчик препятствий YL-63]]&lt;br /&gt;
* [[Датчик освещенности]]&lt;br /&gt;
* [[Датчик температуры]]&lt;br /&gt;
* [[Датчик уровня звука]]&lt;br /&gt;
* [[Датчик уровня воды]]&lt;br /&gt;
* [[Датчик вибрации]]&lt;br /&gt;
* [[Датчик угарного газа]]&lt;br /&gt;
* [[Датчик жестов]]&lt;br /&gt;
* [[Кнопка]]&lt;br /&gt;
* [[Датчик давления|Датчик давления BMP-180]]&lt;br /&gt;
* [[Резистивный датчик давления]]&lt;br /&gt;
* [[Пьезоэлектрический датчик]]&lt;br /&gt;
* [[Датчик движения]]&lt;br /&gt;
* [[Датчик положения]]&lt;br /&gt;
* [[Датчик утечки газа]]&lt;br /&gt;
* [[Плата мониторинга окружающей среды Pimoroni enviro:bit]] &lt;br /&gt;
&lt;br /&gt;
== Советы и рекомендации ==&lt;br /&gt;
&lt;br /&gt;
* [[Технология проектирования печатных плат]]&lt;br /&gt;
* [[Полезные советы по Webots]]&lt;br /&gt;
* [[Устанавливаем драйвер Ардуино - Подключаем порт]]&lt;br /&gt;
* [[Как выбрать Arduino]]&lt;br /&gt;
* [[Методики оптимизации кода]] &lt;br /&gt;
&lt;br /&gt;
== Программирование MIK32 в среде eclipse ==&lt;br /&gt;
&lt;br /&gt;
* [[Быстрый старт с MIK32]]&lt;br /&gt;
&lt;br /&gt;
== Некоторые полезные ресурсы ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Список возможных настроек];&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Manual:FAQ/ru Часто задаваемые вопросы и ответы по MediaWiki];&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki].&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Перевод MediaWiki на свой язык]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Узнайте, как бороться со спамом в вашей вики]&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%94%D0%BE%D0%BF%D0%BB%D0%B5%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B9_%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_RCWL-0516&amp;diff=645</id>
		<title>Доплеровский датчик движения RCWL-0516</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%94%D0%BE%D0%BF%D0%BB%D0%B5%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B9_%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_RCWL-0516&amp;diff=645"/>
		<updated>2021-06-18T11:21:10Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: /* Программа */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:Dopler1.png|мини|332x332пкс|Внешний вид датчика RCWL-0516]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Доплеровский датчик движения RCWL-0516&amp;#039;&amp;#039;&amp;#039; — способен определять движение объектов (препятствий), которые полностью или частично отражают радиоволны (люди, животные, металлы и т.д.), даже если они находятся за деревом (дверью), стеной (гипс, бетон), пластиками, стеклами и т.д.&lt;br /&gt;
&lt;br /&gt;
В основе работы датчика лежит эффект Доплера — изменение частоты отражённой волны вследствие движения излучателя, приёмника или отражателя. В данном модуле частота излучаемой им радиоволны меняется вследствие движения отражателя (препятствия). Модуль построен на базе чипа RCWL-9196 который оснащён передатчиком и приёмником. Датчик сработает если приёмник примет сигнал, частота которого незначительно отличается от частоты сигнала передатчик. Датчик обнаруживает движение во всем диапазоне от 0 до 360 градусов - слепых зон нет.&lt;br /&gt;
&lt;br /&gt;
== Характеристики ==&lt;br /&gt;
&lt;br /&gt;
* Входное напряжение питания (VIN): 4 ... 28 В постоянного тока.&lt;br /&gt;
* Потребляемый ток: до 3 мА (номинально 2,8 мА).&lt;br /&gt;
* Дальность обнаружения: до 9 м (номинально до 5 м).&lt;br /&gt;
* Мощность передатчика: до 30 мВт (номинально до 20 мВт).&lt;br /&gt;
* Частота передатчика: 5,8 ГГц.&lt;br /&gt;
* Время задержки до сброса триггера: 2 сек ±30%.&lt;br /&gt;
* Выходное напряжение питания (3V3): 3,2 ... 3,4 В (номинально 3,3 В).&lt;br /&gt;
* Максимальный ток на выходе «3V3»: до 100 мА.&lt;br /&gt;
* Рабочая температура: -20 ... +80 °С.&lt;br /&gt;
* Температура хранения: -40 ... +100 °С.&lt;br /&gt;
* Габариты: 17,3х35,9 мм&lt;br /&gt;
* Вес: 4 гр.&lt;br /&gt;
&lt;br /&gt;
== Принцип работы ==&lt;br /&gt;
В основу работы датчика заложен эффект Доплера - изменение частоты отражённой волны, вследствие движения излучателя, приёмника или отражателя. В данном модуле частота излучаемой им радиоволны меняется вследствие движения отражателя (препятствия). Модуль построен на базе чипа RCWL-9196 который оснащён передатчиком и приёмником. Датчик сработает если приёмник примет сигнал, частота которого незначительно отличается от частоты сигнала передатчика:&lt;br /&gt;
&lt;br /&gt;
* Если в зоне действия датчика нет объектов способных отражать радиоволны, то приёмник ничего не примет и датчик не сработает.&lt;br /&gt;
* Если в зоне действия датчика имеются неподвижные объекты способные отражать радиоволны, то приёмник примет радиоволну передатчика, отражённую от этих объектов, но частота принятой радиоволны будет равна частоте сигнала передатчика и датчик не сработает.&lt;br /&gt;
* Если в зоне действия датчика имеется объект способный отражать радиоволны, который приближается к датчику (движется), то приёмник примет отражённую от объекта радиоволну, частота которой будет выше чем у сигнала передатчика и датчик сработает.&lt;br /&gt;
* Если в зоне действия датчика имеется объект способный отражать радиоволны, который удаляется от датчика (движется), то приёмник примет отражённую от объекта радиоволну, частота которой будет ниже чем у сигнала передатчика и датчик сработает.&lt;br /&gt;
&lt;br /&gt;
Когда датчик срабатывает, на его выходе «OUT» устанавливается уровень логической «1». Датчик снабжен триггером, который удерживает уровень логической «1» на выходе «OUT» в течении 2 сек ±30%, после прекращения движения.&lt;br /&gt;
&lt;br /&gt;
Если датчик многократно срабатывает, например, постоянно фиксирует движения в течении 10 секунд, то уровень логической «1» на выходе «OUT» будет установлен на 12 секунд с момента первого срабатывания (10 секунд во время фиксации движений + 2 секунды после их прекращения, пока не «сбросится» триггер).&lt;br /&gt;
&lt;br /&gt;
Использование датчиков движения основанных на эффекте Доплера позволяет фиксировать движения через объекты не отражающие радиоволны (дерево, пластик, гипс и т.д.), чего не могут сделать датчики движения основанные на пироэлектрическом эффекте (такие как HC-SR501 и HC-SR505).&lt;br /&gt;
&lt;br /&gt;
== Контакты датчика ==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;OUT&amp;#039;&amp;#039;&amp;#039; - выход датчика (устанавливается в «1» при наличии движений + задерживается на 2 секунды после их прекращения).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;VIN&amp;#039;&amp;#039;&amp;#039; - вход напряжения питания, от +4 до +28 В постоянного тока.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;GND&amp;#039;&amp;#039;&amp;#039; - вход питания (общий).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;3V3&amp;#039;&amp;#039;&amp;#039; - выход стабилизированного напряжения питания 3,3 В (можно использовать для питания микроконтроллеров).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;COS&amp;#039;&amp;#039;&amp;#039; - вход разрешения (подтянут внутренним сопротивлением чипа). Если на данном выводе установить уровень логического «0», то после сброса триггера, он не будет устанавливаться (датчик перестанет реагировать на движения).&lt;br /&gt;
&lt;br /&gt;
[[Файл:Rcwl-0516-pinout.jpg|мини|Назначение контактов датчика]]&lt;br /&gt;
Выход «OUT» можно подключать к любому контакту платы Arduino. Вход «COS» можно оставить не подключённым, т.к. он подтянут внутренним сопротивлением чипа, следовательно, разрешает работу триггера. Напряжение питания датчика составляет от 4 до 28 В постоянного тока, подаётся на выводы «VIN» и «GND» модуля.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Не подключайте питание к выходу «3V3» модуля!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Вывод модуля «3V3» является выходом стабилизированного напряжения 3,3 В. От этого напряжения можно запитывать другие маломощные устройства, например, микроконтроллер.&lt;br /&gt;
&lt;br /&gt;
== Подключение датчика RCWL-0516 к Arduino uno ==&lt;br /&gt;
[[Файл:Interfacing-rcwl-0516-with-arduino-schematic.png|мини|Внешний вид макета]]&lt;br /&gt;
Как видите, схема подключения датчика RCWL-0516 к плате Arduino достаточно проста: его контакты VIN и GND соединяются с контактами 5V и GND платы Arduino Nano, а его выход (контакт OUT) соединяется с контактом D12 платы Arduino Nano. Светодиод подключен к контакту D3 платы Arduino Nano.&lt;br /&gt;
&lt;br /&gt;
=== Программа ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int Sensor = 12;  // указываем номер цифрового вывода arduino, к которому подключён датчик движения RCWL-0516&lt;br /&gt;
int LED = 3; // указываем номер цифрового вывода arduino, к которому подключён светодиод&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  Serial.begin(9600);  //инициализируем последовательную связь со скоростью 9600 бод для целей отладки и установим режимы работы используемых контактов (на ввод или вывод данных).&lt;br /&gt;
  pinMode (Sensor, INPUT); &lt;br /&gt;
  pinMode (LED, OUTPUT);   &lt;br /&gt;
  Serial.println(&amp;quot;Waiting for motion&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
     int val = digitalRead(Sensor); // считываем состояние контакта, к которому подключен датчик движения&lt;br /&gt;
     if((val &amp;gt; 0) &amp;amp;&amp;amp; (flg==0))&lt;br /&gt;
     {&lt;br /&gt;
        digitalWrite(LED, HIGH);&lt;br /&gt;
        Serial.println(&amp;quot;Motion Detected&amp;quot;);&lt;br /&gt;
        flg = 1;&lt;br /&gt;
     }&lt;br /&gt;
     if(val == 0)&lt;br /&gt;
     {&lt;br /&gt;
        digitalWrite(LED, LOW);&lt;br /&gt;
        Serial.println(&amp;quot;NO Motion&amp;quot;); &lt;br /&gt;
        flg = 0;&lt;br /&gt;
     }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%94%D0%BE%D0%BF%D0%BB%D0%B5%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B9_%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_RCWL-0516&amp;diff=644</id>
		<title>Доплеровский датчик движения RCWL-0516</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%94%D0%BE%D0%BF%D0%BB%D0%B5%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B9_%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_RCWL-0516&amp;diff=644"/>
		<updated>2021-06-18T11:16:41Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: /* Принцип работы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:Dopler1.png|мини|332x332пкс|Внешний вид датчика RCWL-0516]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Доплеровский датчик движения RCWL-0516&amp;#039;&amp;#039;&amp;#039; — способен определять движение объектов (препятствий), которые полностью или частично отражают радиоволны (люди, животные, металлы и т.д.), даже если они находятся за деревом (дверью), стеной (гипс, бетон), пластиками, стеклами и т.д.&lt;br /&gt;
&lt;br /&gt;
В основе работы датчика лежит эффект Доплера — изменение частоты отражённой волны вследствие движения излучателя, приёмника или отражателя. В данном модуле частота излучаемой им радиоволны меняется вследствие движения отражателя (препятствия). Модуль построен на базе чипа RCWL-9196 который оснащён передатчиком и приёмником. Датчик сработает если приёмник примет сигнал, частота которого незначительно отличается от частоты сигнала передатчик. Датчик обнаруживает движение во всем диапазоне от 0 до 360 градусов - слепых зон нет.&lt;br /&gt;
&lt;br /&gt;
== Характеристики ==&lt;br /&gt;
&lt;br /&gt;
* Входное напряжение питания (VIN): 4 ... 28 В постоянного тока.&lt;br /&gt;
* Потребляемый ток: до 3 мА (номинально 2,8 мА).&lt;br /&gt;
* Дальность обнаружения: до 9 м (номинально до 5 м).&lt;br /&gt;
* Мощность передатчика: до 30 мВт (номинально до 20 мВт).&lt;br /&gt;
* Частота передатчика: 5,8 ГГц.&lt;br /&gt;
* Время задержки до сброса триггера: 2 сек ±30%.&lt;br /&gt;
* Выходное напряжение питания (3V3): 3,2 ... 3,4 В (номинально 3,3 В).&lt;br /&gt;
* Максимальный ток на выходе «3V3»: до 100 мА.&lt;br /&gt;
* Рабочая температура: -20 ... +80 °С.&lt;br /&gt;
* Температура хранения: -40 ... +100 °С.&lt;br /&gt;
* Габариты: 17,3х35,9 мм&lt;br /&gt;
* Вес: 4 гр.&lt;br /&gt;
&lt;br /&gt;
== Принцип работы ==&lt;br /&gt;
В основу работы датчика заложен эффект Доплера - изменение частоты отражённой волны, вследствие движения излучателя, приёмника или отражателя. В данном модуле частота излучаемой им радиоволны меняется вследствие движения отражателя (препятствия). Модуль построен на базе чипа RCWL-9196 который оснащён передатчиком и приёмником. Датчик сработает если приёмник примет сигнал, частота которого незначительно отличается от частоты сигнала передатчика:&lt;br /&gt;
&lt;br /&gt;
* Если в зоне действия датчика нет объектов способных отражать радиоволны, то приёмник ничего не примет и датчик не сработает.&lt;br /&gt;
* Если в зоне действия датчика имеются неподвижные объекты способные отражать радиоволны, то приёмник примет радиоволну передатчика, отражённую от этих объектов, но частота принятой радиоволны будет равна частоте сигнала передатчика и датчик не сработает.&lt;br /&gt;
* Если в зоне действия датчика имеется объект способный отражать радиоволны, который приближается к датчику (движется), то приёмник примет отражённую от объекта радиоволну, частота которой будет выше чем у сигнала передатчика и датчик сработает.&lt;br /&gt;
* Если в зоне действия датчика имеется объект способный отражать радиоволны, который удаляется от датчика (движется), то приёмник примет отражённую от объекта радиоволну, частота которой будет ниже чем у сигнала передатчика и датчик сработает.&lt;br /&gt;
&lt;br /&gt;
Когда датчик срабатывает, на его выходе «OUT» устанавливается уровень логической «1». Датчик снабжен триггером, который удерживает уровень логической «1» на выходе «OUT» в течении 2 сек ±30%, после прекращения движения.&lt;br /&gt;
&lt;br /&gt;
Если датчик многократно срабатывает, например, постоянно фиксирует движения в течении 10 секунд, то уровень логической «1» на выходе «OUT» будет установлен на 12 секунд с момента первого срабатывания (10 секунд во время фиксации движений + 2 секунды после их прекращения, пока не «сбросится» триггер).&lt;br /&gt;
&lt;br /&gt;
Использование датчиков движения основанных на эффекте Доплера позволяет фиксировать движения через объекты не отражающие радиоволны (дерево, пластик, гипс и т.д.), чего не могут сделать датчики движения основанные на пироэлектрическом эффекте (такие как HC-SR501 и HC-SR505).&lt;br /&gt;
&lt;br /&gt;
== Контакты датчика ==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;OUT&amp;#039;&amp;#039;&amp;#039; - выход датчика (устанавливается в «1» при наличии движений + задерживается на 2 секунды после их прекращения).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;VIN&amp;#039;&amp;#039;&amp;#039; - вход напряжения питания, от +4 до +28 В постоянного тока.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;GND&amp;#039;&amp;#039;&amp;#039; - вход питания (общий).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;3V3&amp;#039;&amp;#039;&amp;#039; - выход стабилизированного напряжения питания 3,3 В (можно использовать для питания микроконтроллеров).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;COS&amp;#039;&amp;#039;&amp;#039; - вход разрешения (подтянут внутренним сопротивлением чипа). Если на данном выводе установить уровень логического «0», то после сброса триггера, он не будет устанавливаться (датчик перестанет реагировать на движения).&lt;br /&gt;
&lt;br /&gt;
[[Файл:Rcwl-0516-pinout.jpg|мини|Назначение контактов датчика]]&lt;br /&gt;
Выход «OUT» можно подключать к любому контакту платы Arduino. Вход «COS» можно оставить не подключённым, т.к. он подтянут внутренним сопротивлением чипа, следовательно, разрешает работу триггера. Напряжение питания датчика составляет от 4 до 28 В постоянного тока, подаётся на выводы «VIN» и «GND» модуля.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Не подключайте питание к выходу «3V3» модуля!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Вывод модуля «3V3» является выходом стабилизированного напряжения 3,3 В. От этого напряжения можно запитывать другие маломощные устройства, например, микроконтроллер.&lt;br /&gt;
&lt;br /&gt;
== Подключение датчика RCWL-0516 к Arduino uno ==&lt;br /&gt;
[[Файл:Interfacing-rcwl-0516-with-arduino-schematic.png|мини|Внешний вид макета]]&lt;br /&gt;
Как видите, схема подключения датчика RCWL-0516 к плате Arduino достаточно проста: его контакты VIN и GND соединяются с контактами 5V и GND платы Arduino Nano, а его выход (контакт OUT) соединяется с контактом D12 платы Arduino Nano. Светодиод подключен к контакту D3 платы Arduino Nano.&lt;br /&gt;
&lt;br /&gt;
=== Программа ===&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Interfacing-rcwl-0516-with-arduino-schematic.png&amp;diff=643</id>
		<title>Файл:Interfacing-rcwl-0516-with-arduino-schematic.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Interfacing-rcwl-0516-with-arduino-schematic.png&amp;diff=643"/>
		<updated>2021-06-18T11:15:12Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Rcwl-0516-pinout.jpg&amp;diff=642</id>
		<title>Файл:Rcwl-0516-pinout.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Rcwl-0516-pinout.jpg&amp;diff=642"/>
		<updated>2021-06-18T11:10:23Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;пины&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%94%D0%BE%D0%BF%D0%BB%D0%B5%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B9_%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_RCWL-0516&amp;diff=641</id>
		<title>Доплеровский датчик движения RCWL-0516</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%94%D0%BE%D0%BF%D0%BB%D0%B5%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B9_%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_RCWL-0516&amp;diff=641"/>
		<updated>2021-06-18T11:02:45Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: Новая страница: «Внешний вид датчика RCWL-0516 &amp;#039;&amp;#039;&amp;#039;Доплеровский датчик движения RCWL-0516...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:Dopler1.png|мини|332x332пкс|Внешний вид датчика RCWL-0516]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Доплеровский датчик движения RCWL-0516&amp;#039;&amp;#039;&amp;#039; — способен определять движение объектов (препятствий), которые полностью или частично отражают радиоволны (люди, животные, металлы и т.д.), даже если они находятся за деревом (дверью), стеной (гипс, бетон), пластиками, стеклами и т.д.&lt;br /&gt;
&lt;br /&gt;
В основе работы датчика лежит эффект Доплера — изменение частоты отражённой волны вследствие движения излучателя, приёмника или отражателя. В данном модуле частота излучаемой им радиоволны меняется вследствие движения отражателя (препятствия). Модуль построен на базе чипа RCWL-9196 который оснащён передатчиком и приёмником. Датчик сработает если приёмник примет сигнал, частота которого незначительно отличается от частоты сигнала передатчик. Датчик обнаруживает движение во всем диапазоне от 0 до 360 градусов - слепых зон нет.&lt;br /&gt;
&lt;br /&gt;
== Характеристики ==&lt;br /&gt;
&lt;br /&gt;
* Входное напряжение питания (VIN): 4 ... 28 В постоянного тока.&lt;br /&gt;
* Потребляемый ток: до 3 мА (номинально 2,8 мА).&lt;br /&gt;
* Дальность обнаружения: до 9 м (номинально до 5 м).&lt;br /&gt;
* Мощность передатчика: до 30 мВт (номинально до 20 мВт).&lt;br /&gt;
* Частота передатчика: 5,8 ГГц.&lt;br /&gt;
* Время задержки до сброса триггера: 2 сек ±30%.&lt;br /&gt;
* Выходное напряжение питания (3V3): 3,2 ... 3,4 В (номинально 3,3 В).&lt;br /&gt;
* Максимальный ток на выходе «3V3»: до 100 мА.&lt;br /&gt;
* Рабочая температура: -20 ... +80 °С.&lt;br /&gt;
* Температура хранения: -40 ... +100 °С.&lt;br /&gt;
* Габариты: 17,3х35,9 мм&lt;br /&gt;
* Вес: 4 гр.&lt;br /&gt;
&lt;br /&gt;
== Принцип работы ==&lt;br /&gt;
В основу работы датчика заложен эффект Доплера - изменение частоты отражённой волны, вследствие движения излучателя, приёмника или отражателя. В данном модуле частота излучаемой им радиоволны меняется вследствие движения отражателя (препятствия). Модуль построен на базе чипа RCWL-9196 который оснащён передатчиком и приёмником. Датчик сработает если приёмник примет сигнал, частота которого незначительно отличается от частоты сигнала передатчика:&lt;br /&gt;
&lt;br /&gt;
* Если в зоне действия датчика нет объектов способных отражать радиоволны, то приёмник ничего не примет и датчик не сработает.&lt;br /&gt;
* Если в зоне действия датчика имеются неподвижные объекты способные отражать радиоволны, то приёмник примет радиоволну передатчика, отражённую от этих объектов, но частота принятой радиоволны будет равна частоте сигнала передатчика и датчик не сработает.&lt;br /&gt;
* Если в зоне действия датчика имеется объект способный отражать радиоволны, который приближается к датчику (движется), то приёмник примет отражённую от объекта радиоволну, частота которой будет выше чем у сигнала передатчика и датчик сработает.&lt;br /&gt;
* Если в зоне действия датчика имеется объект способный отражать радиоволны, который удаляется от датчика (движется), то приёмник примет отражённую от объекта радиоволну, частота которой будет ниже чем у сигнала передатчика и датчик сработает.&lt;br /&gt;
&lt;br /&gt;
Когда датчик срабатывает, на его выходе «OUT» устанавливается уровень логической «1». Датчик снабжен триггером, который удерживает уровень логической «1» на выходе «OUT» в течении 2 сек ±30%, после прекращения движения.&lt;br /&gt;
&lt;br /&gt;
Если датчик многократно срабатывает, например, постоянно фиксирует движения в течении 10 секунд, то уровень логической «1» на выходе «OUT» будет установлен на 12 секунд с момента первого срабатывания (10 секунд во время фиксации движений + 2 секунды после их прекращения, пока не «сбросится» триггер).&lt;br /&gt;
&lt;br /&gt;
Использование датчиков движения основанных на эффекте Доплера позволяет фиксировать движения через объекты не отражающие радиоволны (дерево, пластик, гипс и т.д.), чего не могут сделать датчики движения основанные на пироэлектрическом эффекте (такие как [[HC-SR501]] и HC-SR505).&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Dopler1.png&amp;diff=640</id>
		<title>Файл:Dopler1.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Dopler1.png&amp;diff=640"/>
		<updated>2021-06-18T10:53:03Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;dop&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=639</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=639"/>
		<updated>2021-06-18T10:50:25Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: /* Описание модулей */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Добро пожаловать на Вики!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Здесь Вы найдете материалы по нашим и сторонним изделиям, программированию и инженерным решениям.&lt;br /&gt;
&lt;br /&gt;
== Редактирование ==&lt;br /&gt;
[[Файл:LogIn screenshot.png|200x200пкс|альт=|мини|Расположение кнопки входа]]Для добавления и редактирования статей: &lt;br /&gt;
&lt;br /&gt;
# создайте учетную запись или выполните вход (кнопка &amp;#039;&amp;#039;&amp;#039;Аноним&amp;#039;&amp;#039;&amp;#039; справа сверху)&lt;br /&gt;
# отредактируйте данную страницу, добавив ссылку &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;на пока ещё не созданную страницу&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; в один из разделов (или создав новый)&lt;br /&gt;
# сохраните изменения и перейдите по ссылке&lt;br /&gt;
# Отредактируйте новую страницу, заполнив её содержанием по выбранной теме. Не забудьте нажать сохранить изменения.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Описание модулей ==&lt;br /&gt;
*[[Ультразвуковой дальномер HC-SR04]]&lt;br /&gt;
*[[Драйвер двигателя L298N]]&lt;br /&gt;
*[[Датчик линии на базе TCRT5000]]&lt;br /&gt;
*[[Драйвер моторов двухканальный tb6680|Драйвер двухканальный на базе микросхемы tb6612fng]]&lt;br /&gt;
*[[Лазерные дальномеры|Лазерные дальномеры - Laser Sensor]]&lt;br /&gt;
*[[Шаговый электродвигатель]]&lt;br /&gt;
*[[Оптические энкодеры|Оптические энкодеры - FC-03 на базе ITR9608]]&lt;br /&gt;
*[[Подключение гироскопа GY-521 MPU-6050 к Arduio]]&lt;br /&gt;
*[[АЦП на базе микросхемы hx711|АЦП на базе микросхемы HX711]]&lt;br /&gt;
*[[Сервопривод]]&lt;br /&gt;
*[[Arduino Shield]]&lt;br /&gt;
*[[Драйвер двигателя L293D]]&lt;br /&gt;
*[[Зуммер]]&lt;br /&gt;
*[[Сторожевой таймер|Сторожевой таймер | WatchDog Timer]]&lt;br /&gt;
*[[Мотор-редуктор]]&lt;br /&gt;
*[[Четырехразрядный семисегментный индикатор]]&lt;br /&gt;
*[[Ethernet Shield на базе WIZnet w5100]]&lt;br /&gt;
*[[Использование АЦП в микроконтроллере AVR ATmega16]]&lt;br /&gt;
*[[Жидкокристаллический дисплей]]&lt;br /&gt;
*[[ИК-датчик движения HC-SR501]]&lt;br /&gt;
*[[Доплеровский датчик движения RCWL-0516]]&lt;br /&gt;
&lt;br /&gt;
== Процессы и подходы ==&lt;br /&gt;
&lt;br /&gt;
* [[ШИМ]]&lt;br /&gt;
* [[Калибровка]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
&lt;br /&gt;
== Алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
* [[Движение робота по черной ленте]]&lt;br /&gt;
* [[Алгоритм A*]]&lt;br /&gt;
* [[Алгоритм D*]]&lt;br /&gt;
* [[Объезд препятствий]]&lt;br /&gt;
* [[SLAM]]&lt;br /&gt;
* [[Алгоритм матричной клавиатуры]]&lt;br /&gt;
&lt;br /&gt;
== Датчики ==&lt;br /&gt;
&lt;br /&gt;
* [[Инфракрасный Датчик]]&lt;br /&gt;
* [[Тензодатчик]]&lt;br /&gt;
* [[Датчик Холла]]&lt;br /&gt;
* [[Доплеровский датчик]]&lt;br /&gt;
* [[Датчик влажности воздуха]]&lt;br /&gt;
* [[Акселерометр]]&lt;br /&gt;
* [[Датчики влажности почвы|Датчик влажности почвы]]&lt;br /&gt;
* [[Датчик наклона]]&lt;br /&gt;
* [[Датчик цвета]]&lt;br /&gt;
* [[Датчик-компас]]&lt;br /&gt;
* [[Энкодер]]&lt;br /&gt;
* [[Датчик препятствия|Инфракрасный датчик препятствий YL-63]]&lt;br /&gt;
* [[Датчик освещенности]]&lt;br /&gt;
* [[Датчик температуры]]&lt;br /&gt;
* [[Датчик уровня звука]]&lt;br /&gt;
* [[Датчик уровня воды]]&lt;br /&gt;
* [[Датчик вибрации]]&lt;br /&gt;
* [[Датчик угарного газа]]&lt;br /&gt;
* [[Датчик жестов]]&lt;br /&gt;
* [[Кнопка]]&lt;br /&gt;
* [[Датчик давления|Датчик давления BMP-180]]&lt;br /&gt;
* [[Резистивный датчик давления]]&lt;br /&gt;
* [[Пьезоэлектрический датчик]]&lt;br /&gt;
* [[Датчик движения]]&lt;br /&gt;
* [[Датчик положения]]&lt;br /&gt;
&lt;br /&gt;
== Советы и рекомендации ==&lt;br /&gt;
&lt;br /&gt;
* [[Технология проектирования печатных плат]]&lt;br /&gt;
* [[Полезные советы по Webots]]&lt;br /&gt;
* [[Устанавливаем драйвер Ардуино - Подключаем порт]]&lt;br /&gt;
* [[Как выбрать Arduino]]&lt;br /&gt;
&lt;br /&gt;
== Программирование MIK32 в среде eclipse ==&lt;br /&gt;
&lt;br /&gt;
* [[Быстрый старт с MIK32]]&lt;br /&gt;
&lt;br /&gt;
== Некоторые полезные ресурсы ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Список возможных настроек];&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Manual:FAQ/ru Часто задаваемые вопросы и ответы по MediaWiki];&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki].&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Перевод MediaWiki на свой язык]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Узнайте, как бороться со спамом в вашей вики]&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%98%D0%9A-%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_HC-SR501&amp;diff=632</id>
		<title>ИК-датчик движения HC-SR501</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%98%D0%9A-%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_HC-SR501&amp;diff=632"/>
		<updated>2021-06-17T16:04:31Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: /* Программа для управления светом при помощи датчика движения */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:HC-sr5.jpg|мини|Внешний вид HC-SR501]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;HC-SR501&amp;#039;&amp;#039;&amp;#039; - пироэлектрический инфракрасный датчик движения, позволяет обнаруживать движение в контролируемой зоне. Представляет из себя модуль состоящий из ИК сенсора 500BP, линзы Френеля, и управляющей модулем микросхемы BISS0001. Режим работы модуля задается перемычкой (режим H или режим L).&lt;br /&gt;
&lt;br /&gt;
В режиме H при срабатывании датчика несколько раз подряд на его выходе (на OUT) остается высокий логический уровень. В режиме L на выходе при каждом срабатывании датчика на выход подается отдельный импульс.&lt;br /&gt;
&lt;br /&gt;
Не рекомендуется использовать датчик в местах с резкими перепадами температур - резкий всплеск инфракрасного излучения от нагрева он будет воспринимать как появление перемещающегося объекта, что может вызвать ложное срабатывание.&lt;br /&gt;
&lt;br /&gt;
HC-SR501 часто применяется в охранных сигнализациях, а так же в умных домах для контроля освещения при появлении в помещении человека.&lt;br /&gt;
&lt;br /&gt;
== Технические характеристики ==&lt;br /&gt;
&lt;br /&gt;
* Напряжение питания: 4.8В до 20В&lt;br /&gt;
* Статический ток: 50 мА&lt;br /&gt;
* Уровня выходного сигнала: 3.3 В / низкий 0 В&lt;br /&gt;
* Время задержки: 0.5 — 200с (регулируемая)&lt;br /&gt;
* Время блокировки: 2.5 с&lt;br /&gt;
* Угол работы: &amp;lt; 100&lt;br /&gt;
* Рабочая температура: -15С до + 70C&lt;br /&gt;
* Определение объектов: 23 мм&lt;br /&gt;
* Габариты: 33мм x 25мм x 24мм&lt;br /&gt;
На модуль установлена линза Френеля, которая фокусирует инфракрасные сигналы на пироэлектрический датчик под названием 500BP. Датчик называется PIR (Passive Infra-Red). Пассивный он потому, что для обнаружения движения не используется какая-либо дополнительная энергия, кроме той, что испускается самими объектами.&lt;br /&gt;
&lt;br /&gt;
500BP состоит из двух чувствительных элементов. Управляющая микросхема модуля регистрирует изменения сигналов от обоих элементов и по характеру их изменения обнаруживает движение объектов, испускающих инфракрасные сигналы (живых организмов).&lt;br /&gt;
&lt;br /&gt;
== Контакты датчика ==&lt;br /&gt;
&lt;br /&gt;
=== Назначение выводов: ===&lt;br /&gt;
Модуль HC-SR501 имеет 3 вывода:&lt;br /&gt;
&lt;br /&gt;
* VCC — положительное напряжение постоянного тока от 4,5 до 20 В постоянного тока.&lt;br /&gt;
* OUTPUT — логический выход на 3,3 вольта. LOW не указывает на обнаружение, HIGH означает, что кто-то был обнаружен.&lt;br /&gt;
* GND — заземление.&lt;br /&gt;
&lt;br /&gt;
=== Назначение перемычек: ===&lt;br /&gt;
&lt;br /&gt;
* H — это настройка Hold или Repeat. В этом положении HC-SR501 будет продолжать выдавать сигнал HIGH, пока он продолжает обнаруживать движение.&lt;br /&gt;
* L — Это параметр прерывания или без повтора. В этом положении выход будет оставаться HIGH в течение периода, установленного настройкой потенциометра TIME.&lt;br /&gt;
&lt;br /&gt;
[[Файл:14.jpg|мини|308x308пкс]]На плате HC-SR501 имеются дополнительные отверстия для двух компонентов, рядом расположена маркировка, посмотреть на нее можно сняв линзу Френеля.&lt;br /&gt;
&lt;br /&gt;
=== Назначение дополнительных отверстий: ===&lt;br /&gt;
&lt;br /&gt;
* RT — это предназначено для термистора или чувствительного к температуре резистора. Добавление этого позволяет использовать HC-SR501 в экстремальных температурах, а также в некоторой степени повышает точность работы детектора.&lt;br /&gt;
* RL — это соединение для светозависимого резистора или фоторезистора. Добавляя компонент, HC-SR501 будет работать только в темноте, что является общим приложением для чувствительных к движению систем освещения.&lt;br /&gt;
&lt;br /&gt;
== Подключение HC-SR501 к Ардуино Уно ==&lt;br /&gt;
[[Файл:IR motion схема1.png|мини|247x247пкс|Схема подключения]]&lt;br /&gt;
Для соединения с микроконтроллером или напрямую с реле у HC-SR501 имеется три вывода. Подключаем их к Ардуино по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|HC-SR501&lt;br /&gt;
|GND&lt;br /&gt;
|VCC&lt;br /&gt;
|OUT&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Ардуино Уно&lt;br /&gt;
|GND&lt;br /&gt;
| +5V&lt;br /&gt;
|2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Программа для датчика ===&lt;br /&gt;
[[Файл:IR motion bb.png|мини|348x348пкс|Внешний вид макета]]&lt;br /&gt;
Как уже было сказано, цифровой выход датчика HC-SR501 генерирует высокий уровень сигнала при срабатывании. Напишем простую программу, которая будет отправлять в последовательный порт «1» если датчик увидел движение, и «0» в противном случае.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
const int movPin = 2&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
    pinMode(movPin, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
    int val = digitalRead(movPin);&lt;br /&gt;
    Serial.println(val);&lt;br /&gt;
    delay(100);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Загружаем программу на Ардуино и проверяем работу датчика. Можно покрутить настройки датчика и посмотреть как это отразится на его работе.&lt;br /&gt;
&lt;br /&gt;
== Программа для управления светом при помощи датчика движения ==&lt;br /&gt;
[[Файл:Imagesh.png|мини|305x305пкс|Схема подключения]]&lt;br /&gt;
[[Файл:Imagevsh.png|мини|304x304пкс|Внешний вид макета с лампочкой]]&lt;br /&gt;
Теперь напишем программу, которая будет при срабатывании датчика включать реле, а следовательно и освещение в комнате.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
const int movPin = 2;&lt;br /&gt;
const int relPin = 3;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
    pinMode(movPin, INPUT);&lt;br /&gt;
    pinMode(relPin, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(){&lt;br /&gt;
    int val = digitalRead(movPin);&lt;br /&gt;
    if (val)&lt;br /&gt;
        digitalWrite(relPin, HIGH);&lt;br /&gt;
    else&lt;br /&gt;
        digitalWrite(relPin, LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Загружаем программу на Ардуино, аккуратно подключаем схему к бытовой сети и проверяем работу датчика.&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%98%D0%9A-%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_HC-SR501&amp;diff=631</id>
		<title>ИК-датчик движения HC-SR501</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%98%D0%9A-%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_HC-SR501&amp;diff=631"/>
		<updated>2021-06-17T16:04:09Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: /* Программа для управления светом при помощи датчика движения */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:HC-sr5.jpg|мини|Внешний вид HC-SR501]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;HC-SR501&amp;#039;&amp;#039;&amp;#039; - пироэлектрический инфракрасный датчик движения, позволяет обнаруживать движение в контролируемой зоне. Представляет из себя модуль состоящий из ИК сенсора 500BP, линзы Френеля, и управляющей модулем микросхемы BISS0001. Режим работы модуля задается перемычкой (режим H или режим L).&lt;br /&gt;
&lt;br /&gt;
В режиме H при срабатывании датчика несколько раз подряд на его выходе (на OUT) остается высокий логический уровень. В режиме L на выходе при каждом срабатывании датчика на выход подается отдельный импульс.&lt;br /&gt;
&lt;br /&gt;
Не рекомендуется использовать датчик в местах с резкими перепадами температур - резкий всплеск инфракрасного излучения от нагрева он будет воспринимать как появление перемещающегося объекта, что может вызвать ложное срабатывание.&lt;br /&gt;
&lt;br /&gt;
HC-SR501 часто применяется в охранных сигнализациях, а так же в умных домах для контроля освещения при появлении в помещении человека.&lt;br /&gt;
&lt;br /&gt;
== Технические характеристики ==&lt;br /&gt;
&lt;br /&gt;
* Напряжение питания: 4.8В до 20В&lt;br /&gt;
* Статический ток: 50 мА&lt;br /&gt;
* Уровня выходного сигнала: 3.3 В / низкий 0 В&lt;br /&gt;
* Время задержки: 0.5 — 200с (регулируемая)&lt;br /&gt;
* Время блокировки: 2.5 с&lt;br /&gt;
* Угол работы: &amp;lt; 100&lt;br /&gt;
* Рабочая температура: -15С до + 70C&lt;br /&gt;
* Определение объектов: 23 мм&lt;br /&gt;
* Габариты: 33мм x 25мм x 24мм&lt;br /&gt;
На модуль установлена линза Френеля, которая фокусирует инфракрасные сигналы на пироэлектрический датчик под названием 500BP. Датчик называется PIR (Passive Infra-Red). Пассивный он потому, что для обнаружения движения не используется какая-либо дополнительная энергия, кроме той, что испускается самими объектами.&lt;br /&gt;
&lt;br /&gt;
500BP состоит из двух чувствительных элементов. Управляющая микросхема модуля регистрирует изменения сигналов от обоих элементов и по характеру их изменения обнаруживает движение объектов, испускающих инфракрасные сигналы (живых организмов).&lt;br /&gt;
&lt;br /&gt;
== Контакты датчика ==&lt;br /&gt;
&lt;br /&gt;
=== Назначение выводов: ===&lt;br /&gt;
Модуль HC-SR501 имеет 3 вывода:&lt;br /&gt;
&lt;br /&gt;
* VCC — положительное напряжение постоянного тока от 4,5 до 20 В постоянного тока.&lt;br /&gt;
* OUTPUT — логический выход на 3,3 вольта. LOW не указывает на обнаружение, HIGH означает, что кто-то был обнаружен.&lt;br /&gt;
* GND — заземление.&lt;br /&gt;
&lt;br /&gt;
=== Назначение перемычек: ===&lt;br /&gt;
&lt;br /&gt;
* H — это настройка Hold или Repeat. В этом положении HC-SR501 будет продолжать выдавать сигнал HIGH, пока он продолжает обнаруживать движение.&lt;br /&gt;
* L — Это параметр прерывания или без повтора. В этом положении выход будет оставаться HIGH в течение периода, установленного настройкой потенциометра TIME.&lt;br /&gt;
&lt;br /&gt;
[[Файл:14.jpg|мини|308x308пкс]]На плате HC-SR501 имеются дополнительные отверстия для двух компонентов, рядом расположена маркировка, посмотреть на нее можно сняв линзу Френеля.&lt;br /&gt;
&lt;br /&gt;
=== Назначение дополнительных отверстий: ===&lt;br /&gt;
&lt;br /&gt;
* RT — это предназначено для термистора или чувствительного к температуре резистора. Добавление этого позволяет использовать HC-SR501 в экстремальных температурах, а также в некоторой степени повышает точность работы детектора.&lt;br /&gt;
* RL — это соединение для светозависимого резистора или фоторезистора. Добавляя компонент, HC-SR501 будет работать только в темноте, что является общим приложением для чувствительных к движению систем освещения.&lt;br /&gt;
&lt;br /&gt;
== Подключение HC-SR501 к Ардуино Уно ==&lt;br /&gt;
[[Файл:IR motion схема1.png|мини|247x247пкс|Схема подключения]]&lt;br /&gt;
Для соединения с микроконтроллером или напрямую с реле у HC-SR501 имеется три вывода. Подключаем их к Ардуино по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|HC-SR501&lt;br /&gt;
|GND&lt;br /&gt;
|VCC&lt;br /&gt;
|OUT&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Ардуино Уно&lt;br /&gt;
|GND&lt;br /&gt;
| +5V&lt;br /&gt;
|2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Программа для датчика ===&lt;br /&gt;
[[Файл:IR motion bb.png|мини|348x348пкс|Внешний вид макета]]&lt;br /&gt;
Как уже было сказано, цифровой выход датчика HC-SR501 генерирует высокий уровень сигнала при срабатывании. Напишем простую программу, которая будет отправлять в последовательный порт «1» если датчик увидел движение, и «0» в противном случае.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
const int movPin = 2&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
    pinMode(movPin, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
    int val = digitalRead(movPin);&lt;br /&gt;
    Serial.println(val);&lt;br /&gt;
    delay(100);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Загружаем программу на Ардуино и проверяем работу датчика. Можно покрутить настройки датчика и посмотреть как это отразится на его работе.&lt;br /&gt;
&lt;br /&gt;
== Программа для управления светом при помощи датчика движения ==&lt;br /&gt;
[[Файл:Imagesh.png|мини|305x305пкс|Схема подключения]]&lt;br /&gt;
[[Файл:Imagevsh.png|мини|304x304пкс|Внешний вид макета с лампочкой]]&lt;br /&gt;
Теперь напишем программу, которая будет при срабатывании датчика включать реле, а следовательно и освещение в комнате.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
const int movPin = 2;&lt;br /&gt;
const int relPin = 3;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
    pinMode(movPin, INPUT);&lt;br /&gt;
    pinMode(relPin, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(){&lt;br /&gt;
    int val = digitalRead(movPin);&lt;br /&gt;
    if (val)&lt;br /&gt;
        digitalWrite(relPin, HIGH);&lt;br /&gt;
    else&lt;br /&gt;
        digitalWrite(relPin, LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%98%D0%9A-%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_HC-SR501&amp;diff=630</id>
		<title>ИК-датчик движения HC-SR501</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%98%D0%9A-%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_HC-SR501&amp;diff=630"/>
		<updated>2021-06-17T16:02:59Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: /* Программа */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:HC-sr5.jpg|мини|Внешний вид HC-SR501]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;HC-SR501&amp;#039;&amp;#039;&amp;#039; - пироэлектрический инфракрасный датчик движения, позволяет обнаруживать движение в контролируемой зоне. Представляет из себя модуль состоящий из ИК сенсора 500BP, линзы Френеля, и управляющей модулем микросхемы BISS0001. Режим работы модуля задается перемычкой (режим H или режим L).&lt;br /&gt;
&lt;br /&gt;
В режиме H при срабатывании датчика несколько раз подряд на его выходе (на OUT) остается высокий логический уровень. В режиме L на выходе при каждом срабатывании датчика на выход подается отдельный импульс.&lt;br /&gt;
&lt;br /&gt;
Не рекомендуется использовать датчик в местах с резкими перепадами температур - резкий всплеск инфракрасного излучения от нагрева он будет воспринимать как появление перемещающегося объекта, что может вызвать ложное срабатывание.&lt;br /&gt;
&lt;br /&gt;
HC-SR501 часто применяется в охранных сигнализациях, а так же в умных домах для контроля освещения при появлении в помещении человека.&lt;br /&gt;
&lt;br /&gt;
== Технические характеристики ==&lt;br /&gt;
&lt;br /&gt;
* Напряжение питания: 4.8В до 20В&lt;br /&gt;
* Статический ток: 50 мА&lt;br /&gt;
* Уровня выходного сигнала: 3.3 В / низкий 0 В&lt;br /&gt;
* Время задержки: 0.5 — 200с (регулируемая)&lt;br /&gt;
* Время блокировки: 2.5 с&lt;br /&gt;
* Угол работы: &amp;lt; 100&lt;br /&gt;
* Рабочая температура: -15С до + 70C&lt;br /&gt;
* Определение объектов: 23 мм&lt;br /&gt;
* Габариты: 33мм x 25мм x 24мм&lt;br /&gt;
На модуль установлена линза Френеля, которая фокусирует инфракрасные сигналы на пироэлектрический датчик под названием 500BP. Датчик называется PIR (Passive Infra-Red). Пассивный он потому, что для обнаружения движения не используется какая-либо дополнительная энергия, кроме той, что испускается самими объектами.&lt;br /&gt;
&lt;br /&gt;
500BP состоит из двух чувствительных элементов. Управляющая микросхема модуля регистрирует изменения сигналов от обоих элементов и по характеру их изменения обнаруживает движение объектов, испускающих инфракрасные сигналы (живых организмов).&lt;br /&gt;
&lt;br /&gt;
== Контакты датчика ==&lt;br /&gt;
&lt;br /&gt;
=== Назначение выводов: ===&lt;br /&gt;
Модуль HC-SR501 имеет 3 вывода:&lt;br /&gt;
&lt;br /&gt;
* VCC — положительное напряжение постоянного тока от 4,5 до 20 В постоянного тока.&lt;br /&gt;
* OUTPUT — логический выход на 3,3 вольта. LOW не указывает на обнаружение, HIGH означает, что кто-то был обнаружен.&lt;br /&gt;
* GND — заземление.&lt;br /&gt;
&lt;br /&gt;
=== Назначение перемычек: ===&lt;br /&gt;
&lt;br /&gt;
* H — это настройка Hold или Repeat. В этом положении HC-SR501 будет продолжать выдавать сигнал HIGH, пока он продолжает обнаруживать движение.&lt;br /&gt;
* L — Это параметр прерывания или без повтора. В этом положении выход будет оставаться HIGH в течение периода, установленного настройкой потенциометра TIME.&lt;br /&gt;
&lt;br /&gt;
[[Файл:14.jpg|мини|308x308пкс]]На плате HC-SR501 имеются дополнительные отверстия для двух компонентов, рядом расположена маркировка, посмотреть на нее можно сняв линзу Френеля.&lt;br /&gt;
&lt;br /&gt;
=== Назначение дополнительных отверстий: ===&lt;br /&gt;
&lt;br /&gt;
* RT — это предназначено для термистора или чувствительного к температуре резистора. Добавление этого позволяет использовать HC-SR501 в экстремальных температурах, а также в некоторой степени повышает точность работы детектора.&lt;br /&gt;
* RL — это соединение для светозависимого резистора или фоторезистора. Добавляя компонент, HC-SR501 будет работать только в темноте, что является общим приложением для чувствительных к движению систем освещения.&lt;br /&gt;
&lt;br /&gt;
== Подключение HC-SR501 к Ардуино Уно ==&lt;br /&gt;
[[Файл:IR motion схема1.png|мини|247x247пкс|Схема подключения]]&lt;br /&gt;
Для соединения с микроконтроллером или напрямую с реле у HC-SR501 имеется три вывода. Подключаем их к Ардуино по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|HC-SR501&lt;br /&gt;
|GND&lt;br /&gt;
|VCC&lt;br /&gt;
|OUT&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Ардуино Уно&lt;br /&gt;
|GND&lt;br /&gt;
| +5V&lt;br /&gt;
|2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Программа для датчика ===&lt;br /&gt;
[[Файл:IR motion bb.png|мини|348x348пкс|Внешний вид макета]]&lt;br /&gt;
Как уже было сказано, цифровой выход датчика HC-SR501 генерирует высокий уровень сигнала при срабатывании. Напишем простую программу, которая будет отправлять в последовательный порт «1» если датчик увидел движение, и «0» в противном случае.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
const int movPin = 2&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
    pinMode(movPin, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
    int val = digitalRead(movPin);&lt;br /&gt;
    Serial.println(val);&lt;br /&gt;
    delay(100);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Загружаем программу на Ардуино и проверяем работу датчика. Можно покрутить настройки датчика и посмотреть как это отразится на его работе.&lt;br /&gt;
&lt;br /&gt;
== Программа для управления светом при помощи датчика движения ==&lt;br /&gt;
[[Файл:Imagesh.png|мини|305x305пкс|Схема подключения]]&lt;br /&gt;
[[Файл:Imagevsh.png|мини|304x304пкс|Внешний вид макета с лампочкой]]&lt;br /&gt;
Теперь напишем программу, которая будет при срабатывании датчика включать реле, а следовательно и освещение в комнате.&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Imagevsh.png&amp;diff=629</id>
		<title>Файл:Imagevsh.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Imagevsh.png&amp;diff=629"/>
		<updated>2021-06-17T16:02:08Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Макет&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Imagesh.png&amp;diff=628</id>
		<title>Файл:Imagesh.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Imagesh.png&amp;diff=628"/>
		<updated>2021-06-17T16:01:01Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Схема&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%98%D0%9A-%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_HC-SR501&amp;diff=627</id>
		<title>ИК-датчик движения HC-SR501</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%98%D0%9A-%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_HC-SR501&amp;diff=627"/>
		<updated>2021-06-17T15:56:45Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: /* Программа */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:HC-sr5.jpg|мини|Внешний вид HC-SR501]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;HC-SR501&amp;#039;&amp;#039;&amp;#039; - пироэлектрический инфракрасный датчик движения, позволяет обнаруживать движение в контролируемой зоне. Представляет из себя модуль состоящий из ИК сенсора 500BP, линзы Френеля, и управляющей модулем микросхемы BISS0001. Режим работы модуля задается перемычкой (режим H или режим L).&lt;br /&gt;
&lt;br /&gt;
В режиме H при срабатывании датчика несколько раз подряд на его выходе (на OUT) остается высокий логический уровень. В режиме L на выходе при каждом срабатывании датчика на выход подается отдельный импульс.&lt;br /&gt;
&lt;br /&gt;
Не рекомендуется использовать датчик в местах с резкими перепадами температур - резкий всплеск инфракрасного излучения от нагрева он будет воспринимать как появление перемещающегося объекта, что может вызвать ложное срабатывание.&lt;br /&gt;
&lt;br /&gt;
HC-SR501 часто применяется в охранных сигнализациях, а так же в умных домах для контроля освещения при появлении в помещении человека.&lt;br /&gt;
&lt;br /&gt;
== Технические характеристики ==&lt;br /&gt;
&lt;br /&gt;
* Напряжение питания: 4.8В до 20В&lt;br /&gt;
* Статический ток: 50 мА&lt;br /&gt;
* Уровня выходного сигнала: 3.3 В / низкий 0 В&lt;br /&gt;
* Время задержки: 0.5 — 200с (регулируемая)&lt;br /&gt;
* Время блокировки: 2.5 с&lt;br /&gt;
* Угол работы: &amp;lt; 100&lt;br /&gt;
* Рабочая температура: -15С до + 70C&lt;br /&gt;
* Определение объектов: 23 мм&lt;br /&gt;
* Габариты: 33мм x 25мм x 24мм&lt;br /&gt;
На модуль установлена линза Френеля, которая фокусирует инфракрасные сигналы на пироэлектрический датчик под названием 500BP. Датчик называется PIR (Passive Infra-Red). Пассивный он потому, что для обнаружения движения не используется какая-либо дополнительная энергия, кроме той, что испускается самими объектами.&lt;br /&gt;
&lt;br /&gt;
500BP состоит из двух чувствительных элементов. Управляющая микросхема модуля регистрирует изменения сигналов от обоих элементов и по характеру их изменения обнаруживает движение объектов, испускающих инфракрасные сигналы (живых организмов).&lt;br /&gt;
&lt;br /&gt;
== Контакты датчика ==&lt;br /&gt;
&lt;br /&gt;
=== Назначение выводов: ===&lt;br /&gt;
Модуль HC-SR501 имеет 3 вывода:&lt;br /&gt;
&lt;br /&gt;
* VCC — положительное напряжение постоянного тока от 4,5 до 20 В постоянного тока.&lt;br /&gt;
* OUTPUT — логический выход на 3,3 вольта. LOW не указывает на обнаружение, HIGH означает, что кто-то был обнаружен.&lt;br /&gt;
* GND — заземление.&lt;br /&gt;
&lt;br /&gt;
=== Назначение перемычек: ===&lt;br /&gt;
&lt;br /&gt;
* H — это настройка Hold или Repeat. В этом положении HC-SR501 будет продолжать выдавать сигнал HIGH, пока он продолжает обнаруживать движение.&lt;br /&gt;
* L — Это параметр прерывания или без повтора. В этом положении выход будет оставаться HIGH в течение периода, установленного настройкой потенциометра TIME.&lt;br /&gt;
&lt;br /&gt;
[[Файл:14.jpg|мини|308x308пкс]]На плате HC-SR501 имеются дополнительные отверстия для двух компонентов, рядом расположена маркировка, посмотреть на нее можно сняв линзу Френеля.&lt;br /&gt;
&lt;br /&gt;
=== Назначение дополнительных отверстий: ===&lt;br /&gt;
&lt;br /&gt;
* RT — это предназначено для термистора или чувствительного к температуре резистора. Добавление этого позволяет использовать HC-SR501 в экстремальных температурах, а также в некоторой степени повышает точность работы детектора.&lt;br /&gt;
* RL — это соединение для светозависимого резистора или фоторезистора. Добавляя компонент, HC-SR501 будет работать только в темноте, что является общим приложением для чувствительных к движению систем освещения.&lt;br /&gt;
&lt;br /&gt;
== Подключение HC-SR501 к Ардуино Уно ==&lt;br /&gt;
[[Файл:IR motion схема1.png|мини|247x247пкс|Схема подключения]]&lt;br /&gt;
Для соединения с микроконтроллером или напрямую с реле у HC-SR501 имеется три вывода. Подключаем их к Ардуино по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|HC-SR501&lt;br /&gt;
|GND&lt;br /&gt;
|VCC&lt;br /&gt;
|OUT&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Ардуино Уно&lt;br /&gt;
|GND&lt;br /&gt;
| +5V&lt;br /&gt;
|2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Программа ===&lt;br /&gt;
[[Файл:IR motion bb.png|мини|348x348пкс|Внешний вид макета]]&lt;br /&gt;
Как уже было сказано, цифровой выход датчика HC-SR501 генерирует высокий уровень сигнала при срабатывании. Напишем простую программу, которая будет отправлять в последовательный порт «1» если датчик увидел движение, и «0» в противном случае.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
const int movPin = 2&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
    pinMode(movPin, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
    int val = digitalRead(movPin);&lt;br /&gt;
    Serial.println(val);&lt;br /&gt;
    delay(100);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%98%D0%9A-%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_HC-SR501&amp;diff=626</id>
		<title>ИК-датчик движения HC-SR501</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%98%D0%9A-%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_HC-SR501&amp;diff=626"/>
		<updated>2021-06-17T15:55:59Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: /* Программа */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:HC-sr5.jpg|мини|Внешний вид HC-SR501]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;HC-SR501&amp;#039;&amp;#039;&amp;#039; - пироэлектрический инфракрасный датчик движения, позволяет обнаруживать движение в контролируемой зоне. Представляет из себя модуль состоящий из ИК сенсора 500BP, линзы Френеля, и управляющей модулем микросхемы BISS0001. Режим работы модуля задается перемычкой (режим H или режим L).&lt;br /&gt;
&lt;br /&gt;
В режиме H при срабатывании датчика несколько раз подряд на его выходе (на OUT) остается высокий логический уровень. В режиме L на выходе при каждом срабатывании датчика на выход подается отдельный импульс.&lt;br /&gt;
&lt;br /&gt;
Не рекомендуется использовать датчик в местах с резкими перепадами температур - резкий всплеск инфракрасного излучения от нагрева он будет воспринимать как появление перемещающегося объекта, что может вызвать ложное срабатывание.&lt;br /&gt;
&lt;br /&gt;
HC-SR501 часто применяется в охранных сигнализациях, а так же в умных домах для контроля освещения при появлении в помещении человека.&lt;br /&gt;
&lt;br /&gt;
== Технические характеристики ==&lt;br /&gt;
&lt;br /&gt;
* Напряжение питания: 4.8В до 20В&lt;br /&gt;
* Статический ток: 50 мА&lt;br /&gt;
* Уровня выходного сигнала: 3.3 В / низкий 0 В&lt;br /&gt;
* Время задержки: 0.5 — 200с (регулируемая)&lt;br /&gt;
* Время блокировки: 2.5 с&lt;br /&gt;
* Угол работы: &amp;lt; 100&lt;br /&gt;
* Рабочая температура: -15С до + 70C&lt;br /&gt;
* Определение объектов: 23 мм&lt;br /&gt;
* Габариты: 33мм x 25мм x 24мм&lt;br /&gt;
На модуль установлена линза Френеля, которая фокусирует инфракрасные сигналы на пироэлектрический датчик под названием 500BP. Датчик называется PIR (Passive Infra-Red). Пассивный он потому, что для обнаружения движения не используется какая-либо дополнительная энергия, кроме той, что испускается самими объектами.&lt;br /&gt;
&lt;br /&gt;
500BP состоит из двух чувствительных элементов. Управляющая микросхема модуля регистрирует изменения сигналов от обоих элементов и по характеру их изменения обнаруживает движение объектов, испускающих инфракрасные сигналы (живых организмов).&lt;br /&gt;
&lt;br /&gt;
== Контакты датчика ==&lt;br /&gt;
&lt;br /&gt;
=== Назначение выводов: ===&lt;br /&gt;
Модуль HC-SR501 имеет 3 вывода:&lt;br /&gt;
&lt;br /&gt;
* VCC — положительное напряжение постоянного тока от 4,5 до 20 В постоянного тока.&lt;br /&gt;
* OUTPUT — логический выход на 3,3 вольта. LOW не указывает на обнаружение, HIGH означает, что кто-то был обнаружен.&lt;br /&gt;
* GND — заземление.&lt;br /&gt;
&lt;br /&gt;
=== Назначение перемычек: ===&lt;br /&gt;
&lt;br /&gt;
* H — это настройка Hold или Repeat. В этом положении HC-SR501 будет продолжать выдавать сигнал HIGH, пока он продолжает обнаруживать движение.&lt;br /&gt;
* L — Это параметр прерывания или без повтора. В этом положении выход будет оставаться HIGH в течение периода, установленного настройкой потенциометра TIME.&lt;br /&gt;
&lt;br /&gt;
[[Файл:14.jpg|мини|308x308пкс]]На плате HC-SR501 имеются дополнительные отверстия для двух компонентов, рядом расположена маркировка, посмотреть на нее можно сняв линзу Френеля.&lt;br /&gt;
&lt;br /&gt;
=== Назначение дополнительных отверстий: ===&lt;br /&gt;
&lt;br /&gt;
* RT — это предназначено для термистора или чувствительного к температуре резистора. Добавление этого позволяет использовать HC-SR501 в экстремальных температурах, а также в некоторой степени повышает точность работы детектора.&lt;br /&gt;
* RL — это соединение для светозависимого резистора или фоторезистора. Добавляя компонент, HC-SR501 будет работать только в темноте, что является общим приложением для чувствительных к движению систем освещения.&lt;br /&gt;
&lt;br /&gt;
== Подключение HC-SR501 к Ардуино Уно ==&lt;br /&gt;
[[Файл:IR motion схема1.png|мини|247x247пкс|Схема подключения]]&lt;br /&gt;
Для соединения с микроконтроллером или напрямую с реле у HC-SR501 имеется три вывода. Подключаем их к Ардуино по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|HC-SR501&lt;br /&gt;
|GND&lt;br /&gt;
|VCC&lt;br /&gt;
|OUT&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Ардуино Уно&lt;br /&gt;
|GND&lt;br /&gt;
| +5V&lt;br /&gt;
|2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Программа ===&lt;br /&gt;
[[Файл:IR motion bb.png|мини|348x348пкс|Внешний вид макета]]&lt;br /&gt;
Как уже было сказано, цифровой выход датчика HC-SR501 генерирует высокий уровень сигнала при срабатывании. Напишем простую программу, которая будет отправлять в последовательный порт «1» если датчик увидел движение, и «0» в противном случае.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
const int movPin = 2&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
    pinMode(movPin, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
    int val = digitalRead(movPin);&lt;br /&gt;
    Serial.println(val);&lt;br /&gt;
    delay(100);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%98%D0%9A-%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_HC-SR501&amp;diff=625</id>
		<title>ИК-датчик движения HC-SR501</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%98%D0%9A-%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_HC-SR501&amp;diff=625"/>
		<updated>2021-06-17T15:53:08Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: /* Программа */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:HC-sr5.jpg|мини|Внешний вид HC-SR501]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;HC-SR501&amp;#039;&amp;#039;&amp;#039; - пироэлектрический инфракрасный датчик движения, позволяет обнаруживать движение в контролируемой зоне. Представляет из себя модуль состоящий из ИК сенсора 500BP, линзы Френеля, и управляющей модулем микросхемы BISS0001. Режим работы модуля задается перемычкой (режим H или режим L).&lt;br /&gt;
&lt;br /&gt;
В режиме H при срабатывании датчика несколько раз подряд на его выходе (на OUT) остается высокий логический уровень. В режиме L на выходе при каждом срабатывании датчика на выход подается отдельный импульс.&lt;br /&gt;
&lt;br /&gt;
Не рекомендуется использовать датчик в местах с резкими перепадами температур - резкий всплеск инфракрасного излучения от нагрева он будет воспринимать как появление перемещающегося объекта, что может вызвать ложное срабатывание.&lt;br /&gt;
&lt;br /&gt;
HC-SR501 часто применяется в охранных сигнализациях, а так же в умных домах для контроля освещения при появлении в помещении человека.&lt;br /&gt;
&lt;br /&gt;
== Технические характеристики ==&lt;br /&gt;
&lt;br /&gt;
* Напряжение питания: 4.8В до 20В&lt;br /&gt;
* Статический ток: 50 мА&lt;br /&gt;
* Уровня выходного сигнала: 3.3 В / низкий 0 В&lt;br /&gt;
* Время задержки: 0.5 — 200с (регулируемая)&lt;br /&gt;
* Время блокировки: 2.5 с&lt;br /&gt;
* Угол работы: &amp;lt; 100&lt;br /&gt;
* Рабочая температура: -15С до + 70C&lt;br /&gt;
* Определение объектов: 23 мм&lt;br /&gt;
* Габариты: 33мм x 25мм x 24мм&lt;br /&gt;
На модуль установлена линза Френеля, которая фокусирует инфракрасные сигналы на пироэлектрический датчик под названием 500BP. Датчик называется PIR (Passive Infra-Red). Пассивный он потому, что для обнаружения движения не используется какая-либо дополнительная энергия, кроме той, что испускается самими объектами.&lt;br /&gt;
&lt;br /&gt;
500BP состоит из двух чувствительных элементов. Управляющая микросхема модуля регистрирует изменения сигналов от обоих элементов и по характеру их изменения обнаруживает движение объектов, испускающих инфракрасные сигналы (живых организмов).&lt;br /&gt;
&lt;br /&gt;
== Контакты датчика ==&lt;br /&gt;
&lt;br /&gt;
=== Назначение выводов: ===&lt;br /&gt;
Модуль HC-SR501 имеет 3 вывода:&lt;br /&gt;
&lt;br /&gt;
* VCC — положительное напряжение постоянного тока от 4,5 до 20 В постоянного тока.&lt;br /&gt;
* OUTPUT — логический выход на 3,3 вольта. LOW не указывает на обнаружение, HIGH означает, что кто-то был обнаружен.&lt;br /&gt;
* GND — заземление.&lt;br /&gt;
&lt;br /&gt;
=== Назначение перемычек: ===&lt;br /&gt;
&lt;br /&gt;
* H — это настройка Hold или Repeat. В этом положении HC-SR501 будет продолжать выдавать сигнал HIGH, пока он продолжает обнаруживать движение.&lt;br /&gt;
* L — Это параметр прерывания или без повтора. В этом положении выход будет оставаться HIGH в течение периода, установленного настройкой потенциометра TIME.&lt;br /&gt;
&lt;br /&gt;
[[Файл:14.jpg|мини|308x308пкс]]На плате HC-SR501 имеются дополнительные отверстия для двух компонентов, рядом расположена маркировка, посмотреть на нее можно сняв линзу Френеля.&lt;br /&gt;
&lt;br /&gt;
=== Назначение дополнительных отверстий: ===&lt;br /&gt;
&lt;br /&gt;
* RT — это предназначено для термистора или чувствительного к температуре резистора. Добавление этого позволяет использовать HC-SR501 в экстремальных температурах, а также в некоторой степени повышает точность работы детектора.&lt;br /&gt;
* RL — это соединение для светозависимого резистора или фоторезистора. Добавляя компонент, HC-SR501 будет работать только в темноте, что является общим приложением для чувствительных к движению систем освещения.&lt;br /&gt;
&lt;br /&gt;
== Подключение HC-SR501 к Ардуино Уно ==&lt;br /&gt;
[[Файл:IR motion схема1.png|мини|247x247пкс|Схема подключения]]&lt;br /&gt;
Для соединения с микроконтроллером или напрямую с реле у HC-SR501 имеется три вывода. Подключаем их к Ардуино по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|HC-SR501&lt;br /&gt;
|GND&lt;br /&gt;
|VCC&lt;br /&gt;
|OUT&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Ардуино Уно&lt;br /&gt;
|GND&lt;br /&gt;
| +5V&lt;br /&gt;
|2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Программа ===&lt;br /&gt;
[[Файл:IR motion bb.png|мини|348x348пкс|Внешний вид макета]]&lt;br /&gt;
Как уже было сказано, цифровой выход датчика HC-SR501 генерирует высокий уровень сигнала при срабатывании. Напишем простую программу, которая будет отправлять в последовательный порт «1» если датчик увидел движение, и «0» в противном случае.&lt;br /&gt;
&lt;br /&gt;
const int movPin = 2&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
    pinMode(movPin, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(){&lt;br /&gt;
    int val = digitalRead(movPin);&lt;br /&gt;
    Serial.println(val);&lt;br /&gt;
    delay(100);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%98%D0%9A-%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_HC-SR501&amp;diff=624</id>
		<title>ИК-датчик движения HC-SR501</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%98%D0%9A-%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_HC-SR501&amp;diff=624"/>
		<updated>2021-06-17T15:50:46Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:HC-sr5.jpg|мини|Внешний вид HC-SR501]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;HC-SR501&amp;#039;&amp;#039;&amp;#039; - пироэлектрический инфракрасный датчик движения, позволяет обнаруживать движение в контролируемой зоне. Представляет из себя модуль состоящий из ИК сенсора 500BP, линзы Френеля, и управляющей модулем микросхемы BISS0001. Режим работы модуля задается перемычкой (режим H или режим L).&lt;br /&gt;
&lt;br /&gt;
В режиме H при срабатывании датчика несколько раз подряд на его выходе (на OUT) остается высокий логический уровень. В режиме L на выходе при каждом срабатывании датчика на выход подается отдельный импульс.&lt;br /&gt;
&lt;br /&gt;
Не рекомендуется использовать датчик в местах с резкими перепадами температур - резкий всплеск инфракрасного излучения от нагрева он будет воспринимать как появление перемещающегося объекта, что может вызвать ложное срабатывание.&lt;br /&gt;
&lt;br /&gt;
HC-SR501 часто применяется в охранных сигнализациях, а так же в умных домах для контроля освещения при появлении в помещении человека.&lt;br /&gt;
&lt;br /&gt;
== Технические характеристики ==&lt;br /&gt;
&lt;br /&gt;
* Напряжение питания: 4.8В до 20В&lt;br /&gt;
* Статический ток: 50 мА&lt;br /&gt;
* Уровня выходного сигнала: 3.3 В / низкий 0 В&lt;br /&gt;
* Время задержки: 0.5 — 200с (регулируемая)&lt;br /&gt;
* Время блокировки: 2.5 с&lt;br /&gt;
* Угол работы: &amp;lt; 100&lt;br /&gt;
* Рабочая температура: -15С до + 70C&lt;br /&gt;
* Определение объектов: 23 мм&lt;br /&gt;
* Габариты: 33мм x 25мм x 24мм&lt;br /&gt;
На модуль установлена линза Френеля, которая фокусирует инфракрасные сигналы на пироэлектрический датчик под названием 500BP. Датчик называется PIR (Passive Infra-Red). Пассивный он потому, что для обнаружения движения не используется какая-либо дополнительная энергия, кроме той, что испускается самими объектами.&lt;br /&gt;
&lt;br /&gt;
500BP состоит из двух чувствительных элементов. Управляющая микросхема модуля регистрирует изменения сигналов от обоих элементов и по характеру их изменения обнаруживает движение объектов, испускающих инфракрасные сигналы (живых организмов).&lt;br /&gt;
&lt;br /&gt;
== Контакты датчика ==&lt;br /&gt;
&lt;br /&gt;
=== Назначение выводов: ===&lt;br /&gt;
Модуль HC-SR501 имеет 3 вывода:&lt;br /&gt;
&lt;br /&gt;
* VCC — положительное напряжение постоянного тока от 4,5 до 20 В постоянного тока.&lt;br /&gt;
* OUTPUT — логический выход на 3,3 вольта. LOW не указывает на обнаружение, HIGH означает, что кто-то был обнаружен.&lt;br /&gt;
* GND — заземление.&lt;br /&gt;
&lt;br /&gt;
=== Назначение перемычек: ===&lt;br /&gt;
&lt;br /&gt;
* H — это настройка Hold или Repeat. В этом положении HC-SR501 будет продолжать выдавать сигнал HIGH, пока он продолжает обнаруживать движение.&lt;br /&gt;
* L — Это параметр прерывания или без повтора. В этом положении выход будет оставаться HIGH в течение периода, установленного настройкой потенциометра TIME.&lt;br /&gt;
&lt;br /&gt;
[[Файл:14.jpg|мини|308x308пкс]]На плате HC-SR501 имеются дополнительные отверстия для двух компонентов, рядом расположена маркировка, посмотреть на нее можно сняв линзу Френеля.&lt;br /&gt;
&lt;br /&gt;
=== Назначение дополнительных отверстий: ===&lt;br /&gt;
&lt;br /&gt;
* RT — это предназначено для термистора или чувствительного к температуре резистора. Добавление этого позволяет использовать HC-SR501 в экстремальных температурах, а также в некоторой степени повышает точность работы детектора.&lt;br /&gt;
* RL — это соединение для светозависимого резистора или фоторезистора. Добавляя компонент, HC-SR501 будет работать только в темноте, что является общим приложением для чувствительных к движению систем освещения.&lt;br /&gt;
&lt;br /&gt;
== Подключение HC-SR501 к Ардуино Уно ==&lt;br /&gt;
[[Файл:IR motion схема1.png|мини|247x247пкс|Схема подключения]]&lt;br /&gt;
Для соединения с микроконтроллером или напрямую с реле у HC-SR501 имеется три вывода. Подключаем их к Ардуино по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|HC-SR501&lt;br /&gt;
|GND&lt;br /&gt;
|VCC&lt;br /&gt;
|OUT&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Ардуино Уно&lt;br /&gt;
|GND&lt;br /&gt;
| +5V&lt;br /&gt;
|2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Программа ===&lt;br /&gt;
[[Файл:IR motion bb.png|мини|348x348пкс|Внешний вид макета]]&lt;br /&gt;
Как уже было сказано, цифровой выход датчика HC-SR501 генерирует высокий уровень сигнала при срабатывании. Напишем простую программу, которая будет отправлять в последовательный порт «1» если датчик увидел движение, и «0» в противном случае.&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Imagekod.png&amp;diff=623</id>
		<title>Файл:Imagekod.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Imagekod.png&amp;diff=623"/>
		<updated>2021-06-17T15:35:06Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;kod&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%98%D0%9A-%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_HC-SR501&amp;diff=622</id>
		<title>ИК-датчик движения HC-SR501</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%98%D0%9A-%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_HC-SR501&amp;diff=622"/>
		<updated>2021-06-17T15:05:06Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: Новая страница: «Внешний вид HC-SR501 &amp;#039;&amp;#039;&amp;#039;HC-SR501&amp;#039;&amp;#039;&amp;#039; - пироэлектрический инфракрасный датчик движ...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:HC-sr5.jpg|мини|Внешний вид HC-SR501]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;HC-SR501&amp;#039;&amp;#039;&amp;#039; - пироэлектрический инфракрасный датчик движения, позволяет обнаруживать движение в контролируемой зоне. Представляет из себя модуль состоящий из ИК сенсора 500BP, линзы Френеля, и управляющей модулем микросхемы BISS0001. Режим работы модуля задается перемычкой (режим H или режим L).&lt;br /&gt;
&lt;br /&gt;
В режиме H при срабатывании датчика несколько раз подряд на его выходе (на OUT) остается высокий логический уровень. В режиме L на выходе при каждом срабатывании датчика на выход подается отдельный импульс.&lt;br /&gt;
&lt;br /&gt;
Не рекомендуется использовать датчик в местах с резкими перепадами температур - резкий всплеск инфракрасного излучения от нагрева он будет воспринимать как появление перемещающегося объекта, что может вызвать ложное срабатывание.&lt;br /&gt;
&lt;br /&gt;
HC-SR501 часто применяется в охранных сигнализациях, а так же в умных домах для контроля освещения при появлении в помещении человека.&lt;br /&gt;
&lt;br /&gt;
== Технические характеристики ==&lt;br /&gt;
&lt;br /&gt;
* Напряжение питания: 4.8В до 20В&lt;br /&gt;
* Статический ток: 50 мА&lt;br /&gt;
* Уровня выходного сигнала: 3.3 В / низкий 0 В&lt;br /&gt;
* Время задержки: 0.5 — 200с (регулируемая)&lt;br /&gt;
* Время блокировки: 2.5 с&lt;br /&gt;
* Угол работы: &amp;lt; 100&lt;br /&gt;
* Рабочая температура: -15С до + 70C&lt;br /&gt;
* Определение объектов: 23 мм&lt;br /&gt;
* Габариты: 33мм x 25мм x 24мм&lt;br /&gt;
&lt;br /&gt;
[[Файл:14.jpg|мини|308x308пкс]]&lt;br /&gt;
На модуль установлена линза Френеля, которая фокусирует инфракрасные сигналы на пироэлектрический датчик под названием 500BP. Датчик называется PIR (Passive Infra-Red). Пассивный он потому, что для обнаружения движения не используется какая-либо дополнительная энергия, кроме той, что испускается самими объектами.&lt;br /&gt;
&lt;br /&gt;
500BP состоит из двух чувствительных элементов. Управляющая микросхема модуля регистрирует изменения сигналов от обоих элементов и по характеру их изменения обнаруживает движение объектов, испускающих инфракрасные сигналы (живых организмов).&lt;br /&gt;
&lt;br /&gt;
== Контакты датчика ==&lt;br /&gt;
&lt;br /&gt;
=== Назначение выводов: ===&lt;br /&gt;
Модуль HC-SR501 имеет 3 вывода:&lt;br /&gt;
&lt;br /&gt;
* VCC — положительное напряжение постоянного тока от 4,5 до 20 В постоянного тока.&lt;br /&gt;
* OUTPUT — логический выход на 3,3 вольта. LOW не указывает на обнаружение, HIGH означает, что кто-то был обнаружен.&lt;br /&gt;
* GND — заземление.&lt;br /&gt;
&lt;br /&gt;
=== Назначение перемычек: ===&lt;br /&gt;
&lt;br /&gt;
* H — это настройка Hold или Repeat. В этом положении HC-SR501 будет продолжать выдавать сигнал HIGH, пока он продолжает обнаруживать движение.&lt;br /&gt;
* L — Это параметр прерывания или без повтора. В этом положении выход будет оставаться HIGH в течение периода, установленного настройкой потенциометра TIME.&lt;br /&gt;
&lt;br /&gt;
На плате HC-SR501 имеются дополнительные отверстия для двух компонентов, рядом расположена маркировка, посмотреть на нее можно сняв линзу Френеля.&lt;br /&gt;
&lt;br /&gt;
=== Назначение дополнительных отверстий: ===&lt;br /&gt;
&lt;br /&gt;
* RT — это предназначено для термистора или чувствительного к температуре резистора. Добавление этого позволяет использовать HC-SR501 в экстремальных температурах, а также в некоторой степени повышает точность работы детектора.&lt;br /&gt;
* RL — это соединение для светозависимого резистора или фоторезистора. Добавляя компонент, HC-SR501 будет работать только в темноте, что является общим приложением для чувствительных к движению систем освещения.&lt;br /&gt;
&lt;br /&gt;
== Подключение HC-SR501 к Ардуино Уно ==&lt;br /&gt;
[[Файл:IR motion схема1.png|мини|247x247пкс|Схема подключения]]&lt;br /&gt;
Для соединения с микроконтроллером или напрямую с реле у HC-SR501 имеется три вывода. Подключаем их к Ардуино по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|HC-SR501&lt;br /&gt;
|GND&lt;br /&gt;
|VCC&lt;br /&gt;
|OUT&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Ардуино Уно&lt;br /&gt;
|GND&lt;br /&gt;
| +5V&lt;br /&gt;
|2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Программа ===&lt;br /&gt;
[[Файл:IR motion bb.png|мини|348x348пкс|Внешний вид макета]]&lt;br /&gt;
Как уже было сказано, цифровой выход датчика HC-SR501 генерирует высокий уровень сигнала при срабатывании. Напишем простую программу, которая будет отправлять в последовательный порт «1» если датчик увидел движение, и «0» в противном случае.&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:IR_motion_bb.png&amp;diff=621</id>
		<title>Файл:IR motion bb.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:IR_motion_bb.png&amp;diff=621"/>
		<updated>2021-06-17T15:01:17Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Макет&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:IR_motion_%D1%81%D1%85%D0%B5%D0%BC%D0%B01.png&amp;diff=620</id>
		<title>Файл:IR motion схема1.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:IR_motion_%D1%81%D1%85%D0%B5%D0%BC%D0%B01.png&amp;diff=620"/>
		<updated>2021-06-17T14:58:12Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;схема&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:14.jpg&amp;diff=619</id>
		<title>Файл:14.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:14.jpg&amp;diff=619"/>
		<updated>2021-06-17T14:39:40Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;15&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:HC-sr5.jpg&amp;diff=618</id>
		<title>Файл:HC-sr5.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:HC-sr5.jpg&amp;diff=618"/>
		<updated>2021-06-17T14:28:00Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HC-sr5&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=617</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=617"/>
		<updated>2021-06-17T14:16:10Z</updated>

		<summary type="html">&lt;p&gt;Ильнар Зиатдинов: /* Описание модулей */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Добро пожаловать на Вики!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Здесь Вы найдете материалы по нашим и сторонним изделиям, программированию и инженерным решениям.&lt;br /&gt;
&lt;br /&gt;
== Редактирование ==&lt;br /&gt;
[[Файл:LogIn screenshot.png|200x200пкс|альт=|мини|Расположение кнопки входа]]Для добавления и редактирования статей: &lt;br /&gt;
&lt;br /&gt;
# создайте учетную запись или выполните вход (кнопка &amp;#039;&amp;#039;&amp;#039;Аноним&amp;#039;&amp;#039;&amp;#039; справа сверху)&lt;br /&gt;
# отредактируйте данную страницу, добавив ссылку &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;на пока ещё не созданную страницу&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; в один из разделов (или создав новый)&lt;br /&gt;
# сохраните изменения и перейдите по ссылке&lt;br /&gt;
# Отредактируйте новую страницу, заполнив её содержанием по выбранной теме. Не забудьте нажать сохранить изменения.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Описание модулей ==&lt;br /&gt;
*[[Ультразвуковой дальномер HC-SR04]]&lt;br /&gt;
*[[Драйвер двигателя L298N]]&lt;br /&gt;
*[[Датчик линии на базе TCRT5000]]&lt;br /&gt;
*[[Драйвер моторов двухканальный tb6680|Драйвер двухканальный на базе микросхемы tb6612fng]]&lt;br /&gt;
*[[Лазерные дальномеры|Лазерные дальномеры - Laser Sensor]]&lt;br /&gt;
*[[Шаговый электродвигатель]]&lt;br /&gt;
*[[Оптические энкодеры|Оптические энкодеры - FC-03 на базе ITR9608]]&lt;br /&gt;
*[[Подключение гироскопа GY-521 MPU-6050 к Arduio]]&lt;br /&gt;
*[[АЦП на базе микросхемы hx711|АЦП на базе микросхемы HX711]]&lt;br /&gt;
*[[Сервопривод]]&lt;br /&gt;
*[[Arduino Shield]]&lt;br /&gt;
*[[Драйвер двигателя L293D]]&lt;br /&gt;
*[[Зуммер]]&lt;br /&gt;
*[[Сторожевой таймер|Сторожевой таймер | WatchDog Timer]]&lt;br /&gt;
*[[Мотор-редуктор]]&lt;br /&gt;
*[[Четырехразрядный семисегментный индикатор]]&lt;br /&gt;
*[[Ethernet Shield на базе WIZnet w5100]]&lt;br /&gt;
*[[Использование АЦП в микроконтроллере AVR ATmega16]]&lt;br /&gt;
*[[Жидкокристаллический дисплей]]&lt;br /&gt;
*[[ИК-датчик движения HC-SR501]]&lt;br /&gt;
&lt;br /&gt;
== Процессы и подходы ==&lt;br /&gt;
&lt;br /&gt;
* [[ШИМ]]&lt;br /&gt;
* [[Калибровка]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
&lt;br /&gt;
== Алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
* [[Движение робота по черной ленте]]&lt;br /&gt;
* [[Алгоритм A*]]&lt;br /&gt;
* [[Алгоритм D*]]&lt;br /&gt;
* [[Объезд препятствий]]&lt;br /&gt;
* [[SLAM]]&lt;br /&gt;
* [[Алгоритм матричной клавиатуры]]&lt;br /&gt;
&lt;br /&gt;
== Датчики ==&lt;br /&gt;
&lt;br /&gt;
* [[Инфракрасный Датчик]]&lt;br /&gt;
* [[Тензодатчик]]&lt;br /&gt;
* [[Датчик Холла]]&lt;br /&gt;
* [[Доплеровский датчик]]&lt;br /&gt;
* [[Датчик влажности воздуха]]&lt;br /&gt;
* [[Акселерометр]]&lt;br /&gt;
* [[Датчики влажности почвы|Датчик влажности почвы]]&lt;br /&gt;
* [[Датчик наклона]]&lt;br /&gt;
* [[Датчик цвета]]&lt;br /&gt;
* [[Датчик-компас]]&lt;br /&gt;
* [[Энкодер]]&lt;br /&gt;
* [[Датчик препятствия|Инфракрасный датчик препятствий YL-63]]&lt;br /&gt;
* [[Датчик освещенности]]&lt;br /&gt;
* [[Датчик температуры]]&lt;br /&gt;
* [[Датчик уровня звука]]&lt;br /&gt;
* [[Датчик уровня воды]]&lt;br /&gt;
* [[Датчик вибрации]]&lt;br /&gt;
* [[Датчик угарного газа]]&lt;br /&gt;
* [[Датчик жестов]]&lt;br /&gt;
* [[Кнопка]]&lt;br /&gt;
* [[Датчик давления]]&lt;br /&gt;
* [[Пьезоэлектрический датчик]]&lt;br /&gt;
* [[Датчик движения]]&lt;br /&gt;
* [[Датчик положения]]&lt;br /&gt;
&lt;br /&gt;
== Советы и рекомендации ==&lt;br /&gt;
&lt;br /&gt;
* [[Технология проектирования печатных плат]]&lt;br /&gt;
* [[Полезные советы по Webots]]&lt;br /&gt;
* [[Устанавливаем драйвер Ардуино - Подключаем порт]]&lt;br /&gt;
* [[Как выбрать Arduino]]&lt;br /&gt;
&lt;br /&gt;
== Программирование MIK32 в среде eclipse ==&lt;br /&gt;
&lt;br /&gt;
* [[Быстрый старт с MIK32]]&lt;br /&gt;
&lt;br /&gt;
== Некоторые полезные ресурсы ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Список возможных настроек];&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Manual:FAQ/ru Часто задаваемые вопросы и ответы по MediaWiki];&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki].&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Перевод MediaWiki на свой язык]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Узнайте, как бороться со спамом в вашей вики]&lt;/div&gt;</summary>
		<author><name>Ильнар Зиатдинов</name></author>
	</entry>
</feed>