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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

Листинг 6.10. Блокировка компьютера по сигналу от датчика освещенности - lock_computer.ino

// Блокировка компьютера при выключении света

const int LIGHT=1;//Датчик освещенности на контакт 1

//Значение с датчика освещенности для блокировки компьютера

const int THRESHOLD =500; //

void setup()

{

Keyboard.begin();

}

void loop()

{

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

- 148 -

if (brightness < THRESHOLD)

{

Keyboard.press(KEY_LEFT_GUI);

Keyboard.press('1');

delay (100);

Keyboard.releaseAll();

}

}

После запуска программы попробуйте выключить свет в комнате. Ваш компьютер должен заблокироваться.

ПРИМЕЧАНИЕ

Вы можете посмотреть демонстрационный видеоклип, расположенный на странице http://www.exploringarduino.com/content/ch6.

В этом примере реализованы две новые функции для эмулятора клавиатуры:

Keyboard.press() И Keyboard.releaseAll(). Запуск Keyboard.press() эквивалентен удержанию клавиши нажатой. Если вы хотите сэмулировать нажатие клавиш и , запустите Keyboard.press() для каждой клавиши. Выдержав паузу, вызовите функцию Keyboard. releaseAll(), чтобы завершить нажатие комбинации клавиш. Список специальных клавиш можно найти на сайте http://arduino.cc/en/Reference/KeyboardModifiers.

6.8.3. Эмуляция мыши

С помощью двухкоординатного джойстика и нескольких кнопок можно превратить плату Arduino Leonardo в мышь. Джойстик будет перемещать курсор мыши, а кнопки будут выполнять функции левой, средней и правой кнопок мыши. Как и для клавиатуры, в языке Arduino есть много встроенных функций, позволяющих реализовать функциональность мыши.

Сначала соберите схему с джойстиком и кнопками, как показано на рис. 6.17. Не забывайте, что кнопки нужно снабдить подтягивающими резисторами. Джойстик подключается к аналоговым выводам 0 и 1. Джойстики содержат два потенциометра, присоединенные к рукоятке. При перемещении рукоятки джойстика в направлении х меняется сопротивление одного из потенциометров, в направлении у другого.

На рис. 6.17 изображен джойстик SparkFun, но подойдет любой (в демонстрациоом видеоклипе показан джойстик Parallax). В зависимости от типа джойстика, возможно, потребуется скорректировать диапазон значений функцией map() или поменять х и у в коде программы.

Собрав схему, можно загрузить программу на плату Leonardo. Скопируйте и запустите код листинга 6.1 1 и поуправляйте курсором с помощью джойстика и кнопок; курсор на экране компьютера должен реагировать соответствующим образом.

- 149 -

Рис 617 Схема мыши на основе джойстика и платы Leonardo Листинг 611 - фото 68

Рис. 6.17. Схема мыши на основе джойстика и платы Leonardo

Листинг 6.11. Программа управления курсором мыши для Leonardo - mouse.ino

// Создаем мышь !

const int LEFT_BUTTON=4;//Вход для левой кнопки мыши

const int MIDDLE_BUTTON=3;//Вход ДЛЯ средней кнопки мыши

const int RIGHT_BUTTON =2;//Вход для правой кнопки мыши

const int X_AXIS=0;//Аналоговый вход для оси х джойстика

const int Y_AXIS=1;//Аналоговый вход для оси у джойстика

void setup()

{

- 150 -

Mouse.begin();

}

void loop()

{

int xVal=readJoystick(X_AXIS);//Получить отклонение джойстика по оси х

int yVal = readJoystick(Y_AXIS);//Получить отклонение джойстика по оси у

Mouse.move(xVal, yVal, 0);//Перемещаем мышь

readButton(LEFT_BUTTON, MOUSE_LEFT);// Чтение состояния левой кнопки

readButton(MIDDLE_BUTTON, MOUSE_MIDDLE);//Чтение состояния средней кнопки

readButton(RIGHT_BUTTON, MOUSE_RIGHT); //Чтение состояния правой кнопки

delay(5);

}

int readJoystick(int axis)// Чтение значения джойстика, масштабирование

{

int val = analogRead(axis);

// Чтение аналогового значения

val = map(val, 0, 1023, -10, 10); // Масштабирование значения

if (val <= 2 && val >= -2)

// Убрать дрейф мыши

return 0;

else// Вернуть значение

return val;

}

// Чтение состояния кнопок и отправка команд мыши

void readButton(int pin, char mouseCommand)

{

// Если кнопка нажата, эмулируем нажатие, если она еще не быпа нажата

if (digitalRead(pin) == HIGH)

{

if ( ! Mouse.isPressed (mouseCommand) )

{

Mouse.press(mouseCommand);

}

}

// Отпустить нажатие мыши

else

{

if (Mouse.isPressed(mouseCommand))

- 151 -

{

Mouse.release(mouseCommand);

}

}

}

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

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

Функция readJoystick() считывает и масштабирует значения от джойстика. По каждой координате джойстик выдает ряд значений от 0 до 1024, полученных от АЦП.

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

Интервал:

Закладка:

Сделать

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

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


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

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

x