Posts | Comments

Planet Arduino

Archive for the ‘video hacks’ Category

Drone racing is nifty as heck, and a need all races share is a way to track lap times. One way to do it is to use transponders attached to each racer, and use a receiver unit of some kind to clock them as they pass by. People have rolled their own transponder designs with some success, but the next step is ditching add-on transponders entirely, and that’s exactly what the Delta 5 Race Timer project does.

A sample Delta 5 Race Timer build (Source: ET Heli)

The open-sourced design has a clever approach. In drone racing, each aircraft is remotely piloted over a wireless video link. Since every drone in a race already requires a video transmitter and its own channel on which to broadcast, the idea is to use the video signal as the transponder. As a result, no external hardware needs to be added to the aircraft. The tradeoff is that using the video signal in this way is trickier than a purpose-made transponder, but the hardware to do it is economical, accessible, and the design is well documented on GitHub.

The hardware consists of RX508 video receiver PCBs modified slightly to enable them to communicate over SPI. Each RX508 is attached to its own Arduino, which takes care of low-level communications. The Arduinos are themselves connected to a Raspberry Pi over I2C, allowing the Pi high-level control over the receivers while it serves up a web-enabled user interface. As a bonus, the Pi can do much more than simply act as a fancy stopwatch. The races themselves can be entirely organized and run through the web interface. The system is useful enough that other projects using its framework have popped up, such as the RotorHazard project by [PropWashed] which uses the same hardware design.

While rolling one’s own transponders is a good solution for getting your race on, using the video transmission signal to avoid transponders entirely is super clever. The fact that it can be done with inexpensive, off the shelf hardware is just icing on the cake.

If you’re going to be flying around a FPV-capable aircraft, be it a quadcopter or a fixed-wing plane, you shouldn’t be surprised if bystanders want to take a turn wearing your googles. Of course we hope that you’re good enough flying line of sight that you don’t need to be wearing the googles to stay airborne, but it does make it harder to pull off the sort of tricks and maneuvers that your audience wants to see. So if you want to put on a good show, the audience really needs their own display.

Unfortunately, as avid FPV flier [Michael Delaney] discovered, even the “cheap” ones will run you at least $100 USD. So he did what any self-respecting hacker would do, he set out to build his own. Using a collection of off the shelf components he was able to build a very impressive monitor that lets the viewer see through the eyes of his quadcopter at less than half the cost of commercially available offerings. Though even if he hadn’t manged to beat the cost of a turn-key monitor, we think it would have been more than worth it for this piece of highly customized gear.

At the heart of the monitor is a Boscam RX5808 5.8 GHz receiver, which is controlled by an Arduino Pro Mini. The video output from the receiver is sent to a 4.2″ TFT screen intended for the Raspberry Pi, and on the backside of the laser-cut wooden enclosure there’s a 128 x 64 I2C OLED to display the currently selected channel and diagnostic information.

An especially nice touch for this project is the custom PCB used to tie all the components together. [Michael] could have taken the easy route and sent the design out for fabrication, but instead went with the traditional method of etching his own board in acid. Though he did modernize the process a bit by using a laser and pre-sensitized copper clad board, a method that seems to be gaining in popularity as laser engravers become a more common component of the hacker’s arsenal.

We’ve previously covered using the RX5808 and Arduino combo to create a spectrum analyzer, in case you want to do more than just watch your friends do powerloops.

Racing is certainly exciting for the person rocketing around the track fast enough to get the speedometer into the triple digits, and tends to be a decent thrill for the spectators if they’ve got good seats. But if you’re just watching raw race videos on YouTube from the comfort of your office chair it can be a bit difficult to appreciate. There’s a lack of context for the viewer, and it can be hard to get the same sense of speed and position that you’d have if you saw the event first hand.

In an effort to give his father’s racing videos a bit more punch, [DusteD] came up with a clever way of adding video game style overlays to the recordings. The system provides real-time speed, lap times, and even a miniature representation of the track complete with a marker to show where the action is taking place. The end result is that recordings of Dad’s exploits on the track could pass as gameplay footage from Gran Turismo (we know GT doesn’t have motorcycles, but you get the idea).

The first part of the system is the tracker itself, which consists of a GPS receiver, an Arduino Pro Micro, and an SD card module. [DusteD] powers the device with two 18650 cells in parallel, and a DC-DC boost converter to step it up to 5V. Everything is contained in a 3D printed enclosure that he designed in OpenSCAD, with the only external elements being a toggle switch, a momentary switch, and most critically, a set of LEDs.

These LEDs play into the second part of the system, the software. The blinking LEDs are positioned so they’ll get picked up by the camera, which is then used to help synchronize the data stored on the SD card with the video. [DusteD] came up with some software that will take the speed and position information from the card, and turn it into PNG files with transparent backgrounds. These are then placed on top of the video with the help of FFmpeg. It takes a little adjustment to get everything lined up properly, but as the video after the break shows the end result is very impressive.

This build reminds us of the Raspberry Pi powered GPS helmet camera we featured a few years back, and it’s interesting to see how the two projects achieved what’s essentially the same goal in different ways.

Video resolution is always on the rise. The days of 640×480 video have given way to 720, 1080, and even 4K resolutions. There’s no end in sight. However, you need a lot of horsepower to process that many pixels. What if you have a small robot powered by a microcontroller (perhaps an Arduino) and you want it to have vision? You can’t realistically process HD video, or even low-grade video with a small processor. CORTEX systems has an open source solution: a 7 pixel camera with an I2C interface.

The files for SNAIL Vision include a bill of materials and the PCB layout. There’s software for the Vishay sensors used and provisions for mounting a lens holder to the PCB using glue. The design is fairly simple. In addition to the array of sensors, there’s an I2C multiplexer which also acts as a level shifter and a handful of resistors and connectors.

Is seven pixels enough to be useful? We don’t know, but we’d love to see some examples of using the SNAIL Vision board, or other low-resolution optical sensors with low-end microcontrollers. This seems like a cheaper mechanism than Pixy. If seven pixels are too much, you could always try one.

Thanks [Paul] for the tip.


Filed under: Arduino Hacks, video hacks

Video resolution is always on the rise. The days of 640×480 video have given way to 720, 1080, and even 4K resolutions. There’s no end in sight. However, you need a lot of horsepower to process that many pixels. What if you have a small robot powered by a microcontroller (perhaps an Arduino) and you want it to have vision? You can’t realistically process HD video, or even low-grade video with a small processor. CORTEX systems has an open source solution: a 7 pixel camera with an I2C interface.

The files for SNAIL Vision include a bill of materials and the PCB layout. There’s software for the Vishay sensors used and provisions for mounting a lens holder to the PCB using glue. The design is fairly simple. In addition to the array of sensors, there’s an I2C multiplexer which also acts as a level shifter and a handful of resistors and connectors.

Is seven pixels enough to be useful? We don’t know, but we’d love to see some examples of using the SNAIL Vision board, or other low-resolution optical sensors with low-end microcontrollers. This seems like a cheaper mechanism than Pixy. If seven pixels are too much, you could always try one.

Thanks [Paul] for the tip.


Filed under: Arduino Hacks, video hacks

[Kevin] wanted to make something using a small CRT, maybe an oscilloscope clock or something similar. He thought he scored big with a portable black and white TV that someone threw away, but it wouldn’t power on. Once opened, he thought he found the culprit—a couple of crusty, popped capacitors. [Kevin] ordered some new ones and played with the Arduino TVout code while he waited.

The caps arrived, but the little TV still wouldn’t chooch. Closer inspection revealed that someone had been there before him and ripped out some JST-connected components. Undaunted, [Kevin] went looking for a new CRT and found a vintage JVC camcorder viewfinder on the electronic bay with a 1-1/8″ screen.

At this point, he knew he wanted to display the time, date, and temperature. He figured out how the viewfinder CRT is wired, correctly assuming that the lone shielded wire is meant for composite video. It worked, but the image was backwards and off-center. No problem, just a matter of tracing out the horizontal and vertical deflection wires, swapping the horizontal ones, and nudging a few pixels in the code. Now he just has to spin a PCB, build an enclosure, and roll his own font.

[Kevin]’s CRT is pretty small, but it’s got to be easier on the eyes than the tiniest video game system.


Filed under: Arduino Hacks, video hacks

If you haven’t been paying attention, big wheel trikes are a thing. There are motor driven versions as well as OG pedal pushing types . [Flux Axium] is of the OG (you only get one link, now its on you) flavor and has written an instructable that shows how to achieve some nice looking on screen data that he syncs up with the video for a professional looking finished product which you can see in the video after the break.

[Flux Axium] is using an Arduino Mega in his setup along with a cornucopia of sensors and all their data is being logged onto an SD card. All the code used in his setup is available in his GitHub repository. [Flux Axium] was also nice enough to include the calibration process he used for the sensors which is also located in the GitHub download.

Sadly [Flux Axium] uses freedom hating software for combining the video and data, Race Render 3 is his current solution and he is pleased with the results. Leave it in the comments if you have an open source solution for combining the video and data that we can offer him as a replacement.


Filed under: Arduino Hacks, video hacks

Making retro video games on today’s micro controllers brings many challenges, especially when using only the micro controller itself to handle the entire experience. Complex graphics, sound, game logic and input is taxing enough on the small chips, toss in NTSC color graphics and you have a whole different bear on your hands.

[rossum] set out making the Arduinocade retro game system using an overclocked Arduino Uno, and not much more. Supporting 4 voice sound and IR game controllers, the system also boasts 27 simultaneous colors all in software. These colors and the resolution feel like they’re impossible without a graphics chip to offload some of the work. While doing all of this the ATmega328p is also playing some faithful reproductions of classic arcade games.

The uses a couple of interesting tricks. Color is generated with NTSC color artifacts, where the screen is really black and white, but thanks to a delay or two in the signal generation the bits are out of phase from the reference “color burst” signal and appear on-screen as unique colors. This approach was used in the 8 bit Apple II personal computers to generate its colors, and also on the early IBM PC’s with CGA cards to drastically increase color depth. In this case, the chip is overclocked with a 28.6363 MHz crystal (a multiple of NTSC timing) and the SPI hardware leveraged to shift out all the necessary pixels. Check out how great it looks and sounds after the break.

It’s good to see an old trick on a new project and we are off to play some games!


Filed under: Arduino Hacks, video hacks

If you want video support on your project, you might start from a device like a Raspberry Pi that comes with it built in. [Kevinhub88] doesn’t accept such compromises, so he and his Black Mesa Labs have come up with a whole new way to add video support to devices like the Arduino and other cheap controllers. This project is called Mesa-Video, and it can add digital video at a resolution of up to 800 by 600 pixels to any device that has a single serial output.

The video is created by an FT813, a low cost GPU from FTDI that offers a surprising amount of video oomph from a cheap, low power chip (he has demoed it running from a lemon battery), meaning that he is hoping to be able to sell the Mesa-Video for under $50.

However, Mesa-Video is just the beginning. [Kevinhub88] wanted to get around the problem of stacking shields on Arduinos: add more  than one and you get problems. He wanted to create an interface that would be simpler, faster and more open, so he created the Mesa-Bus. This effectively wraps SPI and I2C traffic together over a simple, fast serial connection that doesn’t require much decoding. This means that you can send power and bi-directional data over a handful of wires, and still connect multiple devices at once, swapping them out as required. You could, for instance, do your development work on a PC talking to the prototype devices over Mesa-Bus, them swap the PC out for an Arduino when you have got the first version working in your dev environment. Is the Arduino not cutting it? Because Mesa-Bus is cross-platform and open source, it is easy to swap the Arduino for a Raspberry Pi without having to change your other devices. And, because all the data is going over a simple serial connection in plain text, it is easy to debug.

It’s an ambitious project, and [Kevinhub88] has a way to go: he is currently working on getting his first prototype Mesa-Bus devices up and running, and finalizing the design of the Mesa-Video. But it is an impressive start and we’ll be keeping a close eye on this work. Hopefully he can avoid that head crab problem as well because those things are as itchy as hell.


Filed under: Arduino Hacks, video hacks
Ago
22

TightLight: A 3D projection mapping assistant

3d, 3d graphics, 3d modeling, arduino hacks, photocell, projection, projectors, video hacks Commenti disabilitati su TightLight: A 3D projection mapping assistant 

tightLight

Anyone can grab a projector, plug it in, and fire a movie at the wall. If, however, you want to add some depth to your work–both metaphorical and physical–you’d better start projection mapping. Intricate surfaces like these slabs of styrofoam are excellent candidates for a stunning display, but not without introducing additional complexity to your setup. [Grady] hopes to alleviate some tedium with the TightLight (Warning: “music”).

The video shows the entire mapping process of which the Arduino plays a specific role toward the end. Before tackling any projector calibration, [Grady] needs an accurate 3D model of the projection surface, and boy does it look complicated. Good thing he has a NextEngine 3D laser scanner, which you’ll see lighting the surface red as it cruises along.

Enter the TightLight: essentially 20 CdS photocells hooked up to a Duemilanove, each of which is placed at a previously-marked point on the 3D surface. A quick calibration scan scrolls light from the projector across the X then Y axis, hitting each sensor to determine its exact position. [Grady] then merges the photocell location data with the earlier 3D model using the TouchDesigner platform, and bam: everything lines up and plays nice.


Filed under: Arduino Hacks, video hacks


  • Newsletter

    Sign up for the PlanetArduino Newsletter, which delivers the most popular articles via e-mail to your inbox every week. Just fill in the information below and submit.

  • Like Us on Facebook