Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Конструируем роботов на Arduino. Умный замoк

Покупка
Артикул: 703239.01.99
Доступ онлайн
157 ₽
В корзину
Стать гениальным изобретателем легко! Серия книг «РОБОФИШКИ» поможет вам создавать роботов, учиться и играть вместе с ними. Вы соберете на платформе Arduino собственное запирающее устройство, благодаря которому можно безопасно хранить ценные вещи. Для технического творчества в школе и дома, а также на занятиях в робототехнических кружках.
Салахова, А. А. Конструируем роботов на Arduino. Умный замoк / Салахова А.А. - Москва :Лаборатория знаний, 2017. - 60 с.: ISBN 978-5-00101-576-5. - Текст : электронный. - URL: https://znanium.com/catalog/product/1009122 (дата обращения: 26.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
А. А. Салахова

Электронное
издание

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

на

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

Arduino

Умный замόк

УДК 373.167
ББК 32.97
С16

С е р и я о с н о в а н а в 2016 г.
Ведущие редакторы серии Т. Г. Хохлова, Ю. А. Серова
Салахова А. А.
С16
Конструируем
роботов
на
Arduino
R○.
Умный
зам´oк
[Электронный ресурс] / А. А. Салахова. — Эл. изд. — Электрон. текстовые дан. (1 файл pdf : 60 с.). — М. : Лаборатория
знаний,
2017. — (РОБОФИШКИ). — Систем.
требования:
Adobe Reader XI ; экран 10".
ISBN 978-5-00101-576-5
Стать гениальным изобретателем легко! Серия книг «РОБОФИШКИ» поможет вам создавать роботов, учиться и играть
вместе с ними.
Вы соберете на платформе Arduino собственное запирающее
устройство, благодаря которому можно безопасно хранить ценные
вещи.
Для
технического
творчества
в
школе
и
дома,
а
также
на занятиях в робототехнических кружках.
УДК 373.167
ББК 32.97

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

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

ISBN 978-5-00101-576-5
c○ Лаборатория знаний, 2018

2

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

Успехов вам!
Команда Программы «Робототехника:
инженерно-технические кадры инновационной России»
Фонда Олега Дерипаска «Вольное Дело»

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

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

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

Сегодня всё чаще используются электронные кодовые запирающие 
устройства, снабжённые множеством датчиков и открывающиеся карточками, но и привычные нам штифтовые металлические замки по-прежнему охраняют наши квартиры, рабочие и школьные кабинеты, дачи и т. д. 
У каждого в кармане одежды или сумки найдётся ключ с зазуб ринами, 
вставляющийся в замочную скважину. Но так было не всегда.
На Древнем Востоке, как и в Древней Европе, особой популярностью 
пользовались навесные замки, принцип работы которых был прост: 
в запирающей позиции засов удерживался с помощью выступающих 
пазов и пружин. Замок открывался с помощью ключа, который распрямлял или прижимал пружины. Позднее, в XIX веке, появились 
специальные кодовые замки, прародители электронных, которые открывались с помощью набора букв или цифр на вращающихся дисках. 
Вешались и специальные колокольчики, которые начинали звенеть, 
когда кто-либо касался замка.
В 1847 году Лайнус Йейл изобрёл замок цилиндрического типа, 
ключ к ко торому мог иметь множество различных конфигураций. 
Большинство современных ключей имеет данную форму. Не прошло 
и двух десятилетий, как американцы Мэкнил, Доддз 
и Урбан запатентовали кодовый замок «Эврика» 
(см. рис. 1), который имел целых пять цилиндров, 
что защищало его от случайного набора кода и расширяло количество возможных комбинаций до чуть 
более миллиона вариантов. Замок оценили сразу же: 
он долгое время охранял сейфы казначейства США. 
В России был свой чудо-замок, сделанный полностью вручную, — «Русский висячий замок», созданный при Николае II (1868–1918). Ключ не вставлялся, а ввинчивался в замочную скважину особым 
образом благодаря резьбе. В запертый замок вставлялась затычка, полностью маскирующая скважину, 
а ключ убирался в футляр. 
В 20-х годах XX века Уолтер Шлаге придумал 
помещать цилиндрический механизм штифтового

Рис. 1. Кодовый замок 
«Эврика», 1884 год

История появления замков

замка в дверь между наружной и внутренней ручками. В таком типе 
замков выдвижные штыри, приводящиеся в движение с помощью ключа с зазубринами, входили в специальные выемки непосредственно 
в металлическом цилиндре внутри двери (до Шлаге часть с выемками 
размещалась в дверном косяке). (На рис. 2 и 3 показана работа цилиндрического механизма штифтового замка.) Казалось бы, вот он — 
современный надёжный и удобный замок! 
Однако самым надёжным стал электронный замок (конечно, при условии обеспечения бесперебойной подачи энергии). Комбинацию кода 
для него не подслушать по щелчкам (как в случае с кодовым замком 
для сейфов), такой замок не залепить жевательной резинкой (как в 
случае со штифтовым замком), не отогнуть (как пружины в навесном). 
Чаще всего электронное запирающее устройство ты можешь встретить как составляющую часть домофона. Твои родители застали кодовые замки, отпирающие общие двери. Можешь ли ты сказать, чем 
же они отличаются от современных домофонов? Отсутствием ключа! Для прохода требовалось набрать специальный код на клавиатуре, 
и дверь открывалась. Подобная система обязана была обеспечить порядок 
в подъезде и не дать войти чужим людям, однако новая на тот момент 
технология настолько сильно отличалась от привычного штифтового 
замка, что жители выписывали код и наклеивали его на лицевую часть 
домофона, чтобы не забыть. В домах, где пользователи вели себя осмотрительнее, подводила сама техника. Чтобы устройство было устойчивым к случайной механической поломке, его части делались из металла. 
К сожалению, сплав кодового замка по прошествии времени темнел или 
приводил к стиранию цифр с часто используемых кнопок. Правильный 
код от подъезда легко было узнать по стёртым кнопкам.
Современные домофоны — это средство связи с каждой квартирой 
в подъезде, электронный кодовый замок, отпирающийся тремя способами (рис. 4). Кстати, сейчас это уже трудно себе представить, но 
в начале 2000-х годов по домофонам связь была симплексной, то есть 
две стороны не могли говорить одновременно. Сегодня клавиатура домофона служит в основном для набора номера квартиры. 

Рис. 2. Открытие «своим» ключом
Рис. 3. Попытка открыть «чужим» ключом

Первый способ открытия замка напрямую связан с передачей информации в квартиру: после звонка хозяин аппарата с помощью кнопки 
дистанционно открывает дверь, посылая сигнал от квартиры до замка 
на двери подъезда. 
Второй способ, как ты уже догадался, заключается в открытии двери 
прикладыванием ключа. Ключ представляет собой металлическую «таблетку», состоящую из двух частей, одна из которых похожа на круглую 
батарейку. В 1991 году американская компания Dallas Semiconductors 
разработала новый стандарт для записи кодов — «Touch Memory», что 
в переводе с английского означает «касающаяся память», то есть «па
Рис. 4. Современные домофоны

мять, активирующаяся с помощью прикосновения». 
Чтобы повысить популярность устройства, в 1997 году 
его название изменили на iButton. Маленькая круглая 
«таблетка» диаметром около 1,7 см, сделанная из нержавеющей стали, быстро вошла в обиход. iButton 
совершенствовали, появлялись новые модели, способные хранить больше информации, добавлялась защита 
страниц этой информации, но самое широкое распространение получила первая модель — DS1990 или же 
обновлённая — DS1990A (рис. 5). «Таблетка» подобной 
модификации хранит в памяти только собственный серийный номер, состоящий из 48 бит информации, то 
есть цепочки из 48 нулей и единиц. Она хорошо переносит высокие (до +85 С) и низкие (до –40 С) температуры и потребляет мало энергии, скорость считывания серийного номера — менее 0,005 с1. Перечисленный набор параметров отлично подходит для 
применения iButton в качестве идентифицирующего устройства-ключа. 
Чтобы информацию с ключа можно было считывать и использовать, нужно соответствующее устройство типа 1-Wire. Это название 
переводится как «один провод» и обозначает шину, по которой передача данных осуществляется в обе стороны (от устройства и к нему) 
на низкой скорости. Казалось бы, что здесь необычного? Ответ кроется в названии: в этой технологии для передачи данных и питания используется один-единственный канал. Обмен осуществляется 
с помощью двух проводов: по проводу питания и данных передаётся ток с определённым сопротивлением, зачастую 2,2 кОм. Простота строения, минимальная стоимость материалов, неприхотливость 
к внешним условиям позволяют использовать устройства 1-Wire массово, в том числе в домофонах. 
Наконец, третий способ отпирания домофона — это набор комбинации цифр. Он является запасным и сервисным. Завод-изготовитель закладывает определённую комбинацию для возможности обслуживания 
домофона и подъездной двери в случае поломки приёмника и ключа. 
После установки в доме код обычно меняют. Новый код знает только 
обслуживающая компания, к которой в экстренной ситуации может обратиться специалист, официально прикреплённый к дому.
Существует также системный код. Его задачи намного шире, чем 
просто открыть дверь. Ввод кода позволяет перевести домофон в состояние программирования. В данном режиме доступны: 
 
• изменение номера первой квартиры (если в подъезде, например, квартиры с номерами от 60 до 120); 

1 Смотри официальную спецификацию iButton DS1990A. 

Рис. 5. Устройство 
iButton DS1990A

• изменение сервисного кода (чтобы не смогли войти чужие);
• подключение/отключение квартир (когда они физически подсоединены проводами, необходимо их внести в память устройства и сделать
доступными для звонка);
• запись/удаление ключа-«таблетки» из памяти устройства;
• сброс настроек к заводским.
Стоять у подъезда, даже собственного, и с помощью взлома проверять работу домофона — дело неприличное, более того — незаконное! 
Чтобы узнать, как же работает кодовый замок и 1-Wire, мы предлагаем тебе собрать собственное запирающее устройство. Только представь: 
у тебя будет замок, собранный своими руками! Вперёд, инженер! 

ЧТО ТАКОЕ ESPRUINO

На обложке написано Arduino, а в заголовке главы — Espruino. Подвох? Обман? На самом деле нет. Espruino является частью семейства 
Arduino-совместимых платформ. Все платы семейства могут быть подключены друг к другу, потому что имеют один и тот же интерфейс: 
цифровые входы и выходы, одинаковое напряжение. Их различие заключается в микропроцессоре, в наборе размещённых на одной плате 
устройств или просто в производителе. 
Фирменные платы Arduino обрабатывают язык программирования 
Wiring — аналог C++, на котором пишутся самые популярные компьютерные игры и некоторые операционные системы, прочие сложные 
приложения. Это удобный, но относительно сложный язык, требующий 
большого внимания к типам получаемых данных. 
Главное различие заключается в том, что Espruino использует язык 
программирования JavaScript (сокращённо JS). Работа с ним имеет ряд 
преимуществ. Данный язык предназначен для написания специальных 
сценариев работы (наборов действий) с объектами, причём объектом 
может быть любая переменная или результат действия над мотором 
или датчиком. Сценарий JS не имеет строгой последовательной структуры расположения внутри себя элементов, то есть ты можешь описывать в коде функции, применяемые к датчикам или переменным, тогда, 
когда это будет удобно тебе. Сценарий компилируется и выполняется 
построчно, а не весь сразу. Данная особенность JS полезна при использовании языка в качестве функционального («активного») дополнения 
HTML — языка гипертекстовой разметки страниц в Интернете. Когда 
на странице в браузере что-то движется или запрашивается ввод текста, это работа JS. Даже если у пользователя была плохая скорость 
передачи или ошибка в получении данных, например обрыв связи, он 
увидит успевшую загрузиться часть. Веб-разработка тесно связана с ди
зайном. Зачастую за описание действий сайта отвечает дизайнер, которому, например, понадобилось вставить слайд-шоу, создать плавные переходы между вкладками при наступлении определённых событий. Для 
того чтобы дизайнер справился собственными силами, JS создан лёгким для понимания и применения. В связи с описанным ранее гаджеты 
с управлением под JS легко связываются с различными веб-сервисами 
и контроллерами «умных» домов, а также отлично подходят для создания метеостанций.
В России платы, аналогичные размерам Arduino, обрабатывающие 
JS, делает компания «Амперка». Повторяющая по размеру Arduino Uno 
плата «Iskra JS» совместима со всеми модулями для первой платы. 
Ты можешь повторить данный проект на Arduino Uno. Процесс сборки будет аналогичен. Переписав код на Wiring, ты полностью воссоздашь проект на Espruino, то есть портируешь1 его на другую платформу. 
2

1 Портировать — сделать доступным для запуска на другой платформе, переписать или оптимизировать, сохраняя набор доступных для конечного пользователя функций и внешний вид.
2 Подойдёт любая. Все монеты Банка России или СССР являются проводниками, мы их изучали
и проверяли. 

Оборудование:

•
Плата Iskra JS (или другая плата типа

Espruino).

•
Компьютер (минимальные требования):

ОС 
Windows XP, 
Vista, 
Windows 7,

Windows 8, 
Windows 8.1, 
Windows 10

(32/64 bit)/Linux Mint, Ubuntu, Fedora/

Mac OS X, оперативная память не ме
нее 512 Мб, процессор — 1,1 ГГц (или

быстрее), свободное пространство на

диске — 200 Мб.

•
Браузер Google Chrome и доступ в Ин
тернет.

•
Плата расширения Troyka Shield.

•
Макетная плата BreadBoard Mini (170

точек).

•
Микросервопривод FS90.

•
ИК-приёмник (Troyka Module).

•
ИК-пульт.

•
Модуль кнопки (Troyka Module).

•
Зуммер (Troyka Module).

•
Резисторы 220 Ом (10 шт.) или резис
тор 2,2 кОм.
•
Светодиод «Пиранья» (Troyka Module).

•
Соединительные провода «папа-папа»

(пучок из 65 штук).

•
Ключ iButton (ключ от домофона).

•
Кабель 
microUSB 
для 
подключения

Iskra JS к компьютеру.

•
Батарейный отсек 4 АА (для четырёх эле
ментов питания), гнездо питания 2,1 мм

с клеммником, элементы питания типа

АА, 4 шт. (или Power Bank — внешний

аккумулятор для мобильных устройств).

•
Крестовая отвёртка.

•
Карандаш.

•
Линейка.

•
Ножницы.

•
Изоляционная лента.

•
Лист картона или картонная коробка.

•
Двухсторонний скотч.

•
Монета2.

Примечание: многие из перечисленных ко мпонентов входят в набор «Йодо» компании «Амперка».

11

Обозначения

В тексте тебе встретятся следующие обозначения.
1. Пин (от англ. «pin» — контакт) — это вход или выход на плате
Arduino Uno, плате расширения Troyka Shield или макетной плате. 
2. Скрипт — это программа, которую обрабатывает Espruino.
3. 5V (5 вольт) — обозначение напряжения питания платы.
4. GND (от англ. «ground» — земля) — заземление электрических
элементов.
5. // — обозначение в программе однострочных комментариев, в которых приводится дополнительная информация.
6. /*текст*/ — обозначение в программе комментариев из нескольких строк.

Доступ онлайн
157 ₽
В корзину