[Kevin] wanted a display where he could take a quick glance and get all the current environmental information he uses throughout the day. That information includes, of course, the time and date as well as weather information. We’re not just talking the current weather information but the forecast for the upcoming week as well as a map showing current weather patterns. To do this, [Kevin] came up with a unique system he’s calling the PiClock.
[Kevin] did some serious programming to get this clock project off of the ground. The weather data comes via the Weather Underground API and the map data from the Google Maps API. The main program is written in Python and will run on any OS running Python 2.7+ and PyQt4. If you’re interested in doing something similar, check out the source at github.
From the project’s name, it is no surprise that a Raspberry Pi is the brains here. A USB WiFi adapter allows access to the internet but an Ethernet connection would do just fine. Having the RaspPi hanging out with wires everywhere would be a little lazy, so [Kevin] opened up his 19″ LCD monitor and mounted the RaspPi inside the case. He tapped 5vdc off of the monitors power supply and used that to power the RaspPi, no external wall wart necessary! And if the PiClock’s background isn’t cool enough, some RGB LED strips were mounted to the back of the monitor to give an Ambilight effect.
A clock to tell the weather? [Andrew] has created a device to do that and more. Inspired by [Sean’s] weather clock, [Andrew’s]clock displays the current weather conditions, temperature, moon phase, and of course the time. The whole project started years ago with a broken keyboard. [Andrew] wanted to try to use the keyboard controller PCB as a bidirectional computer interface. Data to the computer would go in via the key matrix. Output data would be read via the status LEDs. Cheap simple microcontroller boards like the Arduino sidelined the project for a few years, but he never completely left it behind.
With an unused OLPC XO-1 in hand, [Andrew] pulled out his old keyboard controller and started hacking. His first task was getting meaningful data out of the keyboard LEDs. He coded up his own keyboard led control library in python. On the hardware side an op amp took on the roll of a comparator to ensure proper logic levels were present. [Andrew] then hooked two LEDs up as clock and data lines to standard 74 series shift registers (most likely 74HC/HCT595). He found that his data was completely garbled due to bounce. A second shift register buffering the clock cleaned things up. [Andrew] was left with a stable 40 bits per second serial link to his shift registers. With all this done, the next step was the clock itself. [Andrew] bought a RUSCH Wall clock from IKEA, and converted the clockwork to a gear reduction for a DC motor he pulled from an old answering machine. He could now move the hands at will, but had no way to determine their position. IR break beam sensors from old printers came to the rescue.
After connecting the motor drive, [Andrew] still had a number of outputs available. A few LEDs were in his parts box, so into the project they went. 12 LEDs around the outside of the clock to display the current time. 3 LEDs hide behind the weather icons as status indicators. [Andrew’s] python software really ties this together. His OLPC grabs data from the internet and displays it on the clock. A web interface allows the user to perform manual updates on the clock and to set alarms. The alarms even incorporate speech output via eSpeak. We love the reuse and recycling of parts in this hack. The end result is a clock any hacker would be proud to display on their wall.
Continue reading “Weather Clock Puts OLPC to Work”
[Sean_Carney] build this clock that tells the weather instead of the time. The two hands display the current conditions and the temperature. Forty below zero seems amazingly cold if you’re on the Fahrenheit scale but [Sean’s] from Winnipeg so he’s operating on the Celsius side of things.
Two servos move the hands to match the data scraped off of the Internet. An Arduino does the scraping with the help of an Ethernet shield. This reminds us of the Harry Potter clock that tells a persons location.