<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.linuxformat.ru/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF104%3AArduino</id>
		<title>LXF104:Arduino - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF104%3AArduino"/>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF104:Arduino&amp;action=history"/>
		<updated>2026-05-13T03:03:42Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.19.20+dfsg-0+deb7u3</generator>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF104:Arduino&amp;diff=15653&amp;oldid=prev</id>
		<title>Акроним: Акроним переименовал страницу LХF100 в LXF104:Arduino поверх перенаправления</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF104:Arduino&amp;diff=15653&amp;oldid=prev"/>
				<updated>2015-06-03T16:55:33Z</updated>
		
		<summary type="html">&lt;p&gt;Акроним переименовал страницу &lt;a href=&quot;/wiki/L%D0%A5F100&quot; class=&quot;mw-redirect&quot; title=&quot;LХF100&quot;&gt;LХF100&lt;/a&gt; в &lt;a href=&quot;/wiki/LXF104:Arduino&quot; title=&quot;LXF104:Arduino&quot;&gt;LXF104:Arduino&lt;/a&gt; поверх перенаправления&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
			&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;Версия 16:55, 3 июня 2015&lt;/td&gt;
			&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Акроним</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF104:Arduino&amp;diff=15595&amp;oldid=prev</id>
		<title>Акроним: Акроним переименовал страницу LXF104:Arduino в LХF100: ...</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF104:Arduino&amp;diff=15595&amp;oldid=prev"/>
				<updated>2015-04-18T12:14:32Z</updated>
		
		<summary type="html">&lt;p&gt;Акроним переименовал страницу &lt;a href=&quot;/wiki/LXF104:Arduino&quot; title=&quot;LXF104:Arduino&quot;&gt;LXF104:Arduino&lt;/a&gt; в &lt;a href=&quot;/wiki/L%D0%A5F100&quot; class=&quot;mw-redirect&quot; title=&quot;LХF100&quot;&gt;LХF100&lt;/a&gt;: ...&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
			&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;Версия 12:14, 18 апреля 2015&lt;/td&gt;
			&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Акроним</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF104:Arduino&amp;diff=7863&amp;oldid=prev</id>
		<title>Crazy Rebel: викификация</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF104:Arduino&amp;diff=7863&amp;oldid=prev"/>
				<updated>2009-05-07T09:56:42Z</updated>
		
		<summary type="html">&lt;p&gt;викификация&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;: Свободная электроника&lt;br /&gt;
&lt;br /&gt;
== Аппаратный хакинг по новой ==&lt;br /&gt;
&lt;br /&gt;
{{Цикл/Arduino}}&lt;br /&gt;
&lt;br /&gt;
: '''ЧАСТЬ 2''' Игра, которую мы создали месяц назад – немая, и это дает '''Грэму Моррисону''' повод добавить звук, используя только Arduino и динамик.&lt;br /&gt;
&lt;br /&gt;
Месяц назад мы создали игру типа «Саймон сказал», используя Arduino – аппаратную платформу для простых и не очень электронных проектов. Мы разместили три кнопки и три светодиода на макетной плате и написали маленькую программу, передававшую на них случайную последовательность вспышек, которую игрок должен был повторить, нажимая на кнопки в заданном порядке. При каждом правильном воспроизведении последовательности ее длина увеличивалась на единицу, и все повторялось снова. Чем большей длины случайные последовательности вы запоминали, тем больше очков получали.&lt;br /&gt;
&lt;br /&gt;
Мы собираемся надстроить проект прошлого месяца, добавив другую важную особенность – звук! Это очень просто, но оказывает потрясающий эффект на игровой процесс. Если вместе с Arduino вы купили стартовый набор компонентов, есть хороший шанс, что туда включено нечто вроде пьезоэлемента – обычно это маленькая черная круглая штука (размером примерно с «нажималку» кнопки), с маленькой дырочкой наверху. Пьезоэлемент&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;
Подсоединив динамик к Arduino, придадим вспышкам светодиодов&lt;br /&gt;
звук, чтобы каждой из них соответствовала определенная нота. Тогда&lt;br /&gt;
случайная последовательность вспышек заодно будет сопровождать-&lt;br /&gt;
ся сгенерированной мелодией, а игрок пусть повторяет последовательность вспышек/мелодию, нажимая на три кнопки.&lt;br /&gt;
&lt;br /&gt;
Даже если игра «Саймон сказал», которую мы создаем, вам ни к чему, вы можете использовать то, что изучите на следующих&lt;br /&gt;
страницах, для использования в больших проектах. Звук в Arduino будет просто работать, и есть немало приложений, где ему найдется&lt;br /&gt;
применение.&lt;br /&gt;
&lt;br /&gt;
===Генерация звука===&lt;br /&gt;
&lt;br /&gt;
Существует несколько способов генерировать звук с помощью Arduino,&lt;br /&gt;
разных уровней сложности. Мы воспользуемся простейшим, известным также как «битье по битам». Этот метод позволяет генерировать&lt;br /&gt;
ноты различной тональности, но не более – просто «бип» некоторой&lt;br /&gt;
длительности. Не спешите воротить нос – звук на самом деле очень&lt;br /&gt;
приятный, и он знаком всем, кто вырос в 1980-х. Наш звук будет очень&lt;br /&gt;
похож на тот, что порождали подлинные игры «Саймон» и много других электронных устройств, в том числе типичный «бип», который&lt;br /&gt;
звучит при включении компьютера. Выбран он потому, что это самый&lt;br /&gt;
простой и дешевый способ получения звука, и вам не нужны никакие&lt;br /&gt;
аудиосредства, кроме динамика.&lt;br /&gt;
&lt;br /&gt;
Если вы интересуетесь звуком и хотите сделать что-нибудь чуть&lt;br /&gt;
более амбициозное, то есть другие методы генерации, использующие цифро-аналоговый преобразователь для воссоздания сэмплов и&lt;br /&gt;
реальных звуков; есть и проекты Arduino, которые воспроизводят различные дискретные компоненты синтезаторов, включая осцилляторы,&lt;br /&gt;
фильтры и огибающие, а также увязку всего этого с MIDI. Тем, кому&lt;br /&gt;
интересны такие приложения, сайт Arduino предоставляет исчерпы-&lt;br /&gt;
вающую информацию.&lt;br /&gt;
&lt;br /&gt;
====Бип... Бип...====&lt;br /&gt;
&lt;br /&gt;
Но нам-то нужен всего лишь «бип». Смотрите, как легко это делается. Присоедините положительный контакт динамика к контакту питания '''9 В''' на Arduino (на плате динамика должны находиться маленькие знаки «плюс» и «минус», показывающие полярность). Далее&lt;br /&gt;
соедините минусовый провод с цифровым контактом '''9''' на Arduino –&lt;br /&gt;
вот и все необходимые соединения. Если у вас уже собрана игра&lt;br /&gt;
«Саймон сказал» из прошлого номера, эти два соединения должны&lt;br /&gt;
располагаться параллельно проводам, идущим к и от светодиодов и&lt;br /&gt;
кнопок на макетной плате. Осталось написать код, создающий звук.&lt;br /&gt;
Основной принцип очень похож на переключение светодиодов из&lt;br /&gt;
«включено» в «выключено», по крайней мере с точки зрения программирования. Поэтому метод и назван битье по битам. Сперва&lt;br /&gt;
надо установить режим для контакта, подключенного к динамику,&lt;br /&gt;
затем послать сигналы '''HIGH''' и '''LOW''' на тот же контакт, тем самым&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;
Хватит теории – перейдем к шумам. Откройте новый проект Arduino в&lt;br /&gt;
''Arduino IDE'' (или в любимом текстовом редакторе) и введите следующие строки в начале файла:&lt;br /&gt;
&lt;br /&gt;
  #define note_len 200000&lt;br /&gt;
  int speakerOut = 9;&lt;br /&gt;
  void setup() {&lt;br /&gt;
    pinMode(speakerOut, OUTPUT);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Эти строки говорят контроллеру Arduino, как мы хотим использовать контакты на плате. Теперь надо добавить код, генерирующий звук.&lt;br /&gt;
Для этого просто вставьте следующую функцию:&lt;br /&gt;
&lt;br /&gt;
 void playTone(int note) {&lt;br /&gt;
   long elapsed_time = 0;&lt;br /&gt;
   while (elapsed_time &amp;lt; note_len) {&lt;br /&gt;
      digitalWrite(speakerOut,HIGH);&lt;br /&gt;
      delayMicroseconds(note / 2);&lt;br /&gt;
      digitalWrite(speakerOut, LOW);&lt;br /&gt;
      delayMicroseconds(note / 2);&lt;br /&gt;
      elapsed_time += (note);&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
В цикле ‘'''while'''’, цифровой импульс посылается на динамик, используя функции '''digitalWrite''' – '''HIGH''' для включения и '''LOW''' для выключения. Между каждым применением '''digitalWrite''' задается задержка с помощью функции delayMicroseconds. Как следует из ее названия,&lt;br /&gt;
она останавливает работу программы на число микросекунд, заданное в скобках. В нашем случае мы присвоили это число переменной ‘'''note'''’,&lt;br /&gt;
так как именно от значения этой задержки зависит требуемый тон: чем меньше задержка, тем быстрее импульсы посылаются на динамик, и&lt;br /&gt;
тон будет выше. Мы затем добавляем суммарную длину всех задержек в переменную '''elapsed_time''', чтобы знать, сколько времени у нас проигрывается звук, и когда нота проиграется с длительностью, заданной в '''note_len''', мы выйдем из цикла '''while'''.&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=[[Изображение:LXF104_50_1.jpg|300px]]  Все звуки в проекте генерируются с помощью функции '''playTone'''.|Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
Для создания звука, переходим к окончательной функции – '''loop'''. Она выполняется Arduino постоянно, и здесь можно вызвать функцию&lt;br /&gt;
'''playTone''' для создания звука:&lt;br /&gt;
&lt;br /&gt;
 void loop() {&lt;br /&gt;
 playTone (3830);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== Поместим его в игру ===&lt;br /&gt;
&lt;br /&gt;
Теперь, создав основу для генерации звука с помощью Arduino и&lt;br /&gt;
дешевого динамика, применим изученное к нашей игре. Первый&lt;br /&gt;
шаг – скопировать функцию '''playTone''' из нашего предыдущего примера в исходный код игры. Мы будем использовать ее похожим&lt;br /&gt;
способом, вызывая ее, когда необходимо издать звук. Чтобы идти&lt;br /&gt;
в ногу с новой функцией, нам также необходимо добавить похожую строку '''pinMode''' в функцию '''setup()''' и убедиться, что описания&lt;br /&gt;
'''note_len''' и '''speakerOut''' скопированы в начало файла. Нам также надо&lt;br /&gt;
задать через '''#define''' различные задержки при проигрывании функции '''playTone'''. Их использование позволит нам избежать голых чисел&lt;br /&gt;
в качестве значений, какие мы использовали в функции '''loop()''', и так&lt;br /&gt;
как у нас всего три кнопки, нам нужно три тона:&lt;br /&gt;
&lt;br /&gt;
 #define play_c 3830&lt;br /&gt;
 #define play_d 3400&lt;br /&gt;
 #define play_e 3038&lt;br /&gt;
&lt;br /&gt;
Мы взяли величину задержки с сайта Arduino, где подобраны готовые значения для каждой ноты. Теперь можно использовать константы '''play_c''', '''play_d''' и '''play_e''' [в музыке, '''С, D''' и '''E''' – обозначения нот до, ре, ми, – прим. ред.] как аргументы функции '''playTone''' для задания требуемого тона. Следующее, что надо добавить – издание звука&lt;br /&gt;
при вспышке соответствующего светодиода; мы можем сделать это&lt;br /&gt;
с помощью '''playSequence''' – функции, которая зажигает светодиоды.&lt;br /&gt;
Перескочив в середину этой функции, вы можете вспомнить, что на&lt;br /&gt;
прошлом уроке мы использовали условие case: требуемый светодиод зажигался в зависимости от заданного значения в текущей позиции массива. Можно просто добавить команду '''playTone''' в каждое&lt;br /&gt;
условие для проигрывания звука, когда загорается светодиод:&lt;br /&gt;
&lt;br /&gt;
 switch (rand_array[i]) {&lt;br /&gt;
    case 0:&lt;br /&gt;
      digitalWrite(ledPin1, HIGH);&lt;br /&gt;
      playTone(play_c);&lt;br /&gt;
      break;&lt;br /&gt;
    case 1:&lt;br /&gt;
      digitalWrite(ledPin2, HIGH);&lt;br /&gt;
      playTone(play_d);&lt;br /&gt;
      break;&lt;br /&gt;
    case 2:&lt;br /&gt;
      digitalWrite(ledPin3, HIGH);&lt;br /&gt;
      playTone(play_e);&lt;br /&gt;
      break;&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;
мы создали функцию, названную '''readButtons''', отвечающую за ввод.&lt;br /&gt;
Вместо распределения всех нажатий кнопки по условиям case, мы&lt;br /&gt;
использовали вложенные '''if''', и сюда тоже надо добавить корректные&lt;br /&gt;
значения '''playTone'''.&lt;br /&gt;
&lt;br /&gt;
 if (val1==LOW){&lt;br /&gt;
   playTone(c);&lt;br /&gt;
   return 0;&lt;br /&gt;
 } else if (val2==LOW) {&lt;br /&gt;
   playTone(d);&lt;br /&gt;
   return 1;&lt;br /&gt;
 } else if (val3==LOW) {&lt;br /&gt;
   playTone(e);&lt;br /&gt;
   return 2;&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;
отвечающие за эти действия – '''flashSuccess''' и '''flashFailure''', они обе&lt;br /&gt;
были исключены из исходного кода по причине нехватки места. Вы&lt;br /&gt;
можете захотеть добавить соответствующий унизительный звук провала, чтобы игрок осознавал свою ошибку – например, длинный низкий тон типа такого:&lt;br /&gt;
&lt;br /&gt;
 playTone(8000);&lt;br /&gt;
 playTone(8000);&lt;br /&gt;
&lt;br /&gt;
Но, может быть, вам захочется создать нечто более раздражающее. Звук, генерируемый динамиком, не обязан быть мелодичным,&lt;br /&gt;
и можно устроить настоящую какофонию, быстро подавая ноты на&lt;br /&gt;
динамик. Наша функция '''playTone''' имеет фиксированную задержку, и нам надо исправить это, если мы хотим менять звуки быстро.&lt;br /&gt;
Решение – ввести еще один аргумент для длительности ноты. Для&lt;br /&gt;
этого изменим функцию playTone следующим образом:&lt;br /&gt;
&lt;br /&gt;
  void playTone(int note, long note_len )&lt;br /&gt;
&lt;br /&gt;
Необходимо также сменить значение '''#define note_len 200000''' в начале исходного кода на '''#define duration 200000''', чтобы не путать&lt;br /&gt;
имена переменных. Проделав этих два изменения, надо обеспечить,&lt;br /&gt;
чтобы каждый раз при вызове '''playTone''' подставлялась длительность.&lt;br /&gt;
Например:&lt;br /&gt;
&lt;br /&gt;
  playTone(play_c, duration);&lt;br /&gt;
&lt;br /&gt;
Теперь у вас есть больший контроль над продолжительностью&lt;br /&gt;
звука, генерируемого динамиком, и вы можете быстро передавать&lt;br /&gt;
одну ноту за другой. Вот как мы заменили функцию '''flashFailure''' на&lt;br /&gt;
устрашающий звук ошибки, вместо набора огоньков:&lt;br /&gt;
&lt;br /&gt;
  void flashFailure(){&lt;br /&gt;
  for (int i=0; i&amp;lt;=10; i++){&lt;br /&gt;
    playTone (play_c, 10000);&lt;br /&gt;
    playTone (play_d, 10000);&lt;br /&gt;
    playTone (play_e, 10000);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Это просто цикл, который очень быстро проигрывает три ноты,&lt;br /&gt;
имитируя битву лазерных пушек и ясно информируя игрока, что&lt;br /&gt;
он сделал ошибку при попытке воспроизвести последовательность.&lt;br /&gt;
Мы обнаружили, что при наличии звука можно обойтись без функции реакции на успех: функция ошибки достаточно информативна.&lt;br /&gt;
Удалите '''flashSuccess()''' из '''void loop()''', и увидите, что мы имели в виду.&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;
семисегментный дисплей, напоминающий решения 1970-х, и используем его для вывода очков, а также для текущего статуса запущенной&lt;br /&gt;
игры. До встречи, и удачи вам в аппаратном хакинге. '''LXF'''&lt;br /&gt;
&lt;br /&gt;
===Мультиметры===&lt;br /&gt;
&lt;br /&gt;
Немного освоившись в играх с Arduino, вы можете наткнуться на одно полезное устройство – мультиметр [или тестер]. Это эквивалент инструментов отладки программиста для инженера-электронщика, и он неоценим, когда у вас что-то не заработает и надо выяснить, почему.&lt;br /&gt;
&lt;br /&gt;
Он также является прекрасным инструментом для обучения, помогая вам увидеть, что и как происходит в вашей схеме. Другое хорошее качество мультиметра – его дешевизна, особенно для любителей, ведь базовые модели стоят несколько сотен рублей. Большинство&lt;br /&gt;
имеют похожие режимы и функциональность, с круговым переключателем режимов и цифровым дисплеем ['''в России еще встречаются стрелочные индикаторы, – прим. пер.'''], отображающим выходные параметры. Мультиметром можно измерять напряжения, или сопротивления резисторов, но самая полезная функция для маленьких проектов Arduino – «проводимость». Это когда вы проверяете, соединены ли два компонента или участка цепи, подавая на них небольшое&lt;br /&gt;
напряжение с мультиметра. Для этой цели Arduino должен быть отключен от источника питания – как и любая тестируемая схема – и&lt;br /&gt;
тест проводимости генерирует звук, когда достаточное напряжение передается от одного сенсора к другому. На переключателе эта&lt;br /&gt;
функция обычно изображается в виде ноты или динамика. Тест на проводимость – лучший способ проверить целостность ваших проводов, до перехода к тестированию отдельных компонентов.&lt;br /&gt;
&lt;br /&gt;
===Принципиальная схема===&lt;br /&gt;
&lt;br /&gt;
В прошлом месяце была упущена одна вещь, которая облегчает понимание устройства цепи. Для проектов, состоящих более чем&lt;br /&gt;
из двух светодиодов, трудно описать словами, как все соединено. Мы собирались включить вам в помощь электросхему, но не&lt;br /&gt;
хватило места. К счастью, нас выручил один из читателей: Стюарт Уоткисс [Stewart Whatkiss] прислал собственную схему&lt;br /&gt;
проекта, и мы печатаем ее здесь, добавив динамик, чтобы отразить изменения урока этого месяца.&lt;br /&gt;
&lt;br /&gt;
Даже если вы не видели таких схем со школьных времен, понять ее не трудно, и она очень упрощает работу по конструированию электрической цепи. Вы можете видеть различные выходные контакты платы Arduino, и как они подключены к резисторам (показанным с их сопротивлением в 1 КОм). Другие&lt;br /&gt;
символы обозначают переключатели и светодиоды. Переключатели показаны как кратковременный разрыв цепи, а&lt;br /&gt;
светодиоды – как перевернутые треугольники со стрелками, изображающими излучаемый свет, идущий от элемента. Еще одно&lt;br /&gt;
устройство – динамик; ну, его-то легко узнать.&lt;br /&gt;
&lt;br /&gt;
[[Изображение:LXF104_51_1.jpg]]&lt;br /&gt;
[[Изображение:LXF104_51_2.jpg]]&lt;/div&gt;</summary>
		<author><name>Crazy Rebel</name></author>	</entry>

	</feed>