Отправляя ровер на другую планету, вам будет полезно уметь ориентироваться на местности. Кроме того, измеряя магнитное поле, можно найти залежи полезных ископаемых, а может быть какие-нибудь инопланетные машины, спрятанные под землей.
Обычный компас и карта не помогут нам в этом, но на плате микроконтроллера micro:bit имеется встроенный магнитометр. Он способен измерять напряженность магнитного поля по трем осям.
На базе этого магнитометра вы можете сделать компас, или прибор для исследования магнитных полей, создаваемых, например, постоянными магнитами или соленоидами, для обнаружения металла или скрытой проводки.
Микросхема магнитометра находится в том же месте, что и акселерометр (рис. 6.1).
Рис. 6.1. Расположение магнитометра на плате micro : bit
Магнитометр micro:bit способен измерять интенсивность магнитного поля по трем пространственным осям (x, y, z). Он возвращает значения в микротеслах (мкТл).
Перед использованием необходимо выполнить калибровку магнитометра. К сожалению, эта процедура довольно длительная – вам нужно поворачивать и опрокидывать плату микроконтроллера до тех пор, пока на мониторе не будут гореть все светодиоды. Хотя калибровку можно запустить явным образом, она будет запущена автоматически в любом случае, если вы добавите в программу блоки магнитометра.
Давайте начнем изучение магнитометра с изготовления прибора для поиска магнитов и залежей железа. На рис. 6.2. показана программа, которая пригодится нам для такого прибора.
Рис. 6.2. Программа обнаружения магнитов
Код программы вы можете загрузить из файла BoxRover/ch06/ microbit-Детектор-магнитного-поля.hex (файл находится в архиве на сайте автора книги http://frolov-lib.ru/books/boxrover/).
Эта программа записывает в созданную нами переменную сила_магнитного_полязначение интенсивности магнитного поля, полученное от блока сила магнитного поля в (мкТл)с параметром сила. Этот блок вы найдете в палитре Ввод еще.
Блок сила магнитного поля в (мкТл)в зависимости от выбранного параметра может возвращать значение силы магнитного поля по осям (x, y, z), или интенсивность магнитного поля, если задан параметр сила.
В бесконечном цикле наша программа показывает на экране micro:bit численное значение интенсивности магнитного поля в микротеслах. Если интенсивность превышает 100 мкТл, то на экране отображается значок галочки, если она меньше этого значения – экран стирается при помощи блока очистить экран.
Сразу после запуска программы на мониторе micro:bit в режиме бегущей строки появится надпись TILT TO FILL SCREEN, что можно перевести как «наклоняйте, чтобы заполнить экран», а затем – мигающая точка в центре экрана. Это означает, что нужно выполнить калибровку магнитометра.
Наберитесь терпения, поворачивайте и опрокидывайте плату микроконтроллера до тех пор, пока не загорятся все светодиоды на его экране. Если в процессе калибровки снова появится упомянутая выше надпись, дождитесь когда она будет полностью показана, а затем продолжите повороты и опрокидывания платы micro:bit.
Постарайтесь по возможность проводить калибровку вдали от магнитов и массивных металлических предметов, чтобы избежать их влияния на этот процесс.
Как только калибровка будет завершена, на экране micro:bit появится текущее значение интенсивности магнитного поля. Оказалось, что у автора этой книги на столе это значение равно примерно 42-44 мкТл.
Теперь возьмите любой магнит и медленно подносите его к плате micro:bit. Вы будете фиксировать увеличение значения интенсивности магнитного поля, измеренного магнитометром.
Если поднести магнит достаточно близко к микроконтроллеру, так что интенсивность магнитного поля превысит 100 мкТл, то на экране вслед за цифровым значением будет показан символ галочки.
Когда вы уберете магнит подальше, ваш micro:bit будет фиксировать обычное значение магнитного поля, типичное для вашей обстановки.
Проверьте, как влияют на показания вашего прибора магнитики с холодильника и другие магниты, которые вы найдете у себя дома.
Если поднести к плате micro:bit очень сильный неодимовый магнит, то прибор «намагнитится» и какое-то время будет показывать завышенное значение магнитного поля даже после того, как вы уберете магнит. Поэтому лучше не экспериментировать со слишком сильными магнитами.
Читать дальше