A Raspberry Pi Garage Door Opener

We can never seem to get enough garage door hacks around here. [Tanner’s] project is the most recent entry into this category. He’s managed to hook up a Raspberry Pi to his garage door opener. This greatly extends his range to… well anywhere with an Internet connection.

His hack is relatively simple. He started with the garage door opener remote. He removed the momentary switch that was normally used to active the door. He bridged the electrical connection to create a circuit that was always closed. This meant that as long as the remote had power, the switch would be activated. Now all [Tanner] had to do was remove the battery and hook up the power connectors to his Raspberry Pi. Since the remote works on 3.3V and draws little current, he is able to power the remote directly from the Pi. The Pi just has to turn its pin high momentarily to activate the remote.

The ability to toggle the state of your garage door from anywhere in the world also comes with paranoia. [Tanner] wanted to be able to tell if the door is up, down, or stopped somewhere in the middle while he was away from home. He also wanted to use as little equipment as possible. Since he already had an IP camera in the garage, he decided to use computer vision to do the detection.

He printed off two large, black shapes onto ordinary white computer paper. One was taped to the top of the door and one to the bottom. A custom script runs on the Pi that grabs the latest image from the camera and uses OpenCV to detect the shapes. If both shapes are visible, then the script can assume the door is closed. Otherwise, it’s likely open. This makes it easier for [Tanner] to know if the door is opened or closed without having to check the camera himself.

Can’t get enough garage door hacks? Try these on for size. Continue reading “A Raspberry Pi Garage Door Opener”

Teletext on a Raspi With Zero Additional Parts

Way back in the 70s, the UK and BBC rolled out teletext – an information retrieval service that’s much closer to the ‘television screens connected to computers the size of a room’ popularized by 1960s futurists than the Internet and world wide web. For about 30 years, teletext was one of the most reliable means of information distribution until it was quietly shelved with the rollout of digital television.

Playing with dead protocols is fun, though, and since the Raspberry Pi has an analog video out, [Alistair] thought it would be fun to turn his Pi into a teletext generator and display.

This isn’t [Alistair]’s first teletext rodeo; earlier he built an add-on board for the Raspi that uses an AVR and an LM1881 video sync separator to mux the video output of a Raspi with teletext signals. The new build does away with this completely, allowing any Raspberry Pi to generate and display information from a teletext service. Right now there are two demos, a Raspi status display that shows the CPU frequency, usage, memory, and temperature. There’s also a ‘clock cracker’ with a picture of Tux that should help diagnose reception issues.

All the code is available on the project’s github, although [Alistair] hasn’t released the scripts to output teletext pages captured from broadcast signals years ago.

Continue reading “Teletext on a Raspi With Zero Additional Parts”

WiFi Controlled Power Outlets with Raspberry Pi

[Tim] was looking for a way to control his power outlets using WiFi. He looked into purchasing a WeMo but he realized that he could build something even better with more bang for his buck. He started out by purchasing a five pack of Etekcity wireless remote control outlet switches. These are kind of like the WeMo, only they aren’t controlled via WiFi. Instead, they come with an RF controller. [Tim] just needed to find a way to bridge the gap between the RF remote and WiFi.

[Tim] decided to use a Raspberry Pi as the brains of the controller. He also purchased a SMAKN 433MHz RF receiver and transmitter for communicating with the wireless outlet switches. The wiring for the modules is pretty simple. There are only four wires. There are power and ground wires for each module. Then the transmitter needs two GPIO pins while the receiver only needs one.

[Tim] began with a fresh installation of Raspbian. He then installed Wiring Pi, which gives you the ability to interface with the GPIO pins in a way that is similar to Arduino. He also installed Apache and PHP to create a web interface for switching the outlets. The last step was to write some custom software. The software included a script that allowed [Tim] to sniff out the controls of his RF remote. The correct codes are entered into the “toggle.php” file, and everything is set. All [Tim] has to do now is browse to his Pi’s web server and click a button. All of the custom code is available via git.

Use Ruby to Make Any Window A Blinken Window

[Akhil Stanislavose] wanted to spice up his window decorations for the holidays. Inspired by blinkenlights, he decided to make his front window interactive. The Blinken Window is a grid of 6 x 10 programmable LEDs running on a Raspberry Pi. Since a RasPi doesn’t have enough GPIO pins for 60 LEDs, [Akhil] built an expander board using 8 daisy chained standard CD4094 (74HC595 could also be used) shift registers to accommodate them.

[Akhil] designed a PCB to replace the expander board for future use. It is modular in nature so that many of them can be connected together to provide as many outputs as one needs, allowing any size window to become a Blinken Window. The PCBs are still being fabricated, but the Eagle files are available for download (zip file). Ruby was used to implement the API. You can find the project files on GitHub, which also features a simulator that you can run on your computer to see how an animation or game will end up looking on the window. In the demo video, [Akhil] demonstrates how you can use the Blinken Window to play a version of Pong using your smartphone as the controller. [Akhil] has also provided a few basic animation examples that can be expanded upon. We’d enjoy seeing an implementation of Tetris. There’s so many fun ways to turn regular windows into dynamic displays, we’re starting to look scornfully at our own lazy, air leaking windows.

See the Blinken Window in action after the break.

Continue reading “Use Ruby to Make Any Window A Blinken Window”

Automated Mushroom Cultivation

Lots of people have developed their own systems for automating the growth of plants. Keeping the environment under tight control leads to better yield, and computers are better than humans at remembering to water the plants regularly. [Kyle] is into growing mushrooms (the legal, edible type) and automating things. This led to his system for automated mushroom cultivation.

We’ve seen an automated system for growing fungi before, but [Kyle]’s project is a bit bigger. He’s built a sealed room for growing mushrooms. The room is sealed with a plastic sheet, using magnetic strips to create a doorway. Within the room, a heater, humidifier, and circulation fan control the environment. Temperature, humidity, and dew point in the chamber are constantly monitored and adjusted as necessary.

The entire system is controlled with a Raspberry Pi and custom software, which is available on Github. GNUPlot is used to generate graphs, which are accessible through a web server. The web interface also allows the parameters of the chamber to be tweaked remotely. Based on the settings, the Raspberry Pi controls a set of relays to keep the chamber in an ideal state.

Photonic Reset of the Raspberry Pi 2

For the past month, the Raspberry Pi 2 has only been available to the Raspi Foundation, and for about 2 weeks, select members of the media who have worn the Raspi 2 on a necklace like [Flavor Flav] wears a clock. That’s not many people with real, working hardware and when a product is released, the great unwashed masses will find some really, really weird bugs. The first one to crop up is a light-sensitive reset of the Raspberry Pi 2.

[PeterO] on the Raspberry Pi forums took a few pictures – with flash – of a running Raspberry Pi 2. It took a little bit of deduction to realize that a camera flash will either reset or turn the Raspi 2 off. Yes, this is weird, and experiments are ongoing.

A short video from [Mike Redrobe] confirms the finding and a reddit thread offers an explanation. U16, a small chip located in the power supply part of the Raspi 2, is sensitive to light. Putting enough photons will cause the Pi to shut down or restart.

There’s still some research to be done, however, I can confirm a cheap green laser pointer will reset a Raspberry Pi 2 when the beam is directed at the U16 chip. This is the chip that is responsible, and this is not an EMP issue. This is a photon/light issue with the U16 chip. The solution to this bug is to either keep it in a case, or put a tiny amount of electrical tape over the chip.

Thanks [Arko] for staying up until an ungodly hour and sending this to me.

A Raspberry Pi SID Player

Of all the vintage chiptune machines out there, the Commodore 64 is the most famous. Even 30 years later, there are still massive gatherings dedicated to eeking out the last cycle of processing power and graphics capability from the CPU and the infamous synth-on-a-chip, the SID. [Bob] wanted to build a SID jukebox. A C64 is capable of the job, but if you want to have every SID composition on an SD card and connect that to a network, a Raspberry Pi is the way to go.

The SID chip, in its 6581 or 8580 versions, is controlled directly by poking registers on the chip through the address and data busses. This means a lot of pins, too many for the original Raspi expansion header. That’s not a problem that can’t be solved with a few shift registers, though. The rest of the circuit is an LM386 audio amplifier, an LCD that displays the current song, and a can crystal oscillator for the SID.

Right now everything is wired up on a breadboard, but making this a Raspberry Pi hat would be a rather simple proposition. It’s only a matter of finding a SID with working filters, and if you can manage that, it’s a pretty easy build to replicate. Video below.

Continue reading “A Raspberry Pi SID Player”