Шрифт:
Закладка:
• Каждая команда функции или блока должна завершаться точкой с запятой.
• Каждая программа Arduino должна содержать функцию loop (после функции setup), которая будет выполняться неоднократно.
• Команда digitalWrite переводит контакт, который настроен на работу в качестве выхода, в состояние HIGH («высокий» уровень) или LOW («низкий» уровень).
• Команда delay говорит плате Arduino ничего не делать в течение указанного интервала времени в миллисекундах (тысячных долях секунды).
Числа в круглых скобках после команды – это параметры, которые говорят о том, как применять данную команду.
Проверьте программу с помощью команды Проверить/Компилировать (Verify/Compile) в меню Скетч (Sketch), прежде чем загрузить ее в плату Arduino.
Вы должны исправить все ошибки, обнаруженные при проверке/компилировании.
Зарезервированные слова – это набор команд, которые понимает плата Arduino. Вы должны вводить их без ошибок. Заглавные и строчные буквы считаются различными.
После того как вы загрузили программу, она начнет работать автоматически, пока вы не отключите питание платы или не загрузите новую программу.
На плате Arduino Uno рядом с USB-разъемом находится кнопка сброса (тактильный переключатель). Когда вы нажимаете ее, плата Arduino сбрасывает все параметры и перезапускает программу.
Не забывайте сохранять программный код
Когда вы изменяете вашу программу и загружаете ее в микроконтроллер, новая версия будет записана поверх старой. Другими словами, предыдущая программа будет стерта. Если вы не сохранили ее под другим именем на компьютере, она будет утрачена навсегда. Будьте внимательны, когда загружаете модифицированные программы. Сохраняйте каждую версию на компьютере, присвоив ей новое имя, – это разумная мера предосторожности.
После того как инструкции программы будут загружены в микроконтроллер, извлечь их обратно невозможно.
Программирование требует внимания к мелочам
Не знаю, заметили ли вы, что краткая памятка для этого эксперимента оказалась длиннее, чем для всех других экспериментов, где мы работали с отдельными компонентами. При написании программы следует учитывать множество деталей, и вам необходимо все делать предельно аккуратно. Лично мне это нравится, ведь если что-либо сделано безошибочно, то оно будет правильным всегда, и всегда будет работать таким образом. Программы никогда не «изнашиваются». Если вы сохранили их на подходящем носителе, они могут прослужить бесконечно долго. Программы, которые я написал в 80-х годах, теперь спустя 30 лет, будут также работать в окне DOS на моем ПК.
Некоторым людям не по душе скрупулезная работа, они склонны делать опечатки или им не нравятся жесткие требования, которые предъявляет язык программирования (он, например, всегда настаивает, чтобы вы начинали программу с функции Setup, даже если у вас нет настройки). Разные люди предпочитают различные аспекты электроники, так и должно быть. Если бы всем хотелось писать программы и никому не нравилось заниматься «железом», то у нас не было бы никаких компьютеров. Какое занятие избрать – решать вам.
Я же продолжу и далее опишу другой эксперимент, в котором плата Arduino функционирует более интересно. Хочу показать вам, как в некоторых случаях микроконтроллер может выполнять задачу проще, чем отдельные компоненты.
Но прежде чем я завершу этот эксперимент, возможно, вам будет интересно узнать, что произойдет, если вы отключите плату Arduino от компьютера.
Вот несколько правил:
• Для работы программы плате Arduino необходимо питание.
• Плате не требуется питание, чтобы хранить программу. Она автоматически сохраняется в микроконтроллере, подобно данным на флэш-носителе.
• Если вы хотите запустить программу, когда плата не соединена с компьютером, то должны подключить источник питания через круглый черный разъем рядом с USB-разъемом на плате.
• Напряжение источника питания может составлять от 7 до 12 В. Его не нужно стабилизировать, потому что плата Arduino снабжена собственным стабилизатором, который превращает входное напряжение в постоянное напряжение 5 В. (Некоторые платы Arduino работают от источника 3,3 В, но не плата Uno.)
• Диаметр разъема источника питания равен 2,1 мм, его центральный вывод положительный. Вы можете купить сетевой адаптер на 9 В с таким разъемом.
• Если вы подадите внешнее питание, когда плата Arduino подключена с помощью USB-кабеля, то она будет автоматически использовать внешний источник питания.
• Вы можете отключить плату Arduino от USB-кабеля в любой момент, не беспокоясь о функции «Безопасного удаления оборудования», которая присутствует в некоторых версиях ОС Windows.
Разновидности микроконтроллеров
На заводах и в лабораториях многие процессы повторяются. Датчики температуры могут управлять нагревательным прибором. Датчик оборотов может регулировать скорость вращения электродвигателя. Микроконтроллеры идеальны для таких однообразных задач.
Компания General Instrument представила один из первых микроконтроллеров в 1976 году и назвала его PIC – Programmable Intelligent Computer (Программируемый интеллектуальный компьютер) или Programmable Interface Controller (Программируемый контроллер интерфейса), в зависимости от того, какому историческому источнику вы доверяете больше. В дальнейшем General Instrument продала бренд PIC другой компании, Microchip Technology, которая владеет им по сей день.
Плата Arduino основана на микроконтроллерах Atmel, но PIC-контроллеры по-прежнему являются альтернативным вариантом. Существует упрощенная учебная версия таких контроллеров, лицензированная компанией Revolution Education Ltd. Они назвали свой модельный ряд микросхем PICAXE без каких-либо видимых рациональных причин, наверное, решив, что такое название красиво звучит.
Микроконтроллеры PICAXE поставляются с собственной средой IDE, в которой принят другой язык программирования – BASIC. В некоторых случаях он проще, чем С. Другая серия микроконтроллеров, BASIC Stamp, также использует язык BASIC с дополнительными, более функциональными командами.
Если вы поищете микроконтроллеры PICAXE на сайте Wikipedia, то найдете очень подробную информацию обо всех их возможностях.
Я полагаю, что это более понятное описание, чем на официальном сайте компании.
В отличие от платы Arduino вам не придется покупать специальную плату для программирования микросхем PICAXE. Все, что вам нужно – это специальный USB-кабель, помимо соответствующего программного обеспечения, которое вы можете скачать бесплатно.
Первое издание моей книги содержит некоторую вводную информацию о продукции PICAXE. Если вам интересно, то вы можете обратиться к этой книге.
Микроконтроллеры: «за» и «против»
Теперь, когда вы изучили некоторые основы, мне необходимо привести аргументы, которые могут повлиять на ваше решение о том, использовать ли микроконтроллер в каком-либо проекте или нет.
Долговечность
Для флэш-памяти, которая хранит программу в микроконтроллере ATmega328, производитель гарантирует 10 000 операций чтения-записи с автоматической блокировкой испорченных ячеек памяти. Это число кажется довольно большим, и мы можем надеяться, что микроконтроллер прослужит нам очень долго. Тем не менее, мы пока достоверно не знаем, такой же ли у них срок службы, как у старых логических микросхем, которые продолжают работать спустя 40 лет после их производства. Имеет ли это