Джереми Блум - Изучаем Arduino - инструметы и методы технического волшебства

Здесь есть возможность читать онлайн «Джереми Блум - Изучаем Arduino - инструметы и методы технического волшебства» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Санкт-Петербург, Год выпуска: 2015, ISBN: 2015, Издательство: БХВ-Петербург, Жанр: Прочая околокомпьтерная литература, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Изучаем Arduino: инструметы и методы технического волшебства: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Изучаем Arduino: инструметы и методы технического волшебства»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Книга посвящена проектированию электронных устройств на основе микроконтроллерной платформы Arduino. Приведены основные сведения об аппаратном и программном обеспечении Arduino. Изложены принципы программирования в интегрированной среде Arduino IDE. Показано, как анализировать электрические схемы, читать технические описания, выбирать подходящие детали для собственных проектов. Приведены примеры использования и описание различных датчиков, электродвигателей, сервоприводов, индикаторов, проводных и беспроводных интерфейсов передачи данных. В каждой главе перечислены используемые комплектующие, приведены монтажные схемы, подробно описаны листинги программ. Имеются ссылки на сайт информационной поддержки книги. Материал ориентирован на применение несложных и недорогих комплектующих для экспериментов в домашних условиях.
Для радиолюбителей

Изучаем Arduino: инструметы и методы технического волшебства — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Изучаем Arduino: инструметы и методы технического волшебства», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

• электролитический конденсатор 10 мкФ;

• микросхема 74НС14 (шесть инверторов с триггерами Шмитта);

• набор перемычек;

• 2 макетные платы.

Электронные ресурсы к главе

На странице http://www.exploringarduino.com/content/ch12 можно загрузить программный код, видеоуроки и другие материалы для данной главы. Кроме того, листинги примеров можно скачать со страницы www.wiley.com/go/exploringarduino в разделе Downloads.

Что вы узнаете в этой главе

Все предыдущие программы работали в синхронном режиме. В связи с этим возникали проблемы, например, выполнение команды delay() останавливает программу на некоторое время и не дает возможности Arduino осуществлять другие действия.

В главе 1 мы создали программный таймер, использующий функцию millis(), что

- 254 -

позволило избежать временного блокирования платы Arduino функцией delay().

Продолжим эту тему, добавив два таймера и аппаратные прерывания. Прерывания позволяют выполнять программу асинхронно, при наступлении определенного события (истечение временного интервала, изменение состояния входов и т. д.). Прерывания, как и следует из их названия, дают возможность остановить ход текущей программы Arduino, выполнить код прерывания, а затем вернуться к прерванной задаче. Далее мы узнаем, как осуществить прерывания по времени и при изменении состояния контактов. На основе этих знаний мы построим систему аппаратных прерываний и напишем программу, использующую прерывания таймера.

ПРИМЕЧАНИЕ

Видеоурок по прерываниям и аппаратному устранению дребезга можно посмотреть на странице

http://www.jeremyblum.com/2011103/07/arduino-tutorial-10-interrupts-and1hardware-debouncing [15] На русском: http://wiki.amperka.ru/видеоуроки:10-прерывания-и-аппаратная-стабилизация. . Найти данный видеофайл можно и на странице издательства Wiley.

12.1. Использование аппаратных прерываний

Аппаратные прерывания происходят при наступлении (или изменении) заданного состояния на входах-выходах. Аппаратное прерывание полезно, например, когда нужно изменить значение переменной, не проверяя непрерывно состояние кнопки.

Ранее мы устраняли дребезг путем опроса состояния кнопки в цикле. Этот прием отлично работает, если время выполнения остальной части программы невелико.

Но предположим, вы устраняете дребезг в цикле, выполнение которого занимает значительное время. Например, в основном цикле программы изменяется яркость

Рис 121 Влияние внешнего прерывания на ход выполнения программы 255 - фото 118

Рис. 12.1. Влияние внешнего прерывания на ход выполнения программы

- 255 -

светодиода или скорость двигателя с помощью оператора for() с некоторой задержкой delay(). Возникает опасность пропустить нажатие кнопки, которое происходит в момент выполнения главной программы. Вот здесь и приходят на помощь прерывания. Определенные контакты на плате Arduino могут вызывать внешние аппаратные прерывания. Вы выполняете главную программу, и при возникновении внешнего прерывания запускается специальная процедура его обработки (рис. 12.1), причем прерывание может наступить в любом месте программы.

12.2. Что выбрать: опрос состояния в цикле или прерывания?

Аппаратные прерывания являются альтернативой опроса состояния входов в цикле loop(). Они не лучше и не хуже, всегда есть выбор между ними. При проектировании системы необходимо учитывать все факторы и выбрать вариант, наиболее подходящий для вашего приложения. Далее рассмотрим основные различия между опросом входов и прерываниями, чтобы понять, что лучше подойдет для конкретного проекта.

12.2.1. Программная реализация

Благодаря встроенному языку программирования Arduino программировать внешние прерывания сравнительно просто. Однако организовать опрос контактов в цикле еще проще, все, что требуется - это вызов команды digitalRead(). Если нет безусловной необходимости в аппаратных прерываниях, то лучше их не применять, т. к. код программы усложнится.

12.2.2. Аппаратная реализация

С точки зрения аппаратной реализации между опросом контакта в цикле и прерыванием нет разницы, т. к. в обоих случаях считывается состояние входа. Тем не менее, при наличии дребезга ( см. главу 2) возникает серьезная проблема: процедура обработки прерывания может быть вызвана несколько раз. Самое неприятное, что в процедуре обработки прерывания нельзя задействовать функцию программного устранения дребезга, потому что невозможен вызов функции ctelay(). Поэтому, если вы хотите использовать прерывание для входа с дребезгом, необходимо устранить дребезг аппаратно.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Изучаем Arduino: инструметы и методы технического волшебства»

Представляем Вашему вниманию похожие книги на «Изучаем Arduino: инструметы и методы технического волшебства» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Изучаем Arduino: инструметы и методы технического волшебства»

Обсуждение, отзывы о книге «Изучаем Arduino: инструметы и методы технического волшебства» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x