Posts with «arduino» label

Custom Game Pad Can Reprogram Itself

In the heat of the moment, gamers live and die by the speed and user-friendliness of their input mechanisms. If you’re team PC, you have two controllers to worry about. Lots of times, players will choose a separate gaming keyboard over the all-purpose 104-banger type.

When [John Silvia]’s beloved Fang game pad went to that LAN party in the sky, he saw the opportunity to create a custom replacement exactly as he wanted it. Also, he couldn’t find one with his desired layout. Mechanical switches were a must, and he went with those Cherry MX-like Gaterons we keep seeing lately.

This 37-key game pad, which [John] named Eyetooth in homage to the Fang, has a couple of standout features. For one, any key can be reprogrammed key directly from the keypad itself, thanks to built-in macro commands. It’s keyboard-ception!

One of the macros toggles an optional auto-repeat feature. [John] says this is not for cheating, though you could totally use it for that if you were so inclined. He is physically unable to spam keys fast enough to satisfy some single-player games, so he designed this as a workaround. The auto-repeat’s frequency is adjustable in 5-millisecond increments using the up /down macros. There’s a lot more information about the macros on the project’s GitHub.

Eyetooth runs on an Arduino Pro Micro, so you can either use [John]’s code or something like QMK firmware. This baby is so open source that [John] even has a hot tip for getting quality grippy feet on the cheap: go to the dollar store and look for rubber heel grippers meant to keep feet from sliding around inside shoes.

If [John] finds himself doing a lot of reprogramming, adding a screen with a layout map could help him keep track of the key assignments.

Hack a Day 21 Sep 12:00

Homemade Wall Stops Roomba and Other Vacuum Tricks

If you have a Roomba, you know they are handy. However, they do have a habit of getting into places you’d rather they avoid. You can get virtual walls which are just little IR beacons, but it is certainly possible to roll your own. That’s what [MKme] did and it was surprisingly simple, although it could be the springboard to something more complicated. You can see a video about the build below.

As Arduino projects go, this could hardly be more simple. An IR LED, a resistor and a handfull of code that calls into an IR remote library. If that’s all you wanted, the Arduino is a bit overkill, although it is certainly easy enough and cheap.

We know that’s not much, but we were impressed with some of the other information associated with the project for future directions. For example, there’s this project that adds an ultrasonic sensor to a Roomba using the serial port built under the handle. The interface and protocol for that port is even nicely documented.

That got us thinking. You could probably use some ultrasonic sensors for two-way communication to do custom walls. For example, you could use one to send a set number of pulses per second and have another device on the Roomba to receive them and count. You could program rules like a particular wall is only really a wall between 8 AM and 5 PM, for example.

We’ve seen some people use the Roomba as a general-purpose robot platform. We still wish we could find a sensor in the DigiKey catalog to help avoid this common problem.

Superbly Synchronized Servos Swaying Softly

LEDs and blinky projects are great, and will likely never fade from our favor. But would you look at this sweeping beauty? This mesmerizing display is made from 36 micro servos with partial Popsicle sticks pasted on the arms. After seeing a huge display with 450 servos at an art museum, [Doug Domke] was inspired to make a scaled-down version.

What [Doug] didn’t scale down is the delightful visuals that simple servo motion can produce. The code produces a three-minute looping show that gets progressively more awesome, and you can stare at that after the break. Behind the pegboard, a single, hardworking Arduino Uno controls three 16-channel PWM controllers that sweep the servos. We like to imagine things other than Popsicle sticks swirling around, like little paper pinwheels, or maybe optical illusion wheels for people with strong stomachs.

You won’t see these in the video, but there are five ultrasonic sensors mounted face-up on the back of the pegboard. [Doug] has optional code built in to allow the servo sticks to follow hand movement. We hope he’ll upload a demo of that feature soon.

Servos can be hypnotic as well as helpful, as we saw in this 114-servo word clock.

Via Arduino blog

Arduino, Accelerometer, and TensorFlow Make You a Real-World Street Fighter

A question: if you’re controlling the classic video game Street Fighter with gestures, aren’t you just, you know, street fighting?

That’s a question [Charlie Gerard] is going to have to tackle should her AI gesture-recognition controller experiments take off. [Charlie] put together the game controller to learn more about the dark arts of machine learning in a fun and engaging way.

The controller consists of a battery-powered Arduino MKR1000 with WiFi and an MPU6050 accelerometer. Held in the hand, the controller streams accelerometer data to an external PC, capturing the characteristics of the motion. [Charlie] trained three different moves – a punch, an uppercut, and the dreaded Hadouken – and captured hundreds of examples of each. The raw data was massaged, converted to Tensors, and used to train a model for the three moves. Initial tests seem to work well. [Charlie] also made an online version that captures motion from your smartphone. The demo is explained in the video below; sadly, we couldn’t get more than three Hadoukens in before crashing it.

With most machine learning project seeming to concentrate on telling cats from dogs, this is a refreshing change. We’re seeing lots of offbeat machine learning projects these days, from cryptocurrency wallet attacks to a semi-creepy workout-monitoring gym camera.

DrumKid is a handheld aleatoric drum machine

Hearing live music is certainly enjoyable, but if the musician is using a drum machine, things can eventually get static. To add a bit more spontaneity into this class of robo-musician, Matt Bradshaw has created DrumKid — a handheld, battery-powered unit that uses random numbers to determine the rhythm and sound of a beat.

The device goes through a drum sequence, with a series of LEDs to indicate its progression, but also inserts randomly generated drum hits to the original beat. It features a variety of controllable parameters to alter how it sounds when played live via four knobs and six buttons.

The DrumKid was developed on an Arduino Uno and breadboard, then transferred to a PCB for the final version that will be for sale later this year. More info on the build is available in Bradshaw’s project write-up, while code and design files are on GitHub if you’d like to make your own!

Arduino Blog 17 Sep 20:23

Mini Tetris cabinet commands waitstaff to fetch more water and coffee

Remembering to refill water and coffee cups at regular intervals certainly has to be a challenge for restaurant waitstaff, but not for servers at one diner thanks to Mark Wilson’s, “TetrisWaterRun” project.

Wilson’s device takes the form of a miniature arcade cabinet, with two “players” named H2O and JOE controlling Tetris playfields.

As each block drops, some complete a line, while others leave spaces, eventually stacking up to a yellow warning level, along with a red section for overdue. Each game/playfield is started with its interface button, which also lights up intermittently to indicate drink warnings. A buzzer is included, so that there’s even less of an excuse for unfilled drinks. The build was prototyped on an Arduino Uno and now runs on a Nano for space savings, with a 320×480 LCD screen displaying the game.

Merge Week: 1 week, 4 developers, resolved issues for all!

The holidays are over and we’re back at work, so it’s time to clean up the house. To get ready for autumn, our amazing dev team has decided to devote an entire week to resolve as many of the open issues on the Arduino IDE repository and related projects (cores, libraries, etc.) as possible.

Starting this Monday, the dev team will be going through the open issue log — analyzing requests, fixing them where immediately possible, and in some cases, reaching out to the original submitter to establish if they are still seeing an issue or if it can be closed out. If you do receive such a notification in your GitHub account (with a subject starting with [arduino/Arduino] …), please help us help you by responding accordingly.

Big thanks to all of you who’ve contributed in the past and continue to submit the issues you find within the Arduino IDE for resolution. We appreciate your support and acknowledge your patience while waiting for them to be fixed.

Let’s watch that open issue counter fall by the day!

Robo-snake slithers across the ground under Arduino control

What has a dozen servos, a camera, and an Arduino Mega for a brain? Nevon Projects’ snake-bot, of course! 

This impressive robot uses a total of 12 servos for locomotion and can travel across a variety of surfaces under the control of Android app, or autonomously via a sensor mounted to a smaller servo on the head.

The snake’s electronics are split up between a head section that houses batteries and the sensor, and a tail bearing electronics including the Arduino. 

The project is available as a kit, or could certainly provide inspiration for your own project if you want to start from scratch. Check it out oscillating across the ground on tiny rollers in the video below, along with a surprising transformation into a square shape at just before the 1:45 mark.

Arduino Blog 13 Sep 21:10

A low-cost, 3D-printed transhumeral prosthesis

To help a patient in his country with a congenital limb deficiency, Buzi Nguyen has designed a 3D-printed transhumeral—above the elbow—prosthesis prototype. The device features 10 degrees of freedom, including independent control of four fingers and a thumb, along with movement capabilities for the wrist and forearm.

The prosthesis is powered by a number of Arduino boards and a Raspberry Pi, and equipped with computer vision to track and choose grip patterns for object handling. It can also potentially be operated via brain-computer interface and electromyography.

A demonstrate of all the currently supported features can be seen in the video below.

Exploring a classic physics problem with Arduino

As described in this project’s write-up, “The brachistochrone curve is a classic physics problem, that derives the fastest path between two points A and B which are at different elevations.” In other words, if you have a ramp leading down to another point, what’s the quickest route?

Intuitively—and incorrectly—you might think this is a straight line, and while you could work out the solution mathematically, this rig releases three marbles at a time, letting them cruise down to the Arduino Uno-based timing mechanism to see which path is fastest. 

The ramps are made out of laser-cut acrylic, and the marbles each strike a microswitch to indicate they’ve finished the race. The build looks like a great way to cement a classic physics problem in students’ minds, and learn even more while constructing the contraption!