DPAC

Archive for September, 2009

Controlling the WiFly

without comments

Despite the initial configuration of the WiFly being very easy and straight forward, things became much more difficult once we attempted to automate this process with our Arduino. It was not always known if the WiFly was in configuration mode where commands were sent to it, or data mode where commands were sent directly over HTTP. When opening a connection to the remote server, it could not be automatically known if a connection was already established or not.

Through some trial and error and lots of text parsing, we managed to put together a routine that covered every case and would eventually result in valid data being pulled off the web. The next step was to handle this data, and parse it into variables that we could manipulate elsewhere in the system. Once this was accomplished, our WiFly system was complete and ready to integrate into the project.

Data being read over HTTP and parsed into variables

Written by egaertner

September 29th, 2009 at 8:20 pm

Posted in Worklog

Real-Time Clock

without comments

ISL1208 Real-Time Clock

Once progress began on the wireless, we shifted focus to the core of any alarm clock, the clock mechanism itself. We ended up choosing the Intersil ISL1208 Real-Time Clock. This chip is addressable over I2C, can store an alarm, and raise an external interrupt when the alarm is triggered. This RTC could also use a super capacitor as a backup source, using only 1.2uA in a low power mode. In this mode the clock can continue counting and maintain accurate time and alarm values for up to 30 days, when the rest of the device is unpowered.

Written by egaertner

September 9th, 2009 at 8:04 pm

Posted in Worklog

Arduino Development

without comments

Arduino Diecimila - Our development platform

In order to prototype all future components, we purchased an Arduino development board with an ATMega168. This made it as easy as possible to bring up each component, using the built in libraries and examples from the rich community. Since our plan was to use a discrete AVR as our final microcontroller, porting the code to C was relatively simple. We would later use an ATMega324P which had more memory and IO pins.

Written by egaertner

September 5th, 2009 at 1:41 am

Posted in Worklog