Lately, I’ve been toying around with different LED strips for my projects. I’ve had the chance to use a variety of LED strips (both RGB, and single colour types). They come in many flavours – water proof, 3m-backed, silcone encased, sealed, non-sealed, exposed etc. All have their advantages / disadvantages.
After completing my Juke footwell / glove box LED mod, I decided that the footwell LEDs just were not bright enough. I came across these Optek 3 LED white lights from Newark that have just the right white light and luminosity. These LED bars are built tough. The LEDs appear to be set in a hardened liquid plastic. Wires run in one end and out the other – it seems that these strips were built as a series set of 3x LED bars and cut to order. I ordered 2 and both were joined together. Before installing them above the footwell area, I had to do something about the white. After masking off the LEDs, I gave them a few coats of Plastidip to make them black.
I am impressed with the end result. I was after something that would provide nice white light when I am looking for something down in the footwell area during the dark… They cast a bright wide swath of light to illuminate the entire footwell area. They also cast enough light to see under the seats as well.
Illumination with the Optek 3x LED Bar:
The original LED illumination:
This mod can be especially useful this time of year up here on the 49th parallel since we are pretty much in darkness @ 5PM during November. All to often I drop something down near my feet and have to go looking for it. The light that casts from the map lights does not reach the areas down near the front driver/passenger foot wells, so I decided to add a few tiny LEDs to shed some love in the area when needed. In addition to this, the Juke comes with a MASSIVE glove box and no light. So, it was natural to throw a small LED strip in there as well. Both sets of LEDs are hooked up to a custom controller that uses an ATTiny85 and touch sensitive pins to control on/off states (I’m not one to go with status-quo, so the standard on/off switch would not cut it for me).
The switching unit (below) has 2 pairs of pins and 1 switch. The switch is used to control the rear passenger LED and is discussed here. Each pin pair make up a galvanic touch sensor that use the conductive abilities of skin to bridge the connection (reads – won’t work with gloves). Touch them once and the LEDs ramp up (on), touch them again to power them off. The top pair control the foot well LEDs, the bottom controls the glove box LED.
I just finished adding LEDs to the tail lights, and now its time to move on to the interior. For those of you who have a Juke, you can sympathize with me on this – the Juke is a great vehicle, but it is lacking in some very basic necessities (e.g. armrest, removable cup holders, and… a rear passenger light!). This has been further compounded by the fact that I have 2 children in child seats that can’t quite do up their own seat belts yet. …and the seat buckles are buried flush with the seats! (NISSAN!) …and I can’t see squat! Here is my solution to the problem:
LED Rear Passenger Light
I’m a sucker for not conforming to status quo when it comes to my toys.. This includes my new Nissan (2012) Juke. In this mod, I added a set of LED light strips to the tail lights with a twist – I wanted to also monitor and react to braking to enhance the effect. I decided to go with an ATTiny85 using the Arduino core. It only needed 1 input from the 12V brake power and 1 PWM output to control a MOSFET which in turn powered the LED light strip @ 12V. I built one controller per tail light. Check out the video to see it in action:
I’ve been involved in microcontrollers for some time – but of the LEGO Mindstorms flavour (and BASIC Stamp to a lesser extent). Lately, I’ve jumped on the Arduino bandwagon. I’ve always had the natural nack to fix pretty much anything that has batteries or a plug running out of it. As the Arduino revolution has picked up dramatically over the past few years, so to has my desire to do DIY projects around the house. At some point in the future, we plan a kitchen reno. Part of that reno will the addition of under-cabinet LED lighting. Since that is far off, but I also had the need for better lighting in my office, I figured this would be a great time to proto something for the kitchen upgrade, while making something functional for the office. So, here it is..
Over the summer we installed hardwood flooring – which needs constant sweeping and cleaning . What to do… What to do… Well, most of us would just sweep it, right? Some of us might even go buy a Roomba. But, then again, some of us build something to do it for them. Why? Because we can…
Pulito (Italian for ‘clean’) is simply put, a sweeper robot. Much like a Swiffer and Roomba combined. The intent was to build a robot that could navigate around sweeping hard surface floors, stay away from carpeted areas, make its way under our couches and seek out a docking station when the battery runs low.
OLD Version Details: (see new version here): The following is a picture of the charging beacon. Although it looks quite plain from the outside, it is what is inside that resulted in this being a 5 month build (well that and things like kids! ) From the top there is a cutout for the LCD. The purpose of the LCD is to display the change from 1200 to 600 Hz. The gray axle on top is used to swap between frequencies. These frequencies are tuned to work with the HT IR Seeker V2 sensor on Pulito. Together they allow Pulito to detect the beacon from across the room in many varying conditions (incl bright sunlinght). As many of you know, IR is everywhere, so the 1200Hz is used to allow robots to tune into a specific frequency while ignoring other sources of IR. At the front, the 2 charge bars can be seen. These allow Pulito to dock to the unit and begin charging. At the center in the front, the blue cylinder contains 3 IR LEDs. These LEDs are connected internally to a Basic Stamp II Sx which drives a 1200/600 Hz pulse through a separate 555 timer that generates a 38Khz carrier wave. Together the 1200Hz and 38KHz carrier allow the HT IR Seeker V2 to find the beacon.
I find that I am often using this approach for getting more touch sensors on my NXT without using multiple ports. So, for the sake of prosperity, I wanted to keep a record of the setup.
If you are have a set of Cybermaster Touch Sensors hanging around, you can multiplex them for use on the NXT. Years ago, these sensors were quite rare, but now they can be readily found on Bricklink for a decent price. For those that are unaware of these sensors, they are the trans-green (clear) touch sensors that come with the Cybermaster kit and look similar to the standard MINDSTORMS RIS ones, but with one significant difference – each of them have an inline resistor so that when the circut is closed, each passes current with a different resistance. In addition to this, the value returned varies depending on which combination of sensors is pressed. So, not only can you detect individual sensors, you can also detect states of multiple sensors being pressed. If my memory serves correct, you can detect 6 sensor states (1, 2 or 3 | 1 and 2 | 2 and 3| 1 and 3 )
You can program these sensors easily by setting them up as temp sensors using RAW values. You will get values between 0 – 1023. You can also code in such a way that you are looking for specific values (eg 655), as when a sensor is pressed, the resistance returns an exact value (it does not float between a number range). Also dont forget that you will need an NXT to RCX converter cable.
Sample RobotC program:
Sample NXT-g program:
NXT-g Cybermaster Touch Sensor Multiplexer
I recently had the chance to test out a set of Dexter Industries Thermal Sensors produced for the NXT. For those that are not aware, Dexter Industries has entered the market of producing LEGO Mindstorms NXT-compatible sensors and has come up with some pretty cool ideas such as the dSwitch (allows you to switch in-home devices on/off using the NXT) and some cool new ideas such as solar charging for the NXT as well as a flex sensor (stay tuned for more on this).