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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

// Запись данных температуры и освещенности

const int TEMP=0;// Датчик температуры к аналоговому входу 0

const int LIGHT=1;// Датчик освещенности к аналоговому входу 1

const int LED=3;// Светодиод к выводу 13

const int BUTTON=2; // Кнопка к выводу 2

boolean lastButton = LOW;//Последнее состояние кнопки

boolean currentButton = LOW;//Текущее состояние кнопки

boolean running = false;//По умолчанию запись выключена

int counter = 1;//Индекс записываемых данных

void setup()

{

pinMode (LED, OUTPUT);// Контакт светодиода как выход OUTPUT

Keyboard.begin();// Запуск эмуляции клавиатуры

}

void loop()

{

currentButton = debounce(lastButton);// Чтение состояния

if (lastButton == LOW && currentButton==HIGH) // Если нажатие...

running = !running;// Переключить статус записи

lastButton = currentButton;// Установить статус кнопки

if ( running)// Запись включена

{

digitalWrite(LED, HIGH);// Включить светодиод

if (millis() % 1000 == 0)// Прошло 1000 мс

{

int temperature = analogRead(TEMP); // Чтение данных

// с датчика температуры

int brightness = analogRead(LIGHT); // Чтение данных

// с датчика освещенности

Keyboard.print(counter);// Вывод индекса данных

Keyboard.print(",");// Вывод разделителя

Keyboard.print(temperature);// Вывод температуры

Keyboard.print(",");// Вывод разделителя

Keyboard.println(brightness);// Вывод освещенности

// и символа новой строки

counter++;// Инкремент индекса

}

- 146 -

else

{

digitalWrite(LED, LOW);// Запись выключена, погасить светодиод

}

}

}

/*

* Функция устранения дребезга кнопки

* Получает предыдущий и возвращает текущий статус.

*/

boolean debounce(boolean last)

{

boolean current = digitalRead(BUTTON); // Чтение состояния кнопки

if (last != current)// Состояние изменилось...

{

delay(5);// Ждем 5 мс

current = digitalRead(BUTTON);// Чтение состояния кнопки

}

return current;// Возврат текущего состояния кнопки

}

Подробнее рассмотрим некоторые новые функциональные возможности, реализованные в этой программе. Как и ранее при инициализации последовательного порта, клавиатура инициализируется оператором Keyboard.begin() в функции setup().

В цикле loop() Arduino проверяет состояние кнопки и запускает программу устранения дребезга. При нажатии на кнопку значение переменной статуса записи инвертируется. Это достигается применением оператора ! к переменной running.

Когда программа находится в режиме записи, отправка данных выполняется раз в 1000 мс, благодаря описанному ранее приему. Функции эмулированной клавиатуры и последовательного порта очень похожи. Команда Keyboard.print() отправляет строку в компьютер. После получения данных аналоговых датчиков программа передает данные в компьютер в виде нажатия клавиш. Благодаря команде Keyboard.println() Arduino эмулирует нажатие клавиши (или )

после отправки строки. Индекс данных и оба аналоговых значения при выводе разделяются запятой.

У становите курсор на строке в текстовом документе и нажмите кнопку включения режима записи. Вы должны увидеть, что документ начнет заполняться данными.

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

- 147 -

ПРИМЕЧАНИЕ

Посмотрите демонстрационный видеоклип со страницы

http://www.exploringarduino.com/content/ch6.

6.8.2. Отправка команд для управления компьютером

Плата Leonardo пригодна и для эмуляции нажатия комбинаций клавиш. На компьютерах с операционной системой Windows нажатие комбинации клавиш + блокирует экран компьютера (в Linux существует комбинация ++ ). Можно, например, по сигналу от датчика освещенности заблокировать компьютер, когда выключается свет. В OS Х для блокировки компьютера предусмотрены комбинации ++ или ++ +, которые Leonardo не может сформировать, т. к. невозможно смоделировать нажатие клавиш и . Рассмотрим, как заблокировать компьютер с Windows. Подойдет схема, показанная на рис. 6.16, хотя будет использоваться только датчик.

Запустите предыдущую программу при нескольких различных уровнях освещенности и посмотрите на изменение показаний датчика. С учетом полученных данных нужно выбрать пороговое значение освещенности, ниже которого компьютер следует заблокировать (в моей комнате при выключенном свете показания датчика равны 300, а при включенном - 700, я выбрал пороговое значение 500). Когда значение от датчика станет ниже порогового, на компьютер будет отправлена команда блокировки. Возможно, для вашего помещения потребуется другое значение порога.

Загрузите код листинга 6.10 на плату Arduino. Подберите порог срабатывания путем анализа данных при различной освещенности. Если порог окажется неправильным, то компьютер может быть заблокированным, как только вы запустите его!

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

Интервал:

Закладка:

Сделать

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

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


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

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

x