The Traffic Light Arduino Platform is now wireless. A independent console (powered by an Arduino) with three programable buttons transmits a code signal using XBees to a receiver. The receiver (also powered by an Arduino) decodes the input and turns on and off the traffic lights as well as play music accordingly.
Table 1. Traffic Light Language
Figure 1. The whole system, ready for a demo!
The TLA Platform isn’t finished yet. There are still more features to add, and much more code that could be written for different uses, but for now, it’s ready for some people to come and play with it at my lab demo.
Right now for the TLA I am focusing on separating the interactive console part from the actual lights by enabling the two to wireless talk to each other. This I am doing using XBees. These are little wireless development things that can communicate with an Arduino board using the serial input and output.
The console part of the system will be programmable and interactive. It will take input from button presses, and turn that into a series of letters and numbers and send that over the XBees.
The traffic light part of the system will also have an Arduino. However, this Arduino won’t do much. It will take in the series of letters and numbers coming over the XBees, and turn lights on and off accordingly.
So far I’ve been working on the traffic light end, the end that takes in letters and numbers, and have been developing an simple lights-on-and-off language. I hadn’t really foreseen this, but so far I’ve actually created this a really fun little program. You type in letters and numbers into the serial console, and lights blink on and off. I’ve even made up little “songs” for them. 😀 I don’t know why, but this totally makes my day.
Next steps: legit flashing Christmas light display on our house.
My “lights language” so far:
0 => 48 =>
1 => 49 => delay(100); //16th
2 => 50 => delay(200); //8th
3 => 51 => delay(400); //quarter
4 => 52 => delay(800); //half
5 => 53 => delay(1200); //dotted half
6 => 54 => delay(1600); //whole
7 => 55 =>
8 => 56 =>
9 => 57 =>
r => 114 => red off
R => 82 => red on
y => 121 => yellow off
Y => 89 => yellow on
g => 103 => green off
G => 71 => green on
So, as the title says, here is my official project proposal for the TLA. This is a general overview of the whole system. Right now I am focusing on the wireless part of the specs, which I think merits it’s own post. Anyway, enjoy.
July 16, 2013
HCDE 498 – Special Topics: Physical Computing
To add new features to the existing Traffic Light Arduino Platform for the purpose of increasing and testing usability in the context of engineering education.
Overview of the Existing System
The Traffic Light Arduino Platform is an interactive, multipurpose system, for use as an educational aid. It consists of a set of traffic lights, along with an interactive console. The interactive console allows users to easily program the traffic lights to do specific behaviors. The interactive console is powered by an Arduino.
New Features to be Implemented
- Soldered board. The system should be advanced beyond the rough prototype stage that it is in now.
- Wireless functionality. This will allow the traffic light unit of the system to be moved around a room separately from the interactive console. The wireless receiver will be located on the traffic light unit of the system, and will also be powered by an Arduino.
- Speaker. This feature will add audio feedback to the system, enabling it to also be useful for people who are visually impaired, as well as improve the overall user experience of the system. The speaker will be located on the traffic light unit of the system.
- Debugging LEDs. This feature will allow maintenance and testing of the system, even if the traffic lights themselves to be turned off. It will also assist in debugging problems with the system. These LEDs will be powered directly by the Arduino on the traffic light unit, unlike the traffic lights themselves, which are primarily powered by AC power.
- LCD Displays. These LCD displays will provide user feedback by telling the user about what program is currently doing.
- User-friendly hardware. This feature will includes creating a box to house the electronics for the interactive console as well as the wireless receiver (see above), as well as other improvements to make the system appear neat, tidy, and organized. This also includes improving user feedback by adding an LCD display to the console.
Figure 1. Project diagram with new features.
||board to solder, soldering equipment, wires
||2 XBee wireless units, new Arduino code
||Sound card, new Arduino code
||red, green, and yellow LEDs, 3 330 ohm resistors
||2 LCD displays
||wood pieces, basic wood working equipment, wood glue, paint, computer graphics software
I have never done a wireless system before, and so I am uncertain what knowledge I will need for that.
It will also be necessary to develop a new protocol for users to implement new functionality. It will be challenging not only to develop a sound system, but also to ensure that it is hard for users to “break” it.
Figure 1. Traffic Light Arduino project in the midst of work.
The project vision for Traffic Light Arduino (TLA) has grown considerably since I last wrote on it. (For some background information on the TLA, see my About page.) At first, the idea (that originated with professor Andy) was to create a teaching demo for binary numbers. Then someone else in the department had the idea to also use the traffic lights to time class presentations. The new vision is to use the TLA as a platform for as many uses as someone is willing to write Arduino code for. Future plans include making the system wireless, improving the hardware (right now there are a lot of messy wires), and adding red, yellow, and green LEDs in the system for testing and debugging purposes.
Figure 2. TLA wiring, with the Arduino board on the right, and buttons used to control the TLA as well as some debugging LEDs on the left.
Figure 3. Circuit diagram for one button.
Anyway, if you happen to drop by the HCDE Design Lab, the TLA is now hanging up and almost ready for use!
Figure 4. TLA hanging up!
Professor Davidson and I were talking about the Traffic Light Arduino again, and that project has now been set for Spring quarter. This may seem like a bad thing initially, since I won’t be getting started on it for another few weeks, but the good news far outweighs the bad. I am going to be in a research group! Professor Davidson decided that the Traffic Light project was cool enough to make it, and some other projects, into a research group. In this group we will be exploring physical computing and get some hands-on experience building software and hardware. We will be developing a couple things that, like the Traffic Light, can be used for teaching demonstrations. I am pretty excited since teaching and building/designing are both things I am passionate about and love doing. If you want to know more about professor Davidson’s research group, see the link: http://hcde.uw.edu/research/davidson
As for other things that are going on right now, I also have a small design project going for my Fundamentals of Human Centered Design and Engineering class that has to do with navigating places to get food on the UW campus. I’ve been doing graphic design for that, as well as a bit of user research. Once it is finished at the end of the quarter I may post about it.
And speaking of graphic design, this morning I was talking to a friend about a concert that I couldn’t go to. To make up for this regrettable fact, I spent about 2o minutes rebuilding their logo in Photoshop.