Также вы узнаете, как использовать преобразователи и стабилизаторы для устройств, которым нужно разное напряжение питания, как подключать аккумуляторы и батарейки к макетной плате и устройствам робота с помощью отсеков и переходников, как питать робота от электрической сети 220 В на этапе отладки.
В главе 16 «Дальняя радиосвязь» рассмотрено использование технологии LoRa для создания каналов радиосвязи, способных передавать данные на большие расстояния, порядка километров и даже больше. При этом используются недорогие платы micro:bit и модули LoRa производства компании EBYTE.
Вы соберете погодную станцию, способную передавать информацию о температуре, давлении, влажности и температуре точки росы через канал дальней радиосвязи.
Вы также сделаете ретранслятор данных от сервера погодной станции, удваивающий максимальное расстояние передачи данных.
Глава 17 «Умный дом своими руками» содержит краткое введение в технологии умного дома. Мы расскажем о том, как использовать micro:bit и Raspberry Pi для сбора различных данных (о погоде, например) на обширной территории. Это может быть загородная резиденция или даже территория фабрики.
Почти в каждой главе предусмотрены домашние задания. Работая над ними самостоятельно, вы не только сможете проверить и закрепить свои знания. Решения домашних заданий вы сможете найти на сайте автора этой книги.
Исходные коды программ
Исходные коды всех программ, опубликованных в книге, вы можете скачать на сайте автораа также на GitHub https://github.com/AlexandreFrolov/BoxRover.
Свои пожелания, замечания и предложения вы можете оставить в группе по адресуа также отправить по электронной почте на адрес microbit@frolov.pp.ru.
Введение
Каждый день вы используете различную технику, даже не задумываясь о том, что в ней есть встроенные микрокомпьютеры. Вещи, которыми мы пользуемся в обиходе, становятся все более интеллектуальными.
Робот-пылесос в процессе уборки сам обследует квартиру, составляя ее карту, сам возвращается на пункт подзарядки, и сообщает о своих действиях голосом. Роботы моют окна, работают на выставках и барах, управляют автомобилями, используются в боевых действиях и в борьбе с терроризмом.
Новостные сайты в интернете забиты статьями о том, что скоро роботы начнут отнимать работу у людей, вытесняя их из ряда профессий, в том числе не требующих высокой квалификации. С этим можно спорить, однако несомненно, что робототехника уже прочно вошла в нашу жизнь, и специалисты в этой области будут всегда востребованы.
Но с чего лучше всего начинать обучение программированию и робототехнике?
Можно условно выделить два подхода к обучению.
Первый подход предполагает изучение основ электроники, компьютерной техники, программирования на ассемблере и Си, с последующим переходом к более высокоуровневым средствам проектирования программ и схемотехническим решениям на базе современных процессоров и микроконтроллеров, обучения основам численных методов и дискретной математики.
Когда-то давным-давно был доступен только первый способ, и я сам обучался именно так. Я собирал приемники-передатчики на транзисторах и лампах, различные радио устройства, триггеры из транзисторов, регистры из элементов 2И-НЕ на базе К155ЛА3, электронные часы, частотомер и самодельные компьютеры на микросхеме КР580ВМ80А, добавляя россыпь логических микросхем, микросхем памяти и периферийных устройств (рис. В.1). Первые программы были написаны, конечно же, в машинных кодах!
Рис. В.1. Элементная база прошлого века
У этого подхода есть очевидные преимущества и не менее очевидные недостатки.
Из важных преимуществ – на любом этапе будет понятна суть происходящего на самом низком уровне, на уровне сигналов и команд процессора, на уровне элементов и микросхем. Понимание сложных вещей будет достигаться постепенно, по мере продвижения от простого к сложному.
В то же время огромный недостаток метода обучения с самых основ заключается в том, что весь процесс отнимет очень много времени и сил. Двигаясь с самого начала, вы не скоро сможете создать что-нибудь достаточно сложное и интересное. В то же время хочется как можно быстрее насладиться результатами своего труда.
Второй подход предполагает, что обучение начинается с использования готовых наборов, содержащих микроконтроллеры и периферийные блоки, с применением графических инструментов программирования и языков высокого уровня. Далее после достижения определенных результатов, можно перейти к изучению низкоуровневых средств и инструментов. Именно этот подход мы и будем использовать в данной книге.
Проект модели марсохода BoxRover