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

Полный текст программы для приемника приведен в листинге 11.6. Загрузите программу на плату Arduino, не забыв перед этим переключить перемычки на переходнике ХВее (или отсоединить его).

Листинг 11.6. Программа для приемника беспроводного дверного замка - doorbell/receiving_arduino

// Код приемника беспроводного дверного замка

const int RED=11;

// Выход 11 - красный контакт RGB-светодиода

const int GREEN =10; // Выход 10 - зеленый контакт RGB-светодиода

const int SPEAKER =8; // Выход 8 подключения пьезоизлучателя

char data;

int onLED = GREEN;

- 248 -

int offLED = RED;

int freq = 131;

unsigned long prev_time = 0;

// Таймер для переключения цвета светодиода

// и частоты звука


void setup()

{

Serial.begin(9600);

}

void loop()

{

// Для переключения звука и цвета светодиода

// прошло 100 мс?

if (millis() >= prev_time + 100)

// Переключение светодиода

if (onLED == GREEN)

{

onLED = RED;

offLED = GREEN;

}

else

{

onLED = GREEN;

offLED = RED;

}

// Переключение частоты звука

if ( freq == 261)

{

freq =131;

}

else

{

freq=261;

}

// Корректировка времени для переключения

// Текущее время становится предыдущим

prev_time = millis();

// Проверить наличие данных из последовательного порта

if (Serial.available() > 0)

{

// Чтение байта данных

data = Serial.read();

- 249 -

// Кнопка нажата - включаем звук и свет

if (data == '1')

{

digitalWrite(onLED, HIGH);

digitalWrite(offLED, LOW);

tone(SPEAKER, freq);

}

// Кнопка отпущена - выключаем звук и свет

else if (data == '0')

{

digitalWrite(onLED, LOW);

digitalWrite(offLED, LOW);

noTone(SPEAKER);

}

}

}

Первый оператор if() в основном цикле программы loop() проверяет время, прошедшее с последнего момента установки переменной prev_time. Если прошло более 100 мс, то значения переменных текущего состояния цвета светодиода и частоты звука меняются, в результате получается чередование сигналов.

Второй оператор if() в цикле loop() проверяет наличие и значение входящих последовательных данных. Если приходит 0, свет и звук выключаются, если 1 - цвет и частота звука выставляются в соответствии со значениями переменных onLed, offLed, freq.

ПРИМЕЧАНИЕ

Посмотреть видеоурок, демонстрирующий работу беспроводного звонка, можно на странице http://www.exploringarduino.com/content/ch11. Этот видеофайл доступен также на сайте издательства Wiley.

Резюме

В этой главе вы узнали следующее:

• Что выпускается множество разновидностей модулей ХВее.

• Что для использования радиомодулей ХВее с большинством плат Arduino необходимо конвертировать логические уровни с 5 до 3,3 В.

• Как настроить модули ХВее из программы X-CTU (для ОС Windows) или с помощью терминала (для операционных систем Linux и Mac).

• Как организовать автономное питание платы Arduino.

• Как установить беспроводную связь между компьютером и платой Arduino с помощью модулей ХВее.

• Как с помощью модулей ХВее организовать беспроводную связь между двумя платами Arduino.

• Как реализовать временную задержку с помощью функции millis().

Часть IV. Дополнительные темы и проекты


В этой части

Глава 12. Аппаратные прерывания и прерывания по таймеру

Глава 13. Обмен данными с картами памяти SD

Глава 14. Подключение Arduino к Интернету

Глава 12. Аппаратные прерывания и прерывания по таймеру


Список деталей

Для повторения примеров главы вам понадобятся следующие детали:

• плата Arduino (рекомендуется Uno );

• USB-кабель для программирования платы Arduino;

• кнопка;

• пьезозуммер;

• RGB-светодиод с общим катодом;

• 1 резистор номиналом 10 кОм;

• 1 резистор номиналом 100 Ом;

• 1 резистор номиналом 150 Ом;

• 3 резистора номиналом 220 Ом;

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

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

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

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

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

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

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

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

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

- 254 -

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

Перейти на страницу:

Похожие книги

Самоучитель UML
Самоучитель UML

Самоучитель UMLПервое издание.В книге рассматриваются основы UML – унифицированного языка моделирования для описания, визуализации и документирования объектно-ориентированных систем и бизнес-процессов в ходе разработки программных приложений. Подробно описываются базовые понятия UML, необходимые для построения объектно-ориентированной модели системы с использованием графической нотации. Изложение сопровождается примерами разработки отдельных диаграмм, которые необходимы для представления информационной модели системы. Цель книги – помочь программистам освоить новую методологию разработки корпоративных программных приложений для последующего применения полученных знаний с использованием соответствующих CASE-инструментов.

Александр Васильевич Леоненков , Александр Леоненков

Зарубежная компьютерная, околокомпьютерная литература / Программирование / Прочая компьютерная литература / Книги по IT
Основы информатики: Учебник для вузов
Основы информатики: Учебник для вузов

Учебник состоит из двух разделов: теоретического и практического. В теоретической части учебника изложены основы современной информатики как комплексной научно-технической дисциплины, включающей изучение структуры и общих свойств информации и информационных процессов, общих принципов построения вычислительных устройств, рассмотрены вопросы организации и функционирования информационно-вычислительных сетей, компьютерной безопасности, представлены ключевые понятия алгоритмизации и программирования, баз данных и СУБД. Для контроля полученных теоретических знаний предлагаются вопросы для самопроверки и тесты. Практическая часть освещает алгоритмы основных действий при работе с текстовым процессором Microsoft Word, табличным редактором Microsoft Excel, программой для создания презентаций Microsoft Power Point, программами-архиваторами и антивирусными программами. В качестве закрепления пройденного практического курса в конце каждого раздела предлагается выполнить самостоятельную работу.

Вадим Васильевич Лысенко , Лариса Александровна Малинина , Максим Анатольевич Беляев

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
Внутреннее устройство Microsoft Windows (гл. 1-4)
Внутреннее устройство Microsoft Windows (гл. 1-4)

Книга посвящена внутреннему устройству и алгоритмам работы основных компонентов операционной системы Microsoft Windows — Windows Server 2003, Windows XP и Windows 2000 — и файловой системы NTFS. Детально рассмотрены системные механизмы: диспетчеризация ловушек и прерываний, DPC, APC, LPC, RPC, синхронизация, системные рабочие потоки, глобальные флаги и др. Также описываются все этапы загрузки операционной системы и завершения ее работы. B четвертом издании книги больше внимания уделяется глубокому анализу и устранению проблем, из-за которых происходит крах операционной системы или из-за которых ее не удается загрузить. Кроме того, рассматриваются детали реализации поддержки аппаратных платформ AMD x64 и Intel IA64. Книга состоит из 14 глав, словаря терминов и предметного указателя. Книга предназначена системным администраторам, разработчикам серьезных приложений и всем, кто хочет понять, как устроена операционная система Windows.Названия всех команд, диалоговых окон и других интерфейсных элементов операционной системы приведены как на английском языке, так и на русском.Версия Fb2 редакции — 1.5. Об ошибках просьба сообщать по адресу — general2008@ukr.net.

Дэвид Соломон , Марк Руссинович

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT