This is an improvement to my previous Lync status light, built back in May 2016. It worked fine, but it only had three 5 mm LEDs. People who knew about the module noticed, but a lot of people didn't, so it did not have the effect I was looking for. That's why I decided upgrade it, and this time use bigger and brighter lights! I found a pair of maritime navigation lights on eBay that were small enough to fit on the top of the enclosure. They are much harder to miss, than the LEDs :) I still use the same Arduino firmware and bridge software as before, just upgraded the hardware.
The yellow LED only uses about 20mA, so this can be connected and powered directly from the Arduino board. It does a need a resistor, the size of this resistor depends on the LED. I used 150 ohms.
The navigation lights however uses too much current for the Arduino to handle, so it needs a little help. The Darlington ULN2003A driver can handle 500mA on each output, and it has a 2.7 kohm resistor on the inputs. Which makes it perfect for this kind of application. Simply connect the output of the Arduino to the input of the Darlington driver, and ground for the load to the Darlington outputs.
When I first started I figured I would use a optocoupler to separate the USB and adapter grounds. I ended up not doing that, but the 16 pin DIL socket is still soldered to the board, as you can see on the images above.
The Arduino itself and the yellow LED is powered through the USB connection, this is not a problem as long as the total current is below 400 mA. But the navigation lights uses 12 volts, so for that we need an AC adapter. I chose an 330 mA adapter since my red and green lights are not lit at the same time, if they were I might have to get a bigger one.
I did not do any changes to either the Lync bridge nor the Arduino sketch. This is what I originally wrote about the software on the previous Lync lights post:
Now; we need to let this device know about our Lync status somehow... Otherwise it's not going to do much good. Luckily and thanks to the power of open source; someone had done a lot of the job for us already. I found a project on GitHub that used a blink(1) to show the Lync status. This made my task a lot easier, I love open source!
- D3 Green LED
- D5 Yellow LED
- D6 Red LED
I used these output because they are PWM, pulse-width modulated, meaning that the brightness of the LEDs can be controlled. Because the navigation lights are so bright I chose to turn down the green one to about 5%. It's still plenty bright enough, the red one however I am keeping at 100% to maximize the visibility.
- 1 × AC adapter, 12 V=, 330 mA, 2.1mm jack, SMPS
- 1 × Arduino Uno R3, ATmega328P, A000066
- 1 × Darlington-driver, 7 step, ULN2003A, DIL16, In: 2.7K/5V
- 1 × DIL socket, 16-pin, 7.62mm
- 1 × Enclosure, plastic (1591 FL), 120x65x40mm, flange
- 0.1 m × Heat-shrink tubing, 2.4 mm, 2:1, clear
- 1 × LED 5mm clear, Yellow, 2.1V, 20mA, 10.000mcd, 20°
- 1 × LED holder 5mm, Chromed metal
- 1 × Navigation light, Green, LED, 12 V, stainless steel
- 1 × Navigation light, Red, LED, 12 V, stainless steel
- 18 cm2 × PCB, stripboard, 100x160mm, 160cm2
- 1 × Power jack, panel, 2.1mm, plastic housing
- 1 × Resistor, carbon film, 0.25W, 150 Ω, 5%
- 4 × Rubber foot, adhesive, SJ-5012, Ø 12.7x3.5 mm
- 4 × Spacer, round unthreaded, 3mm, Ø6mm, Delrin
- 7 × Straight pin header, male, Single row, 2.54mm
- 3 × Terminal block, screw, 2.5 mm
- 0.3 m × Wire, stranded, 0.22mm2, Black
- 0.2 m × Wire, stranded, 0.22mm2, Green
- 0.3 m × Wire, stranded, 0.22mm2, Red
- 0.1 m × Wire, stranded, 0.22mm2, White
- 0.1 m × Wire, stranded, 0.22mm2, Yellow