As the plexiglass cube still didn't arrive i had to build this model. It's made of paper so it looks a bit scrappy but it shows how the colours are mixed and distributed along the LED modules inside a cube with a semi-opaque surface. It's nice to experiment with it and gives a better feeling of what i have to deal with later in software, like the tilt, shake, vibrate and dimming functions. I planned to coat the plexiglass cube with silicone to get a diffuse and nicely toned lighting. Turns out that it's an ambitious idea, getting a ready to go acrylic cube with the desired dimensions isn't a simple task at all and handling/getting the liquid silicone will be a hassle. But it's worth a try though. So that's what's under the hood:Used parts are: 4 WS2801 RGB LED breakout boards, a 3-axis accelerometer breakout board from plololu, a tilt sensor and a vibration motor. I already daisy chained the LED modules for testing so i just took some solid wire and soldered it to the mounting holes. Finally i had a cube shaped strand. There was no room left on the breadboard for the PWM wires so i soldered them to the wires at the edges. The copper surfaces inside the mounting holes haven't been tied to GND but weren't connected between each other either. So more wires were necessary making it look even messier but hell, it works!
Here's the schematic, the 11 wires connecting the test unit to the controller board are shown on the left:
Pretty simple, nothing spectacular. At the top there's the LED module strand, the PWM pins are all tied to a common rail. The motor is tamed by an anti-parallel diode and a capacitor. Tilt and acceleration sensors are self-explanatory, the /SLP pin is tied to VDD so that it's always enabled, the GSEL (g-select) pin is internally tied to GND and therefore left unconnected for a sensitivity of -/+ 1.5g. 0g (zero g) and TEST are not used and left unconnected. The whole thing runs on 3.3 volts, making it easier to supply it by a single 3.6V lithium polymer battery.
The following schematic shows the controller board. All that stuff didn't fit into the prototype cube so it sits on a second breadboard:
This one is also pretty simple. The Arduino Pro Mini 3.3V in the middle, a LiPo USB charger and the ICradio Mini 2.4G on the left. At the bottom right the PWM control is situated. It consists of a BD679 darlington transistor (it was lying on my desk so i took that one, any other NPN transistor with a sufficient current rating would also do the job) with an RC network to suppress flickering.
(Already) encountered issues: The LiPo charger has two output terminals: one for the battery and one system out to supply your stuff. First of all the battery charging voltage lies somewhere around 4.2 volts which exceeds the limit for the system so a step converter between the charger board and the system is needed. Second, the charger board seems to be 'just' charging the battery, forcing me to deal with the 4.2 volts but i also would 'steal' the system current from the charging current of the battery. The charging controller on the boards is not intended to feed anything when it's not charging a battery. So i would never be able to actually supply the system from USB power. So either the battery solution has to be thrown overboard or a switch function has to be embedded into the software (or a simple 5 volt relay) to switch to USB power when it's available. (Which would be the case mostly so i might get rid of the battery...)
The PWM control reduces the maximum brightness of the LEDs, the voltage drop over the transistor should be the reason. I either have to lift the LED supply voltage (which isn't really an option since the controller ICs are also sitting on the LED boards which would make level shifter for data and clock lines necessary) or replace the current limiting resistors of the LEDs.
So what does it do / What's going on here?
Well, the idea was to built a wireless, optical door"bell", now it's a 10dm³, translucent, RGB LED lighted cube with a USB plug. The idea is now to use the LEDs not only to indicate a triggered doorbell but also act as a mood light and some kind of multiple use indicator (alarms, etc.). As even the name 'mood light' is downright ridiculous and people pay a lot for those, coming in different shapes and sizes, i had to build one and see how long it takes to annoy me, so why not implement that into the cube. I also wanted to keep it absolutely clean with no buttons or display and stuff. For user interaction the tilt and acceleration sensors and the vibration motor are used. The goal is to flip through 'menu pages' (indicated by dedicated colours) by tilting the cube to the left and right. To 'activate' or 'deactivate' a menu entry the cube should be shaken (up/down direction). To indicate if a menu entry is activated or not, the vibration motor is used for feedback. And in 'idle mode' the cube should act as a mood light. Oh, and the doorbell function of course; As this would be an alarm event it let's the cube blink and stuff and shaking is used to acknowledge the alarm.
But, what menu entries?
The whole thing should be useful in practice, i don't want something sitting on my desk and consuming electrical power just to look nice and blink once in a while. The idea is to build some kind of 'satellites'; As the surface of the cube is semi-opaque and illuminated from the inside it would be hard to find a place for a light intensity sensor to control the cube's brightness. And brightness control is essential, it shouldn't drive one nuts in the evening. A motion, sound and temperature sensor would also be great to control what the cube is doing, like being less active when no one's around, showing specific colour ranges depending on temperature or reacting to noise or music. But the inside of the cube is a rather bad place for such sensors, therefore all that stuff would be placed in one of those satellites. Also for the multi purpose indication thingy; it could indicate that somethings on the stove, remind you of unloading the laundry machine when it's finished or that the bath tub is currently being filled. Things one could easily forget while doing other things. Satellites similar to the cube could be placed in each room, sensing stuff and sending alarms, events and measured values to the cube.
To be continued
2012-Feb-21 / Huck Flysh



No comments:
Post a Comment