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…
I really should have a running list of these mini-projects I have been cranking out. This one: using a PING))) sensor from Parallax Inc to drive LEDs for a set of values. Sounds boring, but it is sort of cool. Oh cool.
I have had a bunch of white LEDs in my Amazon shopping cart for quite some time. I was tossing around the idea of doing a 5×5 cube a while ago, but ran out of steam on that project. I blame the PowerSwitch Tail…I had relays on the brain, big time. Still drafting out my big project on that front; stay tuned for some sweet garage door action. I rarely find my self with two projects in flight, that may actually turn into something, but I just might have stumbled back into the LED arena.
Long story short, I had my Arduino, Mini 9, some white LEDs, and exactly seven jumper wires in my backpack. I stepped upstairs at work for lunch, and decided to horse around with them…see what it takes to run multiple LEDs. Seems basic, and it is. Fortunately…
Here is he setup…
not much to it
I put together a little sketch. I managed to grab the time-stamp notion from this sketch that is included with the IDE, and run with the rest of it. There will be snippet, but snippet will follow A SWEET VIDEO FTW
Before you try to dr this, I have included a video to combat the tl crowd. You’re quite welcome. See below.
Now I’ll explain. I may even toss in a snippet…who knows.
Basically, I found myself with a few free hours, an Arduino, a bunch of random components in my lab (read: garage) at my disposal, and no real plan of attack. Result? Arduino/servo motor controlled fan.
Jump off component…silver spray painted Altoids can. Nice…chop that sucker up so I can smash a servo motor in there.
+1 minty
Well done. See…
dang, son
Lady Ada uses these for some random projects. If you can stomach a whole bunch of crappy mints, you have a nice little Arduino-sized metal casing. Of course, it poses a grounding threat, which I experienced working with my motor shield a while back. That said…keep a few around. I have put this one to use before.
Next step…testing the servo
wires for the win
For this, I broke out my motor shield. It doesn’t have any features that would benefit this project…the servo areas are basically just power, ground, and control. Control pumps into the 16B 10 port, like a jumper…that works for my debug.
Next, implement a fan.
I'm a big fan.
I snagged this fan from an old tower, I think. I really don’t know. It seemed to react well to a 9V battery, so I tried it with a 5V source…same deal. Awesome. I used a zip tie to fasten this to that, that being the Altoids enclosure.
This thing needs a base…man-clamp to the rescue:
man-clamp
I picked this up, to use it as a soldering base. That ‘x-tra’ hands piece of shit that I have previously posted in pictures didn’t cut it. This is the manly version. And, it works great for this project, I believe…you can decide based upon the vid. Here is what it looks like, with some more detail.
clamp in action
Let’s add some code…oh no…sounds like we’ve reached the BALLIN ASS SNIPPET ZONE
#include
Servo myservo; // servo opbect
int pos = 0; // initialize
void setup()
{
myservo.attach(10); // digi pin 10
void loop()
{
for(pos = 0; pos < 180; pos += 1) // from 1 to 180
{
myservo.write(pos); // moves servo
delay(20); // waits 20 ms
}
for(pos = 180; pos>=1; pos-=1) // sweeps span between 180 and 1
{
myservo.write(pos); // moves servo
delay(20); // waits 20 ms
}
}
If that looks familiar, it is because it pretty much the sweep example from the Arduino IDE. No changes necessary…I like when that happens.
Here is the final product:
I'm a big fan of this little fan. Sorry.
Not bad, for a quick slam-together exercise. It isn’t really robotic, since it has no sensors. I could bump this up a notch with some IR LEDs, or my PIR sensor, but that is for another time.
Blah blah blah, stay tuned, blah blah. Until then.
I suppose I should add a few words. I placed the images in an empty post several days ago, and sort of forgot to update the text on mi telephono.
Dios mio!
netbook action shot
Well, long story short. I put together the little POC using my PIR sensor a while back. The shit deal, is that the sucker only writes high and low. Easy, for the win. Limited, for the loss.
I may or may not have (I did) disassembled a few CRT TVs last month. Hence, have all sorts of components, such as small sub 9V speakers…
the wires are wire-y
I’m trying to do something with a dual speaker setup, in order to shine up my bugler alarm project. The code is boring…stay tuned…I might be able to come up with something amusing.
So, I’ve formalized the solar cell project I have been poking at for a while. I managed to clean up my code and mess with some initial conditions, etc., and now have a fairly solid proof of concept for a solar cell-centered night light.
you may want to ramp up that LED a bit
As was the case in my first few runs, my sketch incorporates a five second initialization phase. This acts to set both relative minimum and maximum values which act to provide “full light on” and “full light off” values, respectively. The generated power from the solar cell is read in to the Arduino via analog input, and the LEDs are driven via digital outs. The rest is some simple math that transforms the range of the analog signal into a digital range of zero to two hundo fifty five.
It’s giant-ass-text-having snippet time!
// Solar LED IO
// Joseph Swanson | http://swantron.com
// 2011
// Define constants
const int sensorPin = A3; // Solar cell Pin
const int ledPin = 5; // varuiable LED Pin
// Define variables
int sensorValue = 0; // wipe read value
int sensorMin = 0; // set initial min
int sensorMax = 1023; // set initial max
void setup() {
// turn on Pin 11 LED…indicates calibration period begin
pinMode(11, OUTPUT);
digitalWrite(11, HIGH);
// stay lit for five seconds
while (millis() < 5000) {
sensorValue = analogRead(sensorPin);
// adjust for real max
if (sensorValue < sensorMax) {
sensorMax = sensorValue;
}
// adjust for real min
if (sensorValue > sensorMin) {
sensorMin = sensorValue;
}
}
// end Pin 11… calibration period finito
digitalWrite(11, LOW);
}
void loop() {
// read the solar cell analog
sensorValue = analogRead(sensorPin);
// apply a little calibration to the sensor reading
// bit from example sketch at http://arduino.cc
sensorValue = map(sensorValue, sensorMin, sensorMax, 0, 255);
// set constraint for outliers with respect to min/max
sensorValue = constrain(sensorValue, 0, 255);
// fade the LED from one to 255
analogWrite(ledPin, sensorValue);
}
Pretty straight forward. On to the vid…
It’s web2.0-too-many-script-ass-calling embedded video time!
Not too bad. Again, I used an Arduino Duemilanove and a Solar World panel. I might try to further this concept by incorporating my 120V switch and getting a lamp up in here. Stay tuned, as always.
+1 doing Arduino proofs of concept at work on lunch break
+1 capaciters as jumpers
I packed a solar cell and a little breadboard to work today…put together a little sketch together over my lunch break to control LED brightness with solar cell analog readings.
I shot a little vid that I will toss on YouTube. Expect a full write-up soon. You suckers might even get a snippet…
In my ongoing fight with my Ethernet Shield, I had a bright idea that the sucker might have some bad jumpers. Welp, I put together a little blinking LED code and let it rip…which worked. I then tried to run the LED through the 3V lead…but…plugged the bastard into the 5V slot.
Fire and brimstone. Long story short, the board is getting power, the jumpers are fine, and that sweet clear LED is toast.
As promised, behold the much-anticipated footage of my Arduino AC Interface proof of concept. It was dark in my ‘lab,’ so the footage leaves something to be desired.
So, if anyone is in need of a strobe light, hit me up. I’m all over that.
Stay tuned…I am working on the web-side of the Android dev kit, so hopefully I will have another test coming soon. Ethernet shield, Android, Arduino, and 120V…I’m getting giddy.