It’s time to get out and spread the *duino love. Droops and I (Morgellon), will speaking again at various computer conferences through out this year.
I’ll be at Outerz0ne 5 in Atlanta, GA March 6th – 7th, 2009. (kinda short notice, as it is next weekend…)
My talk there is entitled, *Dunio-Punk! Manifesting Open Source in Physical Space. You can read more about it and the others talking at the Outerz0ne 5 Speaker Page. If you’re near the Atlanta area, be sure to swing by and say hello! Outerz0ne 5 will be at the Wellesley Inn 1377 Virgina Ave Atlanta, GA 30344 (more info at Outerz0ne 5 website)
View Larger Map
Droops and I will both be at Notacon 6 in Cleveland, OH April 16th – 19th, 2009. (A bit more notice here…)
Our talk there is entitled, Interactivity with Arduinos, Transducing the Physical World. You can read more about it and others talking at the Notacon 6 Speaker Page. If you’re near the Ohio area, make plans to come out and spend the weekend at Notacon 6! Notacon 6 will be held at the Wyndham Cleveland at Playhouse Square, Downtown Cleveland, OH 1260 Euclid Ave Cleveland, OH 44115. (plenty of directions and more info at the Notacon 6 site)
Don’t worry if you can’t make it out, I’ll do my best to post pictures and the video of the talk from Outerz0ne and Notacon.
Know of a conference where we should be speaking? Be sure to drop us a line and let us know!
Continuing from the last sketch, I’ve done the same thing but in a different manner. I still have Processing generate a square and when the mouse moves over the square it lights a LED on the Arduino, just as before. Although this time, the only code on the Arduino is the “Standard Firmata” sketch.
Processing interfaces with Firmata to control the pins as one would in the Arduino IDE. So instead of sending for “H” or “L” on the serial port, we send arduino.digitalWrite(ledPin, Arduino.HIGH) or arduino.digitalWrite(ledPin, Arduino.LOW) on the serial port. See the video below for examples, and code at the bottom.
Basic Processing to Arduino Communications part 02 from Morgellon on Vimeo.
My first impressions of Firmata and why one would use it:
First impressions of Firmata and why one would NOT use it.
Processing Code
import processing.serial.*;
import cc.arduino.*;
Arduino arduino;
int ledPin = 12;
void setup()
{
println(Arduino.list());
arduino = new Arduino(this, Arduino.list()[0]); // v2
//arduino = new Arduino(this, Arduino.list()[0], 57600); // v1
arduino.pinMode(ledPin, Arduino.OUTPUT);
size(200, 200);
noStroke();
frameRate(10);
}
void draw()
{
background (255);
if (mouseOverRect() == true) { //if mouse over square
fill(242, 204, 47); //yellow color
arduino.digitalWrite(ledPin, Arduino.HIGH); //LED on
} else {
fill(0); //black color
arduino.digitalWrite(ledPin, Arduino.LOW); //LED off
}
rect(50, 50, 100, 100); //draws the square
}
boolean mouseOverRect() {
return ((mouseX >= 50) && (mouseX <= 150) && (mouseY >= 50) && (mouseY <= 150));
}
Finally sat down and figured out how to send some basic signals via serial from Processing to an Arduino. For this example I was just looking for basic functionality, so I settled for a simple way to turn a LED on and off. It’s also mostly sample code gathered from the Internet.
The Processing code creates a small black square on the screen. When the mouse cursor is moved over the square, it changes color to yellow and sends a “H” over serial to the Arduino. While the Arduino detects a “H” on serial it will light the LED.
Here’s a video of it in action and describing how to get started.
Basic Processing to Arduino Communications from Morgellon on Vimeo.
http://processing.org/download/index.html
http://www.arduino.cc/playground/Interfacing/Processing
Now that you’ve gotten all the files installed and in their proper places, try out my test code I used in the video.
Arduino Code (Download here)
// Read data from the serial port and turn ON or OFF a light depending on the value
char val; //Data received from the serial port
int ledPin = 13; //Set value ledPin to pin 13
void setup(){
pinMode(ledPin, OUTPUT); //Sets pin as OUTPUT
Serial.begin(9600); //Start serial communication at 9600bps
}
void loop(){
if (Serial.available()){ //If data is available to read,
val = Serial.read(); //read it and store it as val
}
if (val == ‘H’){ //If H is recieved
digitalWrite(ledPin, HIGH); //turn ON light
} else {
digitalWrite(ledPin, LOW); //If not leave light OFF
}
delay(25);
}
Processing Code(Download here)
//Check if the mouse is over a rectangle and write the status to the serial port
import processing.serial.*;
import cc.arduino.*;
Serial port; //Create object from Serial class
void setup() {
size(200, 200);
noStroke();
frameRate(10);
//Open the port that the board is connected to and use the same speed (9600bps)
port = new Serial(this, Serial.list()[0], 9600);
}
void draw() {
background (255);
if (mouseOverRect() == true) { //If mouse if over square
fill(242, 204, 47); //change color
port.write(‘H’); //send H to serial port
} else { //If mouse is NOT over square
fill(0); //change color
port.write(‘L’); //send L to serial port
}
rect(50, 50, 100, 100); //Draws the square
}
boolean mouseOverRect() { //Tests if mouse is over square
return ((mouseX >= 50) && (mouseX <= 150) && (mouseY >= 50) && (mouseY <= 150));
}
Wow, ice storms pack quite a wrath! Having no power for almost a week made me really consider doing some “alternative energy powered” Arduino projects. Perhaps using a solar panel, dynamo or other method… but first a week worth of Internet to catch up on!! While I catch up, here’s a neat video to tide you over until the next post!
Did you know there are different types of Solder? Solder comes in many different forms, with various melting points and properties!
Here’s a great video detailing some of the differences and possible myths between lead/lead-free solder
There are many reasons to learn the art of soldering, if you don’t already solder. Whether to take a project from breadboard prototype to a completed project… saving money by buying a kit instead of a pre-assembled… harvesting parts from old/broken electronics… modifying existing consumer electronics… the reasons go on and on!
BUT learning to solder can be intimidating… especially if you’re learning on your own or don’t have someone to consult with.
Luckily, the fine people at Curious Inventor have put together a great resource for soldering and solder reference. They also have a great video tutorial, which you can view below.
Be sure to check out the Curious Inventor Solder Guide for pics, reference and hints!
Looks like Ben Fry and Casey Reas the creators of Processing, were recently interviewed on FLOSS Weekly! This is a nice intro into the world of Processing! If you’re looking for ways to extend your *duino projects, communicate with a PC or just have some creative fun, Processing could be for you!
Be sure to head over to the FLOSS Weekly site and listen to this interview!
Looks like the folks over at Libelium are conducting a contest revolving around the Arduino! The contest is called “Hacking Life: II Arduino Contest” and the deadline is April 15th.
The instructions are fairly simple!
And the prizes aren’t too shabby!!
Looks like they’re giving out a discount coupon to the Libelium Store just for entering the contest. So there’s plenty of incentive to take a project and join the contest!
Just noticed (thanks Kevin!) Liquidware released a new *duino clone, the Illuminato!
Scanning through the specs of the Illuminato, I was very impressed!
There are several videos from the Liquidware guys showing off the Illuminato
Looks like the Illuminato is already up for sale at the Liquidware Store for $34.99 US.
http://antipastohw.blogspot.com/2009/01/introducing-illuminato-100-gnu-gpld.html
For several years, I have been a user of various smart-phones of different makes and models. Once I used my first smart-phone, I was truly hooked by the “life style”. Soon, I was left with little desire to return to a “normal” phone that “just made calls”. I am always finding new applications that remind me a smart-phone is more like a small computer that is capable of making phone calls, than just a fancy phone.
When I entered the world of the *duinos, I remember the question “Can I hook up my Arduino to my phone?” entering somewhere in the back of my mind. There it sat, in the deep recesses of the mind…. until recently.
Ideally, I would like the ability to plug in or sync an Arduino and run the Arduino IDE on a mobile phone. I have little desire to replace my computer and keyboard for a phone as my main environment. Although, I would like the ability to use the phone as a “field unit”. Perhaps using it to edit, tweak, or update versions of a sketch without the need of a PC or laptop.
I have no idea if this is at all possible… but in the course of searching the internet for answers I have found some interesting projects with *duino’s and mobile phones!
This example is neat, but… the blue-tooth Arduino can be pricey and I’m really looking for a way to physical connect the arduino over USB… so we keep searching…
This example caught my eye and interest! (Possibly due to the nature of owning an iPhone…) So, I decided to poke around and see if I could find more info on the process. Most of what I found was in Japanese or broken links.
http://d.hatena.ne.jp/tabletlet/20080328/ The site where the video originated and the Google translation http://translate.google.com/translate?hl=en&ie=UTF-8&u=http%3A%2F%2Fd.hatena.ne.jp%2Ftabletlet%2F20080328%2F&sl=ja&tl=en&history_state0=
http://novi.10.dtiblog.com/blog-entry-213.html Another site in Japanese with a bit more info on establishing the serial communications and the Google translation http://translate.google.com/translate?hl=en&ie=UTF-8&u=http%3A%2F%2Fnovi.10.dtiblog.com%2Fblog-entry-213.html&sl=ja&tl=en&history_state0=
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1207058161 A post in the Arduino.cc forums about connecting Arduino to iPod/iPhone serial.
http://devdot.wikispaces.com/Iphone+Serial+Port+Tutorial Info about iPod/iPhone serial communications.
http://pinouts.ru/Devices/ipod_pinout.shtml iPod/iPhone connector pin-out.
And of course, a few sources for iPod connectors and breakout boards:
Recently Phizone, Cynshard and I met up and did a little messing around with Arduinos. (who knew) This is some of the video that came out of that.
Phizone took the etch-a-sketch and the color selector processing code and used photo resistors (light sensors) to generate the values needed.
Phizones Light Sensor Experiment from droops on Vimeo.