This post is one my last on the Internet of Holiday Lights RoadTest. It has been quite the journey for me! When I started I barely knew what Arduino was and now I hope I have someone improved on that understanding. First off, thank you so much to the patience and generosity of peteroakes for helping to guide me through many concepts that were completely alien to me.
Please check out my RoadTest Review as well!
My progress through the IOT RoadTest was an interesting one. As a new beginner to the Arduino platform, I had to quickly learn some of the basics so that I could hit the ground running. I got a handful of components from Peter to get me started and also bought this lovely 60 pixel RGB LED light strip which I have been in love with since it arrived. After running the basic sketches to blink the pin 13 LED light, I then was able to go ahead and power the light strip after learning how to configure the Adafruit NeoPixel library. The result was a very rewarding mixture of brilliant, rich coloured light. What I didn't realize until much later is that I was actually improperly grounding the data line so the signal noise was adding extra rainbow to my display!
It was easy to get addicted to Arduino after seeing pretty lights like this. I was hooked!
From that point on is where I started to hit my road blocks and adventures.
Serial Display screen
One of my biggest points of confusion came from trying to learn how to use a serial display screen. My main experience so far had been interacting with the NeoPixel strip so I was spoiled by the single data pin control style. Learning how to use the serial controlled 16x4 display meant that I had to learn how to hookup several more pins! I was initially daunted by the sheer number of pins and the fact that I had to go buy new hardware (potentiometer) but I eventually hooked up everything as follows. and figured I had stumbled upon the bable fish: All my text was coming out in Greek, Japanese, or simply gibberish.
Greek characters appearing during a "Hello World" sketch
I did not realize that I was programming in Japanese!
Trying to analyze the strange characters
I was going pretty crazy as I tried to analyze why the display was outputting Japanese characters. I began to figure that maybe one of the pins was consistently stuck in either a 0 or a 1 position, due to the fact that the strange characters often showed up in an array as seen above. What didn't make sense however, is that simply "Hello World" scripts were causing moving text all over this display.
I eventually gave up on trying to make this screen work. I encountered other issues with a seven segment display and also an older I2C controlled serial display. I realized that the display screen was truly secondary to my project and moved on.
Passive IR (PIR)
As the deadline was quickly approaching, I realized that the key to my project was accepting inputs from the environment and triggering changes in the lighting sequences. So I went with the simplest approach that I thought I could do with my crucial, remaining hours. I used a PIR sensor and a basic script to ensure that I was able to properly harness this little guy, and then tested the PIR with a single LED light:
The PIR is working! The next step after shiny-flash lights was learning how to make this thing accept input from sensors
After getting the PIR to work, I got help from peteroakes and leveraged a darling little Arduino sketch which cycles LED sequences. He showed me the intricacies of the code and it is quite glorious: It is built to accept string commands that are then checked against an array of possible commands and then executed. While my application was much simpler (for this time at least!), I was able to run a simpler version that gives me the result below!
My final product is an odd little Christmas tree with a lot of light power! The presents under the tree are the Yun and Infineon boards which I'll be learning more about into the future!
Thanks for reading! I've learned a lot in the process and look forward to learning more!