A couple of years ago, [philo mech] came across [David Ratliff]’s NeoPixel compass project. Ever since then, he’s wanted to make his own. To his delight, [philo mech] was able to find time to do just that.
An Arduino Pro Mini drives an LSM303DLHC compass/accelerometer breakout board and a 12-LED NeoPixel ring. The heading is indicated with a red ‘Pixel between two yellow ones. In the video after the break, [philo mech] gives several demonstrations of the ring’s red indicator in relation to a standard compass arrow.
This colorful compass currently boasts two very useful modes: one to track the whereabouts of North, and the other for determining the user’s current heading. Mk. II will compensate for tilt and will employ a 16-Pixel ring to display finer degrees of directional change. Want to make your own? The code is pasted in the video’s comments.
Continue reading “Neopixel Ring Compass Takes Things in a New Direction”
Typing comfortably on a Smart Phone is best done using an external keyboard, especially if you spend a lot of time on IRC or use other chat apps. Obviously, the keyboard needs to be portable too. [cy384] felt the current crop of portable keyboards left a lot to be desired in terms of build quality and feel. That’s when the Palm Portable Keyboard (PPK) caught his eye. It’s small enough to fold up and fit in a pocket, yet unfolds to a size big enough to feel comfortable while typing. Unfortunately, the version he preferred to use did not have either a Bluetooth or a USB interface, so he built up this Palm keyboard adapter.
The portable keyboards have a serial interface and custom connectors depending on the Palm model they were designed to connect to. [cy384]’s goal was to adapt the PPK as a generic USB HID keyboard using an Arduino Pro Mini clone, with a 3D printed adapter for both of the keyboard types that he had. The keyboards use inverted TTL logic at 9600 baud with no parity and one stop bit. Some handshaking needs to be taken care of and there’s a low power mode that needs to be managed via the Arduino code. He was lucky to get his hands on a reference document that provided the hardware and software details to help him crack all of this. His Github repository has the code and 3D printable files for the adapters.
When choosing weapons to defend yourself in the next zombie apocalypse, dart jamming whilst firing your Nerf Gun can be a deal-breaker. This clogging is an issue with many “semi-automatic” Nerf Guns. When our trigger-happy fingertips attempt to shoot a dart that hasn’t finished loading into the firing chamber, the halfway-loaded dart folds onto itself and jams the chamber from firing any more darts. The solution, as intended by Nerf, would be to open the chamber lid and manually clear the pathway. The solution, according to [Technician Gimmick], however, is active sensing, and the resulting “smart” dart gun is the TR-27 GRYPHON.
To prevent jamming from occurring altogether, [Technician Gimmick] added a trigger-disable until the dart has fully loaded into the firing chamber. An IR LED, harvested from a mouse scroll wheel, returns an analog value to the microcontroller’s analog-to-digital converter, allowing it to determine whether or not a dart is ready for firing. The implementation is simple, but the results are fantastic. No longer will any gun fire a dart until it has completely entered the chamber.
The TR-27 GRYPHON isn’t just a Nerf Gun that enables “smart” dart sensing. [Technician Gimmick] folded a number of other features into the Nerf Gun that makes it a charmer on the shelf. First, a hall-sensor array identifies the current cartridge loaded into the Nerf Gun and it’s carrying capacity. To display this value and decrement appropriately, [Technician Gimmick] added a dual-seven segment display, a trick we’ve seen before. Finally, a whopping 3S LiPo battery replaces the original alkaline batteries, and the voltage-reducing diodes have been cropped, enabling a full 12.6 Volt delivery to the motors at full charge.
We’re glad to see such a simple trick go such a long way as to almost entirely eliminate Nerf dart jams. For all those braving the Humans-Versus-Zombies frontier this season, may this clever trick keep you alive for just a bit longer.
Continue reading “Active “Dart-Sensing” Makes Your Nerf Gun Smarter”
[Sigurd] manage to obtain an old vending machine from his dorm. The only problem was that the micocontroller on the main board was broken. He and his friend decided they could most likely get the machine back into working order, but they also knew they could probably give it a few upgrades.
This system uses two Arduino Pro Minis and an Electric Imp to cram in all of the new features. One Arduino is connected to the machine’s original main board. The Arduino interfaces with some of the shift registers, relays, and voltage regulators. This microcontroller also lights up the buttons on the machine as long as that particular beverage is not empty. It controls the seven segment LED display, as well as reading the coin validator.
The team had to reverse engineer the original coin validator in order to figure out how the machine detected and counted the coins. Once they figured out how to read the state of the coins, they also built a custom driver board to drive the solenoids.
A second Arduino is used to read NFC and RFID cards using a Mifare RC522 reader. The system uses its own credit system, so a user can be issued a card with a certain amount of pre-paid credit. It will then deduct credit appropriately once a beverage is vended. The two Arduinos communicate via Serial.
The team also wanted this machine to have the ability to communicate with the outside world. In this case, that meant sending cheeky tweets. They originally used a Raspberry Pi for this, but found that the SD card kept getting corrupted. They eventually switched to an Electric Imp, which worked well. The Arduino sends a status update to the Imp every minute. If the status changes, for example if a beverage was dispensed, then the Imp will send a tweet to let the world know. It will also send a tweet to the maintenance person if there is a jam or if a particular slot becomes empty. Continue reading “A Tweeting Vending Machine”
Twenty Euros will score you a small, self-contained GPS keychain. Crack that case open and you can have a lot more. [j3tstream] explored the guts of the thing and found that the NMEA data can be streamed out of the TX pin on the GPS chip.
First off, check out that miniscule GPS antenna module, crazy! But we digress. For testing purposes the asynchronous UART of the GPS was probed, proving that the data can be acquired. From there [j3tstream] moved to an Arduino Pro Mini with an SD card for data logging. The uC is powered from the GPS board but this will quickly exhaust the stock battery so [j3tstream] swapped it out for one from an old cellphone.
That little dot-matix LCD that comes with the unit also caught our eye. If you can hack a headless interface for the GPS that could be repurposed for your next project. May we suggest a wearable gaming project for it?
One of the bigger problems with any CNC machine or 3D printer is the issue of missed steps when moving the toolhead. If a stepper motor misses a step, the entire layer of the print – and every layer thereafter – will be off by just a tiny bit. Miss a few more steps, and that print will eventually make its way into the garbage. [Misan] has the solution to this: closed loop control of DC motors for a 3D printer.
Most printer firmwares use an open loop control system for moving their motors around. Step a few times in one direction, and you know where the nozzle of a 3D printer will be. Missed steps confound the problem, and there’s no way for the firmware to know if the nozzle is where it should be at any one time.
[Misan]’s solution to this was a DC motor coupled to an optical encoder. Both the motor and the encoder are connected to an Arduino Pro Mini which receives step and direction commands from the printer controller. The controller takes care of telling the motor where to go, the Arduino takes care of making sure it gets there.
The entire build is heavily derived from ServoStrap, but [Misan] has a very cool demo of his hardware: during a print, he can force the X and Y axes to either side, and the Arduino in each motor will move the print head back to where it needs to be. You can check that out below.
Continue reading “Closed Loop Control For 3D Printers”
[Patrick] was looking for an easier way to control music and movies on his computer from across the room. There is a huge amount of remote control products that could be purchased to do this, but as a hacker [Patrick] wanted to make something himself. He calls his creation, “Dial” and it’s a simple but elegant solution to the problem.
Dial looks like a small cylindrical container that sits on a flat surface. It’s actually split into a top and bottom cylinder. The bottom acts as a base and stays stationary while the top acts as a dial and a push button. The case was designed in SOLIDWORKS and printed on a 3D printer.
The Dial runs on an Arduino Pro mini with a Bluetooth module. The original prototype used Bluetooth 2.0 and required a recharge after about a day. The latest version uses the Bluetooth low energy spec and can reportedly last several weeks on a single charge. Once the LiPo battery dies, it can be recharged easily once plugged into a USB port.
The mechanical component of the dial is actually an off-the-shelf rotary encoder. The encoder included a built-in push button to make things easier. The firmware is able to detect rotation in either direction, a button press, a double press, and a press-and-hold. This gives five different possible functions.
[Patrick] wrote two pieces of software to handle interaction with the Dial. The first is a C program to deal with the Bluetooth communication. The second is actually a set of Apple scripts to actually handle interaction between the Dial and the various media programs on his computer. This allows the user to more easily write their own scripts for whatever software they want. While this may have read like a product review, the Dial is actually open source! Continue reading “Dial is a Simple and Effective Wireless Media Controller”