<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://wikihandbk.com/ruwiki/index.php?action=history&amp;feed=atom&amp;title=Arduino%3A%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B%2FEsploraTable</id>
	<title>Arduino:Примеры/EsploraTable - История изменений</title>
	<link rel="self" type="application/atom+xml" href="http://wikihandbk.com/ruwiki/index.php?action=history&amp;feed=atom&amp;title=Arduino%3A%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B%2FEsploraTable"/>
	<link rel="alternate" type="text/html" href="http://wikihandbk.com/ruwiki/index.php?title=Arduino:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B/EsploraTable&amp;action=history"/>
	<updated>2026-05-14T12:36:22Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>http://wikihandbk.com/ruwiki/index.php?title=Arduino:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B/EsploraTable&amp;diff=8495897&amp;oldid=prev</id>
		<title>EducationBot в 08:34, 8 июля 2023</title>
		<link rel="alternate" type="text/html" href="http://wikihandbk.com/ruwiki/index.php?title=Arduino:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B/EsploraTable&amp;diff=8495897&amp;oldid=prev"/>
		<updated>2023-07-08T08:34:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 12:34, 8 июля 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l271&quot;&gt;Строка 271:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 271:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;references /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;references /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Навигационная таблица/Портал/Arduino}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Категория:Пример]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Категория:Пример]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Категория:Примеры]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Категория:Примеры]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Категория:Пример программирования Arduino]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Категория:Пример программирования Arduino]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Категория:Примеры программирования Arduino]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Категория:Примеры программирования Arduino]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikihandbkcom:diff::1.12:old-7735703:rev-8495897 --&gt;
&lt;/table&gt;</summary>
		<author><name>EducationBot</name></author>
	</entry>
	<entry>
		<id>http://wikihandbk.com/ruwiki/index.php?title=Arduino:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B/EsploraTable&amp;diff=7735703&amp;oldid=prev</id>
		<title>EducationBot в 08:32, 20 мая 2023</title>
		<link rel="alternate" type="text/html" href="http://wikihandbk.com/ruwiki/index.php?title=Arduino:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B/EsploraTable&amp;diff=7735703&amp;oldid=prev"/>
		<updated>2023-05-20T08:32:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 12:32, 20 мая 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l33&quot;&gt;Строка 33:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 33:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Если снова нажать на кнопку, то '''Esplora''' перестанет отправлять данные.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Если снова нажать на кнопку, то '''Esplora''' перестанет отправлять данные.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;c&quot; line=&quot;GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot; enclose=&quot;div&lt;/del&gt;&quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;c&quot; line=&quot;GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS&quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;/*&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;/*&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Вывод данных от акселерометра Esplora на электронную таблицу&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Вывод данных от акселерометра Esplora на электронную таблицу&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>EducationBot</name></author>
	</entry>
	<entry>
		<id>http://wikihandbk.com/ruwiki/index.php?title=Arduino:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B/EsploraTable&amp;diff=21075&amp;oldid=prev</id>
		<title>Myagkij: Замена текста — «&lt;syntaxhighlight lang=&quot;c&quot; line=&quot;GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS&quot;&gt;» на «&lt;syntaxhighlight lang=&quot;c&quot; line=&quot;GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS&quot; enclose=&quot;div&quot;&gt;»</title>
		<link rel="alternate" type="text/html" href="http://wikihandbk.com/ruwiki/index.php?title=Arduino:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B/EsploraTable&amp;diff=21075&amp;oldid=prev"/>
		<updated>2016-12-13T21:42:39Z</updated>

		<summary type="html">&lt;p&gt;Замена текста — «&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS&amp;quot;&amp;gt;» на «&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Arduino панель перехода}}&lt;br /&gt;
{{Перевод от Сubewriter}}&lt;br /&gt;
{{Myagkij-редактор}}&lt;br /&gt;
&lt;br /&gt;
==Вывод данных от акселерометра Esplora на электронную таблицу&amp;lt;ref&amp;gt;[http://www.arduino.cc/en/Tutorial/EsploraTable Arduino - Accelerometer Table]&amp;lt;/ref&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
Этот пример упрощает сбор данных от акселерометра '''Esplora'''. То есть этот скетч делает так, что '''Esplora''' собирает данные от своего акселерометра, а затем периодически передает их на компьютер, где печатает в электронной таблице.&lt;br /&gt;
&lt;br /&gt;
Среди элементов '''Esplora''', задействованных в этом примере, помимо акселерометра значатся кнопка '''«Вниз»''', '''RGB'''-светодиод и линейный потенциометр. Первая отвечает за начало/завершение процесса регистрации данных, второй – за информирование о том или ином состоянии этого процесса, а третий – для того, чтобы пользователь мог задать интервал в считывании данных от акселерометра.&lt;br /&gt;
&lt;br /&gt;
==Необходимое оборудование==&lt;br /&gt;
&lt;br /&gt;
* Плата '''Arduino Esplora''';&lt;br /&gt;
&lt;br /&gt;
==Цепь==&lt;br /&gt;
&lt;br /&gt;
Для этого примера нужна лишь '''Arduino Esplora'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Esplora_Table.png]]&lt;br /&gt;
&lt;br /&gt;
Расположение на '''Esplora''' акселерометра, слайдера, '''RGB'''-светодиода и кнопки '''«Вниз»''', а также то, какие роли они выполняют в этом скетче&lt;br /&gt;
&lt;br /&gt;
==Код==&lt;br /&gt;
&lt;br /&gt;
В этом скетче '''Esplora''' будет выступать в качестве клавиатуры. То есть, нажимая на кнопку '''«Вниз»''', вы будете отсылать данные на компьютер, к которому подключена '''Esplora'''.&lt;br /&gt;
&lt;br /&gt;
Символы, отсылаемые на компьютер, будут отформатированы, чтобы подходить к столбцам и строкам электронной таблицы. Каждая строка будет содержать информацию о времени, а также данные от трех осей акселерометра.&lt;br /&gt;
&lt;br /&gt;
Чтобы начать процесс, нажмите кнопку '''«Вниз»'''. С этого момента '''Esplora''' начнет выступать для компьютера в роли клавиатуры. Изменение позиции линейного потенциометра изменяет интервал между считываниями данных с акселерометра.&lt;br /&gt;
&lt;br /&gt;
Если '''RGB'''-светодиод загорится синим, это значит, что '''Esplora''' готова, но данные не отправляет. Нажмите на кнопку '''«Вниз»''', и '''RGB'''-светодиод замигает зеленым. Во время передачи данных с '''Esplora''' на электронную таблицу '''RGB'''-светодиод будет гореть красным. &lt;br /&gt;
&lt;br /&gt;
Если снова нажать на кнопку, то '''Esplora''' перестанет отправлять данные.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Вывод данных от акселерометра Esplora на электронную таблицу&lt;br /&gt;
&lt;br /&gt;
Делает так, что компьютер начинает видеть Esplora как клавиатуру,&lt;br /&gt;
которая печатает данные от датчика в таблицу, ряд за рядом. &lt;br /&gt;
&lt;br /&gt;
После запуска скетч не делает ничего. &lt;br /&gt;
Он ждет, пока вы откроете электронную таблицу (например, в Google Drive),&lt;br /&gt;
чтобы он мог вписать туда свои данные.&lt;br /&gt;
Затем вам нужно нажать на Esplora кнопку «Вниз», после чего он начнет печатать заголовки для таблицы, а также первую строку с данными. &lt;br /&gt;
Далее он ждет немного, печатает еще одну строку и т.д.&lt;br /&gt;
&lt;br /&gt;
Временной интервал между печатанием строк определяется слайдером линейного потенциометра.&lt;br /&gt;
Если сдвинуть его до конца влево, то скетч будет ждать 10 секунд;&lt;br /&gt;
если до конца вправо, то 5 минут. &lt;br /&gt;
То есть, если поставить слайдер где-то посередине, то скетч будет ждать где-то около 2,5 минут. &lt;br /&gt;
&lt;br /&gt;
Если снова нажать на кнопку «Вниз», это остановит печать данных на электронную таблицу.&lt;br /&gt;
&lt;br /&gt;
Цвет RGB-светодиода сообщает, чем скетч занимается в данный момент:&lt;br /&gt;
синий – простой; скетч ждет, когда вы нажмете на кнопку, чтобы начать регистрацию данных,&lt;br /&gt;
зеленый – активация; печать скоро начнется,&lt;br /&gt;
красный – печать данных на PC.&lt;br /&gt;
&lt;br /&gt;
Создан 22 ноября 2012 Энрико Гуэли (Enrico Gueli, enrico.gueli@gmail.com),&lt;br /&gt;
модифицирован 24 ноября 2012 Томом Иго (Tom Igoe).&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Esplora.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
Эта переменная будет говорить о том, идет ли в данный момент регистрация данных или нет.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
boolean active = false;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
Эта переменная хранит информацию о времени в будущем,&lt;br /&gt;
когда скетчу нужно будет сосчитать данные с акселерометра в очередной раз.&lt;br /&gt;
Скетч постоянно сверяет ее значение со значением от функции millis().&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
unsigned long nextSampleAt = 0;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
В этой переменной будет храниться значение от функции millis(),&lt;br /&gt;
возвращаемое при активации очередного этапа регистрации данных.&lt;br /&gt;
Она нужна, чтобы ввести правильное значение в столбце «Time» (&amp;quot;Время&amp;quot;) электронной таблицы.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
unsigned long startedAt = 0;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
Когда переменной active присваивается значение true, &lt;br /&gt;
то же значение получает и эта переменная.&lt;br /&gt;
Это нужно затем, чтобы код, выполняющий задачи сразу после активации,&lt;br /&gt;
начал работать чуть позже, чем код, который говорит «запускаем активацию».&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
boolean justActivated = false;&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;
boolean lastStartBtn = HIGH;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
Код инициализации. &lt;br /&gt;
Виртуальная USB-клавиатура должна быть инициализирована.&lt;br /&gt;
Инициализация класса Serial требуется в отладочных целях.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Keyboard.begin();&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
Этот код будет работать непрерывно.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  &lt;br /&gt;
  /*&lt;br /&gt;
  Примечание: в данном случае не используется стандартная&lt;br /&gt;
  «ардуиновская» функция delay(),&lt;br /&gt;
  поскольку во время такой паузы сделать особо ничего нельзя.&lt;br /&gt;
  Наша собственная версия этой функции, наоборот,&lt;br /&gt;
  позволяет проверять, нажималась ли кнопка «Вниз» или нет. &lt;br /&gt;
  */&lt;br /&gt;
&lt;br /&gt;
  activeDelay(50);&lt;br /&gt;
&lt;br /&gt;
  /*&lt;br /&gt;
  Функция checkSwitchPress() может придать переменной justActivated значение true.&lt;br /&gt;
  И здесь мы проверяем состояние этой переменной, &lt;br /&gt;
чтобы запустить печать табличных заголовков и сделать начальную преднастройку.&lt;br /&gt;
  */&lt;br /&gt;
&lt;br /&gt;
  if (justActivated == true) {&lt;br /&gt;
    justActivated = false; // делаем это всего раз&lt;br /&gt;
    printHeaders();&lt;br /&gt;
    // Делаем так, чтобы следующее считывание запустилось как можно быстрее:&lt;br /&gt;
    nextSampleAt = startedAt = millis();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (active == true) {&lt;br /&gt;
    if (nextSampleAt &amp;lt; millis()) {&lt;br /&gt;
      // Приступаем к определению позиции слайдера линейного потенциометра:&lt;br /&gt;
      int slider = Esplora.readSlider();&lt;br /&gt;
      // Эта строчка кода подгоняет диапазон линейного потенциометра&lt;br /&gt;
      // к временному диапазону между 10 и 290 секундами:&lt;br /&gt;
      int sampleInterval = map(slider, 0, 1023, 10, 290);&lt;br /&gt;
      nextSampleAt = millis() + sampleInterval * 1000;&lt;br /&gt;
&lt;br /&gt;
      logAndPrint();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Делаем так, чтобы RGB-светодиод мигал зеленым цветом&lt;br /&gt;
    // с периодичностью 200 миллисекунд в секунду:&lt;br /&gt;
    unsigned int ms = millis() % 1000;&lt;br /&gt;
    if (ms &amp;lt; 200)&lt;br /&gt;
      Esplora.writeGreen(50);&lt;br /&gt;
    else&lt;br /&gt;
      Esplora.writeGreen(0);&lt;br /&gt;
&lt;br /&gt;
    Esplora.writeBlue(0);&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
    // Во время простоя делаем так, чтобы RGB-светодиод горел синим цветом:  &lt;br /&gt;
    Esplora.writeBlue(20);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
Печатаем заголовки.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
void printHeaders() {&lt;br /&gt;
  Keyboard.print(&amp;quot;Time&amp;quot;);  //  &amp;quot;Время&amp;quot;&lt;br /&gt;
  Keyboard.write(KEY_TAB);&lt;br /&gt;
  activeDelay(300); // некоторые электронные таблицы довольно медлительны (например, от Google)&lt;br /&gt;
  // Печатаем заголовки для осей акселерометра:&lt;br /&gt;
  Keyboard.print(&amp;quot;Accel X&amp;quot;);  //  &amp;quot;Ось X&amp;quot;&lt;br /&gt;
  Keyboard.write(KEY_TAB);&lt;br /&gt;
  activeDelay(300);&lt;br /&gt;
  Keyboard.print(&amp;quot;Accel Y&amp;quot;);  //  &amp;quot;Ось Y&amp;quot;&lt;br /&gt;
  Keyboard.write(KEY_TAB);&lt;br /&gt;
  activeDelay(300);&lt;br /&gt;
  Keyboard.print(&amp;quot;Accel Z&amp;quot;);  //  &amp;quot;Ось Z&amp;quot;&lt;br /&gt;
  Keyboard.println();&lt;br /&gt;
  activeDelay(300);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void logAndPrint() {&lt;br /&gt;
  // Считываем данные со всех осей за один раз,&lt;br /&gt;
  // потому что между «нажатиями» на клавиши стоят паузы:&lt;br /&gt;
  unsigned long timeSecs = (millis() - startedAt) / 1000;&lt;br /&gt;
  int xAxis = Esplora.readAccelerometer(X_AXIS);&lt;br /&gt;
  int yAxis = Esplora.readAccelerometer(Y_AXIS);&lt;br /&gt;
  int zAxis = Esplora.readAccelerometer(Z_AXIS);&lt;br /&gt;
&lt;br /&gt;
  Esplora.writeRed(100);&lt;br /&gt;
&lt;br /&gt;
  Keyboard.print(timeSecs);&lt;br /&gt;
  Keyboard.write(KEY_TAB);&lt;br /&gt;
  activeDelay(300);&lt;br /&gt;
  Keyboard.print(xAxis);&lt;br /&gt;
  Keyboard.write(KEY_TAB);&lt;br /&gt;
  activeDelay(300);&lt;br /&gt;
  Keyboard.print(yAxis);&lt;br /&gt;
  Keyboard.write(KEY_TAB);&lt;br /&gt;
  activeDelay(300);&lt;br /&gt;
  Keyboard.print(zAxis);&lt;br /&gt;
  Keyboard.println();&lt;br /&gt;
  activeDelay(300);&lt;br /&gt;
  Keyboard.write(KEY_HOME);&lt;br /&gt;
&lt;br /&gt;
  Esplora.writeRed(0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
Эта функция аналогична delay(), но, в отличие от «близнеца», &lt;br /&gt;
не останавливает программу, а позволяет ей что-то делать.&lt;br /&gt;
В частности, она вызывает функцию checkSwitchPress().&lt;br /&gt;
Примечание 1: пауза может длиться дольше указанного времени, но не меньше.&lt;br /&gt;
Примечание 2: могут быть проблемы с синхронизацией данных. &lt;br /&gt;
Например, вызов функции activeDelay() может поменять значение некоторых переменных. &lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
void activeDelay(unsigned long amount) {&lt;br /&gt;
  unsigned long at = millis() + amount;&lt;br /&gt;
  while (millis() &amp;lt; at) {&lt;br /&gt;
    checkSwitchPress();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
Эта функция считывает состояние кнопки. Если она видит, что кнопка нажата, то меняет значение переменной active.&lt;br /&gt;
Если active получает значение true, то это же самое значение&lt;br /&gt;
присваивается и переменной justActivated, чтобы функция loop() все сделала как надо.&lt;br /&gt;
Необходимо, чтобы эта функция вызывалась как можно чаще и делала как можно меньше,&lt;br /&gt;
поскольку она может быть вызвана во время работы другой функции.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
void checkSwitchPress() {&lt;br /&gt;
  boolean startBtn = Esplora.readButton(SWITCH_DOWN);&lt;br /&gt;
&lt;br /&gt;
  if (startBtn != lastStartBtn) {&lt;br /&gt;
    if (startBtn == HIGH) { // кнопка отпущена&lt;br /&gt;
      active = !active;&lt;br /&gt;
      if (active)&lt;br /&gt;
        justActivated = true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    lastStartBtn = startBtn;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== См.также==&lt;br /&gt;
&lt;br /&gt;
# Mouse and Keyboard&lt;br /&gt;
# Esplora.readSlider()&lt;br /&gt;
# Esplora.readButton()&lt;br /&gt;
# Esplora.readAccelerometer()&lt;br /&gt;
# Esplora.writeRed()&lt;br /&gt;
# Esplora.writeGreen()&lt;br /&gt;
# Esplora.writeBlue()&lt;br /&gt;
&lt;br /&gt;
==Внешние ссылки==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
[[Категория:Пример]]&lt;br /&gt;
[[Категория:Примеры]]&lt;br /&gt;
[[Категория:Пример программирования Arduino]]&lt;br /&gt;
[[Категория:Примеры программирования Arduino]]&lt;/div&gt;</summary>
		<author><name>Myagkij</name></author>
	</entry>
</feed>