Указатель Arduino PowerPoint
Компоненты и расходные материалы
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Об этом проекте
В последний раз, когда мне приходилось делать презентацию в PowerPoint, было очень неприятно находиться все время с мышью в руке, это был непростой дизайн для этой функции.
В связи с предстоящей новой презентацией под названием «Введение в Arduino» я подумал, как лучше всего продемонстрировать некоторые возможности платы Arduino, а не создать с ее помощью инструмент быстрого презентационного приложения Power Point.
Первая идея, которая возникла у меня:"Почему бы не использовать пульт от телевизора?" Дизайн должен удерживаться в более эргономичном положении, чем мышь (в данном случае).
Компоненты
Для этого проекта вам потребуется:
1x пульт от телевизора
1x Arduino Leonardo (также возможно с UNO, но необходимы некоторые модификации)
1x ИК-датчик (у меня VS1838B)
Необязательно - я создаю очень простой щит из перфорированной доски
Соедините компоненты
Схема подключения очень проста:просто подключите GND от датчика к контакту GND Arduino, 5V от датчика к контакту 5V в Arduino и контакт Data от датчика к цифровому контакту 2 Arduino.
Код
Часть кода разделена на два этапа. В первом вам нужно будет прочитать ключи, которые вы хотите использовать, с пульта телевизора. Для этого вы сможете декодировать ИК-сигнал, отправляемый с пульта дистанционного управления.
Во второй части мы будем использовать информацию из первого шага и назначить ключи для новых функций в качестве указателей PowerPointer.
Начните с загрузки библиотеки IRremote Arduino и установите ее в нужную папку. Вы можете скачать оттуда.
Не забывайте следовать процедуре установки, рекомендованной на странице github.
Для первого шага загрузите Код 1 на ваш Arduino. Откройте окно Serial Monitor, если все в порядке, вы должны начинать с разных цифр каждый раз, когда нажимаете кнопку на пульте дистанционного управления телевизора.
Сохраните числа, соответствующие клавишам, которые вы хотите использовать. В моем случае я использовал центральную кнопку перехода вперед и назад на пульте дистанционного управления от телевизора.
Замените мои числа в структурах «Если» в Коде 2 и загрузите.
Если вы используете Arduino Leonardo, после загрузки каждый раз, когда вы нажимаете выбранные кнопки пульта ДУ телевизора, они будут действовать как стрелки вперед и назад на клавиатуре.
В PowerPoint
Теперь откройте свою презентацию, и если вы находитесь в «режиме слайдов», слайды будут переключаться вперед и назад каждый раз, когда вы нажимаете предыдущие выбранные клавиши на пульте телевизора.
Другая плата Arduino
Если вы используете другие платы Arduino, я думаю, что этот проект также можно построить, однако необходимо внести некоторые изменения.
Большая разница в том, что Atmega8U2 или аналогичный чип, отвечающий за связь между ATmega328 и компьютером, необходимо прошить. У меня не было необходимости в этом, потому что с Arduino Leonardo Zero и DUE появляются как родная клавиатура или мышь, когда они определены и подключены к вашему компьютеру.
Есть поддержка по этому поводу на forum.arduino.cc.
Если вы сделаете это изменение, сообщите мне или разместите эту информацию на странице проекта, чтобы другие пользователи также были проинформированы :)
Как обычно, напишите мне, если вы обнаружили какую-либо ошибку или у вас есть предложения / улучшения или вопросы.
Спасибо за чтение.
Код
- PPT_Pointer_Code_2.ino
- PPT_Pointer_Code_1.ino
PPT_Pointer_Code_2.ino Arduino
#include#include "Keyboard.h" int RECV_PIN =2; IRrecv irrecv (RECV_PIN); decode_results results; int key_pressed; int last_key_pressed; void setup () {Serial.begin (9600); irrecv.enableIRIn (); // Запускаем приемник Keyboard.begin ();} void loop () {// Вещи для чтения пульта ДУ телевизора if (irrecv.decode (&results)) {key_pressed =results.value; Serial.println (нажата клавиша); irrecv.resume (); // Получение следующего значения} if (key_pressed ==last_key_pressed) key_pressed =0; // Я хочу только один раз проверить, какая клавиша была нажата if (key_pressed ==18105) {// Измените это число в соответствии с клавишами, которые вы хотите использовать на своем удаленном Keyboard.press (KEY_RIGHT_ARROW); Keyboard.releaseAll (); } if (key_pressed ==-22951) {// Измените это число в соответствии с клавишами, которые вы хотите использовать на своем удаленном Keyboard.press (KEY_LEFT_ARROW); Keyboard.releaseAll (); } last_key_pressed =key_pressed;}
PPT_Pointer_Code_1.ino Arduino
#includeint RECV_PIN =2; IRrecv irrecv (RECV_PIN); decode_results results; int key_pressed; void setup () {Serial.begin (9600); irrecv.enableIRIn (); // Запускаем получатель} void loop () {if (irrecv.decode (&results)) {key_pressed =results.value; Serial.println (нажата клавиша); irrecv.resume (); // Получение следующего значения} delay (100);}
Схема
Производственный процесс