The Arduino is used mainly as a controller for the servo and can be configured and issued commands over a Serial connection. The serial protocol used is extremely basic and relies on messages of three characters in length.
|Command Bit||Value Bit||\n|
Newline characters will always break and only the first two characters will ever actually be interpreted.
The following commands will set different position registers. Where n represents the ascii representation of a number.
The following command flags are recognized.
|-t||Trigger through array positions|
|-l||List the values in int array positions|
|-d||Toggle debug mode|
Debug mode can be set using pin 12 on the Arduino. It is high active (when high debug mode will be on). Code is hosted at Document Camera Source Code
Installed and working!
The desktop background stays the same at all times with a transparent terminal over it. On swipe, an alternative display based on the user id number is made using latex-beamer and converted to an image file that gets displayed with feh.
Currently, the display contains a 1984 reference. It has the potential to be expanded into different displays which could be rotated daily. Fun interactive door displays can be used for recruiting.
Old door computer has been placed on the floor next to the door, but moving it into the ceiling would be a better option.
One can access the door computer by plugging in a USB keyboard and mouse into the back of monitor on the inside of the door. The old door computer now lives above the door in a trough like structure in the ceiling. DO NOT lift the ceiling tile in the corner above the door, it has the video/power cables on it; lift the one next to it. There is currently no fixed IP, but if one uses the keyboard/mouse, they can figure out the IP and log in remotely by SSH.
The card reader has been physically installed, but the software backend needs to be revived.
Note: this reader contains magical black smoke that turns it into a keyboard, so make sure you have the active window if you are using it.
Currently, the card reader is used to display interesting “information” on the door screen. This is done in a screen session named “SwipeControl”, through 3 files (I’ll upload them soon!).
This creates a full screen gnome-terminal on the door screen (nifty) and executes run.sh in it.
This script loops over waiting for a card swipe, generating interesting outputs, and displaying them on the door screen.
This script turns off keyboard echoing to the screen and waits for a card swipe. After a card swipe, it helps generate the output generated in the run.sh script.
Figure out computers IP address.
ssh to machine
screen -r SwypeControl
if there is an error,
screen -S SwypeControl
After doing some measurements and looking at tech sheets we have determined that this one will fit our door.
A request for money has been sent to the BUILDS secretary.
Upon arrival, the install should be quick.
Cable feedthrough is in place for door webcam.
The door has been upgraded from its original RFID reader to a magstripe reader. The main cause of this is the cost of purchasing RFID tags. Now bu students may use bu ids to swipe into BUILDS and non-bu members may use any magstripe card they wish as their swipe card.
The door upgrade has also added a monitor outside of the door.
While right now it doesn’t have much use besides looking cool, it will eventually host announcements and general news.
Acrylic sheet obtained; in the process of sanding/flame-polishing the edges.
Meetings are vaguely set on Sundays around 2:30.
There are a variety of ways to approach building a multitouch table, but for this project we will be using Frustrated Total Internal Reflection (FTIR). FTIR functions by shining Infrared (IR) light into the sides of an acrylic sheet, where the light is reflected. As soon as a surface hits the top of the acrylic the IR light is scattered downward through the sheet where it is picked up by an IR camera. Any surface hitting the sheet shows up to the camera as “blobs” of light, which can be tracked using software. Furthermore, a projection surface is placed on top of the acrylic sheet. It serves two purposes: one, to act as a screen for the multitouch table, so the projector (set underneath the acrylic) has a surface to project onto, and two, so that, coupled with a layer of silicone sealant between the acrylic and the projection surface (the compliant layer), the IR camera can pick up on motion rather than static points. For example, when a finger is pressed and slid across the surface, the compliant layer makes the projection surface briefly stick and slide, appearing to the IR camera as a short trail. This, rather than the acrylic sheet alone, allows for ease in tracking moving touches.
First, the edges of the acrylic must be sanded—the IR LEDs will not project properly into saw-cut acrylic edges. Next, the LEDs must be sautered together in a line, spaced about an inch apart from each other, so as to line all edges of the acrylic sheet. They can be taped or otherwise attached to the acrylic. To create the compliant layer, silicone sealant will be rolled onto a sheet of vellum using a foam roller in order to distribute it evenly. The silicone will be allowed to dry, and this process will be repeated at least twice more. Finally, the vellum can be placed on top of the acrylic.
In order to ensure the camera picks up only IR light, one can either purchase an IR camera, or open the camera and remove the IR filter, replacing it with a visible light filter. A visible light filter can be purchased, or one can be created using the magnetic tape inside of a floppy disk.
Finally, the projector will be set up either directly below the acrylic, or mirrors will be used to reflect the projected image onto the projection surface. A cabinet will be built out of wood to house the IR camera, projector, and multitouch surface, and a wooden baffle will be built around the top of the multitouch surface so that IR light directly from the IR LEDs does not shine at the user. The computer running the multitouch software will either be housed in this cabinet, or will be attached and set up separately for optimal ease of testing. Touchlib, an open source multitouch library, will be used for most software purposes until a software development phase has begun.
Project Leader: Monica Gribouski