Arduino PowerPoint Control

Hello All!

I am trying to control a powerPoint presentation using an arduino Mega 2560.

Project Overview
I'm building a game for a bring your kids to work day at my job. I'm building something similar to the game operation Operation Game. In my case, it is like a part of a air plane body where you have to go in and remove little parts depending on how your instructed. I have all the little games working. These are pretty simple I'm reading some high and low voltages and switching some leds.

I wanted to make a PowerPoint presentation to tell them which object to complete. I thought I could randomly select the slides and move them as they are completed.

My Attempts
I tried using the goBetwino application to open powerpoint and send commands. I had some success but it didn't function the way I wanted. What I did was...

  • I opened powerpoint
  • set in presentation mode (F5)
  • Sent arrow key (Right/Left)
    This didn't work so some alternative attempts..

Alternative Attempt:

  • I opened powerpoint
  • Changed to the slide (Down x number of times)
  • Presentation from current slide (Shift+F5)li]

Or Alternatively.. (This worked but is too slow)

  • I opened powerpoint
  • Changed to the slide (Down x number of times)
  • Presentation from current slide (Shift+F5)
  • Exit Powerpointl
  • Open Powerpoint
  • Change to slide
  • Present from current slide ... etc
    The problem was when sending key strokes, it would switch from the presentation window back to the powerpoint window and send the arrow keys there. This does not update the slides. I also tried sending another F5 command but it jumps back to the open presentation. I tried various approaches like moving slides then presenting. Trying to exit presentation mode. I tried closing and re-opening powerpint every time to change slides (This worked but was WAAY SLOW)

It seems that the handle it passed the arduino is to the PowerPoint window and not just to whatever is open.

I see some other people have done it using C or Python to write scripts to read serial ports. I don't have much experience with this so I thought it could be difficult for my situation.

I see that matlab has some arduino tools which may not be a bad route. Never used this but I'm pretty handy with matlab.

Question: What would be a good route to take to work this?
I have all my arduino sketches laid out with each individual game. I think if I use matlab I have to re program these with matlab which I don't really want to do. I see that matlab has activeX components so this could possibly run the powerpoint. Is it possible to program with the arduino IDE and simply read from matlab?

Or any other approaches that could work?

Sorry for the wordiness, I'm trying to give as much info as possible.

The Mega does not behave like a keyboard, but a Leonardo can behave like a keyboard or a mouse.

If you need to use a Mega you will need a program on your PC that can receive the data from the Mega and do whatever is necessary to make PowerPoint do its thing.

I don't know anything about the PowerPoint programming interface (or even if there is one) so I can't offer any advice

...R

Or you can reprogram the Atmega 16u2 chip.

Isaac96:
Or you can reprogram the Atmega 16u2 chip.

I will happily leave it to you to write the beginners' tutorial for that.

...R

Just out of curiosity, because it seems like a joke… What do you mean by re program the chip? Reprogram the chip so it can act like a mouse/keyboard? or what?

No worries, I figured it out. I can post the updated code here for other people to see.

I was able to use matlab to read serial data and then to use activeX to control a powerpoint. It actually wasn’t too hard! It also didn’t require me to reprogram the arduino I was able to use the arduino IDE to run my program then just look at the serial data for control.

xane514:
Reprogram the chip so it can act like a mouse/keyboard?

I believe that is what @Isaac96 meant.

It is possible - just complicated.

...R

Well, what I mean is something like HoodLoader. Check my signature link. All you need is a few wires- it is self-installing from the 328. All you have to do is upload a modified version of Nick Gammon's ATmega Chip Programmer sketch (included) and connect the ISP headers. The directions are very clear.

Isaac96:
The directions are very clear.

And what do you do if it does not work and the Arduino is bricked ?
Are you offering the OP a free replacement ?

...R

xane514:
Hello All!

I am trying to control a powerPoint presentation using an arduino Mega 2560.

lol, why? I all time download a free presentation discover this http://www.poweredtemplate.com/ppt-powerpoint-design-templates.html