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).
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).
My final project for the Arduno microcontroller class is this 3D room mapping thing. It still needs some work but here’s basically what it looks like. An ultrasonic distance sensor is mounted on a servo (which is mounted on another servo), and records the distance of objects located at various angles. Two angles and a distance from the center make up a spherical coordinate system, and those coordinates can be plotted.
My final project for the Python summer course was “Diff EQ Wars”, a game/simulation of units on a battlefield using graphics from Advance Wars. It uses ordinary differential equations for the motion and health of the units, with terms based on certain conditions (i.e. is the unit near an enemy? / is the unit near a base? / is the unit in a forest? / etc).
You can find it here, along with the other programs I wrote for that class. It was written in Python 3.1 and requires pygame.