<?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%2FBarometricPressureSensor</id>
	<title>Arduino:Примеры/BarometricPressureSensor - История изменений</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%2FBarometricPressureSensor"/>
	<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/BarometricPressureSensor&amp;action=history"/>
	<updated>2026-04-06T23:12:09Z</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/BarometricPressureSensor&amp;diff=8495834&amp;oldid=prev</id>
		<title>EducationBot в 08:32, 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/BarometricPressureSensor&amp;diff=8495834&amp;oldid=prev"/>
		<updated>2023-07-08T08:32:41Z</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, 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-l177&quot;&gt;Строка 177:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 177:&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-7673332:rev-8495834 --&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/BarometricPressureSensor&amp;diff=7673332&amp;oldid=prev</id>
		<title>EducationBot в 14:18, 14 мая 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/BarometricPressureSensor&amp;diff=7673332&amp;oldid=prev"/>
		<updated>2023-05-14T14:18:19Z</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;Версия от 18:18, 14 мая 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-l27&quot;&gt;Строка 27:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 27:&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;Разобравшись с температурой, скетч возьмется за данные о давлении. Он будет считывать их в два этапа: сначала '''«верхние»''' '''3 бита''', а затем '''«нижние» 16'''. Далее он  сольет эти два значения в одну целочисленную переменную – сначала сдвинет первые '''3 бита''' при помощи битового сдвига, а потом соединит их с оставшимися '''16 битами''' при помощи побитового '''«ИЛИ»'''. Затем это '''19-битное''' значение будет поделено на '''4''', чтобы получить давление в '''Паскалях'''.  &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;Разобравшись с температурой, скетч возьмется за данные о давлении. Он будет считывать их в два этапа: сначала '''«верхние»''' '''3 бита''', а затем '''«нижние» 16'''. Далее он  сольет эти два значения в одну целочисленную переменную – сначала сдвинет первые '''3 бита''' при помощи битового сдвига, а потом соединит их с оставшимися '''16 битами''' при помощи побитового '''«ИЛИ»'''. Затем это '''19-битное''' значение будет поделено на '''4''', чтобы получить давление в '''Паскалях'''.  &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;Показ данных от датчика атмосферного давления SCP1000&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;Показ данных от датчика атмосферного давления SCP1000&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikihandbkcom:diff::1.12:old-21098:rev-7673332 --&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/BarometricPressureSensor&amp;diff=21098&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/BarometricPressureSensor&amp;diff=21098&amp;oldid=prev"/>
		<updated>2016-12-13T21:45:24Z</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;
==Использование SPI в считывании данных от датчика атмосферного давления&amp;lt;ref&amp;gt;[https://www.arduino.cc/en/Tutorial/BarometricPressureSensor Arduino - Using SPI to read a Barometric Pressure Sensor]&amp;lt;/ref&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
Этот пример показывает, как использовать библиотеку '''SPI''' ('''Serial Peripheral Interface''', т.е. '''«последовательный периферийный интерфейс»''') для считывания данных с датчика атмосферного давления '''SCP1000'''. Больше информации о '''SPI''' можно прочесть [https://www.arduino.cc/en/Reference/SPI здесь].&lt;br /&gt;
&lt;br /&gt;
==Необходимое оборудование==&lt;br /&gt;
&lt;br /&gt;
* Плата с датчиком атмосферного давления '''SCP1000''';&lt;br /&gt;
* Плата '''Arduino''';&lt;br /&gt;
* Макетная плата '''Breadboard''' или плата для прототипирования;&lt;br /&gt;
&lt;br /&gt;
==Цепь==&lt;br /&gt;
&lt;br /&gt;
[[File:BaromettricPressureSensor_bb.png]]&lt;br /&gt;
&lt;br /&gt;
==Схема==&lt;br /&gt;
&lt;br /&gt;
[[File:BaromettricPressureSensor_sch.png]]&lt;br /&gt;
&lt;br /&gt;
Датчик '''SCP1000''' может считывать как атмосферное давление, так и температуру, а затем передавать эти данные через '''SPI'''. Более подробно о регистрах управления смотрите в [http://www.sparkfun.com/datasheets/Components/SCP1000-D01.pdf «даташите» SCP1000].&lt;br /&gt;
&lt;br /&gt;
В скетче ниже Arduino начинает с настройки регистров конфигурации '''SCP1000''' – это происходит в блоке setup(). Далее в loop() он настраивает датчик таким образом, чтобы тот считывал данные в режиме высокого разрешения. Это значит, что данные об атмосферном давлении будут возвращены в '''19-битном значении''', а о температуре – '''в 16-битном'''. Далее это '''16-битное''' значение будет поделено на '''20''', чтобы получить температуру в градусах по Цельсию, а затем показано на '''Serial Monitor'''.&lt;br /&gt;
&lt;br /&gt;
Разобравшись с температурой, скетч возьмется за данные о давлении. Он будет считывать их в два этапа: сначала '''«верхние»''' '''3 бита''', а затем '''«нижние» 16'''. Далее он  сольет эти два значения в одну целочисленную переменную – сначала сдвинет первые '''3 бита''' при помощи битового сдвига, а потом соединит их с оставшимися '''16 битами''' при помощи побитового '''«ИЛИ»'''. Затем это '''19-битное''' значение будет поделено на '''4''', чтобы получить давление в '''Паскалях'''. &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;
Показ данных от датчика атмосферного давления SCP1000&lt;br /&gt;
 &lt;br /&gt;
Показывает на Serial Monitor данные от датчика атмосферного давления.&lt;br /&gt;
Использует библиотеку SPI. Более подробно об SCP1000 читайте тут:&lt;br /&gt;
http://www.sparkfun.com/commerce/product_info.php?products_id=8161&lt;br /&gt;
http://www.vti.fi/en/support/obsolete_products/pressure_sensors&lt;br /&gt;
&lt;br /&gt;
Скетч адаптирован к SCP1000-примеру Нейтана Зидле (Nathan Seidle) для PIC:&lt;br /&gt;
http://www.sparkfun.com/datasheets/Sensors/SCP1000-Testing.zip&lt;br /&gt;
&lt;br /&gt;
Цепь:&lt;br /&gt;
* Датчик SCP1000 подсоединен к 6-ому, 7-ому, 10-ому, 11-ому, 12-ому и 13-ому контактам Arduino&lt;br /&gt;
* DRDY – 6-ой контакт&lt;br /&gt;
* CSB – 7-ой контакт&lt;br /&gt;
* MOSI – 11-ый контакт&lt;br /&gt;
* MISO – 12-ый контакт&lt;br /&gt;
* SCK – 13-ый контакт&lt;br /&gt;
 &lt;br /&gt;
Создан 31 июля 2010,&lt;br /&gt;
модифицирован 14 августа 2010 Томом Иго (Tom Igoe).&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
// Датчик коммуницирует через SPI, поэтому подключаем соответствующую библиотеку:&lt;br /&gt;
#include &amp;lt;SPI.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Адреса регистров памяти SCP1000:&lt;br /&gt;
const int PRESSURE = 0x1F;      // 3 самых важных бита в данных о давлении &lt;br /&gt;
const int PRESSURE_LSB = 0x20;  // 16 менее важных бита в данных о давлении&lt;br /&gt;
const int TEMPERATURE = 0x21;   // 16 битов данных о температуре&lt;br /&gt;
const byte READ = 0b11111100;     // команда считывания для SCP1000&lt;br /&gt;
const byte WRITE = 0b00000010;   // команда записи для SCP1000&lt;br /&gt;
&lt;br /&gt;
// Контакты, используемые для подключения датчика.&lt;br /&gt;
// (все остальные используются для управления библиотекой SPI):&lt;br /&gt;
const int dataReadyPin = 6;&lt;br /&gt;
const int chipSelectPin = 7;&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
&lt;br /&gt;
  // Запускаем библиотеку SPI:&lt;br /&gt;
  SPI.begin();&lt;br /&gt;
&lt;br /&gt;
  // Инициализируем контакты Data Ready и Chip Select:&lt;br /&gt;
  pinMode(dataReadyPin, INPUT);&lt;br /&gt;
  pinMode(chipSelectPin, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  // Конфигурируем SCP1000 таким образом, чтобы итоговые данные были менее «шумными»:&lt;br /&gt;
  writeRegister(0x02, 0x2D);&lt;br /&gt;
  writeRegister(0x01, 0x03);&lt;br /&gt;
  writeRegister(0x03, 0x02);&lt;br /&gt;
  // Даем датчику время настроиться:&lt;br /&gt;
  delay(100);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // Выбираем режим высокого разрешения:&lt;br /&gt;
  writeRegister(0x03, 0x0A);&lt;br /&gt;
&lt;br /&gt;
  // Ничего не делаем до тех пор, пока контакт Data Ready не получит значение HIGH:&lt;br /&gt;
  if (digitalRead(dataReadyPin) == HIGH) {&lt;br /&gt;
    // Считываем данные о температуре:&lt;br /&gt;
    int tempData = readRegister(0x21, 2);&lt;br /&gt;
&lt;br /&gt;
    // Конвертируем их в градусы Цельсия и отображаем на Serial Monitor:&lt;br /&gt;
    float realTemp = (float)tempData / 20.0;&lt;br /&gt;
    Serial.print(&amp;quot;Temp[C]=&amp;quot;);  //  &amp;quot;Температура[Цельсии]=&amp;quot;&lt;br /&gt;
    Serial.print(realTemp);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    // Считываем 3 «верхних» бита в данных о давлении:&lt;br /&gt;
    byte  pressure_data_high = readRegister(0x1F, 1);&lt;br /&gt;
    pressure_data_high &amp;amp;= 0b00000111; // вам нужны только биты с 0-ого по 2-ой&lt;br /&gt;
&lt;br /&gt;
    // Считываем «нижние» 16 битов в данных о давлении:&lt;br /&gt;
    unsigned int pressure_data_low = readRegister(0x20, 2);&lt;br /&gt;
    // Соединяем обе части в 19-битное число:&lt;br /&gt;
    long pressure = ((pressure_data_high &amp;lt;&amp;lt; 16) | pressure_data_low)/4;&lt;br /&gt;
&lt;br /&gt;
    // Показываем давление:&lt;br /&gt;
    Serial.println(&amp;quot;\tPressure [Pa]=&amp;quot; + String(pressure));  // &amp;quot;\tДавление[Паскали]=&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// считываем или записываем данные в регистр SCP1000:&lt;br /&gt;
unsigned int readRegister(byte thisRegister, int bytesToRead ) {&lt;br /&gt;
  byte inByte = 0;           // входящий байт от SPI&lt;br /&gt;
  unsigned int result = 0;   // возвращенный результат&lt;br /&gt;
  Serial.print(thisRegister, BIN);&lt;br /&gt;
  Serial.print(&amp;quot;\t&amp;quot;);&lt;br /&gt;
  // SCP1000 ждет, что имя регистра будет в «верхних» 6 битах байта,&lt;br /&gt;
  // поэтому смещаем биты влево на два бита:&lt;br /&gt;
  thisRegister = thisRegister &amp;lt;&amp;lt; 2;&lt;br /&gt;
  // Теперь соединяем адрес и команду в один байт:&lt;br /&gt;
  byte dataToSend = thisRegister &amp;amp; READ;&lt;br /&gt;
  Serial.println(thisRegister, BIN);&lt;br /&gt;
  // Даем контакту Chip Select значение LOW, чтобы выбрать девайс:&lt;br /&gt;
  digitalWrite(chipSelectPin, LOW);&lt;br /&gt;
  // Отсылаем девайсу регистр, который вы хотите сосчитать:&lt;br /&gt;
  SPI.transfer(dataToSend);&lt;br /&gt;
  // Отсылаем значение «0», чтобы сосчитать первый возвращенный байт:&lt;br /&gt;
  result = SPI.transfer(0x00);&lt;br /&gt;
  // Уменьшаем количество байтов, которые осталось прочитать:&lt;br /&gt;
  bytesToRead--;&lt;br /&gt;
  // Если еще остались байты, которые можно прочесть... :&lt;br /&gt;
  if (bytesToRead &amp;gt; 0) {&lt;br /&gt;
    // ...сдвигаем первый байт влево и берем второй байт:&lt;br /&gt;
    result = result &amp;lt;&amp;lt; 8;&lt;br /&gt;
    inByte = SPI.transfer(0x00);&lt;br /&gt;
    // Соединяем байт, который мы только что взяли, с предыдущим:&lt;br /&gt;
    result = result | inByte;&lt;br /&gt;
    // Уменьшаем количество байтов, который осталось прочесть:&lt;br /&gt;
    bytesToRead--;&lt;br /&gt;
  }&lt;br /&gt;
  // Даем контакту Chip Select значение LOW, чтобы отменить выбор девайса:&lt;br /&gt;
  digitalWrite(chipSelectPin, HIGH);&lt;br /&gt;
  // Возвращаем результат:&lt;br /&gt;
  return(result);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Эта функция отправляет на SCP1000 команду записи:&lt;br /&gt;
void writeRegister(byte thisRegister, byte thisValue) {&lt;br /&gt;
&lt;br /&gt;
  // SCP1000 ждет, что адрес регистра будет в «верхних» 6 битах байта,&lt;br /&gt;
  // поэтому сдвигаем биты влево на две позиции:&lt;br /&gt;
  thisRegister = thisRegister &amp;lt;&amp;lt; 2;&lt;br /&gt;
  // Теперь соединяем адрес регистра и команду в одном байте:&lt;br /&gt;
  byte dataToSend = thisRegister | WRITE;&lt;br /&gt;
&lt;br /&gt;
  // Даем контакту Chip Select значение LOW, чтобы выбрать девайс:&lt;br /&gt;
  digitalWrite(chipSelectPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  SPI.transfer(dataToSend); // отсылаем месторасположение регистра&lt;br /&gt;
  SPI.transfer(thisValue);  // отсылаем значение, которое будет записано в регистр&lt;br /&gt;
&lt;br /&gt;
  // Даем контакту Chip Select значение HIGH, чтобы отменить выбор девайса:&lt;br /&gt;
  digitalWrite(chipSelectPin, HIGH);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== См.также==&lt;br /&gt;
&lt;br /&gt;
# Arduino SPI LIbrary&lt;br /&gt;
# SPIDigitalPot&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>