Date post: | 11-Mar-2016 |
Category: |
Documents |
Upload: | chris-mcadams |
View: | 220 times |
Download: | 1 times |
purple nurple
body scanning massager by
nicholas araujo | leng he | chris mcadams | amanda morgan
2 . p
urp
le n
urp
le . c
on
ce
pt
initial ideas
Current security operations of the TSA include the use of a full body scanner, metal detectors, and individual pat downs. Each of these procedures makes travelers feel extremely uncomfortable.
By creating a body scanning massager, these operations can be brought to one device, while also alleviating the stress and discomfort of traveling and airport security. Now the tension of the passengers can melt away while precautions are being taken by the TSA.
3 . p
urp
le n
urp
le . d
es
ign
ide
as
initial ideas - massaging panel
Initial designs explored ideas of a panel which could be actuated manually by moving a handle along an xy grid behind the massaging ‘fi ngers’. This panel could be installed on a chair or table, or could be placed in an upright position against a wall.
Massaging Fingers
Base
Scanner With Handle
4 . p
urp
le n
urp
le . d
es
ign
ide
as
initial ideas - handheld massager
With the addition of ultrasonic sensors which can read XY position, the massager was able to become a handheld device which allows the full body to be scanned. In the fi nal design, the handheld was maintained, but the fi ngers were adjusted due to the range of the microwave scanner.
5 . p
urp
le n
urp
le . fin
al m
as
sa
ge
r
The purple nurple is a new device intended to sooth the most agitated of travelers. In this day and age the threat of attack is constant, and we must be diligent in our efforts to protect travelers. But today individuals are tired of having their privacy violated and are also wise to the potential harmful effects of the scanners on the market. To comfort them we introduce the purple nurple, a handheld body massager that will relax tense guests while still thoroughly examining all parts of their body for any weapons or dangerous items. The purple nurple’s soft tips press directly against the passengers clothing delivering a enjoyable massage before their fl ight, helping them to relax from the stresses of being probed by TSA agents.
final construction drawings
silicone rubber massager tips
acrylic frame
side handle
scanner heads
microwave (MW)body scanner
arduino, circuitboard, etc
bottom handle
6 . p
urp
le n
urp
le . fin
al m
as
sa
ge
rfinal construction drawings
silicone rubber massager tips
side handle
bottom handle
microwave body scanner silicone rubber massager tipsacrylic frame
7 . p
urp
le n
urp
le . fin
al m
as
sa
ge
rultra-sonic position sensors and microcontroller
arduino | circuit board | XY position ultrasonic sensors
8 . p
urp
le n
urp
le . fin
al m
as
sa
ge
rprocessing the output of the scanner
/************************************************************************* Sketch for a microwave (MW) body scanner. Reads from 2 perpendicular ultrasonic sensors for X,Y position and a microwave (MW) sensor to detect skin or metal. Outputs data over USB to a Processing sketch.
IPD 516 - Advanced Mechatronics Nicholas Araujo, Leng He, Chris McAdams, Amanda Morgan 03/22/11**************************************************************************/
#define YRX 2 //Turns Y ultrasonic sensor on/off#define YPIN 3 //Output from Y ultrasonic#define XRX 4 //Turns X ultrasonic on/off#define XPIN 5 //Output from X ultrasonic#define CPIN A0 //Output from MW scanner#define PPIN A1 //Potentiometer (not used)
//Raw sensor valuesunsigned int xval = 0; unsigned int yval = 0; int cval[10];
//MW scanner variablesint cref = 410; //Reference level when nothing is in front of MW scannerint cavg = 0; //Average used to initialize crefint cmax = 0; //Max signal from MW scanner per sampling frame
//Char-equivalent outputs to Processingchar xpos = 'X';char ypos = 'X';char color = 'X';
void setup(){//Set ultrasonic sensor control pins for outputpinMode(XRX, OUTPUT);pinMode(YRX, OUTPUT);
//Turn off Y ultrasonicdigitalWrite(YRX, LOW);
//Start data to ProcessingSerial.begin(9600);delay(1000);
//Average 20 readings from MW scanner to initialize creffor(int i=0; i<20; i++){
cavg += analogRead(CPIN);delay(30);
} cref = cavg/20;
}
void loop(){//Read from X sensordigitalWrite(XRX, HIGH); //Turn on X ultrasonic
xval = pulseIn(XPIN, HIGH); //Count how long XPIN is high (in us) xpos = char(xval/147); //147 us per inchdigitalWrite(XRX, LOW); //Turn off X ultrasonic
//Read from MW sensor, finding max value after 10 readingsfor(int i=0; i<10; i++){
cval[i] = analogRead(CPIN); cval[i] = abs(cval[i]-cref); cmax = max(cval[i],cmax);
delay(30); }
//Scale cmax to increase sensitivity, but limit to 255 cmax = min(2*cmax, 255); color = char(cmax);
//Read from Y sensordigitalWrite(YRX, HIGH);
yval = pulseIn(YPIN, HIGH); ypos = char(yval/147);digitalWrite(YRX, LOW);
//Send data to ProcessingSerial.write(xpos);Serial.write(ypos);Serial.write(color);//Reset cmax
cmax=0;
}
/************************************************************************* Sketch for a microwave (MW) body scanner. Reads X,Y position and MW data from an Arduino over USB. Plots data as rectangles whose color corresponds to MW scanner output (lighter being skin or metal).
IPD 516 - Advanced Mechatronics Nicholas Araujo, Leng He, Chris McAdams, Amanda Morgan 03/22/11 **************************************************************************/
import processing.serial.*; //Library for reading in from USB
//Serial object for reading from USBSerial port;
//Data from Arduinoint xpos; int ypos; int col;
//Variables to ensure data is only plotted for unscanned areas//(not implemented)//color localColor;//color bgColor = color(0,0,0);
void setup() { //Initialize graphicssize(36*6,80*6); //Assumes a scanning area of 36" x 80"noStroke(); //No outlines for shapesbackground(0); //Black background
//Start reading data from Arduino over USB port = new Serial(this, Serial.list()[0], 9600); }
void draw() { //When a full data frame (3 chars) is available, save values from USB
bufferwhile(port.available() > 2) {
xpos = port.read(); ypos = port.read(); col = port.read();
//Print raw and scaled values to terminal for debuggingprintln((xpos)+" ("+xpos*6+") "+(ypos)+" ("+ypos*6+") "+col);
//Draw a rectangle at the scanner's current X,Y position with color//corresponding to the MW scanner output.fill(col);rect((xpos)*6,(ypos)*6,6,6);
//Data is only plotted for unscanned areas (not implemented)// localColor = get(xpos*6,ypos*6);// if(localColor == bgColor) {// fill(col);// rect((xpos)*6,(ypos)*6,6,6);// }
} }
//Handle key press eventsvoid keyPressed() {
//Press spacebar to clear graphics windowif(key == ' ') { background(0);
}
//Press 's' to save the imageelse if(key == 's') { save("scan.png");
} }
One processing sketch was created for reading the microwave (MW) body scanner. X,Y position is taken from 2 perpendicular ultrasonic sensors and a microwave (MW) sensor detects skin or metal. This data then outputs from an arduino over USB and is then sent to a second processing sketch. This sketch plots the data as rectangles whose color corresponds to the MW scanner output -- lighter being skin or metal.
9 . p
urp
le n
urp
le . c
on
stru
ctio
ncasting the liquid rubber
clay mold
silicone rubber massage tips
10
. pu
rple
nu
rple
. fina
l ma
ss
ag
er
fully assembled massager
completed massaging body scanner
11
. pu
rple
nu
rple
. tes
ting
fina
lexcuse me sir, can you please step over here?
testing within frame for XY sensing
12
. pu
rple
nu
rple
. tes
ting
fina
l
13
. pu
rple
nu
rple
. tes
ting
fina
l
14
. pu
rple
nu
rple
. tes
ting
fina
l
output capture 01 output capture 02
displaying the body scanner data