Posts with «featured» label

Program smart devices with a ‘magic wand’

Consider how interactive devices have come to dominate our lives. Once the purview of a select few in large laboratories, powerful gadgets—supercomputers even—are carried with us everywhere we go in the form of smartphones. And as everything around us becomes increasingly more connected, those that have no interest in the technical aspects of computing will still need to know how to configure the networked things throughout their homes.

As an experiment in interactive design, Austrian researchers Florian Güldenpfennig, Daniel Dudo, and Peter Purgathofer have come up with a ‘Magic Paradigm’ for programming.

Their project uses a wand with a built-in RFID reader, allowing it to sense which RFID tagged object it’s pointing to and register various sequences. This enables devices to be customized as needed, many of which contain an Arduino Nano as ‘active’ units and an nRF24L01+ module for communication. A central desktop/Arduino setup is also implemented to coordinate system elements.

We are surrounded by an increasing number of smart and networked devices. Today much of this technology is enjoyed by gadget enthusiasts and early adaptors, but in the foreseeable future many people will become dependent on smart devices and Internet of Things (IoT) applications, desired or not. To support people with various levels of computer skills in mastering smart appliances as found, e.g., in smart homes, we propose the ‘magic paradigm’ for programming networked devices. Our work can be regarded as a playful ‘experiment’ towards democratizing IoT technology. It explores how we can program interactive behavior by simple pointing gestures using a tangible ‘magic wand’. While the ‘magic paradigm’ removes barriers in programming by waiving conventional coding, it simultaneously raises questions about complexity: what kind of tasks can be addressed by this kind of ‘tangible programming’, and can people handle it as tasks become complex? We report the design rationale of a prototypical instantiation of the ‘magic paradigm’ including preliminary findings of a first user trial.

This compass reads the correct heading even when tilted

Consider an analog or even digital compass. While you can reasonably expect either to point towards magnetic north when held flat, when you add tilt and/or roll to the equation, things get a bit wonky. That is unless you’re maker “lingib,” who was able to construct a magical compass using an Arduino Uno and an MPU-9250 IMU unit, with an accelerometer/gyro in the same package.

As seen in the video below, when the compass unit is set at an angle, the heading output varies significantly—as much as 100 degrees according to the project write-up. When stabilization is turned on, however, the gyro/accelerometer is used to compensate for magnetometer heading variations—reducing output errors to just a few degrees.

This Instructable explains how to make a tilt compensated compass using an Arduino Uno R3, an LCD display, and an IvenSense MPU-9250 multi-chip-module that contains an MPU-6050 accelerometer / gyro and an AK8963 magnetometer within the same package.

The LCD simultaneously displays the heading, (P)itch, and (R)oll.

The heading accuracy is within 2 degrees depending on how well the compass has been calibrated.

Without tilt compensation the compass headings vary significantly … sometimes by as much as 100 degrees.

When stabilised, the tilted compass headings only vary by one or two degrees … the improvement is amazing.

The tilt stabilization may be disabled by placing a jumper wire between Arduino pins A0 and GND.

Arduino Blog 15 May 14:12

Modular CNC machine made with Arduino

Arduino boards running GRBL software have long been used for CNC machine control, but usually you need to choose between having a router or laser cutter. This project, however, is specifically designed to accommodate both with a modular carriage system.

Build-wise, it’s a fairly standard XYZ gantry CNC — with a frame made out of V-slot aluminum extrusions from OpenBuilds cut to length by a circular saw. The X and Y axes are controlled via NEMA 17 stepper motor and belt drive assemblies, while height adjustment is accomplished with a NEMA 23 motor and screw drive.

The electronics are all hidden away in a separate enclosure, including the Arduino Uno/CNC shield that serves as the brains of the operation and a cooling fan to keep the temperature inside in check. 

If you’ve been considering doing this type of build, this looks like a great place to start, and you can see a demos of it in laser and spindle modes in the videos below.

Current limiting Hacky Racer throttle

Hacky Racers, an electric vehicle racing series that’s part of the Power Racing Series, encourages drivers to put together their own hacky vehicle. While it looks like a lot of fun, in order to keep things relatively safe, current powering the car is regulated by an inline fuse from the battery, effectively limiting the top power output to the motor—thus keeping speed in check.

This means that while drivers need some control over how fast their motor is running, traditional PWM control where as much power is thrown to the motor as needed to keep it at a certain speed doesn’t really work. Instead, you need a system that controls how much current is provided. It’s a subtle problem, solved here with the addition of an Arduino Nano, which regulates output based on feedback from a current clamp sensor. While it won’t let a racer exceed the current limit, it does allow for maximum output when needed without tripping the fuse!

Those wishing to learn more can read the full write-up here and check out Hackaday’s recent article.

Arduino Blog 15 May 13:57

Washing machine becomes ‘universal’ rotary tool

If you have a broken washing machine, you may want to think twice before disposing of it. As Stephen John Saville shows in this multi-use rotary table project, they can provide a wealth of parts, from the actual physical structure/table of the build, to a motor that’s able to run via AC or DC, and various other mechanical components. There’s even an electronic timer salvaged from an old microwave.

To keep the turntable running at the desired speed, he used an Arduino Nano connected to a triad circuit, along with an LM393 chip and optocoupler to implement closed-loop control. User feedback is shown on a 16×2 LCD screen, updated every two seconds to avoid interfering with speed control functions. 

More info on this clever hack can be found in its well-detailed write-up, and be sure to check out the very entertaining video of what’s involved in such a repurposing feat below! 

Arduino Blog 14 May 14:17

Clean your whiteboard automatically with Wipy

If you have to do a lot of drawing on a whiteboard, you also have to clean it. Why not have a robot do this instead? That’s the idea behind Wipy, an Arduino Uno-based robot that uses magnets to stick it to the board, plus grippy wheels and motors to power it across your scribbles.

Wipy employs an array of IR sensors that enable it to act as a line follower, along with a time-of-flight (ToF) sensor to detect your hand on the board. While one might assume this sensing arrangement would prevent it from erasing your work-in-progress, it annoyingly allows it to start erasing immediately when you start drawing on the board. At least it has a cute LED face!

Did you ever get tired of cleaning the whiteboard? Have you ever wondered how much your life would improve if a robot could do this for you? You now have the chance to make this a reality with Wipy: the overly motivated whiteboard cleaner. Wipy will properly clean your embarrassingly bad drawings, and it will even do it with a cute smile. You don’t even need to activate it! It will just clean the board when you least expect it… Uhhh…*cough cough*…we, of course, mean: when you need it most!

– Our future friend will be able to stick to the board using magnets and is able to move through space using grippy wheels.

– It will be able to follow a line and erase it using a line-following sensor and a sponge.

– Wipy has the ability to measure the distance to your hand using a time-of-flight sensor.

– We will give Wipy a cute personality using a small OLED screen.

Automated plant tending with Arduino

Do you like plants, but not so much the tending to and watering them? If that sounds like you, then you might be interested in your own CNC growing machine. The system—created by 15-year-old maker “daily3dprinting”—is controlled by an Arduino Uno, and uses a single stepper motor to pull a watering head into position based on hygrometer readings.

A relay is used to turn the grow light on at 6am and off at 8pm, and another to activate the unit’s water pump. A third relay is employed to power off the L298N stepper driver when not needed. 

The project took home second place in the math and engineering category at daily3dprinting’s high school science fair, and more info on the build is available in its write-up here.

Maker Faire Bay Area 2019: Call for volunteers

Planning to attend Maker Faire Bay Area this month? Arduino will be joining the festivities with a booth in partnership with Microchip — Expo Hall, Area 2 — and Massimo Banzi’s State of Arduino talk on Saturday at 2 pm on the Center Stage. We’re also looking for volunteers to welcome visitors, staff tables and displays, assist with one-on-one demos, and offer technical assistance when necessary.

Those who help us out will receive a one-day pass, so they can explore and enjoy everything happening around the faire grounds. Water, snacks, and an Arduino t-shirt will be provided, and we’ve even prepared a small gift to show our appreciation at the end of your shift.

If interested, please fill out this questionnaire and we’ll get back to you soon!

Bitty is a tiny Arduino-compatible drum machine/synth

There are a wide variety of ways to create electronic music. For a capable machine that fits in the palm of your hand and is loud enough to use outdoors, however, it’s hard to imagine a battery-powered device cooler than Bitty from Curious Sound Objects. 

The pocket-sized drum machine and synthesizer, currently on Kickstarter, was prototyped using an Arduino Nano and will be fully Arduino-compatible when released. This means that in addition to changing the sound and interface around with readily-available sound packs—which include Theremin Bitty, Techno Bitty, Basement Bitty, Trap Bitty, Lofi Bitty, and Beach Bitty—it can be programmed with the Arduino IDE. The device can even run sound software written for other Arduino boards.

Bitty features four sample trigger buttons, a pair of knobs, and a speaker. Designed for entry-level EDM enthusiasts and studio musicians alike, you can play the drums and melodies manually, as well as trigger patterns to produce dance music or hip hop beats. These can be chosen via the left knob, while the right knob handles pitch, note selection, and arpeggiation.

Check it out in action below!


Use an LED matrix as a scanner

Consider that a digital camera uses an array of sensors to capture light from an object. Maker Marcio T, however, decided to turn this idea on its head and instead use an array of lights that are detected by a single sensor.

The way it works is that as each LED in a 32×32 matrix illuminates, a phototransistor picks up light if the path is clear or sees no change if the path is blocked. So when you put an object on the matrix, the sensor is able to get an accurate picture of it, enabling its Arduino Uno controller to then generate its silhouette. 

It’s a simple yet very clever hack, and if you pay close attention in the video below, you can see the lights scanning from the bottom to top before the image is produced.

Ordinary digital cameras work by using a large array of light sensors to capture light as it is reflected from an object. In this experiment, I wanted to see whether I could build a backwards camera: instead of having an array of light sensors, I have just a single sensor; but I control each of 1,024 individual light sources in a 32 x 32 LED matrix.

The way it works is that the Arduino illuminates one LED at a time, while using the analog input to monitor changes in the light sensor. This allows the Arduino to test whether the sensor can “see” a particular LED. This process is repeated for each of the 1,024 individual LEDs rapidly to generate a map of visible pixels.

If an object is placed between the LED matrix and the sensor, the Arduino is able to capture the silhouette of that object, which is lit up as a “shadow” once the capture is complete.

Arduino Blog 01 May 18:55