Published December 3, 2008
Arduino , Flash , Range Sensor
I was recently asked for some help from someone having problems using 2 PING Ultrasonic range sensors. I promised to send some pictures of the setup as I hadn’t provided information on this in my previous post. So just in case anyone else is having problems, here they are. Hope they can help.
I’ve been playing around with the Arduino electronics prototyping platform recently and this is my first experiment. It’s a prototype for a future artwork that essentially acts as a primitive touchscreen device. I’ve used 2 PING))) Ultrasonic Range Sensors positioned at the top of my monitor. These measure the distance of any object placed in front of them. The Arduino board collects this data and passes it on to Flash via SerProxy.
Click here to see the video on Vimeo
Click here to see the video on YouTube
For this project I used a modified version of David Cuartielles’ Arduino sketch and SerProxy as a Serial-to-Network Proxy Server. Here is my serproxy.cfg code.
# Config file for serproxy
# See serproxy's README file for documentation
# Transform newlines coming from the serial port into nils
# true (e.g. if using Flash) or false
# Comm ports used
# Default settings
# Idle time out in seconds
# Port 3 settings (ttyS2)
I spent quite a lot of time trying to use Firmata, and AS3Glue but found that Firmata didn’t work with the PING Range Sensor. I’m fairly sure that AS3Glue requires the Board to be running Firmata so, as mentioned above, I settled for Arduino code from David Cuartielles. I wrote my own Actionscript to deal with the incoming data using the Socket and ByteArray classes. You can find an early rough version of this code here.
Images of the setup can now be seen here.