Checkout Part 2
Hey! Listen, sorry. I've been a little busy.
(To date this post) With all the COVID quarantine shenanigans I was feeling a little depressed from being locked in my dark apartment all day... and as my introverted friends know all to well, the darkness does things to you. Things that I wasn't able to stave off with just my normal 7.5 mile 3x a week run (I might be a little crazy)!
To combat this, my brain dug up memories of super awesome LED lighting I saw on Pinterest.
PHASE 1
NOTE:
If you're here only for the schematics... They're not here yet. 😊 But might end up here if I remember to come back and add them! May the odds be ever in your favor.
Woa, look! Examples:
(All rights go to where ever I got this from. 😄 THESE ARE NOT MINE!)
That should cover it, right?
Yeah, pretty...
Yeah!
YEAH
YEAH!!!
Alright, after I've inceptioned myself with this super awesome idea I set off doing what I do: researching the most cost efficient, awesome and Bryan way to do things.
Sure, I could just buy a pre-made solution and then...
NO! There is no room for boring here.
The first option I thought of was making a Christmas YouTube style light show like the one below.
#WizardsInWinter
But! Instead of Christmas music and flashing lights it would just be solid colors... and no music... I'd essentially be making a really boring Christmas lights display which seems like a lot of work for a fairly limited audience and I'm lazy. However, it wasn't off the table yet. To quote a favorite video game of mine: "Additional research is required."
WARNING! INFORMATIVE SECTION BELOW!
The way those fancy Christmas light displays work is that most of them use strands of LED lights that are all connected to a lighting controller. Cleverly named, right? Don't blame me, that's what I found during my research. Probably named by an engineer or something. "What does this thing do?" "It controls lights." "Ah, well that there is a lighting controller." "Excellent! You get a raise."
These lighting controllers are (essentially) the same systems that professional performance and stage technicians use to make light shows for concerts, church services and the rave in John Wick with varying levels of sophistication, quality and price.
At this point there were two options that seemed reasonable to me, a lowely IT Technician/hobbyist of cool things.
1) The DIY (do it yourself) option
2) Purchasing a low level product that still allowed me to pay rent this month
The DIY option:
This first one I found was the Build-It-Yourself kit from a company called Light-O-Rama.
http://www1.lightorama.com/build-it-yourself-kits/
It turns out that the light controller business is a pretty big industry and this one seemed pretty good until I saw that the entire system needed assembly.
Don't get me wrong I love a building project but at this point I just wanted to see if it was a feasible idea. This kit also cost$131.95.
Yes, there are other DIY projects out there which could be more suitable but this gave me a sense of scale for the amount of work that would go into this.
Look at all those breakable/lose-able pieces!
The pre-built "purchase a thing" option:
This... proved a lot more difficult than I expected. The simple human part of me expected to search Amazon and Google for "lighting controller" and be greeted with a multitude of useful results. Not exactly what happened for me. A main issue was that I didn't really know what to search for. The results I found included professional grade AC lighting controllers, computer case LED controllers, and home automation lighting controllers. While not wrong they still didn't seem like what I was looking for.
I figured I must be asking wrong question.
I went back to the Google and began combing the web. It seemed like I would have to re-think my initial plan for implementing an LED lighting display in a way that wouldn't take all year to complete as well as not being crap at the end. And then I stumbled across something interesting.
During my searching I kept seeing different combinations of the terms "Arduino" and "Individually Addressable RGB LED light strips". Specifically, the WS2812B style of LED strip seen below.
This got the wheels in my head to start turning. I was familiar with Arduino devices but not so much with the LED light strips. An Arduino is a little device classed as a micro-controller. In normal human speak, its a device you program for a few specific purposes.
Some look like this!
Okay... But how
The Arduino can be programmed via an IDE (Integrated Development Environment or a program that lets you work on code) once it is connected to a computer via a USB connection. It doesn't necessarily need the computer connection once its programmed. All it requires is a 5v power source which is what most standard USB connectors like phone chargers and wall sockets provide. The programming language is C/C++ which is perfect since I recently took some classes on both of those languages and know enough to know when I'm about to be dangerous!
So, we can power the thing, and we can program the thing. What about connecting the thing to the other thing?
I did some more looking around and found a pretty helpful video about how to connect the LED strip to the Arduino and realized that its pretty simple. All you need to do is connect the 3 contact points on the LED strip to three corresponding pins on the Arduino and it should theoretically just work. Maybe. A game/software tester's most hated combination of words.
The video! (Again. It's not mine):
BEGINNERS Guide to Individually Addressable RGB LED Programming with Arduino
https://www.youtube.com/watch?v=WS6FI_NyRzs
Wiring diagram from the same video:
Cool! Seems simple enough and I've got the materials to get started! I had an Arduino starter kit I bought when I was bored a few years back and never used it. The kit had an assortment of LEDs, motors, resistors and an Arduino. Only thing I do not have is my own LED light strip.
Fortunately, Amazon was able to help me out with a 3 foot LED strip that I could start with and not have 100's of feet of LED lighting laying around my apartment if it didn't work. (I know there are smaller lengths like 16 feet and such, but 100 feet sounded better.)
The strip:
https://www.amazon.com/gp/product/B01CDTEFAQ
While waiting for the part to be delivered I figured I'd get my feet wet working with the Arduino and programming the little thing. I run Debian 9 on the PC I'll be using to program it and got the Arduino 1.8.12 IDE installed. The IDE actually started communicating with the Arduino immediately after hooking it up to the computer. Neat! Easy! After applying my C++ coding knowledge and peaking at an example or two I was able to get a full program (Arduino calls them sketches) to successfully compile.
The first two iterations of the sketch involved a single LED and then a single LED blinking! That is a degree of success! However, I am a man and I was not done yet and after finding a second Arduino (and staring at it for a second because I'm not... quite sure where it came from) decided to opt into the "be awesome" option.
The end result is two Arduino micro-controllers powering 5 LEDs each. The LEDs light up in a sort of... I don't know, back and forth motion? I'm sure there is a technical term for it.
See it below!
It also looks pretty cool at night.
Now, I know what you're thinking that this is just an unimpressive messy jumble of useless lights and seizure inducing colors! And you're right! You are also very harsh and demanding. Fortunately, this was just phase one! Once the LED light strip comes in next week (4/28-ish) I'll be able to start messing around with getting a really neat light display going and then integrating it into Wednesday's control system.
Well, that's all until the LED strip comes in I guess. L8ers!!!
Q. "Who is Wednesday?"
A. Oh, Wednesday is my home automation system/AI I'm building. I'll introduce you later. 😄
Q. "Why did you name it Wednesday?"
A. I said I'll introduce you later!!!
Q. "Is it really an AI?"
A. Go away.
-Bryan
5/4 UPDATE: Phase 1 complete
No comments:
Post a Comment