Here’s a video of the whole thing in use!
Using the python library, tweepy, getting the twitter interaction to work was actually very simple. The downside is that I can only retrieve mention data every 60 seconds due to Twitter’s API rate limiting.
The circuit is very simple, the RGB led strip I have is common anode, so I used N-Channel mosfets attached to pins 18 (Red), 23 (Green) and 24 (Blue). For the camera, I’m using a spare raspberry pi camera module I have.
For the names of the colors you can write to the lights, I went with the 140 X-11 colors. I figured it was a good spectrum of colors.
The source code for the whole project will keep getting updated, so check here for the most recent versions of each file.
I’d love to expand the scale of the project, if you’re a student at wpi and would like on of these in your window, please email me at the addressed listed in the about section of my website.
Thanks for reading!
PWM with a Raspberry Pi is tricky. There is an official meathod of doing this, but I’ve found that when driving multiple channels (like 3 for an RGB LED) it doesn’t work to well and is noticeably shaky when transitioning to new PWM cycles.
Looking for alternatives, I found pi-blaster. From their github:
This project enables PWM on the GPIO pins you request of a Raspberry Pi. The technique used is extremely efficient: does not use the CPU and gives very stable pulses.
It was pretty simple to create a utility to drive my RGB LEDs with. My code can be found here.
To install pi-blaster for use with this code, you’ll need to download and install like so.
Make sure you are in the same directory as LEDFuns.py
git clone https://github.com/sarfata/pi-blaster.git
sudo apt-get install autoconf
The pi-blaster directory should be within the same directory as the LEDFuns.py file.
Thanks for reading! More on this project soon.