Completed! Touija Board!
This project was definitely an exercise in design and engineering. I had originally created an XY axis motion rig on a frame just to test the electronics:
That worked pretty well. I used an Arduino Uno, an Adafruit motor shield v1, nema 17 motors, motor mounts, some 8mm rods, linear bearings, and timing belts. I made the platforms out of plexiglass because I had some lying around. I used the Adafruit Stepper motor library, which also uses the AccelStepper library.
Then it came time to design the table itself. I began with the table top, since I had a good idea of the size I wanted. I figured I could reverse engineer it from there.
Then came the hard part. Retrofit engineering the XY linear motion rig to fit underneath the table top. I ended up completely starting over because the first prototype was designed to be sitting on a table or floor and the eventual magnet platform would be mounted to the top carriage pointing upwards. For the tabletop, I intended to mount the hardware underneath the plank, and the magnet carriage would need to be pointing towards the top of the table, which is still up when it’s right side up, but is down when the table is upside down for install.
Once that was sorted, I just had to make the platform that the magnets would sit on. I don’t have any pictures of that process, but it was mostly trial and error. Then it was time to test the planchette movement!
In this video I was moving it with my hand. I was having code issues. I eventually worked those out, basing my code off of the MultiStepper example from the Adafruit Stepper Motor library. I was able to get x and y movement, but I discovered that without a way to zero the planchette — to make sure the system knows where the planchette is — it was impossible to try to plot out where each letter was. I added in two momentary push buttons in line with the carriage and the magnet platform so that I could set a basis for movement.
Once that was done, it was possible to actually start plotting out letters. I did a test video at this point, because I knew that I’d be replacing the vinyl letters and that to plot out where they were now would be pointless.
Two cans of spray paint and some new vinyl cuts later…. I had this:
Then it was a matter of plotting out the letters, and getting it to receive the tweets. I used this tutorial by Lucidtronix as my jumping off point. I have a processing sketch that pulls the latest tweet of whatever search term I specify from twitter, and sends it over a serial connection to the Arduino, which then passes it to a function that cleans it, and parses out each character, telling the planchette where to move.
Overall I am happy with this build, but I will continue to work on it to make it as I had originally envisioned. The motor shield I’m using does not leave many pins for other functions, so I’ll be replacing it with the newer motor shield from Adafruit. This will enable me to add a wireless breakout board that will take the place of the current wired USB serial connection. Once that is done, I will translate the processing code to a Ruby script that will run on my linux server that is handling many of the other functions for my thesis. Then I can build the rest of the table and its protective plexiglass vitrine.
I had to completely redesign the X Y Motion mechanism for the tabletop that I had cut.
Once I had figured out how to make the movements work in the new space, I was able to begin putting it together.
Here’s a preview of how it will function, once I get all of the motors in place (just one left!)
I may have to slightly redesign the layout of the letters and words, and I’d like to add a little bit more embellishment. Once the mechanics are working, I’ll build the legs, remove the vinyl letters, spray the table top gold, wait for it to dry, and then apply new vinyl letters with the design. Then I’ll paint the entire table black, and remove the vinyl so that the gold shows through. I may add some more embellishment to make the table look more Eastlake-like, but that’s basically it.
Haunted Phone Guts!!
Going from breadboard prototyping to soldering onto a pcb is always harrowing. I made this fritzing sketch to help me stay organized and remember what I’m doing.
This setup enables the phone to receive text string messages over serial to the arduino, which then rings the phone and upon pick up, passes the text message to the EMIC text-to-speech card, which then speaks the text.
Wiring up the EMIC was the easy part, but the bells on this old phone were meant to run off of AC power. That means that to get the bell to ring with DC Power, I have to alternate the direction of current on my own. I’m doing this using two sets of NPN and PNP transistors. Using 4 digital pins, I’m turning on and off the transistors in such a way as to provide power and ground through alternating sets of transistors, and feeding that to the bells. What a pain!
Pin 2 on the arduino is used for the receiver switch.
I used an old deprecated arduino protoshield because I had one on hand. I also used Sparkfun’s Swiss Machined Female Headers for the transistors, because when I was breadboard prototyping they burned out a couple of times if the power was applied to the 12v rail before the arduino provided power to the transistors to act as gates. Using these headers makes it easy for me to be able to switch out the transistors if they burn out again, but hopefully they won’t.
I’m waiting on some wireless chips from ebay to get this completely installed into the phone, but other than that, it’s pretty much done(for now).
Eventually I’d like to add a functionality to be able to send 5 seconds of audio from the phone microphone to the website, but that gets into streaming and other more complex issues I’d rather not tackle at the moment.
Next Up…. Twouija Board
Using a linear motion system to grab a twitter feed and spell it out on a ouija board in a “magical” way so that it looks like the board is working by itself.
Madame Meena’s Fortune Teller
What a mess…
… but totally worth it!
Virtual Tarot Card Reading
A papercraft fortune teller who reads your tarot cards.
The fortune teller waves her hands above the cards. When you select a card (via a web interface), that card flips over, and its message is revealed on an eink screen in the center of the fortune table.
A possible fortune teller movement mechanism:
The card flip mechanism:
More paper mechanisms
More complex mechanisms created… and working on getting a web server set up to be able to send a signal to a local microcontroller.
Inspiration for mechanical project
A fond memory from my childhood, it would be cool if I could make an ensemble of mechanical creatures or robots that were grouped, and then either have them all operate from one camshaft and motor or to have each with its own motor. Then I could make them addressable from the internet, so you could play with these physical puppets online.