Mission statement for this blog

This blog came about because of interests and projects that are not directly connected with my glass studio, though some aspects of these projects may overlap into my work at the studio down the road. I wanted a central place for photos, videos, and a little commentary for my side stuff. I figure this will be an easier way to communicate with people and friends with similar interests. Or at the very least, just stuff I have been up to.


Tuesday, April 27, 2010

Bubblesteen Bubble Machine

Is it a 3D Spherical Atmosphere Encapsulated Phosphorous Printer?


Is it a CNC Anti gravity Transparent Orb Machine?


No! Its The Bubblesteen Bubble Machine! The spherical miracle that kids and cats have been waiting for! It comes complete with edge detection(when a bubble hits an edge it pops, thus the edge has been detected).
video
I had an Adafruit motor shield for an Arduino micro controller sitting around for a couple of months and started playing around with it when I came up with this idea. I saw a lot of tilt and pan stuff for servos and web cams and thought what can I do that would be really cool and really stupid at the same time.

Around the time of this project, I started to understand programming and writing code much better then ever before. Yes, I know to a programmer my code is really simple, hacked, hobbled, and not very elegant. But it mostly works. Below are some construction photos and I'll try to post the code if I can figure out how.














The Code for the Bubblesteen (not formated properly, but its the jist of it)
#include afmotor.h

#include servo.h

/*servo pan tilt using motor shield from Adafruit. Separate motor with
propellar uses its own simple power source for this sketch.

By Bernard Katz 4/24/10
www.bernardkatzglass.com
*/

Servo panServo;
Servo tiltServo;
AF_DCMotor motor(4, MOTOR12_1KHZ); // create motor #4, 1 KHZ

byte pos = 0; // variable to store starting servo position

void setup() {
panServo.attach(9); //pan servo on pin 9
tiltServo.attach(10); //tilt servo on pin 10
panServo.write(90); //added this for second sketch
tiltServo.write(90); // hoping to halt wild start up swing
motor.setSpeed(230); // set dc motor speed to 254 of 0-255 range
}

void loop() {
for(pos = 0; pos < pos =" 0;" pos =" 90;">= 1; pos -= 1) { // tilt servo raises and levels off
tiltServo.write(pos);
delay(15);
}
for(pos = 180; pos >=1; pos -= 1) { // pan servo swings wand around towards fan
panServo.write(pos);
delay(15);
}

motor.run(FORWARD); //turn on dc motor

delay(3000); // pan servo hold at fan for a couple of seconds

Servo refresh(); //refresh and begin again

motor.run(RELEASE); // dc motor to stop
}

Touch Circuit

This is a simple touch circuit and relay. I have been playing around with various touch circuits and I like the fact that this one has only one touch plate for on and off. I did not want to use a micro controller for a touch circuit to keep it cheap and simple. Eventually when I figure out how to solder surface mount components, I can use touch specific IC for reliability and keep the component count as low as possible.


There is a shameless plug for my studio in the touch circuit video below, sorry

video

Sharpie Bot

I has been awhile since I have updated my blog. I have been doing a lot of book learning and not as many side projects. Though some aspects of these side projects have been spilling over into the glass shop stuff. I saw this in Make magazine by Tod E. Kurt, one of my physical computing heroes, at a time when I wanted to explore servo motors. The hardest part of this project was modifying the servo motors for continuous rotation. They are impossibly small and I killed a couple until I found the right pliers. Anyway, here is my version which is not far from Tod's version. One day when I get the time, I will play with the code a little more to make it do something more interesting.


Video of Sharpie Bot below

video

Sunday, December 6, 2009

IR sensor

Lately, I have been working with microcontrollers and getting into physical computing or interactive programming. The learning curve has slowed as I try to learn various programming languages. Being new to most of this, I find things and areas that interest me and try them out. I try to put my own small twist on the projects as I learn. This example I found uses an IR sensor used mostly in robotics to sense distance. When an object, like a hand, is picked up by the IR sensor, the color of the LED changes as the distance changes. When connected to my computer running serial communication with the microcontroller, the distance will be displayed on the monitor. An alternate code can be programmed to change frequency. This will cause the light to blink and blink more rapidly the closer the object.

Saturday, December 5, 2009

Cosmic night light

I am always thinking of things to do for my daughter. I had been figuring out different ways to make a cool night light. I saw this online so it is not my idea, but I changed some things and will make another that will incorporate a timing circuit so it will go off after about an hour. The circuit and LEDs are embedded in poly resin which is another material I wanted to explore for other projects. It is a pretty simple circuit, runs great. It drains batteries pretty quickly because it runs all night. I knew that would be the case, so it can also be plugged into the wall.

Friday, December 4, 2009

Motion voice recorder

I had been exploring motion sensors with audio circuits when I saw this circuit in Popular Science. It was interesting because it uses a memory super capacitor to set a time delay (up to a week) that will start the motion sensor triggering the voice module. Before this project, I had used a voice module and motion sensor that I set up near my daughter's stuffed bear. She walked by and the bear called out her name. That freaked her out a little too much.
As I am learning about electronics, I am also trying to work on the aesthetic side of things. I wanted to learn more about fabricating with plastics, so I put together this simple box for this project. I had to change some of the components midway through, so things did not line up as well in the box. The circuit worked, but trying to figure out the mathematical equations to set the delay were beyond me. Besides I think there were some issues elsewhere in the circuit. Just because the computer model says it will work, doesn't mean it will. That it why I think it is important to build things in the real world.