Шрифт:
Интервал:
Закладка:
Подождите, пока компьютер идентифицирует плату. Вы должны увидеть, что зеленый светодиод горит постоянно, а желтый мигает. Еще одна расположенная рядом пара светодиодов (они обозначены как ТХ и RX) должна мигать быстро. Они свидетельствуют о том, что данные передаются и поступают.
Если откроется окно с сообщением о том, что обнаружен «новый сетевой интерфейс», нажмите кнопку Настройки сети (Network Preferences), а затем кнопку Применить (Apply). Если плата Arduino Uno обозначена как не настроена (not configured), не обращайте внимания. Закройте это окно.
Дважды щелкните мышью по ярлыку среды Arduino IDE, который вы перетащили в папку Приложения (Applications). Для соединения с платой Arduino Uno вам необходимо выбрать правильный порт. В меню Инструменты (Tools) среды IDE выберите пункт Последовательный порт (Serial Port) и укажите в раскрывающемся списке вариант /dev/cu.usbmodemfal41 (или порт с подобным названием).
Если все получилось так, как описано здесь, можете перейти к разделу «Программа Blink».
Если проблемы остаются
Эта книга может переиздаваться без изменений в течение некоторого времени. По крайней мере, я на это надеюсь. А вот программное обеспечение меняется очень часто. Возможно, мои инструкции по установке уже устареют, когда вы будете читать эти строки.
Для каждого нового издания и каждой новой электронной версии этой книги я постараюсь проверить инструкции, чтобы они по возможности были максимально точными. Но вполне возможно, что вы читаете старое издание или старую версию электронной книги.
Что делать? Лучший вариант – зайти на сайт компании Arduino или компании Sparkfun и выполнить процедуру установки, приведенную там. Сайт гораздо проще и быстрее обновить, чем книгу.
Программа Blink
Полагаю, вы уже запустили среду IDE. Ее главное окно должно выглядеть так, как показано на рис. 5.83, хотя в других версиях среды могут быть некоторые отличия.
Рис. 5.83. Окно, которое по умолчанию открывается при запуске среды Arduino Uno
Перед началом работы вы должны проверить, правильно ли среда IDE определила версию платы, которая подключена к компьютеру.
В основном окне среды IDE зайдите в меню Инструменты (Tools), откройте подменю Плата (Board) и убедитесь, что плата Arduino Uno отмечена точкой, как показано на рис. 5.84. Если это не так, щелкните по ней мышью, чтобы выбрать ее.
Теперь вы готовы подавать команды плате Arduino. В верхней части рабочего пространства основного окна среды IDE вы увидите слово sketch («эскиз»), за которым следует текущая дата и буква «а». Что это за «эскиз»? Рисунок, который вы собираетесь нарисовать?
Рис. 5.84. Когда вы используете плату Arduino Uno, она должна быть отмечена точкой в подменю Плата
Нет, в мире Arduino «эскиз» означает то же, что и «программа». Возможно, это вызвано тем, что разработчики не хотели, чтобы людей пугала мысль о необходимости программировать компьютер. Вероятно, подобным же образом и Стив Джобс, когда он был еще жив, ощутил, что пользователи портативных устройств чувствуют себя более комфортно, когда он называет программы приложениями. Возможно, Джобс был прав, но я не думаю, что умельцев так легко напугать. На самом деле, я думаю, что они желают программировать компьютеры. А иначе зачем тогда читать эти строки?
«Эскиз» для среды Arduino означает «программу», однако я буду употреблять слово «программа», потому что именно этим она и является на самом деле, и я испытываю неловкость, называя ее «эскизом». Когда вы читаете информацию в онлайн-источниках, пользователи одинаково часто используют слова «программа» и «эскиз».
Теперь мне необходимо напомнить вам последовательность действий, которой мы будем придерживаться. Вначале вы напишете программу в окне среды IDE. Затем вы скомпилируете ее, выбрав соответствующий пункт меню, чтобы преобразовать текст в инструкции, понятные для микроконтроллера. Затем вы загрузите код программы в плату Arduino, а после этого плата автоматически запустит программу.
Окно среды IDE на моем компьютере по умолчанию содержит некоторый текст, показанный на рис. 5.83. В последующих версиях среды все может быть организовано немного иначе, но принцип останется прежним. Вы увидите какие-либо строки, в начале которых стоят два слеша:
// put your setup code here, to run once.
Это строка комментариев. Она предназначена для людей – объяснить, что происходит в том или ином фрагменте программы.
Замечание
Когда написанная вами программа компилируется для микроконтроллера, компилятор будет игнорировать все строки, начинающиеся символами //.
Следующая строка гласит:
void setup () {
Это строка программного кода, понятная компилятору и микроконтроллеру. Но вам нужно знать, что она означает, потому что в начале каждой программы Arduino должна быть процедура настройки, а я надеюсь, что в будущем вы начнете писать программы самостоятельно.
Слово void говорит компилятору, что эта процедура не будет генерировать какой-либо числовой результат или выдавать значение на выходе.
Конструкция setup() указывает, что следующая процедура должна выполняться только один раз, в самом начале.
Обратите внимание на фигурную скобку { после команды setup().
Внимание!
Каждая законченная последовательность операторов на языке С должна быть заключена между символами { и }.
Поскольку символ { должен всегда сопровождаться символом }, то в открытом окне программы где-то должен быть знак }. Да, он действительно есть, двумя строками ниже. Между этими символами нет ничего, и значит, в этой процедуре нет инструкций. Вы должны будете их написать.
Замечание
Не имеет значения, находятся ли символы { и } на одной или на разных строках. Компилятор Arduino игнорирует разрывы строк и последовательности из двух и более пробелов.
Теперь пришло время написать что-нибудь в пустой строке под сообщением put your setup code here. Попробуйте следующее:
pinMode (13, OUTPUT);
Вы должны ввести команду в точности так. Компилятор не обнаружит опечатки. Кроме того, поскольку язык С чувствителен к регистру, вы должны различать прописные и строчные буквы. Команда pinMode должна быть написана как pinMode, а не как pinmode или Pinmode. Слово OUTPUT должно быть написано как OUTPUT, а не как output или Output.
pinMode – это команда плате Arduino Uno, сообщающая о том, как использовать один из ее выводов. Этот вывод может либо получать данные как вход, либо отправлять данные как выход. Число