Posts with «arduino» label

A wakeup light for kids

In order to convince his kids to stay in bed just a little longer, Maker Ralph Crutzen has created a “wakeup light” using an Arduino Mega and an RGB LED strip.

Those of us that have toddlers know that they can wake up very early. If you’d like to get some more sleep without leaving them unsupervised to dangerously play with your electronics and power tools, then a “wakeup light” could be a good solution.

Crutzen’s system uses an Arduino Mega with a real-time clock to control a strip of LEDs, along with an LCD display to change settings. Besides a reminder to kids to “please stay in bed a few minutes longer,” perhaps a similar setup could be used as alternative alarm clock for adults as well.

You can find instructions for this build on Instructables, or check out the project’s code on GitHub. Finally, if you’d like to print an enclosure to protect humans and electronics, Crutzen used this design.

14 Year Old Builds Communication Device for Brain-Injured Friend

Try not to get anything in your eye as you hear this moving story of a teen helping an injured friend communicate with the world again.

Read more on MAKE

The post 14 Year Old Builds Communication Device for Brain-Injured Friend appeared first on Make: DIY Projects and Ideas for Makers.

This machine sends messages using common chemicals

Stanford researchers led by post-doctoral fellow Nariman Farsad have built a machine that sends text messages using common chemicals.

If you’re building a project, and need to send a signal from one component to another, solutions generally involve wiring them together, or some sort of radio, perhaps Bluetooth or Wi-Fi. Farsad, however, has been working on something entirely different. His system uses commonly-available chemicals to turn a liquid, either basic or acidic, in sequence as a binary communication protocol.

But instead of zeros and ones, it sends pulses of acid (vinegar) or base (glass cleaner). The researchers type their desired message in a small computer, which  sends a signal to a machine that pumps out the corresponding “bits” of chemicals. The liquids travel through plastic tubes to a small container that reads the solution’s pH. Changes in pH are then transmitted to a computer that deciphers the encoded message.

Once perfected, a messaging system like this could be used by devices inside of a human body or by tiny robots communicating with a chemical trail like ants. It can even leave secret messages that others wouldn’t even know to look for. Though still in its infancy, this method could open up an exciting array of possibilities!

You can read all about the fascinating system on Stanford’s page and see more below!

Arduino Blog 16 Nov 15:07

Skintillates: Temporary tattoos with embedded electronics

Developed by a team of UC Berkeley students, Skintillates is a wearable technology that mimics tattoos.

When you think of temporary tattoos, you likely think of something that comes out of a gumball dispenser, or perhaps “art” that you got on a spring break trip. As interesting as those may be, Skintillates is taking things to the next level.

These “epidermal wearable interactive devices” can serve as everything from passive and active on-skin displays, to capacitive and resistive sensors for controlling gadgets, to strain gauges for posture detection.

Using several layers allows these designs to stick to the skin, integrate various electronics, and have visible art for others to see. Electronics can mean that the tattoos can integrate sensors, or perhaps even LEDs. In at least one case, these lights are programmed to flash along with the beat of music, driven by an Arduino hidden under the wearer’s clothing.

Just like the traditional temporary tattoos often worn by children and adults alike, Skintillates flex naturally with the user’s skin. Our simple fabrication technique also enables users to freely design and print with a full range of colors to create application-specific customized designs.

You can find more on this project on the Hybrid Ecologies Lab page and read the team’s entire paper here.

(Photos: Eric Paulos)

PolySync launches open-source kit for autonomous car development

If you’re tired of waiting around to get an autonomous vehicle, PolySync’s Open Source Car Control Project (OSCC) development kit can be had for under $1000.

Autonomous cars are still in their infancy, and can cost upwards of $100,000. If you’re willing to do some of the work yourself—and trust a machine you modified to drive you around—PolySync has an Arduino-based kit (nearly) available to help you build your own.

You can pre-order a kit right now for $649, and you’ll have program each Arduino module yourself when you receive it. You’ll also need a 2014-or-later Kia Soul on which to install it, chosen for its combination of drive-by-wire controls as well as relatively low price. Keep in mind, however, the project is intended for R&D and off-road use only.

The OSCC Project is built around a number of individual modules that interoperate to create a fully controllable vehicle. These modules are built from Arduinos and Arduino shields designed specifically for interfacing with various vehicle components. Once these modules have been programmed with the accompanying firmware and installed into the vehicle, the vehicle is ready to receive control commands sent over a CAN bus from a computer running a control program.

You can find the full press release for this project here and more info on its GitHub page.

(Photos: PolySync)

Power Wheels Rescued, Restored and Enhanced

It seems Power Wheels are like LEGO — they’re handed down from generation to generation.  [Nicolas] received his brand-new Peg-Perego Montana Power Wheels in 1997 as a Christmas present. After sitting in a barn for a decade, and even being involved in a flood, it was time to give it to his godchildren, though not without some restoration and added features. His webpages have a very good write-up, just shy of including schematics, but you’ll find an abbreviated version below.

The starting point

Due to time and the flood, not only did it need a new paint job, and some plastic bits restored, but the hard plastic wheels had to be emptied of water, and the entire wiring harness needed replacing, as did some of the screws. Luckily the gearbox and motors needed only cleaning and new grease.

Whether it needed it or not, [Nicolas] wanted to add an Arduino Teensy 2.0++ as brains as he hadn’t seen anyone do that before and it also allowed him to brush up on his Arduino skills.

Arduino board and speedometer LCD display

He first made use of the Arduino for one new feature, a speedometer with a dash mounted Nokia 5110 LCD display. To measure the speed he used an infrared diode along with an NPN transistor, two LM324 op-amps and a few other parts. He even drew up with some very nice custom graphics for the LCD display.

He’d originally planned to add a variable accelerator by having the Arduino do PWM to a custom H-bridge, and even went a fair way toward making it, but even at 100% PWM the speed was too slow. With only a bad oscilloscope at the time for debugging, he abandoned the H-bridge for relays instead.

Lights

When it came to the lighting, [Nicolas] went all out with high intensity white and blue LEDs on custom circuit boards. He also had to do an exhaustive search online for light covers, but luckily there’s quite a bit out there for Power Wheels parts, though some he took from a Civic at a junkyard. [Nicolas] is in France and reading his experience in hunting for these parts gives an interesting look into the difficulties in buying things from the US when shipping costs can easily exceed parts cost. We can see why sometimes it’s simply not an option.

Another new feature was a dash mounted radio. That was followed by a new battery charger, a quantity of fuses to rival that in many cars, a lovingly done paint job and many labels and stickers that show just what a job of passion this was. We’re sure his godchildren will love their better-than-new Power Wheels.

Mind you, Hackaday is no stranger to Power Wheels. But while [Nicolas’] is intended to be a safe one for his godchildren, we’ve seen them modified in the extreme opposite way with racing ones that do turns on two wheels only. Some races even have pit crews and involve vehicles with battery packs from Ford Fusion plugin hybrids.


Filed under: toy hacks

An awesome 3D-printed Daft Punk helmet

Though it’s been done before, this 3D-printed Thomas Bangalter helmet is absolutely amazing!

Daft Punk hasn’t toured in over a decade, but their music and general look seems to be becoming more and more popular. Perhaps this is due, in some small part, to the fact that Makers can now build a very good replica of their iconic helmets. Though the design for this helmet is available for download, looking at a design and building it are two different things.

In addition to printing and finishing this prop (no small task), redditor “CrazyElectrum” did quite a bit of soldering. Getting all the electronic components to “play nice” with each other certainly took a good amount of work as well!

The helmet consists of 326 LEDS with 10 programmed displays, all controlled via Bluetooth and a custom smartphone app. Meanwhile, the ears are equipped with a pair of WS2812B strips. CrazyElectrum originally employed an Arduino Uno for its brains, but later moved to a Pro Mini due to its smaller form factor, and used six 74HC595 8-bit serial to parallel shift registers.

You can find more pictures of this build on Imgur, and read more about the project on 3Ders. 3D printing files are available on Thingiverse, and code on GitHub.

Roast coffee to perfection with an Arduino and Android app

After winning the South African National Barista Championship in 2009, Neil Maree decided to actually start a company to make coffee roasting equipment. Genio was the result, and after some work, his machines can now roast coffee to perfection using recipe input via an Android app.

Once instructions are transferred, a heavily modified Arduino Due controls the roaster depending on user preferences. Maree first tried an analog solution, then used a PLC before deciding that the Arduino was what he needed.

All of Genio’s roasters have a control panel with a variety of traditional switches and knobs, and then a not-so-traditional tablet mount. The app sends a “roast profile” to the roaster over a Bluetooth connection.

Perk your interest? You can take an inside look at the roasting machine factory on htxt.africa here.

Arduino Blog 14 Nov 18:24

Ask Hackaday: How Do You Convert Negative Voltages to Positive?

I have a good background working with high voltage, which for me means over 10,000 volts, but I have many gaps when it comes to the lower voltage realm in which RC control boards and H-bridges live. When working on my first real robot, a BB-8 droid, I stumbled when designing a board to convert varying polarities from an RC receiver board into positive voltages only for an Arduino.

Today’s question is, how do you convert a negative voltage into a positive one?

In the end I came up with something that works, but I’m sure there’s a more elegant solution, and perhaps an obvious one to those more skilled in this low voltage realm. What follows is my journey to come up with this board. What I have works, but it still nibbles at my brain and I’d love to see the Hackaday community’s skill and experience applied to this simple yet perplexing design challenge.

The Problem

RC toy truck and circuit with no common

I have an RC receiver that I’ve taken from a toy truck. When it was in the truck, it controlled two DC motors: one for driving backwards and forwards, and the other for steering left and right. That means the motors are told to rotate either clockwise or counterclockwise as needed. To make a DC motor rotate in one direction you connect the two wires one way, and to make it rotate in the other direction you reverse the two wires, or you reverse the polarity. None of the output wires are common inside the RC receiver, something I discovered the hard way as you’ll see below.

I wasn’t using the RC receiver with the toy truck. I extracted it from the truck and was using it to control my BB-8 droid. My BB-8 droid has two motors configured as what in the BB-8 builders world is called a hamster drive, though is more widely known as a tank drive or differential drive (see the illustrations). Rotate both wheels in the same direction with respect to the droid and the droid moves in that direction. Reverse both wheels and it drives in the opposite direction. Make the wheels rotate in opposite directions and it turns on the spot.

The big picture – RC to drill motors

The motors in my BB-8 are drill motors and are controlled by two H-bridge boards. An Arduino does pulse width modulation to the H-bridge boards for speed control, and controls which direction the motors should turn. Finally, the RC receiver is what tells the Arduino what to do. But a converter board, the subject of this article, is needed between the RC receiver and the Arduino. Note that the Arduino is necessary also for countering when the BB-8 droid wobbles and for synchronizing sounds with the movement, but those aren’t addressed here.

Since there are two motors and two directions for each motor, the RC receiver needs to control four pins on the Arduino to make the two drill motors behave as follows: motor 1/clockwise, motor 1/counterclockwise, motor 2/clockwise, motor 2/counterclockwise. And whatever voltages the receiver puts on those pins has to be relative to the Ardunio’s ground.

And herein lies the problem. The Arduino expects positive voltages with respect to its ground on all those pins. So I needed a way to map the RC receiver’s two sets of motor control wires, which can have either positive or negative voltages across them, to the Arduino pins which only want positive voltages. And remember, none of those RC receiver wires are common inside the receiver.

My Fumbling First Approach

Now, keep in mind, electronics is a general interest of mine and except for what we were taught in high school physics class, I’m self-taught. That means I’ve “read ahead” but much of my knowledge has been determined by what projects I’ve done. So I have gaps in my knowledge. I’d never turned negative voltages into positive before. It sounded simple enough. Searching online didn’t help though. The closest I got was in two old posts in forums where the answers were “It’s easy to do. I can do it with a single resistor.” But there was no further explanation and I didn’t ask my own question anywhere at that point.

Using a transistor

Instead I came up with my own approach with just one set of wires from the RC receiver first. The wires coming from the receiver were blue and brown and could have either polarity depending on which way the receiver is being told to rotate the motor: clockwise or counterclockwise. That meant I needed two diodes to create two possible paths for the different polarities the brown wire could be: positive or negative. I then added a battery for the one path that was negative, to turn it into a positive.

Next, I put a PNP transistor between the positive of the battery and the receiver. With no signal from the RC transmitter, the transistor’s base is negative with respect to the emitter, but not enough to turn the transistor on. That’s because the battery’s negative is connected to the receiver’s blue wire and since there’s no signal from the transmitter, the brown wire is also at the same potential as the blue wire, and with battery negative.

The idea was that when the transmitter sent a signal to make that brown wire negative with respect to the blue wire, it would become even more negative and turn on the PNP transistor. A positive signal would then go from the battery, through the transistor to the Arduino.

The most obvious problem was that the Arduino wanted to see 3 volts to register as a HIGH input, meaning the battery would have to be at least 3 volts and so even with no signal from the transmitter, that would be -3 volts to the transistor, turning it on when it wasn’t supposed to be on.

Using A Relay Instead

Using a relay

And so I immediately thought of using a relay instead. I’d use the current running through the negative path to energize the relay, closing a switch that was completely independent of the RC receiver. The Arduino has a 5V output pin, so I made that switch close a circuit between the 5V pin and the Arduino’s pin 7, giving pin 7 the needed positive voltage.

The 1 in the circle in the schematic shows where I wanted to put a resistor in order to limit the current going through the relay’s coil. However, I tried with resistors all the way down to 4.7 ohms but the coil didn’t have enough current to close the switch. With no resistor, it worked and the current was 70mA. The relay’s coil was rated for 3V/120mA so I left it.

Using a relay did seem very heavy-handed, but it was the only solution I could come up with and I already had the relay in stock.

The next step was to add a second relay, doing the same for the second set of wires coming from the RC receiver for the second motor.

No Common In The Receiver

Schematic with common blue RC wires

But the behavior was seemingly sporadic. And keep in mind that there was a whole dual H-bridge circuit that was also connected to the Arduino’s ground. I’d worked with relays a lot before, and the RC receiver came from a commercially made and functional toy so I had no reason to suspect that. On the other hand, I’d made the H-bridge circuit from scratch since I already had most of the parts, and I was new to H-bridges and MOSFETs. So at first I spent a good two weeks of spare time thinking my problem was with the H-bridge and drill motor side. I’m sure we’ve all experienced the same blindness, thinking the most likely culprit is the part you had a hand in.

But at some point I disconnected the H-bridge and tested just the RC receiver circuit, watching the voltages at the Arduino pins while I remotely turned on both “motors” in both directions in all combinations (no motors were connected at the time though). The only odd behavior I saw was when I turned the motors on in opposite directions.

Notice in the schematic that I’d connected together both blue wires coming from the RC receiver. Up to that point I’d been assuming that the blue wires were common inside the receiver and that it was only the brown wires that switched from positive to negative with respect to the blue wires. From the behavior I was seeing it looked like both wires were switching polarity, possibly around some other internal common reference.

Finished RC-to-Arduino converter schematic

So I added a third relay on one of the positive paths of one of the sets of wires. That meant the corresponding blue wire no longer needed to be grounded, keeping both of the receiver’s blue wires separate. Note that I didn’t bother putting in a fourth relay for the remaining positive path, and it turned out to not be necessary. At that point the circuits worked great and continue to do so.

The Ask

And so I ask, is there a better way to convert the RC receiver output to something the Arduino can use? Relays require power, so it would be nice if there was a solution that didn’t require any extra power. My relay solution seems very early 1900s. Or maybe it’s a good solution after all, but just one of many. Let us know in the comments below.


Filed under: Arduino Hacks, Ask Hackaday

Robot lets your dog walk itself using Arduino and sausage

After recently meeting each another in Cologne, Simone Giertz and Laura Kampf decided to put their creative minds together to build a cartoon-inspired robot for Kampf’s dog, Smudo. The idea is fairly straightforward: a device that “makes a dog walk itself” by dangling a piece of sausage in front of their head.

The contraption consists of a lightweight, ergonomic aluminum harness that bends over Smudo, along with an Arduino Uno and a servo motor tasked with wiggling the hot dog around.

You can see how it works and hear more from the creators themselves the video below!