Робототехника: практическое введение для детей и взрослых
Александр Вячеславович Фролов
Это практическое руководство поможет школьникам и взрослым быстро войти в увлекательный мир робототехники. Вы будете изучать аппаратное и программное обеспечение роботов на примере дистанционно управляемой модели марсохода BoxRover, способного измерять и передавать "на землю" данные телеметрии. Для создания подобного ровера вам не потребуются знания какого-либо языка программирования – все можно будет сделать при помощи графической среды Microsoft MakeCode. В отличие от аналогичных руководств, ориентированных на использование готовых наборов и конструкторов, эта книга поможет вам глубже разобраться в теме. Вы сможете подготовиться к созданию более сложных роботов и устройств для создания умного дома (IOT-устройств).
Введение для родителей и не только
Вы сейчас читаете черновик книги. Свои пожелания, замечания и предложения вы можете оставить в группе по адресу https://www.facebook.com/groups/539933346894981/ (https://www.facebook.com/groups/539933346894981/), а также отправить по почте на адрес microbit@frolov.pp.ru.
==
Каждый день вы используете различную технику, даже не задумываясь о том, что в ней есть встроенные микрокомпьютеры. Вещи, которыми мы пользуемся в обиходе, становятся все более интеллектуальными.
Робот-пылесос в процессе уборки сам обследует квартиру, составляя ее карту, сам возвращается на пункт подзарядки, и сообщает о своих действиях голосом. Роботы моют окна, работают на выставках и барах, управляют автомобилями, используются в боевых действиях и в борьбе с терроризмом.
Новостные сайты в интернете забиты статьями о том, что скоро роботы начнут отнимать работу у людей, вытесняя их из ряда профессий, в том числе не требующих высокой квалификации. С этим можно спорить, однако несомненно, что робототехника уже прочно вошла в нашу жизнь, и специалисты в этой области будут всегда востребованы.
Но с чего лучше всего начинать обучение школьников и студентов программированию и робототехнике?
Можно условно выделить два подхода к обучению.
Первый подход предполагает изучение основ электроники, компьютерной техники, программирования на ассемблере и Си, с последующим переходом к более высокоуровневым средствам проектирования программ и схемотехническим решениям на базе современных процессоров и микроконтроллеров, обучения основам численных методов и дискретной математики.
Когда-то давным-давно был доступен только первый способ, и я сам обучался именно так. Я собирал приемники-передатчики на транзисторах и лампах, различные радио устройства, триггеры из транзисторов, регистры из элементов 2И-НЕ на базе К155ЛА3, электронные часы, частотомер и самодельные компьютеры на микросхеме КР580ВМ80А, добавляя россыпь логических микросхем, микросхем памяти и периферийных устройств (рис. В.1). Первые программы были написаны, конечно же, в машинных кодах!
Рис. В.1. Элементная база прошлого века
У этого подхода есть очевидные преимущества и не менее очевидные недостатки.
Из важных преимуществ – на любом этапе будет понятна суть происходящего на самом низком уровне, на уровне сигналов и команд процессора, на уровне элементов и микросхем. Понимание сложных вещей будет достигаться постепенно, по мере продвижения от простого к сложному.
В то же время огромный недостаток метода обучения с самых основ заключается в том, что весь процесс отнимет очень много времени и сил. Двигаясь с самого начала, вы не скоро сможете создать что-нибудь достаточно сложное и интересное. В то же время ученикам уже на первых занятиях захочется насладиться результатами своего труда.
Второй подход предполагает, что обучение начинается с использования готовых обучающих наборов, содержащих микроконтроллеры и периферийные блоки, с применением графических инструментов программирования и языков высокого уровня. Далее после достижения определенных результатов, можно перейти к изучению низкоуровневых средств и инструментов. Именно этот подход мы и будем использовать в данной книге.
Проект модели марсохода BoxRover
На мой взгляд, в процессе обучения нужно двигат