My new IOIO project is in the ‘bunch of pieces’ state.
It also happens to be in the ‘my effing hardware works’ phase as well..
I’ll keep mum on this for the time being…a bunch of coding and refinement remains to be seen. Stay tuned for this one…
Android IOIO Project | IOIOSeek
I hope you don’t mind, but I went ahead and stepped it up a few notches.
My newest project brings my end-goal a few steps closer. I now have the pieces in place to put together an actual robotic implementation with the IOIO…since things have officially reached the cool stage, I decided to drop this as a stand-alone project. Complete with pics, a vid, and an app.
IOIOSeek:

What I have here are two slider bar controlled servos, an analog input-read solar panel, and some LEDs toggled via a button. The control is via the IOIO / Android.

The pictures, however nice, don’t really tell the story. Take a look at the video to see this thing in action:
As the video alludes to, I am going to run with this concept. The automation (robotics) lies in the analog reading with respect to the servo positions. I plan to ‘scan’ the panel…that is the piece that is missing. Once I can implement that mess, I will have a tracking system. Implementations will fall out of that.

As with the last few projects, I have dumped the app on the Android Market for general perusal. The app’s description provides the details of the pin configuration, which is straight forward. I have two PWM outputs, a pure 3.3V digital toggle, and a pin configured for analog input. That is that.
I will push my code to GitHub as well eventually, and provide a link therein. I still need to polish my generic servo code, since my latency was borderline awful in retrospect. Look for that in the near future as well.
As always, drop any questions to joe[at]swantron[dot]com. Feel free to share your IOIO projects with me…
Prototyping Phase
Easy LCD Arduino Display
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.

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.
(hit the bump for several more pics, a snippet, and some other awesome stuff) Continue reading “Easy LCD Arduino Display”
Arduino Solar Cell Input
Here we go. As I mentioned a few days ago, I’m horsing around with analog input to my Arduino, in the form of input via a solar cell. For the win. It turns out, that I’m getting far better with my casual electronics experimentation…I will chalk this one up as a win.
My basic set-up is this…Radio Shack solar cell, breadboard, florescent light source, Arduino, and a notebook.
Step 1) gauge light source via multimeter.

1.7 V…no need to toss in a resister, as the Arduino can handle 5V without issue. Good to go.
Step 2) Interface with Arduino via breadboard.

This could have been a direct setup, but for the sake of not soldering a solid lead to my solar cell array, I chose to twist the crap out of the existing + and – leads of the wire outs on the unit, and cram them into the breadboard. USB connected to the Arduino, of course
Step 3) Chop in some code for the Arduino. This was the tricky part…not that tricky, however:
~~code snippet time~~
void setup() {
Serial.begin(9600); }
void loop() {
int v = analogRead(0);
Serial.print(v);
Serial.print(‘ ‘);
delay(900);
}
~~~end code snippet time~~~
Note the lack of comments? I’m a flipping math dude, so that is wholly optional in my book. Long story short, Wiring is a stripped cousin of C++…I have to void setup and loop here, since I am not concerned with anything once I let ‘er rip. I will touch on the programming specifics at a later date, but inquiring minds can find this info quite easily on the Arduino project’s main page, or on Wikipedia. Knock your socks off. I added the delay for sake of real-time monitoring, and matched the baud rate to which I had configured my USB connection. ttyUSB0 would be that in question…9600 would be the rate.
Step 4) Read input via serial monitor.

As you can see, it is pretty much constant, with some fluctuation due to my set-up. Noisy, yes. Cheap components, yes.
Step 5) Testing ‘zero’ state. Here, I have employed my box of smokes. American Spirit Lights, to be precise.

Step 6) Gauge system.
Here, I’m altering between ‘on’ and ‘off’ states. I start with the ‘off’ (smokes on solar panel) configuration for a time, remove the box to open the system to ‘max input’ for appx 7 secs, and then place the box to remove the input energy.

Most definitely for the win…with the experimental noise, that could be considered effectively zero. For the win.
In summation, I have read in analog, as intended. Lessons learned? Pretty straight forward I suppose. My cheap-o solar cell is rated for a max of 6V, which I was far under. If I was to use this setup with a stronger light source, I would need to take this into consideration. I didn’t perform any data transformation, as I was not concerned with ‘actual voltage input values’ in this case…merely relative. Most importantly, I was able to knock out the task I had set out to do. Hopefully, I can ride my EE high and get cranking on something awesome, like a netbook robot. With some lasers.
Arduino Robot
I’m not there yet, but let’s chalk this one up as a step towards the end goal…which would be the title of this post. A Damned Arduino Robot!

Granted, this is basically just my hello world (hola mundo) program with the addition of a solderlss breadboard into the fray. But, it is awesome and, I am going to be the coolest dude on the block when I come rolling out with a bad-ass robot.
I had better get back to work.