Home arrow Tutorials
Tutorials
Light Sequencing and Decoding DMX with an Arduino | Print |
Written by Akiba   
Monday, 31 October 2011

It's been a while since I posted anything and that deserves another post just to talk about everything that happened in the last 8 months since the March earthquake and tsunami here in Japan. I'm a little bit tired of heavy topics and serious projects so I thought I'd put together a little something that's kind of fun and also timely. Now that we're moving into the holiday season, we're about to start seeing the hard core Christmas people setting up the elaborate light displays. The equipment to switch all the lighting channels and sequence everything is usually a bit costly but it doesn't have to be. If you're familiar with the Arduino environment and willing to put in a bit of elbow grease, blinging out your lawn is just a couple of mouse clicks away :)

I put this three part video tutorial together on how to use the Arduino platform to decode the DMX protocol. The DMX protocol is a standard protocol for stage lighting displays and it happens to be supported by a nice freeware light sequencer called Vixen. In the first part, I go over the DMX-512 protocol and the Arduino source code to decode it. In the second part, I show how to configure a lighting sequence with Vixen, some hardware implementations, and the whole system working together. And in the final part, I show how some simple changes to the code can enable you to control your lights wirelessly.

Read more...
 
Feeding the Shark - Turning the Freakduino into a Realtime Wireless Protocol Analyzer with Wireshark | Print |
Written by Akiba   
Wednesday, 29 December 2010

One of the most powerful tools to have when doing any type of design that involves communication protocols is a protocol analyzer. It allows you to see exactly what the communicating devices are seeing which is very useful for troubleshooting many types of problems that might come up. This is especially important for wireless communications because this is often the only way to see what type of data is going over the air. It also allows the user to see if there are any rogue frames, check for breaches of the communication protocol, analyze traffic, or reverse engineer a proprietary protocol. And of course, it’s extremely useful for learning about how a protocol operates and behaves in real-life.

Read more...
 
Weatherproof Wireless Enclosure Build Tutorial | Print |
Written by Akiba   
Tuesday, 10 August 2010

Hi all.

No, I haven't been dead these past few weeks. I've actually been spending a lot of my free time researching how to build a weatherproof enclosure for the rice farm sensing project in the Tokyo Hackerspace. I've mentioned it previously and the project takes place in Kamogawa which is about an hour and a half outside of Tokyo. The place is a complete contrast to Tokyo and has problems with monkeys, boars, poisonous snakes, and some nasty bugs. Overall, quite interesting, although I am a bit scared of poisonous snakes.

Anyways, we'll be going out there this weekend to check out the terrain and I thought it might be good to bring out a prototype of what I have in mind for the outdoor sensor network project. There's not enough time to build a finished device, but I figured that I could at least put together a mock up that's very close to the real thing. It would at least give people in the hackerspace and others involved an idea of what I mean when I'm talking about agricultural sensor networks. 

The real difficulty in keeping anything outdoors for extended periods of time is how to ruggedize it to withstand the elements. Nature has a way of decomposing anything you put in front of her, and since there's going to be issues with wild animals, it would have to withstand being hit, bitten, nibbled on, and trampled as well. 

Read more...
 
Tutorial - Using CmdArduino | Print |
Written by Akiba   
Friday, 23 July 2010

The Arduino Command Line Interface, aka CmdArduino, is a simple shell that can be run on an Arduino. It's nothing fancy and its main purpose is to allow users to easily call their functions on a running Arduino via a simple serial terminal. It also allows users to pass in arguments from the command line into the functions they wrote so they can easily toggle pins, set blinking speed, set pwm duty cycles, or whatever else might need command line user input. Using it is fairly simple and just requires unzipping the files into the "Arduino/libraries" sub-directory in the Arduino program folder. The following is a tutorial that goes into more detail about how to implement CmdArduino in a sketch and easily add user functions to the command table. 

Read more...
 
Getting Started With The ATXMega - The ATXMega Test Library | Print |
Written by Akiba   
Tuesday, 06 July 2010

The ATXMega is an upgraded version of the popular AVR microcontroller from Atmel. It still contains the basic AVR core but has a huge amount of enhancements to both the core and the peripherals. Basically, you can think of it like an AVR on steroids…a whole lot of steroids. Switching from the ATMega to the ATXMega series is a bit overwhelming because there are so many new features and improvements. Consequently, there is also a lot of new documentation which shows how to use the new features and the old ones. Because of the potential register shock to people that try out the ATXMega, I decided to put together a library of the Atmel drivers and some example functions. And of course, all the functions are ported and tested. Some of the examples may seem trivial, but they’re not designed for evaluation purposes. Their real purpose is to serve as a reference on how to access and use the peripherals, now that the register set is different.

Read more...