Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Arduino-указатель для PowerPoint — беспроводное управление презентациями

Компоненты и материалы

О проекте

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

Идея проста: использовать пульт от телевизора — он эргономичнее мыши для этой задачи.

Arduino-указатель для PowerPoint — беспроводное управление презентациями

Подключение компонентов

Схема подключения элементарна:

Arduino-указатель для PowerPoint — беспроводное управление презентациями

Программная часть

Работа делится на два этапа:

  1. Определение кодов пульта — загружаем скетч PPT_Pointer_Code_1.ino, открываем Serial Monitor и нажимаем нужные кнопки. Записываем полученные числовые коды.
  2. Назначение функций — в скетче PPT_Pointer_Code_2.ino заменяем примерные значения (18105 и -22951) на свои коды для кнопок «вперёд» и «назад».

Для работы нужна библиотека IRremote (установите через менеджер библиотек или с GitHub). Arduino Leonardo (как и Zero, Due) нативно эмулирует клавиатуру/мышь, поэтому после загрузки второго скетча нажатия кнопок пульта будут работать как стрелки клавиатуры.

Arduino-указатель для PowerPoint — беспроводное управление презентациями
Arduino-указатель для PowerPoint — беспроводное управление презентациями
Arduino-указатель для PowerPoint — беспроводное управление презентациями

Работа в PowerPoint

Откройте презентацию в режиме слайд-шоу — слайды будут переключаться при нажатии заданных кнопок пульта.

Другие платы Arduino

На платах вроде Uno (ATmega328P) для эмуляции HID-устройства нужно перепрошивать чип ATmega8U2/16U2. Подробнее — на forum.arduino.cc. Если реализуете — делитесь опытом!

Код

PPT_Pointer_Code_2.ino (основной скетч)

#include <IRremote.h>
#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(key_pressed);
    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 (сканер кодов)

#include <IRremote.h>

int 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(key_pressed);
    irrecv.resume();
  }
  delay(100);
}

Схемы

Arduino-указатель для PowerPoint — беспроводное управление презентациями
Arduino-указатель для PowerPoint — беспроводное управление презентациями

Производственный процесс

  1. Лазерный указатель: дизайн, производство и обзор безопасности
  2. Создание профессионального универсального пульта на Raspberry Pi с LIRC
  3. Сборка Bluetooth-робота-шпиона на Arduino с управлением с телефона
  4. FlickMote: жестовое IR-пульт для умного дома на Arduino 101 и ультразвуковом датчике
  5. DIY Arduino TV-B-Gone: универсальный пульт для выключения любого телевизора
  6. Универсальный Android-пульт на Arduino, 1Sheeld и ИК-управлении
  7. Создание пользовательских LED-часов с будильником — видно с 12 метров
  8. Find Me: Умный поисковик вещей на Arduino и Bluetooth
  9. Оптимизированные решения питания для проектов на Arduino
  10. Крестики-нолики на Arduino с матрицей MAX7219 и картонным корпусом