I edited the touchscreen Neko program to include Marisa sprites based on her sprites from “Patchcon: Defend the Library!”, except in monochrome. She can also be controlled by serial port if connected through USB: send a header byte of 255 to the Arduino, followed by the X and Y coordinates, and she will move there (assuming the previous command was a valid one). This allows her to also be controlled by, say, Ustream/IRC chat commands.
Update: Had an interactive stream on Ustream where viewers could type “!mari” followed by two integers, and she would move to the coordinate (unless it’s too large or small, then she moves to wherever she can). Here‘s a recording of the stream; cooler stuff happens at about 13 mins onward (fire and snow effects). It doesn’t record the chat messages though, but they were definitely there.
I’ve set up a thing where you can control the crossfading RGB ping pong ball via Ustream chat. Simply type “!rgb # # #” where # is an integer from 0 to 255 (for example, “!rgb 0 255 0” is green), and the LED will fade to that color. I’ll try to leave the stream up tonight so if you see this before I wake up tomorrow, hopefully it’ll still be there. It’s just a combination of the python IRC bot script and the RGB LED crossfading Arduino sketch from before. Ustream chat is basically just an IRC channel, so that’s why it works!
Update: Stream has ended! Thanks to everyone who participated!
Made an Arduino program based on the computer program Neko. Neko moves to where you tap on the screen, and if you don’t do anything for awhile, it does some idle animations. I’ve also added a thing that wasn’t in the original program; after Neko performs two idle animations, it moves to a random location on the screen (not shown in the video).
I took one of those Sony Ericsson touchscreens I got from DealExtreme, along with a SparkFun Nintendo DS touchscreen breakout board (it works with this touchscreen too), and put it on my KS0108 MONOCHRON GLCD screen after a lot of messing around with wires. The touchscreen is actually a really good size for this screen, it’s just slightly larger but it’s a very good fit. I knew it was a good idea to buy two of them though, because I ended up breaking one of them (the wires are very fragile and it got torn off), which is why I decided to use twenty layers of tape to protect the wires on the second one. The only downside to using this touchscreen with the GLCD is that now I only have one analog input pin left.
Here is the completed room mapping final project! Since last time, I’ve added a very useful smoothing option that makes the plot look less like a bunch of random jagged edges and more like a recognizable shape. There’s also an option to choose different types of shapes to plot with, which makes for some pretty artsy-looking results. It is surprisingly fun to play around with the smoothing options, textures, and shape types, as you can see me doing in the video.
The Arduino/Processing source code can be found here, and if you just want to play around with the plotting program (I’ve included some sample files), you can download an exe file here. You’ll need the ControlP5 library if you want to modify/run the Processing code (not necessary for the exe).
So rather than studying for the exams I have next week, I decided to mess around with LEDs. I used this code with a diffused RGB LED (put a ping pong ball on top of it for more diffusion and it also looks cooler).
Edit: Found this online today, turns out someone else had the exact same idea of using a ping pong ball as a diffuser! There’s a more detailed write-up, with pretty diagrams and stuff, if anyone is interested in learning more.
I also tried doing this with an RGB LED but it just resulted in possibly seizure-inducing effects. It probably works better with three individual LEDs.
Here’s a follow-up to the previous room mapping post. The scanning process is more efficient now, with less wasted movements (and thus faster scanning). Rather than going all the way back to the beginning of a column (for lack of a better term) and scanning down every time the end is reached, it just starts scanning from the bottom up.
The program has been improved too. Aside from the pretty menus (made using ControlP5) and graphical options such as color changing, I’ve added a function that checks the ratio between every side of every quadrilateral. If the ratio between any two sides exceeds a certain threshold (chosen by the user), the quadrilateral isn’t drawn. This makes it so that you don’t have a bunch of really long quadrilaterals connecting points that aren’t actually even connected in reality (see the old video for an example).
Of course, I’ve only shown one of each in the photo. They were a lot smaller than I had expected; I put a penny in the image to give a sense of the size of these things. The solar powered car doesn’t really seem to work, but I guess it might just be the lack of adequate sunlight in my room. Gonna start trying to make something with the lasers and servos some other time.
I’ve also ordered some other stuff from DealExtreme about a week ago, and those should arrive some time in the future.