NEW TUTORIAL: Create an Infrared Controlled Mouse with Arduino Micro, Leonardo, or Yun
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.
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.
We are angry, frustrated, and in pain because of the violence and murder of Black people by the police because of racism. We are in the fight AGAINST RACISM. George Floyd was murdered, his life stolen. The Adafruit teams have specific actions we’ve done, are doing, and will do together as a company and culture. We are asking the Adafruit community to get involved and share what you are doing. The Adafruit teams will not settle for a hash tag, a Tweet, or an icon change. We will work on real change, and that requires real action and real work together. That is what we will do each day, each month, each year – we will hold ourselves accountable and publish our collective efforts, partnerships, activism, donations, openly and publicly. Our blog and social media platforms will be utilized in actionable ways. Join us and the anti-racist efforts working to end police brutality, reform the criminal justice system, and dismantle the many other forms of systemic racism at work in this country, read more @ adafruit.com/blacklivesmatter
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.