Шрифт:
Закладка:
Вероятно, вам интересно, что же происходит с другими частотами, принимаемыми антенной? Низкие частоты проходят через катушку индуктивности к заземлению. Туда же направляются и высокие, но через конденсатор. Они просто отфильтровываются и не проходят на выход.
Рис. 5.78. Преобразование сигналов в АМ-радиоприемнике
К радиовещанию с амплитудной модуляцией относят диапазон волн с несущей частотой от 300 кГц до 3 МГц. Многие другие частоты выделены для иных целей, например для радиолюбительской связи. Сдав несложный экзамен по радиолюбительской связи, а также имея соответствующее оборудование и хорошо расположенную антенну, вы сможете напрямую общаться с людьми из самых разных мест, не полагаясь на какие-либо коммуникационные сети.
Эксперимент 32. Объединение аппаратных средств и программного обеспечения
Я полагаю, что многие читатели этой книги – а возможно, большинство – уже слышали о среде Arduino. Проделав три последующих эксперимента, вы узнаете, как настроить среду Arduino, а затем самостоятельно создавать для нее программы, вместо того чтобы скачивать приложения, найденные в онлайн-источниках.
Что вам понадобится
• Плата Arduino Uno или совместимый аналог (1 шт.)
• USB-кабель с разъемами типа А и В на противоположных концах (1 шт.)
• ПК или ноутбук со свободным USB-портом (1 шт.)
• Стандартный светодиод (1 шт.)
Определения
Микроконтроллер – это микросхема, которая работает как маленький компьютер. Вы пишете программу, содержащую инструкции, которые понимает микроконтроллер, а затем копируете их в определенную область памяти микросхемы. Эта память энергонезависимая – ее содержимое сохраняется даже при отключении питания.
Если вы уже сталкивались с микроконтроллерами, то я предложил бы сразу приступить к написанию программы, однако для первоначального изучения микроконтроллера понадобится больше времени и сил, чем требовалось для тех компонентов, с которыми мы имели дело ранее. Сначала нужно понять принцип работы микроконтроллера и выяснить некоторые важные подробности. Следовательно, я должен начать с объяснений и примеров. Затем мы проведем первый эксперимент для знакомства с процессом настройки среды Arduino и выполнения самого простого теста. Эксперименты 33 и 34 вовлекут вас в программирование микроконтроллера Arduino с использованием других компонентов в сочетании с ним.
Процедура настройки программной среды и проверки аппаратных средств займет пару часов. Вам понадобится найти время, когда вы сможете выполнить описанные инструкции не отвлекаясь. Как только вы завершите начальную подготовку, дальнейшая работа станет гораздо проще.
Применения микроконтроллеров
Типичный алгоритм работы микроконтроллера:
• Получить входной сигнал от поворотного энкодера, который регулирует громкость звучания автомобильной аудиосистемы.
• Выяснить, в какую сторону поворачивается преобразователь.
• Подсчитать число импульсов от преобразователя.
• Выдать команду программируемому резистору с указанием, на сколько равных шагов он должен изменить свой номинал, чтобы увеличить или уменьшить громкость стереосистемы.
• Ждать прихода следующих входных сигналов.
Микроконтроллер смог бы также справиться и с гораздо более сложной задачей, например, с обработкой всех входных сигналов, выработкой выходных сигналов, а также с принятием решений, связанных с системой охранной сигнализации в эксперименте 15. Он мог бы сканировать датчики, включать сигнализацию через реле после периода задержки, принимать и проверять последовательность нажатия клавиш, когда вы захотите отключить сигнализацию – и многое другое.
Микроконтроллеры есть во всех современных автомобилях, там они выполняют как сложные задачи, например обеспечивают синхронизацию зажигания в двигателе, так и совсем простые – выдают звуковое оповещение, если вы не пристегнули ремень безопасности.
Микроконтроллер может выполнять небольшие, но важные задачи, о которых я рассказывал в предыдущих экспериментах, например, устранять дребезг контактов кнопки или генерировать сигнал звуковой частоты.
Если принять во внимание то, что одна маленькая микросхема может выполнять так много различных задач, то почему мы не используем ее для всего?
Микроконтроллер: да или нет?
Микроконтроллер универсален и многофункционален, однако в одних ситуациях он подходит лучше, чем в других. Он идеален для выполнения логических операций типа «если происходит это, то делаем то-то, а если то, то делаем что-то другое», но он увеличивает сложность и стоимость устройства, и конечно же, подразумевает основательный процесс обучения: чтобы программировать микроконтроллер, вы должны освоить компьютерный язык.
Если вы не хотите тратить время на изучение этого языка, то можете скачивать и использовать программы, которые написаны другими. Многие предпочитают этот вариант, потому что он дает быстрые результаты. В онлайн-библиотеках можно найти тысячи бесплатных программ для микроконтроллера Arduino.
Но программа может функционировать не совсем так, как нужно вам. Вам придется ее модифицировать – и вы вернетесь назад к ситуации, когда вам необходимо понимать язык, чтобы по максимуму задействовать микросхему.
Написать программу для среды Arduino в принципе несложно, здесь многое зависит от конкретной задачи. Тем не менее, это не одношаговая операция. Программный код необходимо проверить, а процесс отыскания и устранения ошибок может занять много времени. Одна маленькая ошибка будет приводить к непредсказуемым результатам или вообще блокировать работу всей системы. Вам понадобится заново вычитать код, исправить ошибки и попробовать еще раз.
Лишь проделав всю эту трудоемкую работу, можно добиться желаемого результата. По этой причине лично я считаю, что применять микроконтроллер целесообразно, если только ваши ожидания реалистичны.
В любом случае, чтобы выяснить, хотите ли вы заниматься микроконтроллерами, нужно поэкспериментировать с ними самостоятельно.
Одна плата и несколько микросхем
Я начну с основного вопроса. Что такое Arduino? Если вы считаете, что это микросхема, то вы не вполне правы. Каждый продукт с брендом Arduino состоит из небольшой печатной платы, спроектированной компанией Arduino, и содержит микроконтроллер, произведенный абсолютно другой фирмой. На плате Arduino Uno (рис. 5.79) установлен микроконтроллер Atmel ATmega328P-PU. Плата содержит также стабилизатор напряжения, несколько гнезд, которые позволяют вам подключить провода или светодиоды, кварцевый генератор, разъем для подключения питания и USB-адаптер, который реализует обмен информацией между платой и компьютером.
Если вы покупаете микроконтроллер ATmega 328P-PU отдельно у поставщика компонентов, он обойдется вам менее чем в 1/6 от розничной стоимости платы Arduino с той же микросхемой. Почему вы должны столько переплачивать, чтобы получить эту маленькую печатную плату? Ответ заключается в том, что проектирование платы и разработка программного обеспечения для нее не такая уж простая задача.
Рис. 5.79. Плата Arduino Uno, оснащенная микроконтроллером ATmega 328P-PU компании Atmel
Это программное обеспечение обозначают буквами IDE (от англ. integrated development environment – интегрированная среда разработки). После того как вы установите ее на свой компьютер, удобная пользовательская среда позволит вам написать программу и скомпилировать ее: это