0

April 14, 2015 AT 3:13 pm

NEW TUTORIAL: Create an Infrared Controlled Mouse with Arduino Micro, Leonardo, or Yun

NewImage

Introduction

In this tutorial we’re going to use the mouse and keyboard emulation abilities of a variety of Arduino devices combined within infrared receiver to make a remote control mouse with some keyboard commands thrown in for good measure.
There are a variety of reasons why you might want to create an infrared remote control mouse or keyboard. Suppose you’re making a PowerPoint presentation and you don’t want to be stuck standing next to the laptop as you click through the slides. Or perhaps you’ve set up your Raspberry Pi as a media server or you have some sort of Home Theater PC connected to your TV.

However for me the ability to do mouse and keyboard remotely is much more personal. As a result of my disability, I cannot use a traditional mouse. I control my computer using dictation software. However the mouse commands for that software have limits or are somewhat inconvenient to use. I can however use a traditional TV remote by poking at the buttons with a stick in my mouth. I originally developed this project because it helps me overcome my disability and allows me to do productive things like write tutorials for the Adafruit Learning System. If you’re interested, here is a link to my personal blog about how this project was originally developed. I use it every day and I could not have written this tutorial without it.

Hardware Needed

We originally intended this tutorial to have support for Pro Trinket as well as any ATmega32u4 based boards such as the Arduino Leonardo, Arduino Micro, and Arduino Yun. However there appeared to be some conflicts between IRLib infrared library and the Pro Trinket mouse and keyboard libraries. If we can resolve those problems at a later date we will update this tutorial. For now we are sticking to the ATmega32u4 based boards. We will be using Arduino Micro however the code will work identically with an Arduino Leonardo and the Leonardo portion of the Arduino Yun. 

You will need an IR sensor such as the TSOP38238 shown at the right.

You will need some sort of infrared remote control. All of our example code has been written for the Adafruit Mini Remote Control shown on the right but you can modify the code to use any ordinary TV remote if it uses a protocol supported by IRLib.

Although it is not 100% necessary, we will also add 2 NeoPixel’s as indicator lights that will help you know whether or not you are in mouse mode or keyboard mode and if you have pressed the Control, Alt, or Shift buttons. The NeoPixel also indicates whether or not you are dragging the mouse or clicking it.

Software Libraries

The mouse and keyboard libraries for the Leonardo, Micro, and Yun are already installed as part of the standard Arduino IDE. You can find more about these libraries at http://arduino.cc/en/Reference/MouseKeyboard

You also need the IRLib Infrared Library for Arduino available on GitHub.. For an introduction to using this library, see our previous tutorial Using an Infrared Library for Arduino

If you’re using NeoPixels as indicator lights you will need down eight the Adafruit NeoPixel Library from GitHub.

See the full tutorial here!


Check out all the Circuit Playground Episodes! Our new kid’s show and subscribe!

Have an amazing project to share? Join the SHOW-AND-TELL every Wednesday night at 7:30pm ET on Google+ Hangouts.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Learn resistor values with Mho’s Resistance or get the best electronics calculator for engineers “Circuit Playground”Adafruit’s Apps!


Maker Business — Alibaba to invest $15b in tech, set up research labs around the world

Wearables — Hand beading mimicry

Electronics — Trigger happy oscilloscope?

Biohacking — Biohacking: Visioneer – AI Glasses to Assist the Visually Impaired

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !



No Comments

No comments yet.

Sorry, the comment form is closed at this time.