|
@@ -0,0 +1,55 @@
|
|
1
|
+title: Blog
|
|
2
|
+post: DisplayBacklight
|
|
3
|
+date: 2017-05-13
|
|
4
|
+comments: true
|
|
5
|
+flattr: true
|
|
6
|
+github: https://github.com/xythobuz/DisplayBacklight
|
|
7
|
+parent: projects
|
|
8
|
+position: 100
|
|
9
|
+---
|
|
10
|
+
|
|
11
|
+## {{ page["post"] }}
|
|
12
|
+<!--%
|
|
13
|
+from datetime import datetime
|
|
14
|
+date = datetime.strptime(page["date"], "%Y-%m-%d").strftime("%B %d, %Y")
|
|
15
|
+print "*Posted at %s.*" % date
|
|
16
|
+%-->
|
|
17
|
+
|
|
18
|
+DisplayBacklight is an Ambilight-clone made with an Arduino controlled by a macOS machine.
|
|
19
|
+
|
|
20
|
+<div class="lightgallery">
|
|
21
|
+ <a href="https://www.youtube.com/watch?v=Sy3Wgt9CKz4">
|
|
22
|
+ <img src="http://img.youtube.com/vi/Sy3Wgt9CKz4/0.jpg" alt="DisplayBacklight - macOS Arduino Ambilight">
|
|
23
|
+ </a>
|
|
24
|
+ <a href="img/ambilight-1.jpg">
|
|
25
|
+ <img src="img/ambilight-1_small.jpg" alt="Photo 1">
|
|
26
|
+ </a>
|
|
27
|
+ <a href="img/ambilight-2.jpg">
|
|
28
|
+ <img src="img/ambilight-2_small.jpg" alt="Photo 2">
|
|
29
|
+ </a>
|
|
30
|
+</div>
|
|
31
|
+
|
|
32
|
+### Hardware
|
|
33
|
+
|
|
34
|
+The software currently only supports driving RGB-LEDs with the colors from the edge of a screen, so you have to place an RGB LED strip on the outer edges of your computer monitors. Multiple screens are supported using a single LED strip for all of them.
|
|
35
|
+
|
|
36
|
+You need an LED strip with individually addressable LEDs like the popular [WS2812 RGB LED strips](https://www.sparkfun.com/products/12025). The data line is connected to pin 2 of the Arduino. The [Adafruit Neo-Pixel library](https://github.com/adafruit/Adafruit_NeoPixel) is used to control the LEDs.
|
|
37
|
+
|
|
38
|
+### Protocol
|
|
39
|
+
|
|
40
|
+The color data is transmitted using the serial port and the USB-UART converter built into most Arduinos. Communication happens at 115200bps, the LED count is hardcoded in both firmware and host software. First, a magic string, also hardcoded, is sent, followed by 3 bytes containing Red, Green and Blue, for each LED. When the last byte has been received the whole strip is refreshed at once.
|
|
41
|
+
|
|
42
|
+### Software
|
|
43
|
+
|
|
44
|
+The macOS host software is opening the connection to the serial port, grabbing a screenshot, processing the edges to calculate each LED color and finally sending it to the device.
|
|
45
|
+
|
|
46
|
+<div class="lightgallery">
|
|
47
|
+ <a href="img/ambilight-3.png">
|
|
48
|
+ <img src="img/ambilight-3.png" alt="Screenshot">
|
|
49
|
+ </a>
|
|
50
|
+</div>
|
|
51
|
+
|
|
52
|
+### License
|
|
53
|
+
|
|
54
|
+DisplayBacklight itself is made by Thomas Buck <xythobuz@xythobuz.de> and released under a BSD 2-Clause License. See the accompanying COPYING file.
|
|
55
|
+
|