Posts with «arduino hacks» label

Stewart Platform Ball Bearing Balancer

For their Mechanical Engineering senior design project at San Jose State University, [Tyler Kroymann] and [Robert Dee] designed and built a racing motion simulator. Which is slightly out of the budget of most hackers, so before they went full-scale, a more affordable Arduino powered Stewart platform proof of concept was built. Stewart platforms typically use six electric or hydraulic linear actuators to provide motion in six degrees of freedom (6 DOF), surge (X), sway (Y), heave (Z), pitch, roll, and yaw. With a simple software translation matrix, to account for the angular displacement of the servo arm, you can transform the needed linear motions into PWM signals for standard hobby servos.

The 6 DOF platform, with the addition of a resistive touch screen, also doubled as a side project for their mechatronic control systems class. However, in this configuration the platform was constrained to just pitch and roll. The Arduino reads the resistive touch screen and registers the ball bearing’s location. Then a PID compares this to the target location generating an error vector. The error vector is used to find an inverse kinematic solution which causes the actuators to move the ball towards the target location. This whole process is repeated 50 times a second. The target location can be a pre-programmed or controlled using the analog stick on a Wii nunchuck.

Watch the ball bearing seek the target location after the break.

Thanks to [Toby] for sending in this tip.

We at Hackaday look forward to the real life implementation of Marble Madness!

Need help Demystifying PID Control? Or perhaps you would like to build your own Stewart Platform?


Filed under: Arduino Hacks, robots hacks

Speedy Drinkmaker Keeps Party Guests Hydrated

After five weekends of work, [Alex] completed his automatic drink maker, the RumBot. What makes this automated bartender different from others is the fact that it is fast. VERY fast. It can serve drinks to five different locations in as little as 3 seconds per drink. By [Alex]‘s estimation, this could keep a party of 100 people going without anyone waiting on a drink.

The RumBot can make either of five pre-programmed drinks at varying levels of alcoholic intensity, ranging from 1 (“Virgin”) to 10. And for that extra push over the cliff, you can turn the knob to 11 (“Problem”).

Drink selection itself is handled by a simple digital I/O on an Arduino with a 1950s-styled user interface. The frame is built out of wood and uses 3D Printed plastic parts. It houses a very robust servo on a belt stage to move the drink nozzle, and special sensors placed at either of the five drink locations detect a cup ready to be filled. Any cup placed at any of the positions will automatically be filled based on the RumBot’s settings at any particular time.

Based on the quality of the build and the increased speed of this automatic drink maker, this should be a huge hit at any party. With all the knobs turned to 11 though, it might be a good idea to have a breathalyzer on hand! All of the code and schematics for the project are available at the project site as well.


Filed under: Arduino Hacks

Voice Controlled RGB LED Lamp

[Saurabh] wanted a quick project to demonstrate how easy it can be to build devices that are voice controlled. His latest Instructable does just that using an Arduino and Visual Basic .Net.

[Saurabh] decided to build a voice controlled lamp. He knew he wanted it to change colors as well as be energy-efficient. It also had to be easy to control. The obvious choice was to use an RGB LED. The LED on its own wouldn’t be very interesting. He needed something to diffuse the light, like a lampshade. [Saurabh] decided to start with an empty glass jar. He filled the jar with gel wax, which provides a nice surface to diffuse the light.

The RGB LED was mounted underneath the jar’s screw-on cover. [Saurabh] soldered a 220 ohm current limiting resistor to each of the three anodes of the LED. A hole was drilled in the cap so he’d have a place to run the wires. The LED was then hooked up to an Arduino Leonardo.

The Arduino sketch has several built-in functions to set all of the colors, and also fade. [Saurabh] then wrote a control interface using Visual Basic .Net. The interface allows you to directly manipulate the lamp, but it also has built-in voice recognition functionality. This allows [Saurabh] to use his voice to change the color of the lamp, turn it off, or initiate a fading routing. You can watch a video demonstration of the voice controls below.


Filed under: Arduino Hacks, led hacks

NFC Ring Lock Box

[Nairod785] wanted to build a lock box that would lock from the inside. He started with an inexpensive, plain wooden box. This kept the cost down but would also allow him to easily decorate the box later on using a wood burning tool.

To keep the box locked, he installed a simple latch on the inside. The latch is connected to a servo with string. When the servo rotates in one direction, it pulls the string and releases the latch. When the servo is rotated in the opposite direction, the latch closes and locks the box once again.

If you are going to have a locked box, then you are also going to need a key to open it. [Nairod785] used a ring with a built-in NFC tag, similar to the ring featured back in March. Inside of the box is a PN532 NFC module. The walls of the box were a little too thick for the reader to detect the ring, so [Nairod785] had to scratch the wall thickness down a bit. The NFC module is connected to an Arduino Nano. Communications are handled with I2C.

The NFC ring actually has two different NFC tags in it; one on each side. [Nairod785] had to program both of the tag ID’s into the Arduino to ensure that the ring would work no matter the orientation.

The system is powered by a small rechargeable 5V battery. [Nairod785] wired up a USB plug flush with the box wall so he can easily charge up the battery while the box is locked. It also allows him to reprogram the Arduino if he feels so inclined. There is also a power switch on the side to conserve energy.


Filed under: Arduino Hacks
Hack a Day 10 Aug 15:00
arduino  arduino hacks  lock box  nano  nfc  pn532  ring  servo  

The Arduino Yun Shield

A few years ago, the most common method to put an Arduino project on the web was to add a small router loaded up with OpenWrt, wire up a serial connection, and use this router as a bridge to the Internet. This odd arrangement was possibly because the existing Arduino Ethernet and WiFi shields were too expensive or not capable enough, but either way the Arduino crew took notice and released the Arduino Yun: an Arduino with an SoC running Linux with an Ethernet port. It’s pretty much the same thing as an Arduino wired up to a router, with the added bonus of having tons of libraries available.

Since the Yun is basically a SoC grafted onto an Arduino, we’re surprised we haven’t seen something like this before. It’s an Arduino shield that adds a Linux SoC, WiFi, Ethernet, and USB Host to any Arduino board from the Uno, to the Duemilanove and Mega. It is basically identical to the Arduino Yun, and like the Yun it’s completely open for anyone to remix, share, and reuse.

The Yun shield found on the Dragino website features a small SoC running OpenWrt, separated from the rest of the Arduino board with a serial connection. The Linux side of the stack features a 400MHz AR9331 (the same processor as the Yun), 16 MB of Flash, and 64 MB of RAM for running a built-in web server and sending all the sensor data an Arduino can gather up to the cloud (Yun, by the way, means cloud).

All the hardware files are available on the Yun shield repo, with the Dragino HE module being the most difficult part to source.


Filed under: Arduino Hacks, hardware

Arduino SPI Library Gains Transaction Support

Transaction SPI Timing

To prevent data corruption when using multiple SPI devices on the same bus, care must be taken to ensure that they are only accessed from within the main loop, or from the interrupt routine, never both. Data corruption can happen when one device is chip selected in the main loop, and then during that transfer an interrupt occurs, chip selecting another device. The original device now gets incorrect data.

For the last several weeks, [Paul] has been working on a new Arduino SPI library, to solve these types of conflicts. In the above scenario, the new library will generate a blocking SPI transaction, thus allowing the first main loop SPI transfer to complete, before attempting the second transfer. This is illustrated in the picture above, the blue trace rising edge is when the interrupt occurred, during the green trace chip select. The best part, it only affects SPI, your other interrupts will still happen on time. No servo jitter!

This is just one of the new library features, check out the link above for the rest. [Paul] sums it up best: “protects your SPI access from other interrupt-based libraries, and guarantees correct setting while you use the SPI bus”.


Filed under: Arduino Hacks
Hack a Day 01 Aug 21:01

A Lego Game Controller; Just for the Hack of It

[StrangeMeadowlark] decided one day to create this badass Arduino-based gaming controller. Not for any particular reason, other than, why the heck not?!

It looks like a tiny Lego spaceship that has flown in from a nearby planet, zooming directly into the hands of an eager Earthling gamer. With buttons of silver, this device can play Portal 1 and 2, Garry’s Mod, Minecraft, and VisualBoy Advance. Although more work is still needed, the controller does the job; especially when playing Pokemon. It feels like a Gameboy interface, with a customizable outer frame.

Sticky, blue-tack holds a few wires in place. And, most of the materials are items that were found around the house. Like the gamepad buttons on top; they are ordinary tactile switches that can be extracted from simple electronics. And the Legos, which provide an easy way to build out the body console, rather than having to track down a 3D printer and learning AutoCAD.

Communication between the PC and the Arduino inside is done by having the controller pretend to be a USB keyboard, allowing for in-game mapping of the keys. Key presses are sent to the Serial-to-USB chip in buffer specific to the firmware. Not to mention, it gives the option to browse Imgur if the urge arises.

For future iterations, Joysticks might be added. It will take some time to integrate them into the controller, but it will be worth the effort. Another implementation will be the utilization of gamepad firmware instead of emulating a keyboard, which doesn’t report analog values.

Other Lego projects similar to this include this two-axis panning time lapse rig, this custom electronic Lego microcontroller system called the LegoDuino, this obstacle avoiding LEGO rover with CD wheels, this Lego Drawing Machine, and this DIY Spectrophotometer.


Filed under: Arduino Hacks

Teaching the Word Clock Some New Tricks

[Joakim] has built a clock that spells out the time in words. Wait a second – word clock, what is this, 2009? Word clocks are one of those projects that have become timeless. When we see a build that stands out, we make sure to write it up. [Joakim's] clock is special for a number of reasons. The time is spelled out in Norwegian, and since the clock is a birthday gift for [Daniel], [Joakim] added the his full name to the clock’s repertoire.

One of the hard parts of word clock design is controlling light spill. [Joakim] used a simple 3D printed frame to box each LED in. This keeps the spill under control and makes everything easier to read. The RGB LED’s [Joakim] used are also a bit different from the norm. Rather than the WS2812 Neopixel, [Joakim] used LPD8806 LED strips. On the controller side [Joakim] may have gone a bit overboard in his choice of an Arduino Yun, but he does put the ATmega328 and Embedded Linux machine to good use.

The real magic happens at boot. [Daniel's] name lights up in red, with various letters going green as each step completes. A green ‘D’ indicates an IP address was obtained from the router’s DHCP server. ‘N’ switches to green when four NTP servers have been contacted, and the Linux processor is reasonably sure it has the correct time. The last letter to change will be the ‘E’, which reports ambient light.

[Joakim] added a web interface to trigger his new features, such as a rainbow color palette, or the ability to show minutes by changing the color of the letters K,L,O,K. The final result is a slick package, which definitely brings a 2009 era design up to 2014 standards!


Filed under: Arduino Hacks, clock hacks

Electric Go-Cart Has Arduino Brains

Oh how times have changed. Back in the 30′s the VW Beetle was designed to be cheap, simple and easy for the typical owner to maintain themselves. Nowadays, every aspect of modern cars are controlled by some sort of computer. At least our go-carts are spared from this non-tinkerable electronic nightmare…. well, that’s not completely true anymore. History is repeating itself as [InverseCube] has built an electronic go-cart fully controlled by an Arduino. Did I forget to mention that [InverseCube] is only 15 years old?

The project starts of with an old gas-powered go-cart frame. Once the gas engine was removed and the frame cleaned up and painted, a Hobbywing Xerun 150A brushless electronic speed controller (ESC) and a Savox BSM5065 450Kv motor were mounted in the frame which are responsible for moving the ‘cart down the road. A quantity of three 5-cell lithium polymer batteries wired in parallel provide about 20 volts to the motor which results in a top speed around 30mph. Zipping around at a moderate 15mph will yield about 30 minutes of driving before needing to be recharged. There is a potentiometer mounted to the steering wheel for controlling the go-cart’s speed. The value of the potentiometer is read by an Arduino which in turn sends the appropriate PWM signal to the ESC.

In addition to the throttle control, the Arduino is also responsible for other operational aspects of the vehicle. There are a bunch of LED lights that serve as headlights, tail lights, turn signals, brake lights and even one for a backup light. You may be wondering why an Arduino should be used to control something as simple as brake or headlights. [InverseCube] has programmed in some logic in the code that keeps the break lights on if the ESC brake function is enabled, if the throttle is below neutral or if the ESC enable switch is off. The headlights have 3 brightnesses, all controlled via PWM signal provided by the microcontroller.

There is also an LCD display mounted to the center of the steering wheel. This too is controlled by the Arduino and displays the throttle value, status of the lights and the voltage of the battery.

 

via reddit

 


Filed under: Arduino Hacks, transportation hacks

Quick and Dirty RFID Door Locks Clean up Nice

[Shawn] recently overhauled his access control by fitting the doors with some RFID readers. Though the building already had electronic switches in place, unlocking the doors required mashing an aging keypad or pestering someone in an adjacent office to press a button to unlock them for you. [Shawn] tapped into that system by running some wires up into the attic and connecting them to one of two control boxes, each with an ATMega328 inside. Everything functions as you would expect: presenting the right RFID card to the wall-mounted reader sends a signal to the microcontroller, which clicks an accompanying relay that drives the locks.

You may recall [Shawn's] RFID phone tag hack from last month; the addition of the readers is the second act of the project. If you’re looking to recreate this build, you shouldn’t have any trouble sourcing the same Parallax readers or building out your own Arduino on a stick, either. Check out a quick walkthrough video after the jump.


Filed under: Arduino Hacks, Microcontrollers