I’m lacking a sufficient power source to push a ton of these LEDs simultaneously, so that is that for now. Power brick and a back-up strip are in the mail, so ambition will dictate how bright we go with this. The physical stuff is largely roughed-out, so now the challenge lies in refining the UI to this thing. Well, the secondary user’s interface is the thing that needs attention. My user is ready to roll.
Time is running short…tune in soon.
*** **PROTIP** ~burn the shit out of the copper contact tabs if you chop a RBG LED strip…the remnant rubber is a solder contact’s worst nightmare~ ***
I got tired of poking around with LCD drivers with my Arduino. Time for a quick project to mix it up…staring at a surge protector always puts 120V on my mind. As it turns out, I tore apart an old humidifier a while ago on my ‘workbench.’ Monday night is Katie’s reality TV night…time for something sweet.
Investigating duty cycles on this plastic fan:
fan hack
I figured that I could horse around with my PowerSwitch Tail, and make it somewhat mimic a PWM 5V setup. I was curious how long I would have to ‘pulse’ the switch with juice to keep the fan constantly rolling. I started with it fully on, and kicked my ‘active’ duty cycles lower until I reached a nearly-continual state of motion. Pause for Arduino code snippet:
/*
PowerSwitch Tail Template
–
120V AC Driver w/ LED indicator
–
Joseph Swanson
2011 | https://swantron.com
*/
void loop() {
// Fire relay / LED
digitalWrite(13, HIGH);
digitalWrite(7, HIGH);
// Configure for “on” time
delay (50);
// Kill relay / LED
digitalWrite(13, LOW);
digitalWrite(7, LOW);
// Configure for “off” time
delay (950);
}
Pause for a small small-video break:
As that code and vid indicate, 1/20th of a second is all it took to keep the fan rolling, with 19/20th of a second idle. Not bad. Not sure what the takeaway is, but that is something to mention.
Put that knowledge somewhere safe, provided the question of humidifier fan duty cycles should spring up.
I have two speeds when it comes to projects: percolate and bazooka. Whereas my swantron comment / to / LCD project was bazooka, this Twitter deal has been percolate. Haven’t been able to jump in completely, rather, I have been poking this one with a stick.
Still poking…
dual terminals and a terminal
Making progress…snagging my Twitter page via Python, and dumping it to LCD:
+1 closing tags
I just need to hammer out some parsing, and I will be good to go. I really need to figure out some sweet regex and drop this whole ‘import (some junk)’ stuff. Who knows…at this rate, I just may.
Last week found me standing tall upon my shell script soapbox, shouting command line praises to all who would listen.
Thou ought direct thine output aftways, to-wards thine USB port of thee. And that is well and righteous.
Well, that still is the case. My latest project has made it glaringly obvious that sometimes a little Python script will render a whole bunch of shell scripting moot. Namely, parsing HTML. Let’s see a picture…
bad lab mobile
Lunch hour project: parse the comments from swantron.com; feed said comments to an LCD screen.
I was horsing around with wget from a CLI a few days ago. I found myself trying to smash through the resultant file via pure regular expressions…which is incredibly clumsy. Well, as luck would have it, my go-to after my main go-to is Python, and this type of thing has been issue enough to warrant a library. BeautifulSoup. It acts to parse the HTML info into items, that can be smashed around as I see(med) fit.
My setup was simple: py script to snag my comments and write serial, Arduino sketch to drive a LCD and read/write serial. And a source of shade. And a WiFi signal to snag.
After a deal of success with the command line interface-to-Arduino project, I am in the middle of stepping it up a notch. I ended up on a few blogs due to that last effort, which indicates that I am doing something worthy of note. Hats off to me, perhaps. Well, my tool belt is what it is…if I can’t do it via shell scripting, I reach next for Python. In an attempt to parse stuff that I have been ‘getting’ via wget, I found myself trying to do some clunky regex from the command line. Guess what…I can do that without as much heartache via Python via BeautifulSoup… so...beautiful
Thus far, I have python doing the website getting and Beautiful Soup doing the parsing of my site…basically just grabbing some info at this point that I can modify. I have my LCD driven via my trusty Arduino, and that is that. Instead of redirecting standard out to serial, I am writing to serial via python. Easy breezy.
I have some sloppy sloppy code at this point, and need to add some hardware and stuffs to my prototype. Stay tuned…this could be a good one.
Liquid crystal displays are pretty awesome. Command line interfaces are very awesome. Hmm…
I started daydreaming at work about how to go about making hardware interface with an RSS feed. I have seen some projects that use Arduinos with ethernet shields to check Twitter, for example, but they seem unnecessarily bulky. Or clumsy. I spend a lot of time working on the command line, and love to put together dirty little scripts to solve problems. It sort of goes along the lines of ‘when you have a hammer, everything looks like a nail’…I figured that the same thing could be implemented with a little shell scripting and my trusty Arduino, sans anything complicated.
So far, so good.
bad lab mobile
I put together a sketch (after the bump) to drive my LCD, writing serial output to the screen. After verifying that the sketch worked via the Arduino IDE’s serial monitor, I popped open a CLI and got to work. FWIW, I am using Ubuntu 11.04 still…ctrl-alt-t pops open a terminal window…unity has me all over shortcuts these days. Anyhow, I was able to verify that I could echo text and direct it to the USB port that the Arduino was mounted to. No sweat.
As a proof of concept, I decided to display the number of times that I had the word “awesome” on swantron.com. Once the LCD was shown to work, the sky is the limit…see some regex, pipes, wget, and so forth in action:
I am tired of looking at wobbly windows full of Eclipse. The best and worst part of the IOIO board is the fact that the libraries are Java-centric…unfortunately, I am in the middle of a ‘worst’ phase. I am sort of stalemated. Unfortunately, my issue lies in something that should be trivial, namely naming. Once I can figure out how to orient the crap out of these object-ass pins, I will be good to go. Until then…I am going back to the basics. Processing looks so safe and warm. Coziness, for the win.
How about a 20 by 4 LCD project? Okay.
+1 blue
I have had this sitting on the workbench of bad lab for a while. Time to get after it.
The unit came assembled, minus the jumpers I needed to plug this into my breadboard for prototyping. Coincidentally, my soldering station needed to come out of retirement. Sixteen pins…sounds about perfect.
125 white LEDs. My first thought is 5*5*5 LED cube, powered by the Arduino. I am also thinking that a 6*20 LED matrix would be pretty slick. Either way, my soldering skillz will be put to the test, and awesomeness will surely ensue.
Spoiler1: This is awesome.
Spoiler2: I’ve never seen Minority Report.
I do know that there is some sort of hands free interface, and that is what I have put together.
+1 dizzy
Long story short, I have extended upon my PING))) project to include some sweet touchless home automation. I have the ultrasonic sensor interfacing with my garage door and a lamp, utilizing a servo and a PowerSwitch Tail, respectively.
Hit the bump for an awesome video of this thing in action, and for my spippet.
Introducing Open-er-o-matic 3000. OOM3K. My finest project to date. I have my Arduino poking around with a PING))) sensor, a servo, some LEDs, and best of all…my garage door opener. End result: some Star Trek-ass shit.
Ronco alert
Check this footage of the OOM3K in action. Here, I had it configured to open the door when the ultrasonic sensor echoes off of something within 8 cm…