<?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%2FShftIn12</id>
	<title>Arduino:Примеры/ShftIn12 - История изменений</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%2FShftIn12"/>
	<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/ShftIn12&amp;action=history"/>
	<updated>2026-06-15T07:28:29Z</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/ShftIn12&amp;diff=7673470&amp;oldid=prev</id>
		<title>EducationBot в 14:19, 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/ShftIn12&amp;diff=7673470&amp;oldid=prev"/>
		<updated>2023-05-14T14:19:43Z</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:19, 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-l9&quot;&gt;Строка 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 9:&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;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;//  Название    : Какая кнопка нажата           ?               //&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;/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/ShftIn12&amp;diff=4571479&amp;oldid=prev</id>
		<title>Myagkij в 05:33, 24 февраля 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/ShftIn12&amp;diff=4571479&amp;oldid=prev"/>
		<updated>2023-02-24T05:33:05Z</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;Версия от 09:33, 24 февраля 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-l152&quot;&gt;Строка 152:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 152:&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;/table&gt;</summary>
		<author><name>Myagkij</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/ShftIn12&amp;diff=25845&amp;oldid=prev</id>
		<title>Myagkij: Новая страница: «{{Arduino панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}}  =Какая кнопка нажата?&lt;ref&gt;[https://ww…»</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/ShftIn12&amp;diff=25845&amp;oldid=prev"/>
		<updated>2017-02-15T16:33:15Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «{{Arduino панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}}  =Какая кнопка нажата?&amp;lt;ref&amp;gt;[https://ww…»&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;
=Какая кнопка нажата?&amp;lt;ref&amp;gt;[https://www.arduino.cc/en/Tutorial/ShftIn12 www.arduino.cc - ShftIn12]&amp;lt;/ref&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
Это скетч для [[Arduino:Продукты/Продукты Arduino|платы Arduino]] и одного сдвигового регистра '''CD4021B'''. Он считывает данные с переключателей, подключенных к сдвиговому регистру, тем самым определяя, какая кнопка находится в положении '''«вкл»'''.&lt;br /&gt;
&lt;br /&gt;
==Код==&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;
//  Название    : Какая кнопка нажата           ?               //&lt;br /&gt;
//  Автор       : Кэрлин Мо                                     //&lt;br /&gt;
//  Дата        : 25 января 2007 года                           //&lt;br /&gt;
//  Версия      : 1.0                                           //&lt;br /&gt;
//  Примечания  : Скетч для использования со сдвиговым          //&lt;br /&gt;
//              : регистром CD4021B                             //&lt;br /&gt;
//**************************************************************//&lt;br /&gt;
&lt;br /&gt;
// задаем номера для интерфейсных контактов:&lt;br /&gt;
int latchPin = 8;&lt;br /&gt;
int dataPin = 9;&lt;br /&gt;
int clockPin = 7;&lt;br /&gt;
&lt;br /&gt;
// задаем переменные, которые будут хранить данные для &lt;br /&gt;
// сдвигового регистра; в целях отладки лучше начать &lt;br /&gt;
// со значений без «0»:&lt;br /&gt;
byte switchVar1 = 72;  // 01001000 &lt;br /&gt;
&lt;br /&gt;
// задаем массив со значениями для каждого контакта на регистре:&lt;br /&gt;
char note2sing[] = {&lt;br /&gt;
  'C', 'd', 'e', 'f', 'g', 'a', 'b', 'c'}; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // запускаем последовательную коммуникацию:&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
&lt;br /&gt;
  // задаем режимы для контактов:&lt;br /&gt;
  pinMode(latchPin, OUTPUT);&lt;br /&gt;
  pinMode(clockPin, OUTPUT); &lt;br /&gt;
  pinMode(dataPin, INPUT);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  // подаем импульс на контакт-защелку;&lt;br /&gt;
  // чтобы собрать параллельные данные, задаем ему значение «1»:&lt;br /&gt;
  digitalWrite(latchPin,1);&lt;br /&gt;
  // ждем:&lt;br /&gt;
  delayMicroseconds(20);&lt;br /&gt;
  // задаем ему «0», чтобы передать последовательные данные:&lt;br /&gt;
  digitalWrite(latchPin,0);&lt;br /&gt;
&lt;br /&gt;
  // пока сдвиговый регистр переключен в последовательный режим, &lt;br /&gt;
  // собираем все его данные в байт; сначала это делает регистр, &lt;br /&gt;
  // подключенный к чипу: &lt;br /&gt;
  switchVar1 = shiftIn(dataPin, clockPin);&lt;br /&gt;
&lt;br /&gt;
  // показываем результат; если первый контакт получит значение HIGH, &lt;br /&gt;
  // то «0», стоящий в старшей части байта (7, 6, 5 и т.д.), &lt;br /&gt;
  // будет удален:&lt;br /&gt;
  Serial.println(switchVar1, BIN);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  // этот цикл loop() бит за битом прочесывает байт, &lt;br /&gt;
  // содержащий данные сдвигового регистра; при значении HIGH (1) &lt;br /&gt;
  // он печатает соответствующее место в массиве:&lt;br /&gt;
  for (int n=0; n&amp;lt;=7; n++)&lt;br /&gt;
  {&lt;br /&gt;
    &lt;br /&gt;
    // таким образом, когда «n» равно «3», код сравнивает биты &lt;br /&gt;
    // в switchVar1 и двоичное число «00001000», возвращая «true» &lt;br /&gt;
    // лишь в том случае, если в этом бите (т.е. контакте) &lt;br /&gt;
    // есть значение «1», присланное от сдвигового регистра:&lt;br /&gt;
    if (switchVar1 &amp;amp; (1 &amp;lt;&amp;lt; n) ){&lt;br /&gt;
      // печатаем значение из этого места в массиве:&lt;br /&gt;
      Serial.println(note2sing[n]);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
// пустое место:&lt;br /&gt;
Serial.println(&amp;quot;-------------------&amp;quot;);&lt;br /&gt;
// вставляем задержку, чтобы все как следует допечаталось:&lt;br /&gt;
delay(500);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//-----------------------------------------------конец главного цикла&lt;br /&gt;
&lt;br /&gt;
////////// ----------------------------------- функция shiftIn()&lt;br /&gt;
///// в качестве аргументов ей требуются лишь контакт для данных &lt;br /&gt;
///// и контакт-защелка; возвращает байт, у которого каждый бит &lt;br /&gt;
///// соответствует какому-либо контакту сдвигового регистра: &lt;br /&gt;
///// 7-ой бит – это 7-ой контакт, 0-ой бит – это 0-ой контакт&lt;br /&gt;
&lt;br /&gt;
byte shiftIn(int myDataPin, int myClockPin) { &lt;br /&gt;
  int i;&lt;br /&gt;
  int temp = 0;&lt;br /&gt;
  int pinState;&lt;br /&gt;
  byte myDataIn = 0;&lt;br /&gt;
&lt;br /&gt;
  pinMode(myClockPin, OUTPUT);&lt;br /&gt;
  pinMode(myDataPin, INPUT);&lt;br /&gt;
&lt;br /&gt;
// 8 раз подаем на тактовый контакт значение HIGH (0,..,7),&lt;br /&gt;
// т.е. при каждом прохождении цикла for(); &lt;br /&gt;
&lt;br /&gt;
// в начале каждого цикла мы задаем тактовому контакту значение LOW;&lt;br /&gt;
// это нужно для последующего перехода из LOW в HIGH, чтобы сдвиговый &lt;br /&gt;
// регистр поменял состояние на основе значения в следующем бите &lt;br /&gt;
// последовательного потока данных;&lt;br /&gt;
&lt;br /&gt;
// регистр передает информацию о контактах в порядке с 7-го по 0-ой,&lt;br /&gt;
// поэтому наша функция ведет отсчет в обратном порядке:&lt;br /&gt;
&lt;br /&gt;
  for (i=7; i&amp;gt;=0; i--)&lt;br /&gt;
  {&lt;br /&gt;
    digitalWrite(myClockPin, 0);&lt;br /&gt;
    delayMicroseconds(0.2);&lt;br /&gt;
    temp = digitalRead(myDataPin);&lt;br /&gt;
    if (temp) {&lt;br /&gt;
      pinState = 1;&lt;br /&gt;
      // несмотря ни на что, задаем биту значение «0»:&lt;br /&gt;
      myDataIn = myDataIn | (1 &amp;lt;&amp;lt; i);&lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
      pinState = 0;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // печатаем отладочную информацию (если отладка не нужна,&lt;br /&gt;
    // оставьте эти строчки закоментированными):&lt;br /&gt;
    //Serial.print(pinState);&lt;br /&gt;
    //Serial.print(&amp;quot;     &amp;quot;);&lt;br /&gt;
    //Serial.println (dataIn, BIN);&lt;br /&gt;
&lt;br /&gt;
    digitalWrite(myClockPin, 1);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  // печатаем пустое место, разделяющее проверочные данные:&lt;br /&gt;
  //Serial.println();&lt;br /&gt;
  //Serial.println(myDataIn, BIN);&lt;br /&gt;
  return myDataIn;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= См.также=&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>