300 Правила безопасной работы при выполнении резьбы по дереву 1. Перед началом работы необходимо осмотреть режущий инструмент и убедиться в его исправности. 2. Запрещается проверять остроту ножа-косяка пальцами рук. 3. Режущий инструмент нужно держать в руке крепко и уверенно. 4. Нельзя резать на весу, на коленях, упираясь заготовкой в грудь. При выполнении резьбы заготовка должна занимать устойчивое положение на верстаке. 5. Свободные режущие инструменты следует располагать на рабочем месте справа, лезвиями от себя. 6. Нельзя отвлекаться во время работы, размахивать инструментами, ходить с режущим инструментом в руках. 7. Во время резьбы левая рука должна находиться сзади или в стороне от движения ножа-косяка. Практическая работа № 38 «Конструирование и изготовление хозяйственной лопаточки, декорированной резьбой по дереву» Цель работы: сконструировать и изготовить хозяйственную лопаточку, декорировать её резьбой по дереву в технике сколышков. Оборудование, инструменты и материалы: столярный верстак, столярные инструменты, заготовка 220 × 45 × 12 мм, карандаш, линейка, угольник, циркуль, ластик, нож-косяк, цикля, щётка с жёстким ворсом. Порядок выполнения работы Используя Интернет и другие источники информации, разработайте и изготовьте хозяйственную лопаточку. Можно использовать образец лопаточки на рисунке 8.50. Рис. 8.50. Хозяйственная лопаточка с резьбой в технике сколышков
301 Технические условия: габаритные размеры 200 × 40 × 8 мм. Материал изготовления — липа или берёза. 1. Выполните чертёж хозяйственной лопаточки в рабочей тетради в масштабе 1 : 2. 2. Разработайте композицию для лопаточки в технике сколышков в рабочей тетради в масштабе 1 : 1. 3. Выполните на лопаточке разметку резьбы в технике сколышков. 4. Выполните резьбу и чистовую обработку. 5. Проверьте качество и оцените выполненную работу. Полезная информация Изделия из древесины без соответствующей отделки подвержены вредному влиянию прямого солнечного света и влаги. Для защиты изделий и придания им декоративного вида их покрывают лаками, красками, защитными плёнками. К изделиям, украшенным резьбой по дереву, можно применять различные виды отделки: прозрачную (покрытие), шлифование, полирование, отделку растительным (подсолнечным) или льняным маслом, вощение, тонирование. Прозрачная отделка (покрытие) заключается в нанесении на поверхность готового изделия из древесины бесцветных прозрачных отделочных материалов — акволаков. Полезный совет Прозрачную отделку бытовых предметов из древесины (ложек, солонок, хозяйственных лопаточек, разделочных досок) можно выполнить льняным маслом, нанося его мягкой кистью в два-три приёма. После нанесения каждого слоя требуется просушить изделие в течение 20—30 мин. Масло, впитываясь, надёжно защитит древесину от влаги и придаст золотистый оттенок изделию (рис. 8.51). Основные понятия и термины: геометрическая резьба, мотивы образования, геометрические орнаменты, сколышки, ромбы, бусинки, витейки, композиция, орнамент. Рис. 8.51. Образец лопаточки, обработанной льняным маслом
302 ? Вопросы и задания 1. Какие операции (действия) необходимо провести для удаления сколышка? Почему выполняют наколку из вершины треугольника, т. е. из точки О? 2. Почему при резьбе сколышков рекомендуют провести наколку всего резного поля, а затем выполнить подрезку? 3. Что означает точка в середине треугольника на схеме геометрической резьбы сколышка? 4. В чём отличие резьбы поперёк волокон от резьбы вдоль волокон или под углом к волокнам? § 48. Приёмы разметки и техника резьбы треугольников и сияний Вспомните, как выглядят изделия, выточенные на токарном станке и имеющие объёмную форму. Например, вазы для сухих цветов, солонки. Можно ли их декорировать резьбой в технике треугольников и сияний? В отличие от сколышков, при резьбе треугольников необходимо выполнить три наколки из центра пирамидки к вершинам треугольника и три подрезки к технике «от себя» или «на себя» (в зависимости от направления волокон) (рис. 8.52). Пирамидка состоит из трёх треугольников (1, 2, 3), имеющих вершину О, в которую три раза устанавливается ножкосяк при наколке (рис. 8.52, а). Подрезка должна выполняться по направлению (вдоль) волокон древесины. Резьба, выполненная по направлению волокон, получается блестящей и гладкой, а поперёк — шероховатой, плохо поддающейся отделРис. 8.52. Схема резьбы треугольников: а — схема наколки; б — схема подрезки; в — готовые треугольники
303 ке. Треугольники 1, 2, 3 в пирамидке расположены вдоль, поперёк и под углом к волокнам (слоям) древесины (рис. 8.52, б). Самое сложное в резьбе треугольников — качество и чистота среза (рис. 8.52, в). Если пирамидка не удалилась, повторите наколку и подрезку. Полезный совет В процессе резьбы по дереву иногда срезается или откалывается элемент, который по замыслу должен присутствовать в композиции. Срезанный элемент необходимо сохранить и приклеить. В арсенале резчика по дереву должен быть клей ПВА в тюбике, тонкая иголка и зубочистка. Одну каплю клея ПВА выдавить на отходы бумаги, осторожным движением наколоть иглой скол, слегка обмакнуть в клей, перенести на место скола и слегка прижать зубочисткой. Выдержать 20— 30 с, убрать иглу и дать изделию просохнуть в течение 20—30 мин. Излишки клея удалить зубочисткой (рис. 8.53). Приёмы разметки и техника резьбы сияний Сияние — это «веер», состоящий из треугольников — лучей, которые сходятся своими вершинами в центре, а основание вписано на сторонах геометрической фигуры (круга, ромба, квадрата) (рис. 8.54). Техника резьбы сияний (лучей) является более сложной и требует аккуратности при разметке и большей сосредоточенности при выполнении резьбы. При выполнении узора «сияние» необходимо следить за направлением движения ножа-косяка (рис. 8.55, а—г), так как во время работы возникают трудности в определении направления резания. Необходимо научиться резать по волокнам или по «стрелке» (см. рис. 8.55). «Стрелка» — это отрезок прямой линии, соответствующий направлению волокон на заготовке. «Стрелку» наносят на основание треугольника. Если она совпадает или перпендикулярна его основанию, Рис. 8.53. Схема склеивания скола Рис. 8.54. Образец шкатулки (вид сверху), декорированной мотивами сияния
304 то резать можно в любую сторону. Если же «стрелка» образует с основанием треугольника смежные углы, то резать необходимо в сторону острого угла. При резьбе геометрических фигур небольших размеров, так называемая мелкая порезка, подрезка пирамидки выполняется за один приём, при резьбе крупных пирамидок подрезку можно выполнять в два-три приёма (за один проход снимается часть пирамидки). Правила при резьбе сияний 1. При наколке сложных геометрических фигур правильно определите точку наколки. 2. При подрезке сложных геометрических фигур не доводите ножкосяк до центра круга, вершины в пределах 1—2 мм, иначе центр розетки или место слияния лучей будут разрушены. Полезный совет • Во время работы следите за чистотой среза. Если срез получился «грязным», найдите свою ошибку и устраните её. • Если на срезе видны «царапины», проверьте визуально носик или жало ножа-косяка и при помощи учителя устраните неисправность. а б в г Рис. 8.55. Выполнение узора «сияние»: а—г — направления движения ножа при вырезании узора «сияние», вписанного в различные геометрические фигуры (стрелка указывает направление волокон древесины)
305 Практическая работа № 39 «Конструирование и изготовление декоративной подвески (подставки)» Цель работы: отработать приёмы разметки и декорирования изделий в технике резьбы треугольников лучей-сияний. Оборудование, инструменты и материалы: столярный верстак, разметочные и столярные инструменты, заготовка 100 × 60 × 20 мм, ножкосяк, шлифовальная шкурка, цикля, ластик, щётка с жёстким ворсом. Технические условия: габаритные размеры 90 × 45 × 15 мм. Материал изготовления — липа или берёза. Порядок выполнения работы Задание 1 Используя Интернет и другие источники информации, разработайте и изготовьте декоративную подвеску для ключей и брелоков. Для изготовления можно использовать образцы декоративных подвесок (рис. 8.56). 1. В тетради составьте технологическую карту изготовления выбранного изделия. 2. В тетради в масштабе 1 : 1 выполните чертёж выбранного изделия. 3. Изготовьте в соответствии с технологической картой изделие. 4. Пласть (сторона), на которой будет резьба, обработайте напильниками и циклей. 5. Сконструируйте способ крепления на стену и возможность подвески ключей и брелоков. Задание 2 В тетради в масштабе 1 : 1 разработайте композицию резьбы в технике треугольников, лучей-сияний. 1. Выполните разметку резьбы на заготовке. 2. Выполните резьбу и чистовую обработку. 3. Выполните сборку. 4. Проверьте качество и оцените выполненную работу. Основные понятия и термины: резьба треугольников, резьба лучей-сияний. Рис. 8.56. Образцы декоративных подвесок
306 ? Вопросы и задания 1. В чём отличие техники резьбы сколышков от резьбы треугольников? 2. В какой последовательности выполняется резьба треугольников? 3. В какие геометрические фигуры можно вписать мотив «сияние»? 4. Назовите основные требования, предъявляемые к качеству резьбы. 5. Используя Интернет и другие источники информации, подберите материал и сделайте сообщение о скульптурной резьбе по дереву и вариантах её применения. Свой рассказ можете сопроводить компьютерной презентацией. § 49. Использование плосковыемочной комбинированной резьбы в практических работах и творческих проектах Какие изделия творческих проектов из древесины, декорированные плосковыемочной резьбой, вы можете предложить для оформления столярной мастерской школы? Плосковыемочная комбинированная резьба по дереву сочетает в себе различные мотивы — сколышки, ромбики, бусинки, снежинки, витейки, треугольники, звёздочки, сияния, розетки-сияния, скобчатые порезки и т. д. (рис. 8.57, а, б). При декорировании изделий с плосковыемочной комбинированной резьбой могут сочетаться различные виды декоративно-прикладного искусства, например древесина и кожа (рис. 8.57, в). Ранее вы уже разрабатывали проекты и в соответствии с ними изготавливали изделия в различных техниках декоративно-прикладного исРис. 8.57. Образцы плосковыемочной комбинированной резьбы а б в
307 кусства. Вы можете разработать и изготовить коллективный проект для школьного кабинета технологии, используя для этого древнеславянские символы (рис. 8.58). Полезная информация • Слово «символ» имеет греческие корни. Античные жители называли так знаки, которые имели тайный смысл, известный определённым группам людей. Свои символы были и у древних славян. Они также воспроизводили в зрительных образах свою веру во что-либо. Наши предки верили в силы природы, обожествляли их. Дабы стихии не разрушали, не иссушали, а, напротив, помогали в жизни, русичи зарисовывали их в виде знаков. Эти знаки размещали на одежде, оружии, домах (рис. 8.60). Так славяне добивались расположения высших сил, просили у них защиты. • Древнеславянский оберег дерево жизни имеет магическое значение. Оно символизирует мироздание, поскольку его корень — земля, а крона — небо. Древние славяне не случайно поклонялись солнцу. Будучи земледельцами по своему основному занятию, они напрямую зависели от благосклонности главного светила. Поэтому солярРис. 8.58. Древнеславянские символы Символы геометрических фигур: розетка с лучами или просто круг — символ солнца, жизни спираль — вихрь, беспокойство, буря капля — вода, зерно, символ жизни клетка — поле, какое-либо пространство ромб — мощь, сила, удача крест — человек, душа точка — первооснова всего
308 Рис. 8.59. Образец декоративной разделочной доски «капелька» ные амулеты были в каждом доме. Их изготавливали своими руками. Солярные знаки — стилизованные символические изображения божества. Пример — солнце в виде розетки стилизованного цветка, вписанного в круг. По представлениям древних славян, изображение солнца — оберег от различных бед. Его стилизованные изображения занимают центральное место в украшении жилища: светёлки, крыльца, навершия наличника окна, фронтона дома (см. рис. 8.60, а). Практическая работа № 40 «Конструирование и изготовление декоративной разделочной доски “капелька”» (рис. 8.59) Цель работы: разработать и изготовить разделочную доску, декорированную в технике плосковыемочной резьбы. Оборудование, инструменты и материалы: столярный верстак, столярные инструменты, заготовка 160 ± 10 × 100 × 15 мм, карандаш, линейка, ластик, циркуль, угольник, цикля, шлифовальная шкурка, щётка с жёстким ворсом. Порядок выполнения работы Используя Интернет и другие источники информации, разработайте и изготовьте декоративную разделочную доску «капелька». Для изготовления можно использовать образцы декоративных разделочных досок. Рис. 8.60. Виды оберегов в украшении: а — жилища; б — одежды
309 Технические условия: габаритные размеры 160 ± 10 × 100 × 15 мм. Материал изготовления — липа, берёза, тополь и т. д. 1. В тетради в масштабе 1 : 1 выполните чертёж декоративной разделочной доски. 2. Разработайте технологическую карту изготовления разделочной доски. 3. В соответствии с технологической картой изготовьте разделочную доску. Пласть (сторона), на которой будет резьба, обработайте напильниками и циклей. 4. Сконструируйте и изготовьте способ крепления заготовки на стену. 5. В рабочей тетради в масштабе 1 : 1 разработайте композиции с применением мотивов плосковыемочной резьбы. 6. Выполните разметку и резьбу на заготовке. 7. Выполните чистовую обработку готового изделия. 8. Проверьте и оцените качество выполненной работы. Практическая работа № 41 «Разработка коллективного творческого проекта “Солярный знак”» (рис. 8.61) Цель работы: разработать и изготовить коллективный проект из древесины с использованием изученных техник плосковыемочной резьбы. Оборудование, инструменты и материалы: столярный верстак, столярные инструменты, заготовки, карандаш, линейка, ластик, циркуль, угольник, цикля, нож-косяк, шлифовальная шкурка, щётка с жёстким ворсом. Порядок выполнения работы 1. Пользуясь образцами, информацией из различных источников и собственными идеями, разработайте и изготовьте коллективный творческий проект «Солярный знак». 2. В рабочей тетради в масштабе 1 : 1 каждый участник разрабатывает свой чертёж «луча». После обсуждения выбирается лучший чертёж «луча» с точки зрения технологичности и дизайна. 3. Разработайте способ подвески солярного знака. 4. Разработайте технологическую карту на изготовление изделия. 5. Проведите экономическое и экологическое обоснование. 6. В соответствии с технологической картой изготовьте «лучи» (все участники выполняют одинаковые лучи). Подготовьте их к сборке и вы-
310 полните чистовую обработку для резьбы по дереву с помощью напильников и циклей. 7. Выполните резьбу на «лучах» и чистовую обработку готового изделия. 8. Выполните сборку солярного знака. 9. Выполните финишную обработку готового изделия. 10. Подготовьте презентацию и проведите защиту проекта. При разработке и выполнении проекта обратите внимание, что композиция на всех лучах должна быть одинаковой. На рисунке 8.60 представлен солярный знак на 16 лучей. Все лучи крепятся на основу, а в центре размещена розетка. Основой служит фанерная заготовка ∅100—120 мм, толщиной 10 мм, которая размещена с обратной стороны солярного знака. Сборку можно выполнить на клею, саморезах или мелких гвоздях. Основные понятия и термины: комбинированная плосковыемочная резьба, мотивы образования комбинированной резьбы. ? Вопросы и задания 1. Назовите мотивы образования комбинированной плосковыемочной резьбы. 2. С какими направлениями декоративно-прикладного искусства можно сочетать комбинированную плосковыемочную резьбой? 3. Что можно декорировать комбинированной плосковыемочной резьбой? 4. Найдите в Интернете информацию об использовании древнеславянских символов для защиты дома и детей. Какие из них можно встретить в украшении деревянных домов? Рис. 8.61. Образец солярного знака и лучей
Идеи творческих проектов Идея 1. Элементы наружного украшения дома (приложение 2, рис. 1). Идея 2. Элементы внутреннего украшения интерьера дома (квартиры, школьных мастерских) (приложение 2, рис. 4). Идея 3. Хозяйственные наборы для кухни (приложение 2, рис. 2), бытовые изделия, композиции для шкатулок (приложение 2, рис. 3). Идея 4. Фольклорные мызыкальные инструменты (приложение 2, рис. 5). Идея 5. Кормушки для птиц (приложение 2, рис. 6—7).
312 Глава 9 Робототехника Слово «робот» прочно вошло в современную речь и современную жизнь. Беспилотные самолёты, искусственные спутники, стратосферные зонды, сапёрные тралы, знаменитые советские луноходы — всё это роботы. Роботы стали частью современной промышленной революции. Сегодня уже никого не удивляет завод, на котором работает всего несколько десятков человек, а всю основную работу выполняют роботы. Роботы могут перемещать грузы, работать вместе с хирургом в операционной, принимать участие в спасении людей при чрезвычайных ситуациях и многое другое. Вам предстоит сделать первый шаг к созданию «умных» машин, познакомиться с их устройством и научиться ими управлять. § 50. Протокол связи — настоящее и будущее Наверняка каждый из вас слышал такие слова, как вайфай (Wi-Fi), блютуз (Bluetooth), но знаете ли вы, что они означают? Какие способы обмена информацией вы знаете? Предположите, каким образом передача информации будет осуществляться в будущем. Мы, люди, так или иначе общаемся между собой. Как это происходит? Например, вы хотите передать другу информацию о месте и времени встречи. Вы можете написать ему сообщение по электронной почте, послать СМС-сообщение, оставить записку, ну и, конечно, позвонить по телефону или сообщить непосредственно при личной встрече. При этом вы подаёте сигнал, а ваш друг его принимает. Чтобы он понял, что вы ему говорите (распознал сигнал), желательно, чтобы вы говорили на одном языке.
313 Роботы тоже обмениваются информацией между собой и с человеком. Язык общения роботов — это протокол связи. Допустим, вы хотите, чтобы уехавший в другой угол комнаты робот пискнул или подмигнул диодом. Для этого вы должны со своего компьютера подать роботу нужную команду, а он должен понять её и отреагировать. Чтобы команда была понята правильно, источник сигнала (ваш компьютер) и приёмник сигнала (робот в углу) должны общаться по одному протоколу. Допустим, вам необходимо передать роботу команду зажечь свет. В программе управления роботом вы нажимаете кнопку «свет» (рис. 9.1). При этом программа понимает, что надо сформировать определённый пакет данных и отправить его в порт1 на устройство. Какие устройства есть у вашего ноутбука или планшета? Это, скорее всего, встроенные адаптеры Bluetooth, WiFi или присоединённый по USBпорту ZigBeeмодуль. В адаптере цифровой сигнал (сформированный программой пакет данных), поступающий на него с компьютера, преобразуется и посредством радиоволн передаётся на другое устройство. 1 Порты вводавывода являются основным средством связи микроконтроллеров с окружающим миром. Через эти порты микроконтроллер получает сигналы (аналоговые или цифровые) от внешних устройств; управляет или обменивается данными с внешними устройствами; сигнализирует о проделанной работе и т. д. Рис. 9.1. Образец программы управления роботом
314 В это время робот находится в ожидании команды. При приёме сигнала адаптер преобразует его в цифровую форму, понятную компьютеру. И робот в соответствии с переданной программой выполняет указанное действие. Причём если робот укомплектован Bluetooth-модулем, то никак не отреагирует на вашу команду, отправленную по Wi-Fi. Так же как если вы своего щенка приучали к команде «сидеть», произнося её порусски, то вряд ли он поймёт, что вы от него хотите, если будете ему эту команду отдавать на английском или немецком языке. Каждый протокол имеет несколько уровней. Уровни разделяются на низкий, средний, высокий и приложения. Уровень приложений — самый высокий. А вместе все уровни составляют стек протокола. Так, команду «сидеть», данную щенку, можно разделить на низкий, физический уровень, это колебания воздуха, и высокий — логический — сама команда, по которой щенок должен именно сесть, а не лечь или подать голос (рис. 9.2). А если дать команду: «Дружок, сидеть!» — появится и средний уровень — сетевой, в котором мы адресуем команду конкретному щенку. Низкий физический уровень — это колебания электромагнитного поля. В России для протоколов ZigBee, Bluetooth и Wi-Fi сигнал передаётся на частоте 2,4 гГц. Для этих протоколов физический уровень одинаковый. Различия возникают на сетевом уровне, когда устройства идентифицируются по MAC-адресам — уникальным опознавательным номерам. Этот уровень нужен, чтобы адресовать команду либо ко всем устройствам в сети, либо какому-то конкретному устройству. Чем же различаются протоколы ZigBee, Bluetooth и Wi-Fi? Почему нельзя пользоваться каким-то одним? Исторически сложилось так, что каждый протокол создавался под конкретные нужды. Bluetooth предназначен, чтобы связывать друг Физический уровень Логический уровень Рис. 9.2. Стек протокола команды «сидеть»
315 с другом устройства на коротком расстоянии (до 10 м), например два мобильных телефона при передаче файлов либо беспроводные наушники и планшет. Протокол Wi-Fi более производительный, он с большей скоростью позволяет обмениваться данными, например, между планшетом и ноутбуком, но обязательно использует для этого точку доступа. Связь может осуществляться через центральную точку доступа (рис. 9.3), относительно которой все устройства находятся в зоне прямой видимости, или через промежуточные точки доступа — роутеры. Недостатком этих протоколов является то, что они потребляют очень много энергии даже в том режиме, когда ничего не делают. Третий протокол, который мы рассмотрим, — ZigBee, он отличается тем, что был изначально задуман как протокол для малого энергопотребления, например для небольших устройств с автономными источниками питания — батарейками. Основной целью этого протокола является возможность устройств, разбросанных случайным образом, самостоятельно организоваться в сеть и просуществовать как можно дольше, собирая и передавая на центральную точку информацию о событиях, происходящих на исследуемой территории. Например, о замере температуры или об освещённости для осуществления так называемого экологического мониторинга. Большее время жизни для устройств в сети ZigBee достигается за счёт того, что, пока не происходит замер параметра или пока не произошло какое-то событие, каждое устройство в сети спит и практически не потребляет энергию. Таких устройств в сети, называемых мотами, может Bluetooth Wi-Fi Интернет Wi-Fi-роутер Рис. 9.3. Способы осуществления связи
316 быть очень много, они небольшие по размерам, из-за чего их иногда называют пылинками (есть даже такой термин Smart Dust — умная пыль). Они могут связываться в так называемую MESH-структуру (мешструктуру), когда каждый мот общается не со старшим в группе, а с равноценным участником, находящимся в зоне прямой видимости. И пакет данных внутри такой MESH-сети переходит от мота к моту, распространяясь там лавинообразно (рис. 9.4). Это бывает очень удобно. Если у какого-то мота заканчивается энергия в батарейках и он выпадает из сети, то поток информации, который шёл через него, не рвётся, а продолжает перетекать, но уже по другим узлам. Но конечно, такая уникальная возможность — проявлять необычно устойчивую «живучесть» всей сети на основе протокола связи ZigBee — накладывает и некоторые весьма существенные ограничения. Так, например, нужно разработать алгоритмы маршрутизации потоков данных в сети с учётом того, что некоторые узлы-моты могут спать или даже полностью выпадать из сети. Некоторые протоколы уже разработаны и запатентованы, но в этом направлении предстоит ещё многое сделать. Протокол ZigBee является одним из наиболее перспективных. Дальность действия модуля связи Xbee может составлять 1 км. Например, если машинки, оснащённые этим модулем, расставить на поверхности Земли через 1 км и поставить их в ряд 40 тыс. штук, то поРис. 9.4. MESH-структура
317 следняя машинка окажется на расстоянии 1 км от первой, потому что длину окружности Земли по периметру можно считать равной 40 тыс. км (рис. 9.5). И тогда с единого пульта управления можно заставить все устройства, связанные в единую сеть, мигать диодами или издавать звуковые сигналы динамиком или сразу, или по очереди, а можно вообще составить специальный алгоритм. Основные понятия и термины: протокол, Wi-Fi, Bluetooth, ZigBee. ? Вопросы и задания 1. Что такое протокол связи? 2. Какие виды протоколов связи вы знаете? 3. Чем отличаются разные протоколы связи друг от друга? 4. Какие бывают уровни протоколов связи? Задание 1 Используя устройства связи, имеющиеся в вашем распоряжении, проведите сравнительный анализ способов связи по различным протоколам. Результаты сведите в таблицу 9.1. Таблица 9.1. Анализ способов связи Характеристика WiFi Bluetooth ZigBee Расстояние, покрываемое сетью Скорость передачи информации Частота Количество устройств Потребляемая мощность Взаимодействие устройств сети, управляемой данным протоколом Рис. 9.5. Модельное представление длины окружности Земли
318 Задание 2 Разработайте описание модели «Умный дом» с вариантами использования возможных средств связи, которые вам знакомы. § 51. Что такое MAC-адрес С помощью протокола можно отправить информацию на устройства, расположенные в сети. А как определить, какому именно устройству отправить нужную информацию, если устройств в сети много? Каким образом можно отличать одно устройство в сети от другого? Для того чтобы устройства, изготовленные разными разработчиками, в рамках одного протокола всегда могли связаться друг с другом и понимать отправляемые команды, необходимо разработать единый стандарт. Когда вы со своего мобильного телефона присоединяетесь к точке Wi-Fi, то совершенно не задумываетесь, каким производителем изготовлена эта точка-роутер. Для решения проблемы совмещения и стыковок различных элементов сетей договорились о единых стандартах, прописанных в модели взаимодействия открытых систем (ISO). В модели ISO все функции сети разделены на уровни таким образом, что вышележащие уровни используют услуги по переносу информации, предоставляемые нижележащими уровнями. Такая структура позволяет модифицировать и даже заменять любой уровень, не затрагивая остальные. Кроме того, деление на уровни даёт возможность упростить реализацию каждого из них. Всего в модели ISO семь уровней: физический, канальный, сетевой, транспортный, сеансовый, уровень представления и прикладной. Мы рассмотрим только первые три. На первом, физическом уровне данные передаются в виде электрических сигналов, т. е. информация кодируется с помощью изменения силы тока в проводнике. На втором, канальном уровне микросхемы сетевой карты преобразуют эти данные в цифровой поток, который уже можно анализировать. Представьте себе сеть из нескольких устройств, которые подключены проводом к одному компьютеру. Этот компьютер посылает пакет данных, например, устройству 007. В нашем случае 007 — это некий
319 адрес-идентификатор. Отправитель помечает, что этот пакет предназначен для устройства 007, а само устройство 007, получив такой пакет, начнёт его обрабатывать. При этом пакеты данных для других устройств будут игнорироваться. Так обеспечивается адресная доставка пакета. Мы говорили о том, что для связи и идентификации устройства в сети используется MAC-адрес — уникальный серийный номер, назначаемый каждому сетевому устройству при его производстве. MAC-адрес позволяет из множества электрических сигналов выделить именно ту часть данных, которая адресована конкретному устройству. На третьем уровне, сетевом, MAC-адрес уже необходим для адресации пакета данных в большой сети. Появляется IP-адрес, который указывает, куда доставлять пакет данных для второго уровня, т. е. появляется связка MAC-адрес — IP-адрес. Например, на один IP-адрес маршрутизатора может быть зарегистрировано несколько устройств, и маршрутизатор при обработке данных на третьем уровне будет анализировать пакеты и отправлять их нужному устройству по MAC-адресу. Каждая сетевая карта или сетевой интерфейс имеет уникальный MAC-адрес. Если MAC-адрес не является уникальным, то не существует способа различить между собой два устройства, и это приведёт к нарушению работоспособности сегмента сети. Для обеспечения уникальности MAC-адреса имеют длину 6 байт и обычно записываются шестнадцатеричным числом в виде 12-34-56- 78-90-AB. Каждый производитель сетевых устройств использует определённый диапазон MAC-адресов, который был отведён только ему контроллером стандарта. Первые три знака адреса определяют производителя. MAC-адрес можно посмотреть на упаковке сетевой карты или наклейке (рис. 9.6). Например, у ноутбуков или маршрутизаторов (точек доступа и модемов) на дне обязательно есть наклейка, содержащая MAC-адреса на все сетевые интерфейсы. С помощью этого идентификатора доступ к сети можно как разрешить, так и запретить. Рис. 9.6. Примеры МАС-адресов
320 Наклейку на компьютере искать не очень удобно, поэтому для определения MAC-адреса компьютера следует использовать команду ipconfig в меню «Пуск» компьютера. В поле ввода команд (поле поиска) набрать cmd — команду перехода в консольный режим командной строки (рис. 9.7). В открывшемся чёрном окне консоли набираем команду ipconfig/all (рис. 9.8). Среди выведенного текста ищем подключение по локальной сети — Ethernet-адаптер: Физический адрес: 00-D0-D7-03-94-CD (рис. 9.9). Физический адрес — это и есть MAC-адрес. Если на устройство установлено несколько сетевых карт, то и MAC-адресов, соответственРис. 9.7. Определение МАС-адреса компьютера. Шаг первый Рис. 9.9. Определение МАС-адреса компьютера. Шаг третий Рис. 9.8. Определение МАС-адреса компьютера. Шаг второй
321 но, будет несколько, на каждую карту свой. Выбирайте из выведенного результата команды тот, который относится к нужному вам адаптеру или подключению. Знание MAC-адреса устройства может помочь вам выбрать конкретное устройство из нескольких устройств сети. Основные понятия и термины: MAC-адрес, IP-адрес, физический уровень передачи данных, канальный уровень передачи данных, сетевой уровень передачи данных. ? Вопросы и задания 1. Для чего необходим MAC-адрес? 2. Возможно ли существование приборов с одинаковыми MAC-адресами? 3. Кто назначает MAC-адрес устройству? 4. В какой форме записывается MAC-адрес? Задание 1 Используя устройства связи, имеющиеся в вашем распоряжении (планшет, телефон, смартфон), определите их MAC-адрес по инструкции пользователя или наклейке на гаджете. Задание 2 Используя режим командной строки, определите MAC-адреса школьных персональных компьютеров. § 52. Управление роботом Любой робот хорош тогда, когда он может приносить пользу человеку. Роботом нужно уметь управлять — отдавать ему команды, которые он должен правильно понимать. Как вы думаете, каким образом происходит управление роботом? Как мы уже говорили, для управления роботом используют протоколы связи — набор заранее согласованных стандартных правил. А если роботов много и нужно передать информацию конкретному устройству, то тут на помощь приходит MAC-адрес.
322 Управление любым роботом может осуществляться в двух режимах: ручном и программном, автоматическом. Ручное управление любого устройства осуществляется с некоторого пульта управления. Не так давно пульт управления представлял собой отдельную коробочку, которая проводами связывалась с машиной или роботом. Современные технологии позволяют организовать эту связь беспроводным способом — по радиоканалу. Сегодня пульт управления — это, как правило, программа, которая запускается на планшете, телефоне, компьютере, переводящая нажатые клавиши в машинные коды и передающая их на требуемое устройство. Хотя интерфейс (внешний вид) у разных программ разных производителей отличается, большинство пультов управления строится по одинаковому принципу. Рассмотрим простейший пульт управления, который позволяет задать направление движения. Кнопки, расположенные на вкладке «Управление», дают возможность управлять движением робота в разных направлениях, издавать звук и мигать светом. Зелёный цвет строки «Статус устройства» (рис. 9.10) указывает на то, что программа связалась с роботом и готова обмениваться с ним командами. Что же происходит, когда мы начинаем управление роботом? Программа пульта управления обрабатывает записанный в неё алгоритм. Рис. 9.10. Связь с роботом состоялась
323 По этому алгоритму она ожидает нажатия любой кнопки на пульте. И когда кнопка, например «Вперёд», будет нажата, то программа формирует в памяти компьютера специальную команду и отправляет её по радиоканалу роботу. Робот принимает команду, и с помощью собственной программы, которая тоже установлена в памяти его процессора, выполняет разбор каждого символа в принятой команде. Если всё прошло удачно, нет ошибок и сбоев в принятой команде, тогда робот выполняет порученное ему действие: двигается вперёд. И после выполненной команды обязательно посылает обратно на пульт ответ: «Всё прошло удачно. Команда выполнена». Ниже приведён пример такой команды, отправленной и принятой пультом. Наверняка вас не пугают ребусы, шарады и головоломки. Вот и в приведённых выше двух строках ничего сложного нет. Первая строка — это отправка команды с пульта на устройство: английское слово Write указывает, что происходит запись в порт. А вторая строка, соответственно Read, — это чтение из порта ответа от робота. Каждая строка начинается с даты и времени события, а следующие после знака двоеточие шестнадцатеричные коды будут вам понятны после знакомства со справочником команд. Для каждого действия назначен свой собственный шестнадцатеричный код. Программы, как мы говорили ранее, пишутся на разных языках программирования. Например, существуют профессиональные языки: C (Си), Python (Питон), Java (Ява) или языки для тех, кто только начинает изучать программирование: Scrath (Скретч), Кумир (Комплект Учебных МИРов). Мы будем использовать для написания программ язык Кумир. В простейшем случае нам понадобится текстовый редактор и небольшой справочник с подсказками, который можно вызвать, нажав на клавиатуре клавишу F1. При этом откроется окно, в котором будет указано, какую команду и в каком формате надо использовать. Итак, если мы с пульта управления подали роботу четыре команды и, перейдя на вкладку «Технологические режимы», нажали кнопку «Про
324 грамма», то процессор сформировал необходимые команды, получив которые робот будет двигаться в заданном направлении столько раз, сколько команд мы записали в программе (рис. 9.11). А если у вас не один робот, а, например, шесть?! Как сделать так, чтобы два робота поехали в столовую, а остальные в библиотеку или спортзал? В этом случае нужно использовать в программах указатели на то, какой конкретно робот нужен для исполнения конкретной задачи, т. е. MAC-адреса. На рисунке 9.12 показано, что из доступных шести устройств выбрано два. Они отмечены синим цветом и звёздочкой около соответствующего MAC-адреса. Это роботы с адресами 00 13 А2 00 40 B2 4D 3D и 00 13 А2 00 40 B2 4D EE. Когда на пульте будет установлен чекбокс (галочка) команды «Использовать выбранные устройства», команда исполнения будет отправляться программой строго на выбранные устройства. Ещё одной очень важной особенностью роботов является воз можность использования датчиков, о которых мы подробно говорили в 7 классе. С использованием датчиков робот превращается в мобильРис. 9.11. Пример программы
325 ную цифровую лабораторию. Такую возможность, как правило, используют там, куда человеку сложно или опасно добираться. Например, в космосе, или на пожаре, или на таких производствах, где людям следует находиться как можно меньше времени. Полезная информация Среда управления учебным исполнителем Робот. • Кумир (Комплект Учебных МИРов) — свободно распространяемая кросс-платформенная русскоязычная система программирования, предназначенная для начального обучения основам алгоритмизации. • Система программирования Кумир основана на методике, разработанной под руководством академика А. П. Ершова. В системе Кумир используется школьный алгоритмический язык с русской лексикой и встроенными командами управления программными исполнителями (Робот, Чертёжник, Кузнечик, Черепаха). • Скачать программу можно на сайте разработчиков программы Кумир (http://lpm.org.ru/kumir2/), на официальном сайте проекта (http://www.niisi.ru/kumir/), на сайте разработчиков роботов УМКИ (http://www.umkikit.ru/). Рис. 9.12. Выбор устройств
326 • После загрузки среды Кумир на экране можно увидеть следующее окно (рис. 9.13): • Окно разбито на две основные области: рабочую область (вверху) и область ввода-вывода (внизу). В рабочей области располагается программа, с которой работает система Кумир. • Рабочая область делится на две части: область программы (слева) и область сообщений (справа), в которую при подготовке программы выводятся сообщения об ошибках, найденных в каждой строке, а при выполнении — сведения о значениях переменных, присваиваемых в строке. • Для работы программы исполнителя Робот необходимо снять знак комментария перед командой выбора исполнителя (удалить вертикальную черту перед командой «использовать Робот») (рис. 9.14). • Исполнитель Робот обитает в прямоугольном поле, разбитом на клетки, между которыми могут располагаться стены. Робот может передвигаться по полю и закрашивать клетки. • Базовые команды перемещения для исполнителя Робот: вверх, вниз, влево, вправо. При выполнении этих команд робот перемещается на одну клетку соответственно команде: вверх, вниз, влево, вправо. По команде «Закрасить» закрашивается клетка, в которой робот находится в настоящий момент. Рис. 9.13. Окно среды Кумир
327 • С помощью списка команд меню «Выполнение» (рис. 9.15) можно регулировать работу созданных алгоритмов в различных режимах. • «Выполнить непрерывно» — непрерывное выполнение программы без остановок между шагами. Рис. 9.14. Подготовка робота к работе Рис. 9.15. Список команд меню «Выполнение»
328 • «ШАГ» — выполняется один шаг программы. Для выполнения следующей команды необходимо снова дать команду ШАГ. • О работе в программе Кумир можно прочитать в справочной системе Кумир, вкладка «Инфо», пункт «Язык и система Кумир» (рис. 9.16) или в Интернете. Основные понятия и термины: режим управления, пульт управления, программа. ? Вопросы и задания 1. Какие режимы управления роботом вы знаете? 2. Что может быть пультом управления исполнителя? 3. В какой форме исполнитель-робот получает команды для выполнения? 4. Что необходимо знать для выбора одного устройства из многих в сети? Задание 1 Проведите исследования по ручному управлению любым исполнителем с пульта управления (в случае отсутствия роботизированных платформ возРис. 9.16. Справочная система Кумир
329 можно использование нескольких радиоуправляемых игрушек): исследуйте реакцию на однократное нажатие кнопки движения, на угол поворота, на дальность действия от пульта управления. Задание 2 Проведите исследования по возможности запомнить выполненные команды и повторить их необходимое число раз. Установите программу Кумир и разработайте несколько линейных алгоритмов управления исполнителем Робот (управление движением вперёд, назад, поворотами). Задание 3 Сравните точность выполнения команд реального и виртуального робота (насколько точно выполняются повороты, насколько точно можно отрегулировать шаги и т. д.). Сделайте выводы о различиях между реальным и виртуальным исполнителем. Предложите пути решения возникающих проблем. § 53. Управление работой контроллера Мы уже довольно много знаем о роботах: имеем представление о том, как они могут быть устроены, каким образом осуществляется программное управление роботизированными устройствами. Для чего в управляемых устройствах необходим контроллер? Какое программное обеспечение необходимо, чтобы управлять контроллером? В предыдущих классах вы ознакомились с некоторыми электронными устройствами (светодиодами, транзисторами и т. д.), получили представление о программировании. Пришло время поработать с более сложным электронным конструктором. Теперь к контроллеру вы сами будете подключать различные компоненты (кнопки, датчики и т. д.) и составлять программы на языке программирования. В качестве контроллера будем использовать платформу Arduino Uno, которая состоит из двух основных частей — аппаратного обеспечения (непосредственно платы Arduino, рис. 9.17) и программного обеспечения, которое запускается на компьютере.
330 Основная деталь платы — это микроконтроллер, в который и будут записываться программные коды (скетчи). Электрическое питание может быть подано на плату через USBпорт от компьютера или от источника питания. Источником питания может быть батарейка, аккумулятор или подключение в сеть через адаптер. Главное, при подключении не перепутать плюс с минусом и учесть, что подключаемый источник должен давать напряжение в диапазоне от 3 до 12 В. Провода от батареи подключаются к выводам Gnd и Vin разъёма питания. Плата может сама выбирать источник питания: если она подключена к компьютеру через USB- кабель и к разъёму питания подключён адаптер, то плата выберет адаптер. Программное обеспечение представляет собой интегрированную среду Arduino IDE, которую можно бесплатно скачать на официальном сайте (https://www.arduino.cc/en/Main/Donate). В операционной системе Linux запуск программы осуществляется сразу, в системе Windows может потребоваться запуск от имени администратора. Тогда правой кнопкой мыши следует открыть контекстное меню и выбрать пункт «Запуск от имени администратора» (рис. 9.18). Когда программа запустится, откроется окно Arduino IDE (рис. 9.19). Обратите внимание — вы ещё не подключали плату Arduino к компьютеру, а в правом нижнем углу уже присутствует надпись «Arduino Leonardo on COM4». Таким образом Arduino IDE сообщает вам, что она Рис. 9.17. Плата Arduino
331 настроена на работу с платой Arduino Leonardo. А когда плата будет подключена, Arduino IDE будет искать Arduino Leonardo на порту COM4. И по умолчанию уже заготовлен шаблон для будущего скетча (программы — эскиз для Arduino), содержащий команды, необходимые для его работы. Рис. 9.18. Запуск программы в системе Windows Рис. 9.19. Окно Arduino IDE
332 Используя меню «Инструменты» → «Плата», нужно указать программе, что работа предстоит с другой платой семейства Arduino, т. е. выбрать из списка контроллер, который будет подключён к компьютеру (Arduino Uno, рис. 9.20). Теперь плата готова к работе. После установки Arduino IDE и выбора нужной платы можно подключить плату к компьютеру и произвести окончательные настройки. Рассмотрим процесс в операционной системе Windows. Рис. 9.20. Выбор контроллера для подключения к компьютеру Рис. 9.21. Плата Arduino опознана
333 Компьютер опознаёт подключённое устройство как плату Arduino Uno и запускает его установку (рис. 9.21). Когда на плате загорится светодиод ON и начнут мигать светодиоды L2 и L3 (см. рис. 9.17), значит, на плату подано питание и микроконтроллер Arduino Uno начал выполнять заданную производителем программу Blink (мигание светодиодом). Чтобы окончательно настроить плату на работу с Arduino Uno, необходимо уточнить, какой номер COM-порта присвоил компьютер Arduino Uno. Для этого в Панели управления нужно зайти в «Диспетчер устройств» Windows и открыть вкладку «Порты (COM и LPT)» (рис. 9.22). Это означает, что операционная система распознала плату Arduino как COM-порт, подобрала для неё правильный драйвер и назначила этому COM-порту номер 5. Если мы подключим к компьютеру другую плату Arduino, то операционная система назначит ей другой номер. Поэтому при работе одновременно с несколькими платами очень важно внимательно соотносить их с номерами COM-портов. Теперь следует сообщить Arduino IDE, что плата, с которой ей предстоит общаться, находится на COM-порту COM5. Для этого необходиРис. 9.22. Определение номера СОМ-порта
334 мо перейти в меню «Инструменты» → «Порт» и выбрать порт COM5 (рис. 9.23). Основные понятия и термины: контроллер, аппаратное обеспечение, программное обеспечение, COM-порт. ? Вопросы и задания 1. Для чего роботу нужен контроллер? 2. Зачем нужно программное обеспечение контроллеру? 3. Как настроить программу Arduino IDE для работы с конкретной платой семейства Arduino? 4. Могут ли платы Arduino оказаться на разных COM-портах? 5. Какое максимальное питание можно подать на плату Arduino? Задание 1 Скачайте с официального сайта и установите программу Arduino IDE. Задание 2 Осуществите настройки Arduino IDE соответственно имеющейся плате Arduino. Рис. 9.23. Выбор порта
335 § 54. Платформа Arduino UNO. Управление светодиодом После установки программного обеспечения для работы с контроллером нужно научиться с ним работать. Какие электронные компоненты вы помните? Как можно управлять их работой? Среда управления платой Arduino IDE содержит много готовых примеров, в которых можно подсмотреть решение какой-либо задачи. Познакомимся для примера с программой управления встроенным светодиодом. Рассмотрев внимательно схему платы (см. рис. 9.17), вы увидите четыре светодиода: ON, L, TX, RX. Диод ON сигнализирует о подключении питания к плате Arduino. Диод L при подключении к USB-разъёму платы Arduino будет сразу мигать, потому что в платы Arduino изначально загружена программа мигания светодиода. Скетч, в котором запрограммирован мигающий светодиод, называется Blink. Загрузим скетч Blink, выполнив команду: «Файл» → «Образцы» → «01.Basic» → «Blink» (рис. 9.24). После загрузки в окне IDE появится текст программы для мигания светодиода (рис. 9.25). Рис. 9.24. Загрузка скетча Blink
336 Обратите внимание, что текст программы состоит из инструкций и комментариев к этим инструкциям. Комментарии не влияют на выполнение программы процессором, они даны для более подробного описания работы программы. • Многострочные комментарии выделяются символами /*……*/. Текст в таких скобках не является какой-либо командой и не влияет на работу программы. В этих скобках можно писать любые комментарии. • //….Если написать любой текст после двух косых, он также не будет распознаваться программой. Однако эти символы действуют только на одну строку. Комментарии к встроенным скетчам написаны на английском языке, но при самостоятельном написании программ комментарии можно писать на русском. • Процедура setup(). Эта процедура выполняется один раз в начале работы программы или при включении питания Arduino и должна присутствовать в каждом скетче. Последовательно выполняется каждая команда, заключённая между фигурными скобками этой Рис. 9.25. Текст программы, обеспечивающей мигание светодиода
337 процедуры. Каждая команда должна завершаться символом точка с запятой «;». Например, void setup() { // initialize the digital pin as an output (инициализирован вывод 13 как выход). pinMode(13, OUTPUT); } В рассматриваемой программе процедура setup() содержит только одну команду pinMode (13, OUTPUT), которая сообщает Arduino, что мы собираемся использовать вывод (пин) номер 13 как ВЫХОД. Это означает, что на выводе 13 платы будут появляться электрические сигналы, которые создаёт сам контроллер. Все эти действия обязательно вписываются между открывающей и закрывающей фигурными скобками { }. Светодиод на плате Arduino на самом деле подсоединён к выводу 13. Принципиальная схема показана на рисунке 9.26. • Процедура loop(). После выполнения команд процедуры setup процессор переходит к выполнению команд процедуры loop(). Особенность этой процедуры в том, что её команды выполняются в бесконечном цикле, т. е. после выполнения последней команды процессор снова приступает к выполнению первой. И так будет продолжаться, пока плата подключена к источнику питания. Например, void loop() { digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level) (возвращает на светодиод ВЫСОКИЙ уровень напряжения) delay(1000); // wait for a second (ждём 1 с) digitalWrite(13, LOW); // turn the LED off by making the voltage LOW (возвращает на светодиод НИЗКИЙ уровень напряжения) delay(1000); // wait for a second (ждём 1 с) } Внутри цикла функции размещена команда, которая переключает состояние пина в одно из двух возможных: HIGH или LOW. HIGH соответствует логической единице (она же, в свою очередь, соответствует Рис. 9.26. Принципиальная схема подключения диода
338 напряжению питания микроконтроллера +5 В). Состояние вывода LOW соответствует логическому нулю, это близко к 0 В. Если тринадцатый пин на плате Arduino установить в состояние HIGH (5 В), то светодиод начнёт светиться, так как через него потечёт электрический ток. Если пин 13 установить в состояние LOW (0 В), то светодиод не загорится. Следовательно, оператор digitalWrite(13, HIGH) формирует +5 В на выходе 13 и зажигает, таким образом, светодиод L1. Команда delay(1000); заставляет микроконтроллер остановиться и ничего не делать целых 1000 миллисекунд (1000 мс = 1 с), т. е. на выходе 13 в течение 1000 мс будет высокий уровень напряжения, и светодиод будет гореть. Команда digitalWrite(13, LOW); устанавливает пин 13 в состояние LOW. Напряжение на выходе становится близким к нулю, и светодиод гаснет. Затем снова выполняется команда паузы на 1000 мс. На этом выполнение цикла заканчивается, но функция loop снова автоматически вызывается и запускает команду digitalWrite (13, HIGH). И так далее. Посмотрим, как можно изменить период мигания светодиода. Практическая работа № 42 «Управление встроенным светодиодом» Цель работы: научиться подключать плату Arduino, запускать программы из библиотеки, осуществлять проверку работы программы, производить модификацию программы. Оборудование и материалы: плата Arduino, компьютер, USBкабель. Порядок выполнения работы 1. Подключите плату Arduino к компьютеру USB-кабелем. 2. Подготовьте плату к работе, выбрав в Arduino IDE нужный COMпорт. 3. Сохраните копию скетча из библиотеки. Для этого в меню «Файл» в IDE выберите опцию «Сохранить как…», а затем сохраните скетч, присвоив ему имя, например Blink1 (рис. 9.27). Это означает, что позже можно будет просто открыть его командой «Файл» → «Открыть». 4. Для загрузки выбранного скетча в Arduino нажмите на иконку «Вгрузить» (вторая слева на Панели инструментов).
339 В нижней части IDE выводит ряд сообщений. Сначала появится сообщение о компиляции скетча (рис. 9.28), т. е. о преобразовании программы в формат, понятный для процессора. Рис. 9.28. Сообщение о компиляции скетча Рис. 9.27. Сохранение скетча
340 Далее статус процесса изменится на «Загружаем». В этот момент светодиоды TX и RX на Arduino начинают мерцать, указывая, что скетч загружается в плату. Наконец, в строке состояния появится текст «Вгрузили» (рис. 9.29). Рис. 9.29. Сообщение о завершении операции «Вгрузить» Внимание! Если в окне появится надпись «Последовательный порт СОМ4 не найден», проверьте подключение платы к компьютеру, правильность настройки в программе COM-порта и ещё раз загрузите скетч. 5. Проведите модификацию кода, изменив параметры команды delay (рис. 9.30). Рис. 9.30. Модификация кода
341 Вместо строчки delay(1000); напишите delay(100); Подумайте, что произойдёт при таком изменении программы. 6. Загрузите новый скетч в Arduino Uno, проверьте, как изменился период мерцания светодиода. Мы попробовали управлять встроенными элементами контроллера. Но гораздо чаще требуется, чтобы контроллер управлял не встроенными элементами, а различными электронными компонентами, подключёнными к внешним контактам — ножкам микрочипа. Практическая работа № 43 «Управление внешним светодиодом» Цель работы: научиться управлять отдельным светодиодом на макетной плате. Оборудование и материалы: резистор номиналом 360 Ом, светодиод, перемычка, макетная плата, плата Arduino, компьютер. Внимание! Все подключения можно производить только при отключённой от компьютера плате Arduino. Порядок выполнения работы 1. Соберите электрическую схему по рисунку 9.31. Сравните её со схемой на рисунке 9.26. Найдите отличия. Рис. 9.31. Схема подключения светодиода
342 2. Подключите минус (GND) питания Arduino к минусовой шине макетной платы. Для этого установите один конец проволочной перемычки в гнездо GND на плате Arduino, а второй конец перемычки — в отверстие вдоль синей линии макетной платы. 3. Установите светодиод на макетную плату. Для этого ножки светодиода вставьте в отверстия свободного поля так, чтобы длинная ножка (анод) находилась в отверстии верхнего свободного поля, а короткая (катод) — в отверстии нижнего поля. 4. Установите на макетную плату резистор. К короткой ножке светодиода подключите одну ножку резистора, вторую ножку резистора установите в отверстие вдоль синей линии. 5. Проволочной перемычкой соедините анод светодиода и контакт 13 платы Arduino (рис. 9.32). 6. Проверьте правильность сборки схемы и подключите плату к компьютеру. 7. Запустите среду разработки Arduino IDE. 8. Скопируйте текст приведённой ниже программы с комментариями на русском языке в среду разработки и загрузите в Arduino либо откройте скетч Blink1 с комментариями на английском. /*Программа для мигающего светодиода */ // Светодиод подключаем к контакту 13 платы Arduino // устанавливаем начальную команду, которая будет выполняться при включении питания void setup() { // определяем выбранный нами контакт платы Arduino как выход. Рис. 9.32. Пример соединения
343 pinMode(13, OUTPUT); } // Теперь определяем, что и как будет выполнять наша программа, пока // подключено питание к плате Arduino: void loop() { digitalWrite(13, HIGH); // устанавливаем на нашем контакте 13 ВЫСОКИЙ уровень (5 В) delay(1000); // ждём 1 с digitalWrite(13, LOW); // устанавливаем на нашем контакте 13 НИЗКИЙ уровень (0 В) delay(1000); // ждём 1 с } 9. Испытайте работу программы. Опишите результат. 10. Измените в программе время задержки аналогично тому, как вы это делали со встроенным светодиодом. Опишите результат. Светодиод вы подключали к пину 13. В программе это прописано следующим образом: pinMode(13, OUTPUT); digitalWrite(13, HIGH); digitalWrite(13, LOW). Чтобы поменять пин подключения, необходимо внести изменения во все части программы, где встречается номер пина, и переключить светодиод к соответствующему выходу. Светодиод можно подключать к любому выводу контроллера Arduino, но всякий раз необходимо будет производить серию однотипных изменений в программе. Попробуем оптимизировать процесс. Для этого нам потребуется ещё одно понятие, связанное с программированием, — переменная. Из курса математики вам известно, что переменные — это такие величины, значение которых может изменяться. В программировании (а значит, и в робототехнике) переменную определяют как место в памяти, где хранится некоторое значение. Номер пина — целое число, значит, нужна такая переменная, которая может хранить целые числа. И вместо того чтобы всякий раз просматривать программу в поисках того, что требуется изменить, мы просто изменим в одном месте значение переменной.
344 Для этого в самом начале программы эту переменную необходимо объявить, т. е. придумать ей имя, и указать, что «закладывать» в эту переменную мы будем целые числа. Объявляется переменная командой int, например: int ledpin = 13; Слово int означает, что в качестве переменной мы будем использовать целое число. ledpin — это имя нашей переменной. Его-то мы и придумываем сами. (Если хотите, его можно изменить, только не забудьте изменить это имя во всех местах программы, где оно встречается. Учтите, что Arduino понимает только латинские буквы.) 13 — это значение переменной, которое мы, когда захотим, можем менять. Теперь скетч примет вид: Int ledpin = 13; void setup() { pinMode(ledpin, OUTPUT); } void loop() { digitalWrite(ledpin, HIGH); //Вольт) delay(1000); digitalWrite(ledpin, LOW); delay(1000); } То есть при изменении номера контакта больше не потребуется просматривать всю программу, выискивая, где записан номер пина. Достаточно изменить его всего один раз в начале программы в переменной ledpin. Основные понятия и термины: скетч, программа, пин, время задержки, переменная. ? Вопросы и задания 1. Что произойдёт, если значение параметра в команде delay уменьшить в 2 раза? 2. Что такое переменная? 3. Чем различаются переменные в математике и робототехнике? 4. Зачем подключается светодиод последовательно с резистором?
345 Задание 1. Анализ команды delay Измените параметры команд delay, наблюдая, как изменяется работа светодиода L1. Результаты оформите в виде таблицы 9.2. В двух последних строках впишите произвольное значение команды delay, отличающееся от предложенных в других строках. Таблица 9.2. Анализ команды delay Код программы Результат наблюдений digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); digitalWrite(13, HIGH); delay(500); digitalWrite(13, LOW); delay(500); digitalWrite(13, HIGH); delay(100); digitalWrite(13, LOW); delay(100); digitalWrite(13, HIGH); delay(...........); digitalWrite(13, LOW); delay(...........); digitalWrite(13, HIGH); delay(...........); digitalWrite(13, LOW); delay(...........); Задание 2. Изменение подключения светодиода к различным выводам платы Arduino Измените подключение светодиода к выводу 4 платы Arduino. Измените программу и проверьте её работоспособность. Затем проделайте эти же манипуляции для вывода 8.
346 Внесите изменения в принципиальную схему эксперимента, учитывая выполненные модификации программы. Дочертите недостающие части схемы (рис. 9.33). Задание 3 Измените программу с использованием переменной и проведите предыдущие эксперименты на разных выводах Arduino. § 55. О контроллере R-5, Arduino Nano и о драйверах Мы много раз говорили о том, что одно из назначений роботов — заменить человека в опасных условиях: при пожаре, разминировании, в зонах повышенной радиации и т. п. Значит, робот должен уметь по команде передвигаться в нужном направлении. Чтобы привести робота в движение, необходимо подключить к нему мотор. Однако напрямую к плате Arduino подключить мотор, как правило, не получается. Как вы думаете, почему? Для того чтобы запустить мотор даже от игрушечного автомобиля, требуется большая сила тока, способная вывести из строя микрочип контроллера. Чтобы через контроллер не проходили большие токи, используется силовая электрика (вспомните реле). Поэтому моторы подРис. 9.33. Элементы схемы
347 ключаются к Arduino с помощью специальных микросхем — ключей, или аппаратных драйверов. Чтобы управлять платформой с колёсами, нужно специальное устройство, которое смогло бы преобразовывать электрические сигналы. Такое устройство, обеспечивающее преобразование электрических двоичных сигналов в воздействия, пригодные для непосредственного управления колёсами, называется драйвером. Наверняка вы уже слышали такое слово. Без драйвера-программы не будет работать видеокарта или сетевая карта в компьютере. В нашем случае драйвером будет служить специальная микросхема, управляющая скоростью и направлением вращения электромотора. Рассмотрим устройство и принцип работы специального компактного модуля «Контроллер R-5. Лартмастер». В состав его платы входят: контроллер Arduino nano, стабилизатор питания (5 В), драйвер электромоторов (две микросхемы), разъём для подключения модуля Bluetooth. Электрическое питание может быть подано на плату через USBпорт от компьютера или от источника питания. Источником питания может быть батарейка, аккумулятор или подключение через адаптер. Познакомимся с контроллером Arduino nano — «мозгом» робота. Это тоже контроллер семейства Arduinо, но значительно меньшего размера. Согласование контроллера с датчиками, исполнительными устройствами и механизмами осуществляется с помощью блока управления R-5 (рис. 9.34). На схеме показано: 1, 3, 9, 12 — разъёмы для подключения электромоторов; 2, 11 — светодиоды, индуцирующие направление вращения электромоторов; 4 — светодиод — индикатор электропитания; 5 — кнопка включения питания; 6 — клемма для подключения батареи питания; 7 — стабилизатор; Рис. 9.34. Схема блока управления
348 8 — переключатель питания электромоторов (в положении N на драйвер электромоторов подаётся напряжение 5 В, в положении H на драйвер электромоторов подаётся питание непосредственно с батареи); 10 — разъём для коммутации цифровых выходов Arduino D2, D3, D4, D5 на вход драйвера или на разъём J2; 13 — разъём J2; к этому разъёму выведены соответствующие выходы Arduino; 14 — разъём J3; к этому разъёму выведены аналоговые выходы Arduino. Разъёмы J2, J3 имеют три ряда контактов. Внешний ряд подключён к минусу батареи (GND), средний ряд подключён к выходу стабилизатора 5 В. Внутренние ряды подключены к соответствующим контактам Arduino. На блоке управления расположены колодки для установки Arduino Nano, драйверы моторов и переключатель питания электромоторов. Если мы хотим использовать выходы D2, D3, D4, D5 в работе других устройств, то в этом случае джамперами необходимо соединить средние и верхние контакты разъёма. Джамперами называют перемычки, с помощью которых можно создавать различные конфигурации цепи. Плату R-5 можно установить на любую платформу с колёсами, управляемыми моторами. Полезная информация • Различные источники в Интернете дают следующие определения драйвера. • Драйвер — компьютерная программа, с помощью которой другие программы получают доступ к аппаратному обеспечению. • Драйвер — элемент задней втулки велосипеда, исполняющий роль храпового механизма. • Драйвер — наёмный водитель, который перегоняет автомобиль клиента из одного места в другое. • Драйвер — клюшка в гольфе. • Драйвер, сервоусилитель — в общем смысле устройство преобразования каких-либо сигналов до определённых параметров (например, драйвер RS-485). В узком смысле — источник высоких
349 напряжений или токов, управляемый малым напряжением или током; такой драйвер применяется для управления электромотором (драйвер мотора), крупной светодиодной сборкой (драйвер светодиода) и т. д. Основные понятия и термины: драйвер, джампер, контроллер R-5, Arduino Nano. ? Вопросы и задания 1. Что такое драйвер? 2. Почему нельзя Arduino UNO просто поставить на платформу с моторами, которые вращают колёса? 3. Чем различаются и что общего у контроллеров Arduino UNO и Arduino Nano? Задание Установите контроллер R-5 на платформу с колёсами, управляемыми моторами. § 56. Плата контроллера R-5, Arduino Nano. Управляем моторами Итак, установка контроллера R-5, оборудованного Arduino Nano, на платформу с колёсами завершена. Можно провести серию экспериментов по программному управлению роботизированной платформой теперь уже под управлением Arduino Nano. Подумайте, какие команды из тех, что нам известны, должны быть включены в скетч. Для начала стоит научить машинку просто ездить. Познакомимся с программным управлением для самых простых движений: вперёд-назад и повороты. Напомним, что программа для контроллера Arduino обычно состоит из трёх частей: • в первой части, как в обычной математической задаче, описываются исходные данные. Мы присваиваем названия, назначение, функционал контактов контроллера. Записываем, какие библиотеки мы будем использовать в ходе выполнения программы;