Pair Of Musical Hacks Use Sensor Arrays As Keyboards

sensor-driven-musical-keyboards

This pair of musical keyboard hacks both use light to detect inputs. The pair of tips came in on the same day, which sparks talk of consipiracy theory here at Hackaday. Something in the weather must influence what types of projects people take on because we frequently see trends like this one. Video of both projects is embedded after the jump.

On the left is a light-sensitive keyboard which [Kaziem] is showing off. In this image he’s rolling a marble around on the surface. As it passes over the Cadmium Sulfide sensors (which are arranged in the pattern of white and black keys from a piano keyboard) the instrument plays pitches based on the changing light levels. [Thanks Michael via Make]

To the right is [Lex’s] proximity sensor keyboard. It uses a half-dozen Infrared proximity sensor which pick up reflected light. He calls it a ‘quantised theremin’ and after seeing it in action we understand why. The overclocked Raspberry Pi playing the tones reacts differently based on distance from the keyboard itself, and hand alignment with the different sensors.

Continue reading “Pair Of Musical Hacks Use Sensor Arrays As Keyboards”

Playing With The Minecraft API And A Raspberry Pi

mine

It hasn’t been a week since Minecraft for the Raspberry Pi has been released, and already we’re seeing some cool builds that bridge our analog world with Minecraft voxel land. [Martin] got his hands on the Raspi version of Minecraft and decided to take advantage of the API Mojang threw into the build by making a huge analog block clock that keeps real world time in the Minecraft universe.

Basically, [Martin] created a small Python script that draws the face and hands of a clock in a Minecraft world. The Minecraft API comes with neat functions such as drawCircle, and drawLine, so making a real clock face is as simple as getting the system time and doing a bit of trig.

After the break you can check out [Martin]’s Minecraft clock in action. If you’re running the Pi version of Minecraft, you can also get this running on your machine with the code on [Martin]’s git.

Continue reading “Playing With The Minecraft API And A Raspberry Pi”

Harry Potter Location Clock Spies On Your Smart Phone

harry-potter-clock

The location clock found in the Harry Potter books makes for a really fun hack. Of course there’s no magic involved, just a set of hardware to monitor your phone’s GPS and a clock face to display it.

[Alastair Barber] finished building the clock at the end of last year as a Christmas gift. The display seen above uses an old mantelpiece clock to give it a finished look. He replace the clock face with a print out of the various locations known to the system and added a servo motor to drive the single hand. His hardware choices were based on what he already had on hand and what could be acquired cheaply. The an all-in-one package combines a Raspberry Pi board with a USB broadband modem to ensure that it has a persistent network connection (we’ve seen this done using WiFi in the past). The RPi checks a cellphone’s GPS data, compares it to a list of common places, then pushes commands to the Arduino which controls the clock hand’s servo motor. It’s a roundabout way of doing things but we imagine everything will get reused when the novelty of the gift wears off.

Better PWM On The Raspberry Pi

pi

[Thomas] wanted to play around with a few high-power LEDs and a RaspberryPi. LED controllers usually require some form of PWM to change the brightness of a LED, and unfortunately the Pi only has one PWM pin. [Thomas] could have gotten around this with a custom chip or even an Arduino hanging off the Pi’s USB port. He opted to go with software-based PWM, and did so in a way that is far superior to bit banging a pin.

Conventional wisdom says PWM without a real-time operating system is dumb – right up there with starting a land war in Asia. Turning a pin on and off in a while loop will eat up all the processor power in the Pi, so [Thomas] looked for a better way to do things. He came across the ServoBlaster project by [Richard Hirst] that creates pulses of different lengths by playing with direct memory access; [Richard] created a circular buffer that is read every 10μs. With 2000 values in the buffer, he can control eight different pins with very little impact on CPU usage.

For [Thomas], though, [Richard]’s project wasn’t enough. It was originally written for servos and is only able to drive PWM pins up to about 12%. A quick rewrite of [Richard]’s code allowed [Thomas] to control eight pins with PWM varying from 0% to 100% – and be able to do other things with his Pi in the process.

[Thomas] now has a 40 Watt RGB LED powered by a Raspberry Pi burned into his retina, and the satisfaction of a really clever way of giving the Pi more PWM pins.

WebSockets, Raspis, And GPIO

socket

A while back, [Blaise] tried his hand at getting the WebSocket protocol working with PIC microcontrollers, WiFi adapters, and a few pots, knobs, and switches. It was an excellent project for its time, but now [Blaise] has a Raspberry Pi, and the associated GPIO pins and Ethernet connection. He decided it was time to upgrade his build to the Pi, this time with a project he calls PiIO.

The basic idea of [Blaise]’s project requires a Pi, a server, and a computer running a browser for the end user. On the Pi side of the build, [Blaise] connected a Microchip MCP3008 eight input, 10-bit ADC via the SPI bus. The Pi takes the ADC sensor values from pots, buttons, or any other analog source and sends them to a server with the WebSocket protocol.

The server hosts a web site written with Django, Autobahn, and Python to communicate with the Pi and host the web page for the data received from the Pi. There’s support for multiple Pis in [Blaise]’s build, making complicated projects we can’t even conceive very possible.

[Blaise] put up an awesome demo video of PiIO up; you can check that out after the break.

Continue reading “WebSockets, Raspis, And GPIO”

Raspberry Pi Camera Board Incoming

camera

Your Raspberry Pi has on-board connectors for cameras and displays, but until now no hardware demigod has taken up the challenge of connecting an image sensor or LCD to one of these ports. It seems everyone is waiting for official Raspi hardware designed for these ports. That wait is just about over as the Raspberry Pi foundations is hoping to release a camera board in the coming weeks.

The camera module is based on a 5 megapixel sensor, allowing it to capture 2560×1920 images as well as full 1080 video with the help of some drivers being whipped up at the Raspberry Pi foundation.

Considering the Raspi USB webcam projects we’ve seen aren’t really all that capable – OpenCV runs at about 4 fps without any image processing and about 1 fps with edge detection – the Raspberry Pi camera board should be less taxing for the Pi, enabling some really cool computer vision projects.

The camera board should be available in a little more than a month, so for those of us waiting to get our hands on this thing now, we’ll have to settle for the demo video of the Pi streaming 1080p video to a network at 30fps after the break.

Continue reading “Raspberry Pi Camera Board Incoming”

Rack Mount Home Automation With A RPi

RPi Home Automation

[Patrick] wanted to have centralized sensing and control over various parts of his house. His Raspberry Pi Home Automation System integrates a bunch of functionality in one rack mount package, salvaged from an old network switch.

The automation system is based on a Raspberry Pi running Arch Linux, which talks to an ATmega over SPI. We’ve seen this setup used many times before to add additional ports to the Raspberry Pi, but what makes [Patrick]’s build unique is the amount of control he’s built into the system.

The box controls outdoor lighting at sunset and sunrise, generates wakeup calls, controls IR cameras, and plays sounds based on events. It’s capable of monitoring sump pump water level, the state of a house alarm, and more. A custom REST API is used to interact with the device. This allows for programs on any platform to interface with his home, and acts as an API for his house.

[Patrick] provides a lot of details in his build log, which should be helpful to anyone looking to roll their own home automation system. The source is also provided.