Конструируем роботов на Arduino. Умный свет [Алёна Антоновна Салахова] (pdf) читать онлайн

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

Arduino

®

Умный свет

А. А. Салахова

КОНСТРУИРУЕМ
РОБОТОВ

на

Arduino®

Умный свет
2-е издание,
электронное

Лаборатория знаний
Москва
2021

УДК 373.167
ББК 32.97
С16

С е р и я о с н о в а н а в 2016 г.
Ведущие редакторы серии Т. Г. Хохлова, Ю. А. Серова
Салахова А. А.
С16
Конструируем роботов на Arduino○ . Умный свет /
А. А. Салахова. — 2-е изд., электрон. — М. : Лаборатория
знаний, 2021. — 62 с. — (РОБОФИШКИ). — Систем. требования: Adobe Reader XI ; экран 10". — Загл. с титул.
экрана. — Текст : электронный.
ISBN 978-5-93208-528-8
R

Стать гениальным изобретателем легко! Серия книг «РОБОФИШКИ» поможет вам создавать роботов, учиться и играть
вместе с ними.
Всего за пару часов вы соберёте из плат и модулей Arduino
робота, который сделает освещение вашего дома «умным», причём
управляемым с любимого смартфона или планшета.
Для технического творчества в школе и дома, а также
на занятиях в робототехнических кружках.
УДК 373.167
ББК 32.97

Деривативное издание на основе печатного аналога: Конструируем роботов на Arduino○ . Умный свет / А. А. Салахова. —
М. : Лаборатория знаний, 2017. — 59 с. : ил. — (РОБОФИШКИ). — ISBN 978-5-00101-076-0.
R

В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных
техническими средствами защиты авторских прав, правообладатель вправе требовать
от нарушителя возмещения убытков или выплаты компенсации

ISBN 978-5-93208-528-8

© Лаборатория знаний, 2017

Здравствуйте!

Издание, которое вы держите сейчас в руках, — это не просто описание и практическое
руководство по выполнению конкретного увлекательного проекта по робототехнике.
И то, что в результате вы самостоятельно сумеете собрать своими руками настоящее
работающее устройство, — конечно, победа и успех!
Но главное — вы поймёте, что такие ценные качества характера, как терпение, аккуратность, настойчивость и творческая мысль, проявленные при работе над проектом,
останутся с вами навсегда, помогут уверенно создавать своё будущее, стать реально
успешным человеком, независимо от того, с какой профессией свяжете жизнь.
Создавать будущее — сложная и ответственная задача. Каждый день становится открытием, если он приносит новые знания, которые затем могут быть превращены в проекты. Особенно это важно для тех, кто выбрал дорогу инженера и технического специалиста. Знания — это база, которая становится основой для свершений.
Однако технический прогресс зависит не только от знаний, но и от смелости создавать новое. Всё, что нас окружает сегодня, придумано инженерами. Их любопытство,
желание узнавать неизведанное и конструировать то, чего никто до них не делал, и создаёт окружающий мир. Именно от таких людей зависит, каким будет наш завтрашний
день. Только идеи, основанные на творческом подходе, прочных знаниях и постоянном
стремлении к новаторству, заставляют мир двигаться вперёд.
И сегодня, выполнив этот проект и перейдя к следующим, вы сделаете очередной шаг
по этой дороге.
Успехов вам!
Команда Программы «Робототехника:
инженерно-технические кадры инновационной России»
Фонда Олега Дерипаска «Вольное Дело»

3

Дорогой друг!

Если ты добрался до платформы Arduino, значит, ты настоящий будущий инженер! Ты
прошёл большой путь в робототехнике и решил перейти на новый уровень — роботов на
Arduino! Теперь всё будет совершенно серьёзно! Тайны настоящего роботоконструирования ждут именно тебя!
Хочется сделать нечто по-настоящему полезное? Мы тебе поможем! Наверняка ты
сталкивался с понятием «умный дом», и мы предлагаем тебе самому создать одну из
важнейших его частей — автоматическое и дистанционное управление светом. Ты построишь собственную систему на базе микроконтроллера, подключишь её к бытовой
розетке и сможешь управлять освещением в комнате с помощью мобильного телефона
или планшета. Хочешь обеспечить автоматическое включение лампочек, если в комнате есть человек или, быть может, домашний питомец? Легко! Стань повелителем света!
Ведь это очень удобно и эффектно, когда лампы вспыхивают лишь потому, что идёшь
ТЫ. Твой робот будет не только не игровым, но и полезным для повседневной жизни.
Ты точно заслужишь славу профессионального электрика среди близких! А когда ты
после установки системы «умного» освещения закончишь с оформлением внутреннего
интерьера, считай, у тебя в кармане вторая профессия — дизайнер.
Вперёд, на борьбу с сумраком!

4
Powered by TCPDF (www.tcpdf.org)

История «умного дома»

О вещах, облегчающих жизнь, люди грезили во все времена. Примером тому
могут служить рог изобилия, скатертьсамобранка, гусли-самогуды и верх «ещёне-инженерной» мысли — избушка на
курьих ножках.
Реальный же «умный дом» появился только во второй половине прошлого
века. В начале 1970-х годов в США под
ним подразумевали здание с системой
проводов и прочих коммуникаций, спрятанных в стенах и соединяющих электрические приборы, освещение, телефонные
линии, отопление и водоснабжение. Пока
дом с подобной «начинкой» проходил все
этапы строительства (чертежи на бумаге,
само строительство, дизайн и оформление стен помещений), система становилась устаревшей. Идею «умного дома»
стали считать невыгодной и отложили
в долгий ящик. Это не значило, что разработки прекратились совсем. К примеру,
к концу десятилетия придумали использовать один и тот же кабель для разных целей: и телефонной линии, и компьютерной сети, и связи систем безопасности.
Идея автоматизации всей жизнедеятельности, а не только работы, была интересна большому числу людей. В 1978 году американские компании X10 USA
Leviton (Мелвилл, штат Нью-Йорк) и
X10 USA, создавшая одноименный стандарт приборов для обеспечения работы «умного дома», разработали технологию управления бытовыми приборами.

Включение и выключение кофеварки,
стиральной машины и прочих хорошо
знакомых тебе приборов обеспечивались через обычную электрическую сеть.
Правда, обычную для Америки. Дело
в том, то в России и на территории СНГ
принято пускать в дом напряжение
220 вольт (В), а за океаном — всего лишь
110 В.
Устройства стандарта X10 умели отправлять шесть команд: ON (включить),
OFF (выключить), DIM (передача значения уровня), BRIGHT (яркость, идёт
в одном блоке с DIM), ALL LIGHTS ON
(включить всё) и ALL UNITS OFF (выключить всё). Много ли это? Для управления освещением — достаточно, зато
этого явно не хватит для телевизора, если
ты, конечно, не собираешься смотреть
исключительно канал с мультфильмами,
не меняя громкость и не переключаясь на
игровую приставку или DVD-проигрыватель. К тому же по данному стандарту
передача команд происходила достаточно медленно. Устройства X10 сегодня используются в составе «умных домов» для
регулировки света, подкупая потребителей дешевизной и простотой установки. В остальных сферах стандарт быстро
устарел.
В 1992 году ему на смену пришёл новый — CEBus (Consumer Electronics Bus,
EIA-600, общая шина* бытовой электро* Шина — это электронный канал, связывающий
несколько входов и выходов.

5

ники). Он значительно увеличил скорость передачи данных и разграничил
пути передачи: теперь через электрическую сеть управлялось только освещение, а теле- и видеооборудование — через
кабель витой пары (как между компьютерами у тебя дома).
Позднее стали использовать беспроводную связь. Для этого все компоненты «умного дома» с помощью модулей
радиосигналов (как у беспроводных колонок или мыши) или инфракрасных
лучей (как пульт связывается с телевизором) подключали к одному связующему
узлу — маршрутизатору, т. е. устройству, прокладывающему пути и распределяющему информацию по приборамадресатам.
На первый взгляд передавать сигналы
подобным способом — совсем не выгодное дело, ведь передатчики будут тратить
энергии больше, чем при передаче через
обычный кабель. Но если вдуматься...
Неоспоримым достоинством является
возможность установки оборудования

6

и усовершенствования абсолютно любого дома. Во-первых, в качестве связующего звена может выступать самый обыкновенный роутер*, который сегодня есть
в каждом доме. Во-вторых, управлять
«умным домом» может смартфон или
планшет, смотря какой гаджет предпочитает жилец. Или оба сразу. То есть
доступ к настройкам получают не из одного места, например контроллера у входа в
квартиру, а с любого мобильного телефона или любимого ноутбука любого члена
семьи, которому доступен ключ безопасности**. В-третьих, не нужно делать капитальный ремонт с отодвиганием всей
* Роутер — маршрутизатор, который позволяет
соединить качественно разные сети, например
домашнюю (локальную, ограниченную по количеству устройств и расстоянию между ними)
и Интернет (глобальную).

** Ключ безопасности — особый набор символов, представляющий собой первую часть зашифрованного информационного сообщения
(о владельце, точнее, его гаджете), которое может расшифровать лишь устройство, обладающее второй частью шифра, например контроллер «умного дома».

мебели и порчей стен, чтобы подключить
новое или переставить в соседнюю комнату старое устройство. В этот же пункт
входит сокращение времени на установку: принёс, включил, работает! В-четвёртых, радиосигнал передаётся намного
быстрее, чем позволяет бытовая электрическая сеть, к которой раньше подключали X10.
Но нет предела совершенству. Фирма
Echelon Corporation в 1999 году представила стандарт LonTalk. На его основе
была создана сетевая платформа LonWorks, обеспечивающая более гибкое взаимодействие различных устройств. Значительное увеличение команд позволило
связывать между собой отдельные компоненты «умного дома». Стало возможным использовать сочетания нескольких
условий для реагирования на разные ситуации, например отключать вентиль
в ванной, если есть течь. Другим плюсом
новой платформы являлось разделение
на пользовательский и прикладной уровни. Пользовательский уровень реализовывался в виде web-приложений (страниц, открывающихся с любого гаджета)
или в форме самостоятельных программ,
ориентированных на обычного человека,
а не IT-специалиста. Графические символы и лаконичность позволяли общаться
с системой даже ребёнку. Конечно, доступ к части команд был защищён паролем. Центром «умного дома» стал 8-битный процессор* «Neuron chip».
Сегодня существует ещё один способ
составления начинки недорогого «умного дома» — через беспроводную связь.
Главный плюс данного способа состоит
в том, что для него не потребуется нанимать команду высококвалифицирован* 8-битные процессоры тебе встречались в старых игровых приставках Dendy и некоторых
недорогих современных.

ных электриков, сантехников, сетевиков
и прочих профессионалов! Сейчас никого не удивить принтером, подключённым
к ноутбуку без проводов, или кондиционером, управляемым через приложение
на телефоне. Производители бытовой
техники и мультимедиа вовсю оснащают свою продукцию модулями Wi-Fi
или Bluetooth. Подобное явление входит в понятие «Интернет вещей» (англ.
Internet of Things, IoT) — общее название
для взаимодействующих между собой
и с внешней средой устройств, в том числе без участия человека. Когда дом сам
проверяет, когда включать свет и готовить кофе, — не сомневайтесь, это работа
Интернета вещей.
В твоём смартфоне достаточно мощный процессор, чтобы выполнять функции контроллера, но ты не можешь поддерживать его постоянно подключённым
к домашней сети. Зато с этой задачей
легко справится Arduino. Эта маленькая платформа способна хранить в себе
подробные инструкции действий при
получении соответствующих показаний с аналоговых и цифровых датчиков.
Благодаря модулям Wi-Fi или Ethernet
ты можешь обеспечить связь микрокомпьютера с различными устройствами.
Но связь всех устройств иногда бывает
просто не нужна. Ты же не будешь отправлять на компьютер в соседнюю комнату файл через Интернет, а просто положишь его в общую папку? Или будешь?
Хорошо, тогда потребуется подключение
к глобальной сети на обоих компьютерах,
требующее дополнительной оплаты.
Аналогично и с проектами частей «умного дома». На небольших расстояниях
(в пределах квартиры) удобней использовать технологию Bluetooth, так как
её модуль потребляет меньше энергии
и не требует дополнительно включённого

7

роутера. Для некоторых элементов дома постоянное удалённое управление и изменение параметров не требуется. Тогда телефон или иной гаджет выступает в роли пульта,
а команды раздаёт автономно специально запрограммированный микрокомпьютер. Так,
например, можно управлять «умным» освещением, которое ты воплотишь в жизнь.
Вперёд, инженер!

Обозначения
1. Пин (от английского Pin — контакт) — это вход или выход на плате Arduino Uno, плате расширения Troyka Shield или макетной плате.
2. Скетч — программа, которую обрабатывает Arduino.
3. 5 V (5 вольт) — обозначение напряжения питания платы.
4. 220 V ( 220 вольт) — обозначение напряжения мощной нагрузки — бытовой электрической сети.
5. 20 W (20 ватт) — обозначение мощности лампы.
6. GND (от английского Ground — земля) — заземление электрических элементов.
7. // — обозначение в программе однострочных комментариев, в которых приводится
пояснительная информация.
8. /*текст*/ — обозначение в программе комментариев из нескольких строк.

8

Оборудование:
• Компьютер (минимальные требования): Windows XP, Windows Vista, Windows 7,
Windows 8, Windows 8.1, Windows 10 (32/64 bit) / Linux Mint, Ubuntu, Fedora / Mac OS X,
оперативная память не менее 512 Мб, процессор — 1,1 ГГц (или быстрее), свободное
место на диске — 200 Мб.
• Среда программирования Arduino IDE.
• Мобильный телефон или планшет (минимальные требования): Android 2.2, Bluetooth,
свободное место — 8 Мб. Возможно использование гаджетов с iOS (не рекомендуется).
• Плата Arduino Uno.
• Плата расширения Wireless Shield.
• Плата расширения Relay Shield (4 канала по 5 А).
• Модуль беспроводной связи Bluetooth Bee.
• Макетная плата BreadBoard Half.
• Датчик освещённости (Troyka Module).
• Инфракрасный датчик движения, 3 шт.
• Шлейф для датчика движения, 3 шт.
• Соединительные провода «папа-папа» (пучок из 65 штук).
• Соединительные провода «папа-мама» (пучок из 20 штук).
• Тройной провод типа «мама-мама», 1 шт.
• Кабель USB (A — B) для подключения Arduino к компьютеру.
• Резистор (220 Ом), 2 шт.
• Двухцветный светодиод, 2 шт.
• Двухжильный провод с патроном и вилкой или старая настольная лампа (бра).
• Лампа (накаливания до 60 W или светодиодная до 20 W).
• Блок для четырёх элементов питания типа АА.
• Штекер для разъёма питания с клеммником.
• Элемент питания типа АА, 4 шт.
• Острогубцы (кусачки).
• Крестовая отвёртка (размера ph0).
• Изоляционная лента.
• Карандаш.
• Картон или картонная коробка.
• Цветная бумага или газета для декорирования макета.
• Канцелярский нож.
• Клей ПВА или клей-карандаш.
• Ножницы.
• Линейка.
• Скотч.

9
Powered by TCPDF (www.tcpdf.org)

Этап 1. Устройство
«умной» лампочки
Каждый серьёзный проект начинается со схемы — своеобразного плана действий и,
одновременно, представления конечного результата. В электронике принято работать
со специальными чертежами, показывающими направление тока и его характеристики.
Согласись, если бы картинка состояла из скучных однообразных обозначений, сборку
устройства было бы делать неудобно и непонятно?

Рассмотри внимательно представленную схему. Подумай, почему компоненты соединены именно таким образом. Какие датчики тебе совершенно незнакомы? Попробуй
самостоятельно продумать назначение каждого элемента схемы. Как ты считаешь, для
чего служат провода, отмеченные красным цветом? А чёрным?
Тебе уже интересно? Давай разбираться!

10

Этап 2. Сборка устройства
автоматизированного
контроля освещения
ШАГ 1. СБОРКА БЛОКА ПИТАНИЯ
Чтобы войти в рабочее русло, начнём
с простой, но важной части проекта —
блока питания.
Внимание!
Сами батарейки (или аккумуляторы)
отложи в сторону. На этапах сборки 1–3
работать с установленными элементами
питания нельзя!

Детали для сборки и инструмент:
• блок для четырёх элементов питания
типа АА, 1х;
• элементы питания типа АА, 4х;
• изоляционная лента, 1х;
• штекер для разъёма питания с клеммником, 1х;
• ножницы, 1х
• крестовая отвёртка, 1х.

11

От блока отходят два провода: красный и чёрный. В электронике принято использовать эти цвета для обозначения питания (красный) и земли (чёрный). Приступим.

1. Возьми штекер и ослабь клеммник.
Для этого отвёрткой поверни винты
против часовой стрелки.

2. Помести конец чёрного провода в
гнездо со знаком «минус», а красного — в гнездо со знаком «плюс». Внутри клеммника должны оказаться
только медные концы проводов без
изоляции (оболочки). Если длины
оголённой части проводов недостаточно, попроси взрослых снять нужное количество изоляции. Если провод на конце «распушился», закрути
его.

3. Затяни обратно винты клеммника,
чтобы провода держались в нём
прочно.

4. Вставь батарейки в блок для элементов питания.

12

5. Обмотай провода изоляционной лентой, чтобы получить шнур питания.
Питание для устройства готово. Нам
требуется напряжение 5 V. Каждая
батарейка типа АА даёт около 1,5 V,
получаем около 6 V — этого хватит
с избытком.

Внимание!
Если провода у штекера нагреваются, немедленно вытащи батарейки и разбери
конструкцию! Это означает, что энергия
подаётся неправильно. Оголённые жилы
не должны выступать за края клемм,
иначе произойдёт короткое замыкание
(из-за него блок и нагревается). Таким
образом, зачищенные проводники должны быть полностью «утоплены» внутри
клеммника.

Кстати!
Ты можешь использовать питание от переносного аккумулятора для сотовых
телефонов (PowerBank) по USB-интерфейсу или зарядное устройство от твоего смартфона. 5 V — это стандартное
напряжение, используемое в мобильных устройствах и компьютерах наряду с 3,3 V, которое тоже применяется
в Arduino.

ШАГ 2. ПОДКЛЮЧЕНИЕ МОДУЛЯ
БЕСПРОВОДНОЙ СВЯЗИ

Детали для сборки:
• плата Arduino Uno, 1х;
• модуль Bluetooth Bee, 1х;
• плата расширения Wireless Shield, 1х.

«Умный дом» в целом и любой его компонент обязательно должны быть соединены
с модулем управления (в твоём случае с телефоном). Удобней всего использовать
беспроводную связь. Тогда ты не будешь ограничен в движениях каким-то коротким
проводом!

13

В твоём телефоне точно есть модуль Bluetooth. Он потребляет меньше энергии, чем
другие типы беспроводной связи, а если модель телефона выпущена после 2010 года,
то затраты будут минимальны! Именно поэтому мобильные гаджеты и беспроводные
колонки подключаются по Bluetooth. Если твой телефон старше — не отчаивайся: все
версии этой технологии совместимы между собой.
1. Соедини плату Arduino Uno (на рисунке — снизу) и плату расширения
Wireless Shield. Обрати внимание
на нумерации цифровых выходов на
обеих платах. Они должны совпадать.

2. Подключи модуль Bluetooth Bee
к специальному разъёму на плате
Wireless Shield. Сделать это можно единственным способом — по
пунктиру на плате расширения, как
показано на рисунке.

Полезно знать!
Удивительно, но своим названием технология Bluetooth обязана чернике! Датский король Харальд I любил её настолько, что получил прозвище Синезубый
(Blntand, английская версия — Bluetooth). Он объединил разрозненные
датские племена в государство. Создатели же Bluetooth хотели объединить все
устройства с помощью одного стандарта.

14
Powered by TCPDF (www.tcpdf.org)

Молодец! Ты оснастил свою плату полезным модулем связи. Пора перейти
к основному компоненту, обеспечивающему работу твоей лампочки.

ШАГ 3. ПОДКЛЮЧЕНИЕ РЕЛЕ ДЛЯ РАБОТЫ С ДОМАШНЕЙ СЕТЬЮ

Деталь для сборки:
‡ ɩɥɚɬɚ ɪɚɫɲɢɪɟɧɢɹ 5HOD\ 6KLHOG  ɤɚɧɚɥɚ
ɩɨȺ х

Ты уже знаешь, что Arduino Uno и платы расширения работают с напряжением 3,3 V
или 5 V. Хотя привычнее для тебя надпись 220 V, которую ты наверняка видел над розетками в помещениях. Сравни напряжения.
Чтобы обеспечить работу Arduino с обычной сетью, т. е. мощной нагрузкой, необходимо использовать специальный механический рубильник (переключатель), который
называется реле. Он работает по принципу замыкания канала, обеспечивая соединение
в одном из положений двух подключенных в него концов проводов.

Аккуратно подключи Relay Shield
к плате расширения Wireless Shield.
Проследи, чтобы Relay Shield не давил на модуль Bluetooth Bee. Обрати
внимание на контакты, обозначенные
зелёными стрелками.

15

ШАГ 4. ПОДКЛЮЧЕНИЕ СВЕТОДИОДОВ

Детали для сборки:









жёлтый провод типа «папа-папа», 2х;
красный провод типа «папа-папа», 1х;
чёрный провод типа «папа-папа», 3х;
макетная плата BreadBoard Half, 1х;
резистор (220 Ом), 2х;
двухцветный светодиод, 2х;
зелёный провод типа «папа-мама», 2х;
красный провод типа «папа-мама», 2х.

Теперь рассмотри макетную плату
BreadBoard Half. На ней нанесены буквы,
числа, вертикальные линии, знаки «+»
и «–» — все они являются обозначениями
различных шин. Макетная плата позволяет соединять одновременно несколько
компонентов без пайки.

Важно! На рисунке обозначены различные шины макетной платы. Боковые шины
соединены продольно, средние — поперечно.

1. Подключи к плате питание («+»)
и землю («–»). Красным проводом
«папа-папа» соедини пин 5V на плате расширения Relay Shield и верхний пин слева на макетной плате
BreadBoard Half рядом с красной линией и знаком «+».
Молодец! Теперь, если понадобится подать питание на любой компонент, достаточно будет подключиться
к этой шине.

16

2. Чёрным проводом «папа-папа» аналогичным образом соедини пин GND
на плате расширения и верхний пин
шины «–» на макетной плате рядом
с синей линией.

Макетная плата подключена!

3. Подключи первый светодиод. Для
этого зелёным проводом «папа-мама» соедини длинную ножку светодиода и пин h27 макетной платы,
а короткую ножку и пин h26 макетной платы соедини красным проводом «папа-мама».

4. Подключать светодиод напрямую
к шине питания 5 V нельзя! Возьми
резистор на 220 Ом. Он позволит выровнять (снизить) нагрузку, чтобы не
повредить светодиод. Подогни ножки резистора и подключи их к пинам
g27 и c27 макетной платы.

17

В отличие от шины «+», питание на светодиод будет подаваться не постоянно,
а согласно значению 0 или 1 в программе, т. е. питание управляемо с помощью сигнала
контроллера. Сигнал принято обозначать латинской буквой «S» (от английского
Signal ) и использовать для него жёлтый цвет.

5. Подай питание на резистор. Жёлтым
проводом «папа-папа» соедини пин
a27 макетной платы BreadBoard Half
и цифровой пин № 9 (Digital 9) на
плате расширения Relay Shield.

6. Подведи к светодиоду землю. Для
этого чёрным проводом «папа-папа»
соедини пятый пин снизу шины «–»
на макетной плате и пин g26 макетной платы.
Этот светодиод будет светиться зелёным. Ты заметил, что наши светодиоды называются двухцветными? В чём
же секрет, если ты получил пока только один цвет? Ответ прост. Длинная
ножка выступала в роли анода — проводника, подсоединённого к источнику питания, а короткая играла роль
катода — проводника, подключенного к земле. Это задало определённое
направление тока в светодиоде. Достаточно направить ток в обратную
сторону, чтобы получить «противоположный» цвет, т. е. красный!

18

7. Красным проводом «папа-мама» соедини короткую ножку второго диода (здесь — анод) и пин h23 макетной платы, а длинную ножку (катод)
и пин h22 макетной платы — зелёным
проводом «папа-мама».

8. Подключи резистор в пины g23 и c23
макетной платы.

19
Powered by TCPDF (www.tcpdf.org)

9. Чёрным проводом «папа-папа» соедини пин g22 и восьмой пин шины «–» макетной
платы.

10. С помощью жёлтого провода «папа-папа» подведи питание к светодиоду. Соедини
пин a23 макетной платы и цифровой пин № 8 (Digital 8) на плате расширения Relay
Shield.

Светодиоды подключены!

20

ШАГ 5. ПОДКЛЮЧЕНИЕ ДАТЧИКА ОСВЕЩЁННОСТИ

Детали для сборки:






чёрный провод «папа-папа», 1х;
зелёный провод «папа-папа», 1х;
красный провод «папа-папа», 1х;
тройной провод типа «мама-мама», 1х;
датчик освещённости (Troyka Module), 1х.

«Умное» освещение обязано не только удалённо управляться, но и включаться без посторонней помощи при выполнении определённых условий. Если в доме светло, включать лампочку не требуется, а если настал вечер, то без света тебе будет трудно пройти
по коридору. Или ты не расстаёшься с телефоном даже ночью?
У тебя соединены вместе уже три платы (Arduino Uno, Wireless Shield и Relay Shield),
поэтому подключать четвёртую будет неудобно. Ничего страшного! Ты можешь подключить датчик освещённости к Relay Shield.
В датчике освещённости учтена разница между напряжениями, необходимым для работы фоторезистора и подаваемым платой Arduino Uno. Датчик передаёт аналоговый
сигнал*, поэтому занимает аналоговый вход.
На плате Relay Shield аналоговые входы расположены слева и пронумерованы от
A0 до A5. На датчике используются следующие стандартные обозначения: S — сигнал
(по этому контакту проходит информация), V — питание, G — земля.

Кстати!
Для лёгкого запоминания можно воспользоваться ассоциацией «Сигнал–
Вольтаж–Грунт».

* Аналоговый сигнал — это непрерывно идущие друг за другом значения данных, измеряемые в течение
промежутка времени.

21

1. Возьми идущий в комплекте с датчиком тройной провод «мама-мама».
Снова руководствуясь правилом, что
земля — это чёрный провод, соедини
контакты так, чтобы к контакту S шёл
жёлтый провод. Готово!

2. Чтобы удобно расположить датчик
в будущем проекте, удлини шлейф
с помощью трёх проводов «папа-папа» следующим образом:
Провод
в шлейфе
чёрный
красный
жёлтый

Провод
«папа-папа»
чёрный
красный
зелёный

3. Подключи чёрный провод «папа-папа» ко второму пину шины «–» на
макетной плате.

22

4. Красный провод «папа-папа» подключи ко второму пину шины «+» на
макетной плате.

5. Зелёный провод «папа-папа» подключи к аналоговому пину A0 на плате расширения Relay Shield.

Датчик освещённости подключён!

ШАГ 6. ПОДКЛЮЧЕНИЕ ДАТЧИКОВ ДВИЖЕНИЯ

Детали для сборки:






инфракрасный датчик движения, 3х;
шлейф для датчика движения, 3х;
красный провод «папа-папа», 3х;
чёрный провод «папа-папа», 3х;
зелёный провод «папа-папа», 3х.

23

Нет смысла включать освещение вечером, если дома никого нет. Но как «умной» системе понять — есть ли кто-то в данный момент в комнате или нет? Для решения этой проблемы придуманы датчики движения. Они реагируют на изменение излучения в инфракрасном диапазоне, т. е. проверяют, насколько тёплый объект прошёл мимо. Датчики
постоянно передают цифровой сигнал «0», но при прохождении мимо них человека или
животного на некоторое время передают сигнал «1», чтобы можно было успеть данное
значение обработать.
Датчик движения может работать в двух режимах: реагировать на движение или,
наоборот, на его отсутствие. Второй режим позволяет постоянно передавать «0», а при
исчезновении тёплого объекта перед датчиком — «1». Для твоего проекта у датчика
должен быть свободен контакт рядом с буквой L (Low), как показано на рисунке.

1. Подключи идущий в комплекте
шлейф к датчику движения. Сделать
это можно единственным способом
из-за специального разъёма.

2. Чёрным проводом «папа-папа» соедини чёрный провод шлейфа и шестой пин на шине GND («–») макетной платы BreadBoard Half.

24
Powered by TCPDF (www.tcpdf.org)

3. Красным проводом «папа-папа»
соедини красный провод шлейфа
и шестой пин на шине питания («+»)
макетной платы.

4. Зелёным проводом «папа-папа»
соедини зелёный провод шлейфа
и цифровой пин № 12 (Digital 12) на
плате Relay Shield.

Первый датчик движения подключён. Осталось аналогичным способом подключить
ещё два. Для этого используй следующую таблицу:
Датчик
движения
1-й датчик

2-й датчик

3-й датчик

Провод
шлейфа

Провод
«папа-папа»

Конечный
пин

чёрный

чёрный

шестой пин шины GND

красный

красный

шестой пин шины питания

зелёный

зелёный

цифровой пин № 12

чёрный

чёрный

седьмой пин шины GND

красный

красный

седьмой пин шины питания

зелёный

зелёный

цифровой пин № 11

чёрный

чёрный

восьмой пин шины GND

красный

красный

восьмой пин шины питания

зелёный

зелёный

цифровой пин № 10

25

Молодец! Ты подключил все датчики
и светодиоды. Остался самый ответственный и сложный шаг.

ШАГ 7. ПОДКЛЮЧЕНИЕ ЛАМПЫ

Детали для сборки:
• двухжильный провод с патроном
и вилкой, 1х;
• острогубцы (кусачки), 1х;
• лампа (накаливания или светодиодная), 1х;
• крестовая отвёртка размера ph0, 1х.

Конечно, для модели «умного» освещения достаточно работы светодиодов. Однако
их использование на практике бесполезно. Ты же не будешь освещать комнату однимединственным зелёным светодиодом?
Лампочку следует выбирать, рукоНапряжение
Тип тока
водствуясь характеристиками (возмож(нагрузка), В
ностями) платы Relay Shield. На сайте
производителя указаны характеристики,
постоянный
30
приведённые в таблице справа.
переменный
250
Что означают эти цифры? Переменный ток используется в лампах накаливания и энергосберегающих лампах, а постоянный — в светодиодных лампах. Последние
обладают весомым преимуществом: у них самое маленькое потребление электроэнергии среди всех источников света!

26

Как видно из следующей таблицы, ты
Мощность
Мощность
можешь использовать лампу накаливания
светодиодной
лампы
с большей мощностью. Однако не забылампы, Вт
накаливания, Вт
вай, что света от слабых светодиодных
ламп получишь столько же. Кроме того
3
25
лампа накаливания может лопнуть, если
5
40
подать неправильное напряжение. Обычно дома используют лампы накаливания
8
60
до 60 W (Вт, ватт) — этого достаточно для
нормального освещения. Спроси у роди14
100
телей, какие лампы стоят в светильнике
в твоей комнате.
Избавим тебя от скучных расчётов. Максимальная мощность светодиодной лампы
для работы с данным реле составляет 20 W (Вт).

Работа с бытовым напряжением опасна для здоровья и даже жизни! Ни
в коем случае не прикасайся руками или отвёрткой с неизолированной
ручкой к винтам контактных колодок
и местам пайки выводов колодок и реле.
НИКОГДА не работай с платой, если
вилка устройства подключена к бытовой
сети.
Когда устройство будет готово, проследи,
чтобы никто не мог случайно коснуться
обозначенных мест.

Реле

Внимание!

Места пайки выводов колодок

Винты

Винты

1. Ослабь клеммы первого реле, как показано на рисунке.

27

2. Разрежь одну жилу двухжильного
провода, который идёт к патрону для
лампы. Они равноценные, поэтому не
имеет значения, какой из двух ты выберешь. На месте разреза будет крепиться устройство, поэтому выбирай
такое место разреза, чтобы потом тебе
было удобно. Arduino будет управлять замыканием контакта, т. е. обеспечивать подачу питания на лампу.
Нетронутая жила отвечает за заземление (GND).

3. Попроси взрослых зачистить обрезанные проводники.

4. Конец части обрезанного провода, которая идёт к вилке, помести в клемму
с надписью NC*. Крепко затяни клемму. Внутри клемм должны оказаться
только медные концы проводов без
изоляции (оболочки). Если длины
оголённой части проводов недостаточно, попроси взрослых снять нужное количество изоляции. Если провод на конце «распушился», закрути
его.

*
* NC (normally closed) — нормально замкнутый контакт. В рабочем состоянии имеет замкнутый

28

контакт.

5. Второй конец (части, идущей к патрону) помести в клемму с надписью NO*. Проверь провод и затяни клемму.

6. Ещё раз проверь контакты. Наличие
оголённых проводов приведёт к замыканию! Помни об опасности работы с бытовой сетью!

Ты молодец! Устройство закончено. Осталось самую малость — написать программу
и сделать демонстрационный макет. С этим ты легко справишься!

* NO (normally opened) — нормально разомкнутый контакт. В рабочем состоянии имеет разомкнутый
контакт.

Powered by TCPDF (www.tcpdf.org)

29

Этап 3. Установка
программного обеспечения
1. Чтобы программировать плату Arduino, требуется установить на компьютер специальную среду разработки программ, которая называется Arduino IDE. Это программное обеспечение распространяется бесплатно, поэтому ты без проблем можешь
скачать себе установщик, перейдя на официальный сайт Arduino:
https://www.arduino.cc/en/Main/Software.

В перечне справа выбери операционную систему, установленную на твоём компьютере.

Если у тебя установлена ОС Windows, но нет прав администратора (например, родители ограничили учётную запись), кликни по второй строке.
На странице загрузки тебе предложат
сделать пожертвование разработчикам среды. Если ты хочешь скачать
установщик без взноса, кликни на
Just Download.

30

Если у тебя нет компьютера или ты
хочешь, чтобы среда программирования для роботов была всегда с собой, то ты можешь найти бесплатные
приложения в Google Play, например
ArduinoDroid.

2. Для данного проекта тебе придётся установить на телефон или планшет дополнительное программное
обеспечение — программу «Умный
свет». Скачать установочный файл
можно по ссылке: http://pilotlz.ru/
files/10250/.

Кстати!
C++ — один из самых популярных языков программирования, на нём написаны
практически все компьютерные игры, например Need for Speed Rivals и EA Sports
FIFA 15.

Внимание!
Программы, написанные в редакторе кода среды Arduino IDE, называются скетчами (от английского Sketch —
набросок). Они сохраняются в собственном формате — .ino. Программы тебе
предстоит писать непосредственно на
языке программирования Wiring, который является облегченной версией языка
C++.

Проверь, чтобы в твоей системе Android была разрешена установка приложений из
неизвестных источников. Для этого зайди в раздел настроек «Безопасность». Напротив
соответствующего пункта должна стоять
галочка.
Загрузи установочный файл приложения формата .apk на свой гаджет и открой
файл. Следуй инструкциям на экране.
После завершения установки на рабочем
столе появится значок с лампочкой.
Если на твоём телефоне установлена
система iOS, то тебе придётся установить
из магазина приложений любое из бесплатных приложений для передачи команд по Bluetooth. Например, HandyBLE,
LightBlue Explorer или др.

31

Этап 4. Первый запуск
и проверка оборудования
1. Подсоедини к компьютеру Arduino
Uno с помощью USB-кабеля.
2. Запусти среду Arduino IDE.
Должно появиться следующее окно
программы:

Панель инструментов
Вкладка скетча с названием

Основные кнопки:
Компилировать (собирать для данного микропроцессора) скетч для
проверки на наличие ошибок.
Компилировать программу и загрузить её на подключённое устройство (Arduino сразу же запустит полученную программу).
Создать новый скетч (среда откроет новую вкладку, в качестве названия будет использована дата).

Редактор кода,
поле ввода

Консоль вывода

Информация
о подключённом
устройстве

32

Открыть сохранённый ранее скетч.

Сохранить открытый скетч. Не
забывай использовать эту функцию перед закрытием среды, чтобы не потерять достигнутый результат!

3. Если название подключённого устройства не отображается или отображается неверно, выбери плату и порт вручную:

4. Прежде чем подготовить программу, следует убедиться, что всё оборудование подсоединено и работает правильно. Надо будет проверить, есть ли сигнал от датчиков,
отображает ли информацию дисплей и правильно ли собран блок питания.

5. Для проверки компонентов перепиши приведённый ниже скетч в поле ввода:
/*ПРИМЕЧАНИЕ: Если происходит ошибка загрузки, следует переключить рычажок
на плате Wireless Shield рядом с первыми цифровыми выходами.*/
int lampRelay = 7; /*Реле лампы. 7,6,5,4 - управляющие контакты
для реле на 220. Лампа: максимум до 80 W, но лучше не более 20 W.*/
int LED1 = 8; //Номер пина красного светодиода.
int LED2 = 9; //Номер пина зелёного светодиода.
int motionOne = 12; //Номера пинов датчиков движения.
int motionTwo = 11;
int motionThree = 10;
/*Функция setup() переводится как «установка». Эта функция отрабатывает
один раз после запуска Arduino, устанавливая конкретные роли для портов:
какой пин был входом, а какой – выходом и для каких компонентов.*/
void setup() {
Serial.begin (9600);
//Этап назначения ролей пинов (вход или выход).
pinMode(lampRelay, OUTPUT); //Управление реле, выход.
pinMode(LED1, OUTPUT); //Управление питанием красного светодиода, выход.
pinMode(LED2, OUTPUT); //Управление питанием зелёного светодиода,выход.
pinMode(motionOne, INPUT); //Считывание показаний
pinMode(motionTwo, INPUT); //датчиков движения, входы.
pinMode(motionThree, INPUT);
}

33

/*Функия loop() отвечает за повторяющиеся действия. Именно здесь
расположена основная часть программы.*/
void loop() {
//ПРОВЕРКА СВЕТОДИОДОВ.
/*Установка логических единиц (HIGH) на пины светодиодов,
чтобы подать на них питание.*/
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
/*Функия delay() устанавливает паузу в миллисекундах, поэтому
чтобы успеть прочитать надпись, понадобится 1000 мс (1 секунда).*/
delay(1000);
/*Установка логических нулей (LOW), чтобы выключить светодиоды.*/
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
//ПРОВЕРКА ДАТЧИКОВ ДВИЖЕНИЯ.
if (digitalRead(motionOne) == 1) {
/*Требуется считать показания цифрового датчика 1.
Если движение было замечено, его сигнал равен 1.
При фиксировании движения датчиком 1 дважды мигает красный светодиод.*/
digitalWrite(LED1, HIGH);
delay(100);
digitalWrite(LED1, LOW);
delay(100);
digitalWrite(LED1, HIGH);
delay(100);
digitalWrite(LED1, LOW);
delay(100);
}
if (digitalRead(motionTwo) == 1) {
/*Проверка второго датчика
движения. Если движение
зафиксировано, то дважды мигает
зелёный светодиод.*/
digitalWrite(LED2, HIGH);
delay(100);
digitalWrite(LED2, LOW);
delay(100);
digitalWrite(LED2, HIGH);
delay(100);
digitalWrite(LED2, LOW);
delay(100);
};

34
Powered by TCPDF (www.tcpdf.org)

Кстати!
Последовательный порт в Arduino обозначают словом Serial. Передача данных
по нему осуществляется по протоколу
UART. Для соединения через USB-кабель оптимальное значение скорости,
при которой не будет ошибок, — 9600.

if (digitalRead(motionThree) == 1) {
/*При фиксировании движения третьим датчиком поочерёдно мигают оба
светодиода.*/
digitalWrite(LED1, HIGH);
delay(100);
digitalWrite(LED1, LOW);
delay(100);
digitalWrite(LED2, HIGH);
delay(100);
digitalWrite(LED2, LOW);
delay(100);
digitalWrite(LED1, HIGH);
delay(100);
digitalWrite(LED1, LOW);
delay(100);
digitalWrite(LED2, HIGH);
delay(100);
digitalWrite(LED2, LOW);
delay(100);
};
//ПРОВЕРКА ДАТЧИКА ОСВЕЩЁННОСТИ И СРАБАТЫВАНИЯ РЕЛЕ.
if (analogRead(0) > 650) {
/*Требуется считать показания датчика освещённости, подключённого
к аналоговому входу А0.
Если темно, на управляющий контакт реле записывается логическая 1,
происходит включение лампочки.*/
digitalWrite(lampRelay, HIGH);
}
//В противном случае свет требуется выключить.
else {
digitalWrite(lampRelay, LOW);
};
delay(3000); //Чтобы успеть увидеть отличия, устанавливается пауза 3 с.
}

Внимание!
Обрати внимание на переменные. Правилом хорошего тона является их латинское написание со строчной буквы, второе
слово набирается без пробела с заглавной буквы. Не используй написание русских слов латинскими буквами!

35

6.

Проверь правый нижний угол окна программы. Если название устройства отображается, нажми на кнопку загрузки. Если названия нет, проверь подключение кабеля.

7. Далее появится диалог сохранения скетча. Дай ему имя testing и сохрани в удобной
для тебя папке в памяти компьютера. Скетч будет скомпилирован* и загружен на
подключённое устройство. Если компиляция не удалась, проверь правильность написания переменных и синтаксис. Если не удалась загрузка, переключи небольшой
рычажок на плате Wireless Shield рядом с первыми цифровыми выходами. Не забудь
после загрузки вернуть его в положение беспроводного порта!

Попробуй водить рукой над разными датчиками движения или оставлять их в покое.
Если светодиоды не горят или горят не в том порядке, как предполагалось при написании программы, проверь, правильно ли ты собрал устройство и в каком положении
находятся перемычки на датчиках движения.

8. Отсоедини USB-кабель. Теперь проверь, как твой гаджет работает с батарейным отсеком или мобильным блоком питания. Это разумно, так как не всегда удобно оставлять гаджет включённым в сеть ПК, если это не домашний сервер. Подключи штекер
блока питания ко входу Arduino Uno.

При подключении блока питания должна снова включиться программа тестирования. Если этого не произошло, проверь, правильно ли собран блок или заряжен ли мобильный аккумулятор.

Отлично! Устройство готово, его компоненты работают нормально. Время монтировать освещение в макет! Вперёд, инженер!

* Компиляция — это процесс перевода программы с языка программирования, известного человеку,

36

на язык, понятный компьютеру, а также сборка (сохранение) в файл того самого кода, понятного компьютеру.

Этап 5. Создание макета
дома с «умным» освещением

Твоё устройство предназначено для установки внутри дома и представляет собой основу системы «умного» освещения.
Создадим же для эксперимента макет самого дома.

Тебе понадобятся:









картон (или пара любых коробок);
цветная бумага или газета;
канцелярский нож;
клей ПВА или клей-карандаш;
ножницы;
линейка;
карандаш;
скотч.

1. Склей из картона две прямоугольные
коробки любого размера. Или ты можешь взять уже готовые коробки, например от купленных лампочек. Это
будет основа нашего дома, где боковые грани будут играть роль стен.

37

2. Соедини коробки, но пока их не склеивай. Отметь карандашом расположение будущей межкомнатной двери на обеих частях.
3. На правой стене относительно дверей у пола поставь метки. Здесь будут располагаться датчики движения. При входе человека в комнату луч датчика должен им
пересекаться.

4. Примерно отметь, где бы ты хотел расположить входную дверь и окна.
5. Выбери оптимальное положение для
миниатюрных светильников (светодиодов). У тебя есть два варианта
расположения: красиво или полезно. Будет хорошо, если ты сможешь
расположить свою лампочку, представляя, что это реальная комната,
которую нужно осветить. Найди ему
разумное место — надеемся, ты понимаешь, что лампа не должна торчать
в сантиметре от паркета.

 Теперь разбери коробки и нанеси с помощью линейки и карандаша будущие окна

и дверные проёмы. Расположи нижние границы окон на одной высоте от пола.
Желательно также, чтобы окна были одинаковыми.
7. Проделай небольшие отверстия для светодиодов на отмеченных ранее местах. Диаметр отверстий не должен превышать 0,5 см.

d=

8. В местах, где ты планируешь установить датчики движения, сделай круглыеотверстия диаметром 2,3 см.

3

2,
см

1-1,5 см
пол

38

9. В детстве родители запрещали тебе рисовать на стенах? Пора наверстать упущенное! Ты можешь раскрасить стены с помощью карандашей, красок и фломастеров.
Может, ты давно хочешь сделать ремонт в своей комнате, потому что тебе не нравятся обои в горошек, выбранные ещё бабушкой? Или ты мечтаешь о комнате в едином
авторском стиле? Тогда ты просто обязан использовать обои. Достойной заменой им
выступит цветная бумага ярких цветов. Можно также поклеить фотообои, на роль
которых сгодится фотография из вчерашнего выпуска папиной газеты. Если ты хочешь воссоздать совсем реалистичную атмосферу квартиры, то набери в поисковике
слово pattern и распечатай понравившуюся картинку*.

10. Вновь собери коробки, как было показано на схеме ранее. Аккуратно скрепи их друг
с другом с помощью клея так, чтобы совпадали межкомнатные проёмы.
11. Вставь в отверстия датчики движения (внутри комнаты должны оказаться только
круглые части) и светодиоды. Не перепутай! В комнате с красным светодиодом должен быть установлен первый датчик движения.

12. Проверь, чтобы никакие элементы макета не касались платы Relay Shield.

13. С помощью скотча закрепи на столе
датчик освещённости и третий датчик
движения. Они будут отвечать за закат и восход. Да-да, лампа — это твоё
личное маленькое солнце.

Готово! Это было занимательно, не
правда ли? Осталось «оживить» прибор,
написав для него полную программу.

Кстати!
Для планировки макета ты можешь использовать
бесплатное
приложение
Autodesk Homestyler (http://homestyler.
com). Оно работает в любом браузере. Если ты предпочитаешь мобильное устройство, приложение доступно
в Google Play и App Store.

Вперёд, программист!

* Большую коллекцию текстур (повторяющихся картинок) ты найдёшь здесь: https://ru.pinterest.com/
search/pins/?q=pattern.

Powered by TCPDF (www.tcpdf.org)

39

Этап 6.
Создание программы
для устройства
ЛОГИКА ПРОГРАММЫ
Программа выполняется, если присутствует подключение по Bluetooth. Она ожидает команды от гаджета. В зависимости от номера полученной команды выполняются
следующие действия:
Код
команды

Действие

1

включается красный светодиод, выключается всё остальное

2

включается зелёный светодиод, выключается всё остальное

3

включается лампочка, выключается всё остальное

4

включаются оба светодиода и лампочка

5

выключаются оба светодиода и лампочка

6

автоматический режим

При получении команды автоматического режима программа считывает показания
с датчиков движения и освещённости. При проходе мимо первого датчика движения
включается зелёный светодиод, а при проходе мимо второго датчика — красный. Если
освещения недостаточно в течение нескольких секунд и есть движение у третьего датчика движения, включается лампочка. Это позволяет не только избежать ошибочного быстрого включения при внезапной сумрачности из-за тучи либо резкого освещения при
попадании на датчик луча фонарика или блика, но и не тратить энергию в тёмное время
суток, когда человека в помещении нет.

ШАГ 1. ЗАПУСК ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ARDUINO IDE
1. Запусти программную среду Arduino IDE.
2. В открывшемся окне выбери кнопку

40

«Новый».

ШАГ 2. СОСТАВЛЕНИЕ ПРОГРАММЫ ДЛЯ «УМНОГО» ОСВЕЩЕНИЯ
В поле ввода начинай составлять код программы для Arduino. Общий вид программы
будет таким:
int bluetoothData;
int lampRelay = 7;
int LED1 = 8;
int LED2 = 9;
double lightPrev = 500.0;
int motionOne = 12;
int motionTwo = 11;
int motionThree = 10;
int cloudFinder = 0;

if (bluetoothData == ‘6’) {
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
long valSensor = 0;
for (int i = 0; i < 100; ++i) {
valSensor = valSensor + analogRead(0);
}
valSensor = (valSensor / 100);

void setup() {
Serial.begin (9600);
pinMode(lampRelay, OUTPUT);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(motionOne, INPUT);
pinMode(motionTwo, INPUT);
pinMode(motionThree, INPUT);
}
void loop() {
if (Serial.available())
{
bluetoothData = Serial.read();
if (bluetoothData == ‘1’) {
digitalWrite(LED1, HIGH);
digitalWrite(LED2, LOW);
digitalWrite(lampRelay, LOW);
};
if (bluetoothData == ‘2’) {
digitalWrite(LED1, LOW);
digitalWrite(LED2, HIGH);
digitalWrite(lampRelay, LOW);
};
if (bluetoothData == ‘3’) {
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(lampRelay, HIGH);
};
if (bluetoothData == ‘4’) {
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(lampRelay, HIGH);
};
if ( bluetoothData == ‘5’) {
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(lampRelay, LOW);
};

int positionOne = digitalRead(motionOne);
int positionTwo = digitalRead(motionTwo);
int positionThree = digitalRead(motionThree);
if (positionOne == 1) {
digitalWrite(LED1, HIGH);
};
if (positionTwo == 1) {
digitalWrite(LED2, HIGH);
};
if ((lightPrev > 650 and valSensor > 650) and
(positionThree == 1 and cloudFinder == 1)) {
digitalWrite(lampRelay, HIGH);
};
if (digitalRead(motionOne) == 0) {
digitalWrite(LED1, LOW);
};
if (digitalRead(motionTwo) == 0) {
digitalWrite(LED2, LOW);
};
if (digitalRead(motionThree) == 0) {
digitalWrite(lampRelay, LOW);
};
if (lightPrev < 250 and valSensor < 250) {
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(lampRelay, LOW);
cloudFinder = 0;
};
lightPrev = valSensor;
if (lightPrev > 650 and valSensor > 650) {
cloudFinder = 1;
};
delay(2500);
}
}
}

41

1. Назови устройства, которые подключены к микропроцессору, и пины, ими занимаемые, как в testing.ino, используя глобальные переменные (переменные, которые
сохраняются вне повторов программы).
Здесь добавилась целочисленная переменная (int), в которую будет сохраняться команда, полученная от другого устройства Bluetooth. При желании ты можешь заменить её на тип string (строка), чтобы устройства «общались» между собой человеческими словами. На практике это лишено смысла.
int bluetoothData; //Код команды, получаемый от телефона.
int lampRelay = 7;
int LED1 = 8;
int LED2 = 9;
/*Для сохранения предыдущего показания датчика освещённости,
чтобы сравнить с новым используется нейтральное число 500.
Так как показания не будут целыми числами и требуют много знаков
после запятой, используется тип double.*/
double lightPrev = 500.0;
int motionOne = 12;
int motionTwo = 11;
int motionThree = 10;
int cloudFinder = 0; //Замер промежутка времени темноты.

2. Установи скорость передачи данных по порту, поддерживающему протокол UART*.
Здесь же обозначь, какие пины были входами (INPUT), а какие — выходами
(OUTPUT).
void setup() {
Serial.begin (9600);
pinMode(lampRelay, OUTPUT);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(motionOne, INPUT);
pinMode(motionTwo, INPUT);
pinMode(motionThree, INPUT);
}

3. Займись повторяющейся функцией loop(). Тебе нужно устройство, работающее
под управлением. Значит, если «пульт» подключить не удалось и нет связи, оно не
должно работать.
Для подключения в будущем в списке доступных устройств на твоём гаджете необходимо будет выбрать Bluetooth Bee V.2 (если потребуется пароль, введи 1234).
При подключении Bluetooth Bee к смартфону автоматически откроется порт, по
которому будут передаваться команды. Модуль беспроводной связи, выбранный
в этом проекте, позволяет «общаться» через терминал, не тратя время на прописывание ключей к командам и настройку Arduino.
* UART (УАПП, универсальный асинхронный приёмопередатчик) — старейший и самый распространен-

42

ный протокол передачи данных. Для компьютера и Uno протокол UART является «международным
языком общения», как для тебя и иностранца — английский.

void loop() {
/*Bluetooth заменяет собой порт, при котором передавались
данные от компьютера устройству по usb-кабелю.*/
if (Serial.available())//Если порт доступен, то
{
bluetoothData = Serial.read(); //считывание команды.
/*Команды можно изменять, дополнять их для работы оставшихся
трёх свободных реле. Числа прописаны в программу для
Android.*/

4. Программа, которую ты установил на свой гаджет, позволяет выбором кнопки отправить на устройство определённую команду из фиксированного перечня команд,
представленных цифрами от 1 до 6. При получении команды выполняются установленные в соответствии с логикой программы действия.
//Если была передана «1», то необходимо
if (bluetoothData == ‘1’)
{ //включить красный светодиод и выключить остальные.
digitalWrite(LED1, HIGH);
digitalWrite(LED2, LOW);
digitalWrite(lampRelay, LOW);
};
//Если была передана команда «2», то необходимо
if ( bluetoothData == ‘2’)
{ //включить зелёный светодиод; выключить красный светодиод и лампочку.
digitalWrite(LED1, LOW);
digitalWrite(LED2, HIGH);
digitalWrite(lampRelay, LOW);
};
//Если была передана команда «3», то необходимо
if ( bluetoothData == ‘3’)
{ //включить лампочку и выключить светодиоды.
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(lampRelay, HIGH);
};
//Если была передана команда «4», то необходимо
if ( bluetoothData == ‘4’)
{ //включить всё.
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(lampRelay, HIGH);
};
//Если была передана команда «5», то необходимо
if ( bluetoothData == ‘5’)
{ //выключить всё.
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(lampRelay, LOW);
};

43

5. В предыдущем пункте ты пропустил команду 6 — «автоматический режим». Она
требует отдельного рассмотрения. Для начала тебе придётся выключить все светодиоды, чтобы задать им правильный режим работы.
//Если была передана команда «6», то требуется
if (bluetoothData == ‘6’) {
/*включить автоматический режим.
Дополнительно следует выключить светодиоды, так как они будут включаться
при фиксации движения согласно заданному правилу.*/
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);

6. Изменение освещённости помещения будет фиксироваться с помощью аналогового
датчика, поэтому важно помнить, что он передаёт не определённое постоянное значение напряжения на плату Arduino Uno (0 V для «0» или 5 V для «1»), как цифровой датчик, а изменяющееся — от 0 V до 5 V.
/*Так как датчик освещённости аналоговый, используется среднее
арифметическое ста замеров.*/
long valSensor = 0;
for (int i = 0; i < 100; ++i) {
valSensor = valSensor + analogRead(0);
}
valSensor = (valSensor / 100);

7. Отлично! Теперь подготовь для работы данные датчиков движения. Они уже являются цифровыми, поэтому проблем не возникнет.
//Подчёт и фиксация показаний датчиков движения.
int positionOne = digitalRead(motionOne);
int positionTwo = digitalRead(motionTwo);
int positionThree = digitalRead(motionThree);

8. В состоянии покоя датчики движения передают логический ноль (LOW или 0).
Если они фиксируют движение, то некоторое время передают логическую единицу
(HIGH или 1). Тебе важно обработать второе событие для каждого датчика.
//Если было движение перед первым датчиком,
if (positionOne == 1) {
//включается красный светодиод.
digitalWrite(LED1, HIGH);
};
//Если было движение перед вторым датчиком,
if (positionTwo == 1) {
//включается зелёный светодиод.
digitalWrite(LED2, HIGH);
}

44
Powered by TCPDF (www.tcpdf.org)

Третьему датчику приготовлена особая участь. Когда солнце заходит на несколько
секунд за тучу, ты же не бежишь включать свет, верно? Твой робот тоже не должен,
поэтому в первые секунды «затмения» он выжидает и пока cloudFinder равен 0.
Значения для сравнения взяты из практических измерений для данного датчика освещённости. В будущем ты можешь их изменить, опираясь на собственный
опыт.
/*Чтобы избежать искажений от «теней и тучек, лучей фонарика», надо
сравнить ситуацию сейчас и 1,5 с назад (при первом проходе
сравнивается с заданным значением в 500, т.е. неким нейтральным.
Если в помещении темно сейчас и 1,5 с назад и это не тучка за окном,
а третий датчик засёк движение, тогда*/
if ((lightPrev > 650 and valSensor > 650) and
(positionThree == 1 and cloudFinder == 1)) {
//надо включить лампочку;
digitalWrite(lampRelay, HIGH);
};

9. Ты предусмотрел случаи, когда движение зафиксировано. Теперь пришла пора
объяснить твоему роботу, что делать, когда движение прекращается (датчик передаёт 0).
//Если движения нет (или закончилось) на первой позиции, то
if (digitalRead(motionOne) == 0) {
//выключить красный светодиод;
digitalWrite(LED1, LOW);
};
//если на второй позиции, то
if (digitalRead(motionTwo) == 0) {
//выключить зелёный светодиод;
digitalWrite(LED2, LOW);
};
//если на третьей позиции, то
if (digitalRead(motionThree) == 0) {
//выключить лампу.
digitalWrite(lampRelay, LOW);
};

Теперь учтено всё? К сожалению, нет. Если остановиться на этом месте, робот будет
включать свет не только ночью, но и в солнечный полдень! Тебе снова пригодится
датчик освещённости.

10. Сравни показания датчика освещённости сейчас и через некоторый промежуток времени. Для чего это надо, если тучи дают лишь тень? Следует учитывать также случайные блики (например, пробежавший солнечный зайчик) и попадание луча фонарика. В облачный день солнце тоже может показаться на пару секунд, чтобы снова
исчезнуть.

45

Аналогично, если раньше на мгновение стало темно, а теперь снова светло, нужно
«сбросить» счётчик тучек.
/*Если в комнате достаточно светло, то не имеет смысла оставлять
лампочку и светодиоды включёнными.*/
if (lightPrev < 250 and valSensor < 250) {
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(lampRelay, LOW);
cloudFinder = 0; //Светло, значит, туч нет.
};

Ты почти закончил, осталось немного. Ты сравнивал показания предыдущие и текущие, однако речь пока шла только о последних.
11. Для следующего выполнения функции loop() показания, полученные сейчас, станут
устаревшими. Скажи об этом роботу.
//Для сравнения в будущем сохраняется значение освещённости.
lightPrev = valSensor;

12. Если потемнение было замечено впервые, нужно это зафиксировать. Ты ввёл специальную глобальную переменную, настало время присвоить ей единицу, что на языке
компьютера означает: «Да».
//Если было темно впервые, необходима проверка на тучки.
if (lightPrev > 650 and valSensor > 650) {
cloudFinder = 1;
};

13. Последний штрих. Программа выполняется очень быстро — это характерное свойство компьютеров. Чтобы изменения в окружающем мире были существенными,
должно пройти хотя бы несколько секунд. Добавь небольшую (для человека) паузу
и закрой фигурными скобками открытые элементы программы.
delay(2500); //Пауза на 2,5 с
}
}
}

Молодец! Ты закончил писать программный код. Теперь дело за малым!
Нажми на кнопку
, чтобы проверить, не допустил ли ты ошибок. Исправь их,
если они есть.
Если ошибок нет, нажми на кнопку
. Назови скетч SmartLamp.ino.
Если появилась ошибка загрузки, но ты уверен, что не забыл подключить кабель,
то проверь переключатель на плате Wireless Shield.

46

Этап 7.
Загрузка программы
и её тестирование
ШАГ 1. ЗАГРУЗКА ПРОГРАММЫ В МОДУЛЬ ARDUINO UNO
1. Подключи Arduino Uno с помощью USB-кабеля к компьютеру. Убедись, что программная среда обнаружила устройство.

2. Нажми на кнопку
, чтобы произвести проверку, скомпилировать и отправить
программу на устройство.

ШАГ 2. ТЕСТИРОВАНИЕ
1. Программа запустится сразу же после
загрузки. В качестве питания Arduino
будет использовать подключение
к компьютеру. После включения
устройство переходит в режим ожидания открытия порта, т. е. подключения телефона или планшета. Включи
на своём гаджете Bluetooth. Обычно для этого необходимо нажать на
иконку с символом Bluetooth в верхней панели или виджете на рабочем
столе.

2. Открой приложение «Умный свет» на
своём смартфоне или планшете.

47

3. Нажми на кнопку Выбор устройства
и дождись, пока появится список доступных устройств.

4. Выбери Bluetooth Bee V.2. Для этого
просто нажми на подходящее название. Гаджет оповестит тебя об удачном подключении. Если подключение
не удалось и выскочило сообщение об
ошибке, проверь: возможно, ты далеко отошёл или произошла техническая ошибка со стороны модулей
связи. Для переключения повтори
предыдущий этап.

5. Теперь можно начать тестирование
команд. Включи красный светодиод.
Для этого выбери его изображение на
экране и кликни по нему. Одновременно должен включиться светодиод
робота и произойти звуковое оповещение гаджета.
6. Включи зелёный светодиод. Кликни по его изображению. Загорится
зелёный светодиод, прозвучит соответствующее оповещение. Красный
светодиод должен погаснуть.

48

7. Проверь лампочку. Включи её в ручном режиме, нажав на стилизованную
картинку. При включении лампочки
прозвучит оповещение, светодиоды
погаснут.

8. Попробуй одновременно включить
сразу всё. Нажми на зелёную кнопку.

9. Теперь выключи всё. При этом прозвучит звуковое сопровождение и погаснут светодиоды и лампа.

10. Поставь галочку рядом с надписью
Автоматический режим. Прозвучит
комментарий.

11. Проведи три раза рукой перед первым датчиком движения. Должен загореться
и погаснуть красный светодиод.

12. Проведи три раза рукой перед вторым датчиком движения. На некоторое время
загорится зелёный светодиод.

13. Накрой рукой датчик освещённости и помаши второй рукой перед третьим датчиком движения. Включится лампа.

14. Убери руку с датчика освещённости, продолжая махать второй рукой. Если твоё
рабочее место достаточно освещено, лампа выключится.

15. Не попадая в радиус действия третьего датчика движения, накрой датчик освещённости. Лампа НЕ должна включиться.

49
Powered by TCPDF (www.tcpdf.org)

16. Сними галочку с надписи Автоматический режим и нажми Выход.

Если твой гаджет управляется системой iOS, то выполни следующие действия:
1. Запусти установленное тобой приложение для связи с Bluetooth-устройствами.
2. Нажми кнопку Connect («Подключить») или кнопку с характерным синим значком.
3. Выбери в списке Bluetooth Bee V.2. Если потребуется, введи пароль 1234.
4. В поле ввода команд с экранной клавиатуры отправляй цифровые коды команд,
согласно таблице, данной при объяснении логики программирования. Остальные
шаги будут аналогичны пунктам 5–16 для пользователей Android.
Если что-то пошло не так, не расстраивайся. Возможно, ты пропустил знак или
произошла ошибка среды Arduino IDE. Проверь код и повтори попытку. Перезагрузи
Bluetooth на телефоне и перезапусти приложение «Умный свет».

50

Этап 8.
Применение освещения
в макете
У тебя теперь есть действующая модель освещения «умного дома»! Что ты сделаешь
дальше? Покажешь проект взрослым, чтобы они тобой (и им, конечно) восхитились?
Погоди! Тебе не кажется, что чего-то не хватает? Для макета дома коробке не достаёт
уюта, мебели и прочего. У тебя остался картон? Пора получать вторую профессию —
дизайнера интерьера!

Тебе понадобятся:








картон;
цветная бумага или газета;
линейка;
карандаш;
ножницы или канцелярский нож;
клей ПВА или клей-карандаш;
фантазия.

В настоящих домах редко из стен торчат голые лампы и отсутствует мебель. Придумай дизайн помещения на свой вкус — каким бы ты хотел видеть свой дом.
1. Сделай абажур*. Для этого наметь на
цветной бумаге или картоне большой
круг, затем вырежи маленький круг
в центре, как показано на рисунке.
Если хочешь, можешь украсить абажур картинками. Закрепи в центральном отверстии зелёный светодиод.
Для создания другой формы для второго абажура согни заготовку по пунктирным линиям.
* Абажур — декоративный колпак для лампы.

51

2. Сделай ковёр. Для этого вырежи из бумаги прямоугольник, равный размеру пола
в миниатюрной комнате, и разрисуй узором. Полоски полезны в любом интерьере!
3. Ты можешь распечатать заготовки мебели из бумаги из Интернета (например, найти их по запросу «мебель из бумаги для кукол шаблоны»). Перенеси на бумагу
и увеличь по своему вкусу схемы тумбочки, стула и дивана. Попробуй сделать собственные схемы для миниатюрной мебели.
4. Придумай, как замаскировать Arduino. Возможно, это будет собачья будка или куст.
Учти, что ничто не должно касаться контактов рядом с клеммниками реле! Лампа
будет изображать искусственное солнце. Для неё делать украшений не требуется.
5. У дома ты можешь посадить траву из мха или разложить камни, сделать дорожки
и всё-всё-всё, что придёт в голову*. Например, посади в домик жителя — человечка
из твоего старого конструктора или куклу младшей сестры. Это маленький кусочек
твоего собственного мира! Твори!
Представь свой макет родителям или на школьной выставке. Первый приз тебе обеспечен!

* Посмотри идеи, задав в поисковике запрос «сухой аквариум». В таких аквариумах как раз использу-

52

ют настоящий мох и миниатюрные вещи для создания небольшого мира. Также применяется термин
«флорариум».

Этап 9. Перенос
макета в реальность
Светодиоды хорошо подходят для небольшого макета, но, согласись, для освещения
квартиры их будет недостаточно. Одна лампочка Е27 или Е14 в макете демонстрирует возможность подключения к твоему устройству приборов, работающих от бытовой
электросети. Чтобы применить схему в квартире, ты можешь подключить дополнительные лампы, используя свободные реле на плате Relay Shield.

В проекте для управления уже используется цифровой выход № 7 (Digital 7).
Он отвечает за управление первой нагрузкой, т. е. первым реле. За остальные три нагрузки отвечают цифровые выходы № 6, 5 и 4 (Digital 6, Digital 5 и Digital 4). Концы
обрезанных проводов по направлению к источнику питания (вилке) должны быть помещены в клемму NC, а концы проводов, идущих к лампочкам, в клемму NO.
Помни, что общая нагрузка возрастёт! Лучше всего использовать светодиодные лампы по 3–5 W, их света достаточно для вечернего или декоративного освещения комнат.
Читать, правда, можно будет только непосредственно под ними, но зато они создадут
ощущение уюта и тепла! В бытовом отделе магазина ты найдёшь лампочки, дающие свет
различных оттенков, и сможешь подобрать их на свой вкус.

53

Название

Эффект
в комнате

Температура, К*

Тёплый белый Приятный жёлтый
свет
оттенок, отлично
подходит для
спален и комнат
отдыха

2700

Естественный
белый свет

Как при солнечном
свете в полдень
на улице

4200

Холодный
белый свет

Голубой оттенок,
подходит для
рабочих кабинетов,
способствует
концентрации

6400

Пример

*
* Кельвин — единица в шкале абсолютной температуры, которую используют в физике для обозначения

54

теплообмена между телами. На упаковках лампочек указывается, сколько тепла она отдаёт окружающей среде. Свечение, которое ты видишь, и есть видимое проявление этого теплообмена. Чем сильнее температура, тем ярче свет. Кстати, поэтому ты видишь звёзды далёкими и холодными — белоголубыми.

На всякий случай спроси у родителей про цоколь патронов. Если они ответят, что он подходит для обычных ламп,
то, скорее всего, имеется в виду цоколь
E27 — самый распространённый в России и СНГ, а если скажут, что подойдёт
только миньон, то смело бери E14. Этот
код крупно указывается на коробках лампочек.

Кстати!
Ты можешь подключить дополнительные реле для сильных нагрузок, чтобы
обеспечить работу большего количества
приборов. В качестве управляющих используй свободные цифровые пины на
плате Relay Shield.

Когда закончишь со сборкой, отредактируй код приложения, заменив пины светодиодов управляющими пинами реле или дополнив новыми командами. Для передачи
команд используй приложение «Повелитель света», которое ты найдёшь по ссылке
http://pilotlz.ru/files/10250/. Инструкция находится в разделе «Подсказки». Приложение позволяет отправлять на Arduino абсолютно любые команды (числовые, буквенные,
команды-фразы и шифры), если инструкция к ним указана в файле SmartLamp.ino.
Если у тебя гаджет под управлением iOS, то запусти приложение-терминал, которое
использовалось ранее.

55
Powered by TCPDF (www.tcpdf.org)

Так как в приложениях-терминалах можно использовать тип string (строка), если он
указан в скетче, то приведём некоторые возможные команды:
• «гирлянда» — поочерёдное включение и выключение всех лампочек по
порядку;
• «светомузыка» — включение поочерёдно разных ламп, как под музыку;
Кстати!
• «утро» — плавное (соблюдая паузу
Ты можешь улучшить приложение
«Повелитель света» или сделать собв несколько секунд) выключение
ственное! Ты с лёгкостью сотворишь
ламп поочерёдно;
свою игру для Android, удивив всех
• «вечер» — плавное (соблюдая паудома и в школе. Для этого воспользуйся
зу в несколько секунд) включение
программой App Inventor 2 (http://ai2.
ламп поочерёдно;
appinventor.mit.edu/). Она не требует
• «половина» — включение половины
установки и работает через любой браудоступных лампочек;
зер. Чтобы тебе было легче разобраться,
• «балкон» — включение лампы, разпопробуй сначала изучить файл готовомещённой на балконе;
го проекта и заменить в нём, например,
• «ночник» — включение лампы, разиконки*.
мещённой в спальне;
• «растение» — включение режима
автоматической подсветки растений
в вечернее время.

Настоящая система «умного» освещения готова! Прими наши поздравления,
инженер!
*

* «Повелитель света» в галерее приложений App Inventor:

56

http://ai2.appinventor.mit.edu/# 4798407662370816.

А теперь...

Используя фантазию и менее пожароопасные, чем бумага, материалы, сделай абажуры для своих ламп и укрась провода. Взрослые тебе помогут: одна голова хорошо,
а много — лучше! Идеи для декора ты можешь найти в YouTube или Pinterest*.
Если ты выполнишь три светильника (или ты уже сделал четыре?) в одном стиле, это
явно заслужит признание не только родственников, но и твоих гостей. Ты же сделал сам
то, что продаётся в дорогих магазинах! Вещь ручной работы, эксклюзив!
Мы надеемся, что проект подарит тебе вдохновение. Пусть светильники радуют тебя
долгое время, становясь всё удобнее и удобнее! Ведь ты же умеешь программировать
свой «умный» свет!
Не бойся экспериментировать. Теперь ты — Повелитель Света!

* http://ru.pinterest.com/. Ты можешь использовать, например, запрос «DIY lampshade» для поиска
постов с записями о самодельных абажурах.

57

До новых встреч!
Ты создал своими руками автоматическое управление светом, научился управлять освещением в комнате с помощью мобильного телефона или планшета. Но впереди ещё так
много интересного! Книги серии «Робофишки» познакомят тебя с другими замечательными проектами и сделают из тебя настоящего изобретателя!

58

Содержание

Здравствуйте! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Дорогой друг! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
История «умного дома» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Этап 1. Устройство «умной» лампочки . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Этап 2. Сборка устройства автоматизированного контроля освещения . . . .
Шаг 1. Сборка блока питания. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Шаг 2. Подключение модуля беспроводной связи . . . . . . . . . . . . . . . . . .
Шаг 3. Подключение реле для работы с домашней сетью . . . . . . . . . . . . .
Шаг 4. Подключение светодиодов . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Шаг 5. Подключение датчика освещённости . . . . . . . . . . . . . . . . . . . . .
Шаг 6. Подключение датчиков движения . . . . . . . . . . . . . . . . . . . . . . .
Шаг 7. Подключение лампы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

11
. 11
. 13
. 15
. 16
. 21
. 23
. 26

Этап 3. Установка программного обеспечения . . . . . . . . . . . . . . . . . . . . . 30
Этап 4. Первый запуск и проверка оборудования . . . . . . . . . . . . . . . . . . . 32
Этап 5. Создание макета дома с «умным» освещением . . . . . . . . . . . . . . . . 37
Этап 6. Создание программы для устройства . . . . . . . . . . . . . . . . . . . . . . 40
Шаг 1. Запуск программного обеспечения Arduino IDE . . . . . . . . . . . . . . . . . . 40
Шаг 2. Составление программы для «умного» освещения . . . . . . . . . . . . . . . . . 41
Этап 7. Загрузка программы и её тестирование . . . . . . . . . . . . . . . . . . . . . 47
Шаг 1. Загрузка программы в модуль Arduino Uno . . . . . . . . . . . . . . . . . . . . . 47
Шаг 2. Тестирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Этап 8. Применение освещения в макете . . . . . . . . . . . . . . . . . . . . . . . . 51
Этап 9. Перенос макета в реальность . . . . . . . . . . . . . . . . . . . . . . . . . . 53
А теперь... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
До новых встреч! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

59

Минимальные системные требования определяются соответствующими требованиями программ Adobe Reader версии не ниже 11-й либо Adobe Digital Editions
версии не ниже 4.5 для платформ Windows, Mac OS, Android и iOS; экран 10"

Электронное издание для досуга
Серия: «РОБОФИШКИ»
Салахова Алёна Антоновна
КОНСТРУИРУЕМ РОБОТОВ НА ARDUINO○ .
УМНЫЙ СВЕТ
Для детей старшего школьного возраста
R

Ведущий редактор М. С. Стригунова, Д. К. Новикова
Руководители проекта от издательства А. А. Елизаров, С. В. Гончаренко
Научный консультант канд. пед. наук Н. Н. Самылкина
Ведущий методист В. В. Тарапата
Художники В. Е. Шкерин, Я. В. Соловцова, И. Е. Марев, Ю. Н. Елисеев
Компьютерная верстка: Е. Г. Ивлева
Подписано к использованию 05.04.21.
Формат 210×260 мм
Издательство «Лаборатория знаний»
125167, Москва, проезд Аэропорта, д. 3
Телефон: (499) 157-5272
e-mail: info@pilotLZ.ru, http://www.pilotLZ.ru

ЛОВИ НОВЫЕ
«РОБОФИШКИ»
на LEGO® MINDSTORMS®
Education EV3,
Arduino®
и ScratchDuino®:
«Крутое пике»
«Волшебная палочка»
«Секрет ткацкого станка»
«Тайный код Сэмюэла Морзе»
«Посторонним вход воспрещён!»
«В поисках сокровищ»
«Умный замóк»
«Да будет свет!» и другие.
С серией «РОБОФИШКИ»
самые удивительные
и неожиданные идеи
станут реальностью.
Создай своего робота,
учись и играй вместе с ним!
Стань настоящим изобретателем!

info@pilotLZ.ru
www.pilotLZ.ru

Powered by TCPDF (www.tcpdf.org)