The Smart Presentation Controller is an innovative system designed to navigate presentation slides using simple hand gestures. It leverages the DFRobot GR10-30 Gesture Sensor along with an Arduino Pro Micro to detect left and right hand gesture and simulate keyboard arrow key presses to change slides.
Inspiration Behind the ProjectDuring a hackathon, I noticed a frustrating issue-an explainer was presenting an amazing project, but due to a delay in manually controlling the slides, the flow of the presentation was constantly disrupted. This delay between the explainer and the slide controller created an awkward experience for the audience and the presenter. This inspired the idea of developing a Smart Presentation Controller that eliminates such delays by allowing presenters to navigate slides seamlessly with hand gestures. This project is particularly useful for presenters who want a touch-free solution to navigate slides, improving engagement and ease of use during lectures, meetings, or conferences.
Component Used- Arduino Pro Micro: A microcontroller that supports USB keyboard emulation
- DFRobot GR10-30 Gesture Sensor: Detects different gestures like right, left, up, and down clockwise and counterclockwise hand gestures.
- Jumper Wires: Used for electrical connections.
Even while your Arduino attendance system functions flawlessly on a breadboard, it might not seem professional when you show it off at investor demos, tech fairs, or competitions.
Presentation is important, and JUSTWAY helps with that.
JUSTWAY assists you in turning your do it yourself project into a high-quality prototype that feels and looks like genuine product that is ready for the market.
Why JUSTWAY is the PerfectRapid Prototyping
- 24 hour production tracking
- Real-time production tracking
- Perfect for students and makers on tight deadlines
CNC Machining (Aluminum 6061 / Stainless Steel 304)
- Delivers ultra-precise, strong enclosures
- Gives your project a premium industrial-grade body
Sheet Metal Fabrication
- Laser-cut and CNC-bent metal sheets
- Options for powder coating finishes
- Ideal for casting your attendance system elegantly
Injection Molding
- Transition from prototypes to mass production
- High-quality, custom-designed plastic enclosures
Urethane Casting
- Perfect for low-volume production runs
- Delivers professional-grade parts for display models
3D Printing (SLA & HPA-PA12)
- SLA Resin: clear, aesthetic display for internal electronics
- HP-PA12 Nylon: durable and long lasting casting
Pro Tip: Transparent resin highlights your circuitry; matte black adds a stealthy, modern touch.
How To Order in 4 Easy StepsStep 1 Upload Your CAD Files at JUSTWAY.comStart by uploading your STL or STEP files
Choose from plastics, resins, or metals depending on your design.
Live dimension check ensure perfect fitting before production
Transparent pricing, fast delivery, and zero hidden costs.
DFRobot GR10-30 Gesture Sensor To Arduino Pro Micro
- VCC To VCC
- GND To GND
- SCL To SDA (Pin 2)
- SCL To SCL (Pin 3)
The GR10-30 Gesture Sensor communicates with the Arduino Pro Micro via I2C protocol
Code ExplanationIncluding Necessary Libraries:
#include "DFRobot_GR10_30.h"
#include <Keyboard.h>- The DFRobot_GR10-30 library is used to interface with the gesture sensor.
- The keyboard library enables the Arduino Pro Micro to send keyboard inputs to a computer.
Configuring I2C Communication
#define I2CMODE
DFRobot_GR10_30 gr10_30(/*addr = */GR10_30_DEVICE_ADDR, /*pWire = */&Wire);- The sensor is initialized in I2C mode for communication with the Arduino
Initializing the Sensor in setup()
void setup() {
Serial.begin(115200);
Keyboard.begin(); // Initialize Keyboard functionality
while (gr10_30.begin() != 0) {
Serial.println("Sensor initialization failed!");
delay(1000);
}
Serial.println("Sensor initialized successfully!");
gr10_30.enGestures(GESTURE_LEFT | GESTURE_RIGHT); // Enable left and right gestures
}- The sensor is initialized and configured to recognized left and right swipe gestures.
Detecting Gestures and Simulation Key Presses
void loop() {
if (gr10_30.getDataReady()) {
uint16_t gestures = gr10_30.getGesturesState();
if (gestures & GESTURE_LEFT) {
Serial.println("Right gesture detected");
Keyboard.press(KEY_LEFT_ARROW);
delay(100);
Keyboard.release(KEY_LEFT_ARROW);
}
if (gestures & GESTURE_RIGHT) {
Serial.println("Left gesture detected");
Keyboard.press(KEY_RIGHT_ARROW);
delay(100);
Keyboard.release(KEY_RIGHT_ARROW);
}
}
delay(1); // Small delay for stability
}- The gesture sensor detects movements
- Left swipe triggers the left arrow key (previous slide).
- Right swipe triggers the right arrow (next slide).
- A small delay ensures stability
- The gesture sensor detects hand movements.
- If a left swipe is detected, the left arrow key is pressed, moving to the previous slide.
- If a right swipe is detected, the right arrow key is pressed, advancing the presentation.
- The Arduino Pro Micro acts as a keyboard, sending keypress signal to the computer.
- The 3D-printed casing holds the components securely, allowing for a compact and stable setup.
The Smart Presentation Controller is a simple yet powerful tool for hands-free slide navigation using gestures. By integrating the DFRobot GR10-30 Gesture Sensor with an Arduino Pro Micro, users can seamlessly control presentations with intuitive hand movements. This project is ideal for educators, professionals, and presenters seeking a convenient, touch-free experience. This project was inspired by a real-world problem observed at a hackathon, where a delay between the presenter and the slide controller disrupted the presentation flow. The Smart Presentation Controller aims to solve this problem by providing an effortless, gesture-based navigation system for presenters.










Comments