Piano Gets An Arduino Implant

[Paul] likes his piano, but he doesn’t know how to play it. The obvious answer: program an Arduino to do it. Some aluminum extrusion and solenoids later, and it was working. Well, perhaps not quite that easy — making music on a piano is more than just pushing the keys. You have to push multiple keys together and control the power behind each strike to make the music sound natural.

The project is massive since he chose to put solenoids over each key. Honestly, we might have been tempted to model ten fingers and move the solenoids around in two groups of five. True, the way it is, it can play things that would not be humanly possible, but ten solenoids, ten drivers, and two motors might have been a little easier and cheaper.

The results, however, speak for themselves. He did have one problem with the first play, though. The solenoids have a noticeable click when they actuate. The answer turned out to be orthodontic rubber bands installed on the solenoids. We aren’t sure we would have thought of that.

Player pianos, of course, are nothing new. And, yes, you can even make one with a 555. If a piano isn’t your thing, maybe try a xylophone instead.

Continue reading “Piano Gets An Arduino Implant”

Using A Smartphone As A Touchscreen For Arduino

If you want a good display and interface device for an embedded project, it’s hard to look past an old smartphone. After all, you’ve got an excellent quality screen and capacitive touch interface all in the same package! [Doctor Volt] explains how to easily set up your old smartphone to work as a touchscreen for your Arduino.

[Doctor Volt] demonstrates the idea with a 2018 Samsung Galaxy A8, though a wide variety of Android phones can be put to use in this way. The phone is connected to the Arduino via a USB-to-serial converter and an OTG cable. Using a USB-C phone with Power Delivery is ideal here, as it allows the phone to be powered while also communicating with the Arduino over USB.

The RemoteXY app is built specifically for this purpose. It can be installed on an Android phone to allow it to communicate effectively with Arduino devices, which run the RemoteXY library in turn. Configuring the app is relatively straightforward, with a point-and-click wizard helping you designate what hardware you’re using and how you’ve got it hooked up. [Doctor Volt] does a great job of explaining how to hook everything up, and how to build some simple graphical interfaces.

There are a ton of display and interface options in the embedded space these days, many of which can be had cheaply off the shelf. Still, few compete with the resolution and quality of even older smartphones. It’s a neat project that could come in very handy for your next embedded build! Video after the break.

Continue reading “Using A Smartphone As A Touchscreen For Arduino”

Arduino VGA, The Old Fashioned Way

Making a microcontroller speak to a VGA monitor has been a consistent project in our sphere for years, doing the job for which an IBM PC of yore required a plug-in ISA card. Couldn’t a microcontroller talk to a VGA card too? Of course it can, and [0xmarcin] is here to show how it can be done with an Arduino Mega.

The project builds on the work of another similar one which couldn’t be made to work, and the Trident card used couldn’t be driven in 8-bit ISA mode. The web of PC backwards compatibility saves the day though, because many 16-bit ISA cards also supported the original 8-bit slots from the earliest PCs. The Arduino is fast enough to support the ISA bus speed, but the card also needs the PC’s clock line to operate, and it only supports three modes:  80 x 25, 16 colour text, 320 x 200, 256 colour graphics, and 640 x 480, 16 colour graphics.

Looking at this project, it serves as a reminder of the march of technology. Perhaps fifteen years or more ago we’d have been able to lay our hands on any number of ISA cards to try it for ourselves, but now eight years after we called the end of the standard, we’d be hard placed to find one even at our hackerspace. Perhaps your best bet if you want one is a piece of over-the-top emulation.

Artificial Intelligence Runs On Arduino

Fundamentally, an artificial intelligence (AI) is nothing more than a system that takes a series of inputs, makes some prediction, and then outputs that information. Of course, the types of AI in the news right now can handle a huge number of inputs and need server farms’ worth of compute to generate outputs of various forms, but at a basic level, there’s no reason a purpose-built AI can’t run on much less powerful hardware. As a demonstration, and to win a bet with a friend, [mondal3011] got an artificial intelligence up and running on an Arduino.

This AI isn’t going to do anything as complex as generate images or write clunky preambles to every recipe on the Internet, but it is still a functional and useful piece of software. This one specifically handles the brightness of a single lamp, taking user input on acceptable brightness ranges in the room and outputting what it thinks the brightness of the lamp should be to match the user’s preferences. [mondal3011] also builds a set of training data for the AI to learn from, taking the lamp to various places around the house and letting it figure out where to set the brightness on its own. The training data is run through a linear regression model in Python which generates the function that the Arduino needs to automatically operate the lamp.

Although this isn’t the most complex model, it does go a long way to demonstrating the basic principles of using artificial intelligence to build a useful and working model, and then taking that model into the real world. Note also that the model is generated on a more powerful computer before being ported over to the microcontroller platform. But that’s all par for the course in AI and machine learning. If you’re looking to take a step up from here, we’d recommend this robot that uses neural networks to learn how to walk.

An Arduino Triggers A Flash With Sound

To capture an instant on film or sensor with a camera, you usually need a fast shutter. But alternately a flash can be triggered with the scene in the dark and the shutter wide open. It’s this latter technique which PetaPixel are looking at courtesy of the high-speed class at Rochester Institute of Technology. They’re using a cheap sound sensor module and an Arduino to catch instantaneous photographs, with students caught in the act of popping balloons.

Continue reading “An Arduino Triggers A Flash With Sound”

DIY 3D-Printed Arduino Self-Balancing Cube

Self-balancing devices present a unique blend of challenge and innovation. That’s how [mircemk]’s project caught our eye. While balancing cubes isn’t a new concept — Hackaday has published several over the years — [mircemk] didn’t fail to impress. This design features a 3D-printed cube that balances using reaction wheels. Utilizing gyroscopic sensors and accelerometers, the device adapts to shifts in weight, enabling it to maintain stability.

At its core, the project employs an Arduino Nano microcontroller and an MPU6050 gyroscope/accelerometer to ensure precise control. Adding nuts and bolts to the reaction wheels increases their weight, enhancing their impact on the cube’s balance. They don’t hold anything. They simply add weight. The construction involves multiple 3D printed components, each requiring several hours to produce, including the reaction wheels and various mount plates. After assembly, users can fine-tune the device via Bluetooth, allowing for a straightforward calibration process to set the balancing points.

If you want to see some earlier incarnations of this sort of thing, we covered other designs in 2010, 2013, and 2016. These always remind us of Stewart platforms, which are almost the same thing turned inside out.

Continue reading “DIY 3D-Printed Arduino Self-Balancing Cube”

Stretch Goal: 300X Arduino

The Faboratory at Yale University has set a number of stretch goals. We don’t mean that in the usual sense. They’ve been making, as you can see in the video below, clones of commercial devices that can stretch over 300%. They’ve done Ardunios and similar controllers along with sensors. The idea is to put computer circuits in flexible robots and other places where flexibility is key, like wearable electronics.

If you are interested in details, you’ll want to read the paper in Science Robotics. They take the existing PCB layout and use a laser to cut patterns in a paper mask over the stretchable substrate. They then apply oxidized gallium-indium to build conductors.

Continue reading “Stretch Goal: 300X Arduino”