и конечно же, подразумевает основательный процесс обучения: чтобы программировать микроконтроллер, вы должны освоить компьютерный язык.
Если вы не хотите тратить время на изучение этого языка, то можете скачивать и использовать программы, которые написаны другими. Многие предпочитают этот вариант, потому что он дает быстрые результаты. В онлайн- библиотеках можно найти тысячи бесплатных программ для микроконтроллера Arduino.
Но программа может функционировать не совсем так, как нужно вам. Вам придется ее модифицировать — и вы вернетесь назад к ситуации, когда вам необходимо понимать язык, чтобы по максимуму задействовать микросхему.
Написать программу для среды Arduino в принципе несложно, здесь многое зависит от конкретной задачи. Тем не менее, это не одношаговая операция. Программный код необходимо проверить, а процесс отыскания и устранения ошибок может занять много времени. Одна маленькая ошибка будет приводить к непредсказуемым результатам или вообще блокировать работу всей системы. Вам понадобится заново вычитать код, исправить ошибки и попробовать еще раз.
Лишь проделав всю эту трудоемкую работу, можно добиться желаемого результата. По этой причине лично я считаю, что применять микроконтроллер целесообразно, если только ваши ожидания реалистичны.
В любом случае, чтобы выяснить, хотите ли вы заниматься микроконтроллерами, нужно поэкспериментировать с ними самостоятельно.
Одна плата и несколько микросхем
Я начну с основного вопроса. Что такое Arduino? Если вы считаете, что это микросхема, то вы не вполне правы. Каждый продукт с брендом Arduino состоит из небольшой печатной платы, спроектированной компанией Arduino, и содержит микроконтроллер, произведенный абсолютно другой фирмой. На плате Arduino Uno (рис. 5.79) установлен микроконтроллер Atmel ATmega328P-PU. Плата содержит также стабилизатор напряжения, несколько гнезд, которые позволяют вам подключить провода или светодиоды, кварцевый генератор, разъем для подключения питания и USB-адаптер, который реализует обмен информацией между платой и компьютером.
Если вы покупаете микроконтроллер ATmega 328P-PU отдельно у поставщика компонентов, он обойдется вам менее чем в 1/6 от розничной стоимости платы Arduino с той же микросхемой. Почему вы должны столько переплачивать, чтобы получить эту маленькую печатную плату? Ответ заключается в том, что проектирование платы и разработка программного обеспечения для нее не такая уж простая задача.

Это программное обеспечение обозначают буквами IDE (от англ, integrated development environment — интегрированная среда разработки). После того как вы установите ее на свой компьютер, удобная пользовательская среда позволит вам написать программу и скомпилировать ее: это означает, что среда преобразует инструкции на языке С (который понятен людям) в машинный код (который понятен микросхеме Atmel). Затем вы запишете код в микросхему ATmega.
Если для вас это пока не слишком понятно, подытожу сказанное:
• Arduino — это печатная плата, в которую встроен микроконтроллер Atmel.
• Программное обеспечение IDE компании Arduino позволяет вам написать программу на вашем компьютере.
• После того как вы напишете программу, среда IDE скомпилирует ее, чтобы создать код, который может понять микросхема.
• Среда IDE отправляет этот код микросхеме Atmel, которая хранит его.
Как только ваш код окажется в микросхеме, плата Arduino становится ей больше не нужна. Теоретически вы можете вынуть микроконтроллер ATmega328 и использовать его где-либо — на макетной плате или в другой схеме, где предусмотрен микроконтроллер. Микросхема будет по-прежнему выполнять запрограммированную работу, потому что код хранится в ней.
В реальности же этому препятствует ряд мелочей, о них вы можете узнать, прочитав очень хорошую книгу под названием Make: AVR Programming («Программирование микроконтроллеров серии AVR») Эллиота Уильямса (Elliot Williams). Она расскажет вам, как на самом деле осуществить «пересадку» микросхемы ATmega.
Если вы научитесь это делать, то последствия будут значительными. Вам понадобится лишь одна плата Arduino, и вы сможете очень дешево покупать микросхемы Atmel. Установите микроконтроллер в панельку на плате, запрограммируйте его, выньте и используйте в другом устройстве. Вставьте в плату другой микроконтроллер, передайте в него другую программу и задействуйте в другом проекте.
Все достаточно просто, если у вас версия Arduino Uno, где микроконтроллер — это микросхема, предназначенная для установки в монтажные отверстия. Вы можете вынуть ее из панельки миниатюрной отверткой и заменить на другую микросхему, вставив ее двумя пальцами. Существует версия Arduino Uno с впаянным микроконтроллером, установленным методом поверхностного монтажа. В этом случае поменять микросхему нельзя.