Team: Drew Gleeman, Cory Levinson, Shaagnik Mukherji, Anton Pugh
Today, hardly a minute goes by without someone “tweeting” what they’re doing. The rotary phone in the SmartArmoire brings that back to older days before full keyboards, then takes that back further by replacing the keypad with a rotary dial, bringing a magical feel to a vintage machine.
Like the rest of the ‘apps’ within the SmartArmoire, the music app serves the purpose of bringing modern day technological accessibility of an iPod through the antiquated feel of physical vinyl records and record sleeves. The music app integrates vinyl records (both new and old) with a computational waveform/metadata display, along with track skip and shuffling abilities, to bring a vintage feel to our modern day interactions with music playback devices.
Without a doubt, one of the single greatest achievements of modern technology is the invention of GPS. It is the product of advances from a wide array of fields, from computer science to aerospace engineering to theoretical physics. In just a few short years, it has transformed the notion of getting lost from a constant hazard of travelling into something that is virtually impossible. Children of the twenty-first century will have no ideas about the difficulties involved in reading and navigating with a map, and this facet of the project aims to incorporate these challenges into the modern idea of a GPS.
The overwhelming popularity of the game Angry Birds is uncontested. One of the primary reasons the game is so popular is the control scheme which is both easy and intuitive on mobile devices. So it was an interesting challenge to bring this game back into the days of analog technology. We attempted to make the controller look very similar to the slingshot in the game, as well as make the controls as analogous as possible to those in the game.
The rotary phone’s signal is interrupted by the dial passing numbers. This signal is used to identify what numbers are being dialed and a message is pulled from them. A photoresistor determines whether the phone is on the hook or not, and when the phone is hung up, the message is sent. When a tweet is received that is addressed @SmartArmoire or with the hashtag #SmartArmoire, a bell is rung to simulate the phone ringing. Upon answering the phone, a computer voice reads the tweet out. Additionally, the phone displays TwitterVision, an earlier project, when hung up.
Each of the vinyl record sleeves has a QR-Code fixed to the back of the record. When the vinyl cover is inserted into the slot in the armoire, a flex sensor recognizes the record sleeve, and a webcam begins reading the QR=Code from the sleeve. Once the QR-Code is recognized, the album begins playing, a display is shown on the television, and the track skip, play/pause, and shuffle buttons are enabled. Upon removing the record, the music stops, until a new record is inserted in its place.
Initially we used an NES controller for controlling Angry Birds, but we wanted to take it a step further back in time. NES controllers are digital, and we wanted to use analog technology. So, we developed a slingshot controller that functions essentially the same as a normal slingshot, but its motions are transferred into the game.
The music app uses QR codes that are taped to the bottom right of the back of each record sleeve. When the record is inserted into the slot in the SmartArmoire, a flex sensor triggers a camera in the drawer to begin reading the QR code. Once the code is recognized, the album begins playback. All mp3’s from the 12 records available are stored locally with appropriate metadata (including album art) on the computer running processing, and playback is controlled via the minim processing library. The album art along with tracklistings are displayed across the TV when the music app is selected with the VGA switcher, and the physical buttons control playback via an arduino.
This portion of the project uses a camera hidden inside a lamp above the map. The camera captures images of the map and sends the information to the processing app. The app uses the OpenCV library and blob detection to identify the corners of the map as well as the start and end locations. It then converts these locations into latitude and longitude coordinates, and sends a query to the google maps web service. It receives a response including the directions in JSON format which it then prints to the screen.
When the phone is hung up, it displays tweets from a certain location in the country determined by the direction and position of the antenna and dial on top of the TV cabinet. The program calculates this position by reading the values on the attached potentiometers and converting the readings into GPS coordinates. The app then filters a stream of tweets for ones sent from that specific geolocation and displays them on the screen. The app performs a similar function in order to detect tweets with the hash tag #SmartArmoire. If it detects a tweet with that tag, it causes the bell to ring and reads the tweet aloud when the phone is picked up. When the phone is off the hook and a user is dialing, the arduino reads the pulse signals sent by the phone in order to determine which number was dialed. The app translates this into letters.
Lift the handset and dial your message, then hang up to send! If the phone rings, make sure to answer it!
Place a record inside the sleeve and use the buttons to select a track, pause playback, or shuffle through a album!
Place the pawn on the desired starting location, and the crosshair on the destination. Press the green button and the TV will display turn-by-turn directions, distance to destination, and estimated time.
To move the cursor around and to press down (for both grabbing the bird and clicking on things) use the analog joystick at the center of the slingshot. Once the bird is grabbed pull back on the slingshot (slowly works best) and release to let the bird fly.