Чарльз Платт - Электроника для начинающих (2-е издание)
- Название:Электроника для начинающих (2-е издание)
- Автор:
- Жанр:
- Издательство:«БХВ-Петербург»
- Год:2017
- Город:Санкт-Петербург
- ISBN:978-5-9775-3793-3
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Чарльз Платт - Электроника для начинающих (2-е издание) краткое содержание
Электроника для начинающих (2-е издание) - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Слово void говорит компилятору, что эта процедура не будет генерировать какой-либо числовой результат или выдавать значение на выходе.
Конструкция setup() указывает, что следующая процедура должна выполняться только один раз, в самом начале.
Обратите внимание на фигурную скобку { после команды setup() .
Внимание!
Каждая законченная последовательность операторов на языке С должна быть заключена между символами { и }.
Поскольку символ { должен всегда сопровождаться символом }, то в открытом окне программы где-то должен быть знак }. Да, он действительно есть, двумя строками ниже. Между этими символами нет ничего, и значит, в этой процедуре нет инструкций. Вы должны будете их написать.
Замечание
Не имеет значения, находятся ли символы { и } на одной или на разных строках. Компилятор Arduino игнорирует разрывы строк и последовательности из двух и более пробелов.
Теперь пришло время написать что-нибудь в пустой строке под сообщением put your setup code here. Попробуйте следующее:
pinMode(13, OUTPUT);
Вы должны ввести команду в точности так. Компилятор не обнаружит опечатки. Кроме того, поскольку язык С чувствителен к регистру, вы должны различать прописные и строчные буквы. Команда pinMode должна быть написана как pinMode , а не как pinmode ИЛИ Pinmode . слово OUTPUT должно быть написано как OUTPUT , а не как output или Output.
pinMode — это команда плате Arduino Uno, сообщающая о том, как использовать один из ее выводов. Этот вывод может либо получать данные как вход, либо отправлять данные как выход. Число 13 — это номер контакта, и если вы осмотрите свою плату, то обнаружите, что один из маленьких разъемов идентифицирован номером 13, рядом с желтым светодиодом. Я выбрал 13-й контакт произвольно.
Точка с запятой указывает на конец инструкции.
Внимание!
В конце каждой команды должна быть точка с запятой. Всегда. Не забывайте об этом!
Теперь перейдем к пустой строке под сообщением, которое гласит:
// put your main code here, to run repeatedly
По наличию двух слешей вы можете догадаться, что это очередной комментарий. Компилятор проигнорирует его. В строках под комментарием наберите такие инструкции:
void loop() {
digitalWrite(13, HIGH);
delay(100);
digitalWrite(13, LOW);
delay(100);
}
Если вы ранее уже имели дело с платой Arduino, то тяжко вздохнете, подумав: «Опять эта проверка мигания светодиодов!» Да, это так, и именно поэтому я назвал данный раздел «Программа Blink». Это программа, которую почти все используют для предварительной проверки (хотя я изменил время задержки по причинам, которые станут ясными далее). Порадуйте меня, набрав эту программу в окне IDE. Очень скоро мы перейдем к более сложным проектам.
Возможно также, вы смутно догадываетесь, что означают некоторые команды.
Команда void означает то же, что и раньше.
Команда loop() — это инструкция, приказывающая плате Arduino повторять какое-либо действие снова и снова. Какое действие? Процедуру, указанную между фигурными скобками.
Команда digitalWrite служит для отправки чего-либо с какого-то контакта. Какого? Я указал 13, потому что его режим был определен ранее.
Замечание
Вы не сможете использовать цифровой вывод, пока заранее не укажете, в каком режиме он должен функционировать.
Что должен сделать этот вывод? Перейти в высокое состояние (HIGH).
В конце инструкции не забудьте точку с запятой.
Команда delay заставляет плату Arduino немного подождать. Сколько? Число 100 означает 100 миллисекунд. В одной секунде 1000 миллисекунд, и поэтому плата Arduino подождет одну десятую секунды. В этот период времени вывод 13 будет оставаться в высоком состоянии.
Думаю, вы сможете догадаться, что означают следующие две строки.
Совсем скоро вы сможете запустить эту программу. Но сначала вернитесь к плате и вставьте выводы светодиода между разъемом 13 и разъемом, обозначенным GND, рядом с ним.
Замечание
Убедитесь в том, что короткий вывод светодиода находится в гнезде GND. Светодиоду не нужен токоограничительный резистор, поскольку тот встроен в разъем 13.
Маленький желтый светодиод на моей плате уже мигал по умолчанию, как только я подключил плату. Светодиод, который я вставил только что, также начинает мигать, поскольку желтый светодиод, который установлен на плате с помощью поверхностного монтажа, тоже подключен к выводу 13.
В первых версиях Arduino Uno встроенный светодиод не начинал мигать при подключении платы. В будущих версиях разработчики Arduino могут отключить это «мигание по умолчанию». В любом случае, это неважно, потому что ваша программа изменит частоту мигания.
Проверка и компилирование
Далее вы должны проверить, не допустили ли вы какую-либо опечатку. В меню Скетч (Sketch) выберите команду Проверить/Компилировать (Verify/Compile), как показано на рис. 5.85. Среда IDE проверит ваш код и выдаст сообщение, если обнаружит какую-то проблему.
Можно проверить, как компилятор реагирует на ошибки. В листинге программы измените pinMode на piMode , а затем выполните команду Проверить/Компилировать (Verify/Compile), чтобы увидеть, что произойдет.

В нижней части окна IDE, в черной области, появится сообщение об ошибке. Вы можете растянуть эту область, перетаскивая мышью верхнюю границу так, чтобы можно было без прокрутки увидеть больше двух строк. Сообщение об ошибке, которое получил я, гласит «piMode was not declared in this scope» («переменная piMode не была описана в этой области действия»).
Видите ли, в языке С есть зарезервированные слова и определенные функции, которые имеют особое значение. Пару из них — digitaiWrite и delay — вы уже использовали.
Но переменная piMode не существует ни как зарезервированное слово, ни как определенная функция, и поэтому компилятор сообщает, что вы ее не объявили, чтобы указать, что она собой представляет.
Исправляйте текст вашей программы до тех пор, пока команда Проверить/Компилировать (Verify/Compile) не перестанет находить ошибки.
Загрузка и запуск
Теперь в меню Скетч (Scetch) выберите команду Загрузка (Upload). Лично я всегда представляю, что я переписываю программу с моего большого компьютера на маленький компьютер Arduino, но все называют этот процесс загрузкой, и поэтому будем считать, что так оно и есть.
Если загрузка прошла успешно, то чуть выше черной области сообщений об ошибках вы увидите сообщение Загрузка завершена (Done Uploading).
Если же процесс загрузки слишком долго не завершается — это плохо. Это означает, что по- прежнему есть какие-то проблемы со связью, возможно, потому что конфигурация СОМ-порта настроена неверно. Вернитесь к приведенному ранее разделу поиска и устранения неисправностей для вашего компьютера. Но вначале сохраните программу. В меню Файл (File) выберите команду Сохранить (Save) и введите имя для своей программы. После того как вы исправите проблемы с COM-портом, вы сможете заново загрузить программу, если необходимо, и попробовать снова.
Читать дальшеИнтервал:
Закладка: