The Lightgame Project: A Multiplayer Arduino Game

lightgame_3Summer is upon us. The Lightgame Project is a multiplayer reaction time based game built around the Arduino. It’s a perfect rainy day project for those restless kids (and adults!). Designed by two undergraduate students [Efstathios] and [Thodoris] for a semester long project, all the hard work has already been done for you.

There are tons of reasons we love games that you can build yourself. For one, it’s an amazing way to get children interested in hobby electronics, making, and hacking. Especially when they can play the game with (and show off to) their friends. Another reason is that it is a perfect way to share your project with friends and family, showcasing what you have been learning. The game is based on your reaction time and whether or not you press your button when another players color is shown. The project is built around two Arduinos connected via I2C. The master handles the mechanics of the game, while the slave handles the TFT LCD and playing music through a buzzer.

I2C is a great communication protocol to be familiar with and this is a great project to give it a try. [Efstathios] and [Thodoris] did a great job writing up their post, plus they included all the code and schematics needed to build your own. It would be great to see more university professors foster open source hardware and software with their students. A special thanks goes out to [Dr. Dasygenis] for submitting his student’s work to us!

Continue reading “The Lightgame Project: A Multiplayer Arduino Game”

Using State Machines In Your Projects

arduino, 16 button keypad and LCD display

 

[Tony] has developed a method of using a state machine to validate keypad inputs. His method checks the commands character by character as they are entered in by a 16 button keypad. State machines are often used to break down complex problems into sequential tasks, making code development easier. While [Tony’s] example uses the keypad, Arduino Uno, and a character LCD, the theory can be applied to numerous projects, such as this Dahlander motor switch.

As you see, state machines can be very versatile. Stick around after the break as we take a look at [Tony’s] state machine and provide a brief explanation of how it all works.  Continue reading “Using State Machines In Your Projects”

Internet Controlled LED Necktie Lights Up The Party

MIDI Controlled Necktie

Wearable devices are all the rage in certain circles — looking for a project of his own, [Hector Urtubia] decided to give it a shot with this six-LED necktie.

It used to be pretty hard to make an Internet connected device without spending all your time and effort on making the Internet connection possible — until the Pinoccio came along. It’s a tiny Arduino compatible board which has wireless Internet connectivity built right in. It even comes with a rechargeable battery. If you have experience with Arduino programming, this little guy is a cinch to get running.

The tie itself makes use of six NeoPixels, which are chainable, addressable and current regulating RGB LEDs, which means the entire chain of LEDs only requires 1 digital pin-out on the Pinoccio! [Hector] has even written a library that will extend the Pinoccio’s scripting environment so that the pixels can interact directly from the web or API.

To demonstrate the tie, he decided to hook it up to his MIDI keyboard — enjoy:

Continue reading “Internet Controlled LED Necktie Lights Up The Party”

Arduino garage door opener

Arduino Garage Door Opener Is Security Minded

Do it yourself garage door openers must be all the rage nowadays. We just got word of another take on this popular idea. [Giles] was commissioned by his friend to find a way to control the friend’s garage door using a smart phone. The request was understandable, considering the costly garage door remote and the fact that the buttons on the expensive remote tended to fail after a while. The inspiration for this project came from some YouTube videos of other similar projects. Those projects all paired an Arduino with a Bluetooth headset in order to control the door from a mobile phone. [Giles] understood that while this would get the job done, it wouldn’t be very secure. Bluetooth headsets typically connect to mobile phones using a four digit PIN. Many of them have known default PINs and even if the default is changed, it wouldn’t take very long to guess a four digit PIN. [Giles] knew he had to find a more secure way.

Continue reading “Arduino Garage Door Opener Is Security Minded”

Synergizer: The Emergency Key-Turn Barbot

Synergizer: Emergency Drink Dispenser

It’s been a rough day at the office. You need a break. But by yourself? No, what you need is to be Synergized! This Barbot only works if all four keys are inserted and turned — kind of like a nuclear launch procedure — only then will it dispense four perfectly sized drinks to make your day better.

The Synergizer uses an Arduino to control a belt driven linear actuator which moves the spout from cup to cup. A series of reed switches along the length provide feedback to the system for positional control. The machine makes use of a peristaltic pump, called the Bartendro Dispenser, which pumps an exact volume of your liquid of choice into each cup. The cool thing with peristaltic pumps is they are self priming,and capable of pumping an exact volume of liquid every time.

[Nick Poole], the designer, also included a CPU fan and heat-sink paired up with a peltier plate in order to also chill the liquid as it is being pumped. To make it even more interesting, he added a four key override, so the Synergizer can only be used if all four unique keys are inserted.

Continue reading “Synergizer: The Emergency Key-Turn Barbot”

This Sassy Art Installation Is Like The Stanley Parable For The Telephone

Insert Customer Feedback Here

Imagine this. A phone on a nearby desk starts ringing. No one is around to pick it up, so you decide that you will be a good Samaritan and answer the phone. You are greeted by a slightly creepy robotic female voice asking you to complete a simple survey. Having nothing else to do, you go ahead and run through the telephone survey. As you start answering the questions, things start to get a bit… weird. The robot voice doesn’t like your answers. She actually disagrees with you, and she does NOT like being interrupted. Now she’s getting sassy with you! What is going on here?

Most likely you are the latest victim of Insert Customer Feedback Here, [Charles’] art installation. You see, that is no ordinary telephone. [Charles] actually removed the guts of an old telephone and replaced them with an Arduino. The Arduino periodically rings the phone, waiting for someone to answer. Once the phone is off the hook, the Arduino uses a Wave shield to start playing back the scripted audio files. All of the text-to-speech files and the various hold music files are played back with the wave shield. The Arduino is also hooked up to the 1, 2, 3, and # keys of the telephone keypad in order to read back the user’s responses.

From here on out the program acts as a sort of “choose your own adventure” game. The program takes different paths and responds in different ways depending on how the user answers the questions. Generally speaking, it will get more “irritated” towards the user if it doesn’t “like” your answers, otherwise it will get less irritated. The hold music will even change to become more or less aggressive.

It’s easy to draw comparisons to Portal’s GLaDOS due to the robotic female voice and to the narrator from The Stanley Parable for the “choose your own adventure” feeling. In fact, if GLaDOS and The Stanley Parable had offspring, this would surely be it. This project brings that same type of silly sarcastic humor to a different medium and it does it well. Be sure to watch the video of the system in action below. It really starts to get interesting around the 1:15 mark. Continue reading “This Sassy Art Installation Is Like The Stanley Parable For The Telephone”

Driving 1000 NeoPixels With 1k Of Arduino RAM

timing

NeoPixels, or WS2812 RGB LEDs, are the display device du jour for impressive and blinding lighting projects. Commonly known for very tight timing requirements, [Josh] discovered this is, in fact, usually unnecessary. The timing requirements for NeoPixels aren’t as bad as they seem, once you get to know them.

The official WS2812 timing specs give values that are fairly constraining for anyone writing a library to drive these RGB LED pixels, but simplifying the timing diagram by assuming a 50% duty cycle on the data lines and ignoring the longer maximum times results in a surprising conclusion: the only tight timing parameter for NeoPixel signaling is the maximum width of the 0-bit pulse.

Realizing this, [Josh] wrote a simple demo program to drive over 1000 NeoPixels – an 11 meter long strip – using 1K of RAM on an Arduino. The trick comes by simply delaying the bitbanging a set number of cycles. No obtuse assembly required.

There is only one problem with [Josh]’s method of driving a nearly unlimited amount of NeoPixels – building a display where every NeoPixel is an element in a larger image, such as in a video display, is impossible on systems with limited amounts of RAM. The code writes values to the NeoPixel strip algorithmically, so if you can’t build your animation with for loops, you’re out of luck. Still, Driving this many NeoPixels is a migraine trigger, and we have to give [Josh] credit for doing this with 1K of RAM.

Check out the video of [Josh]’s extreme NeoPixel strip below.

Continue reading “Driving 1000 NeoPixels With 1k Of Arduino RAM”