Metal Head
Purpose: A therapeutic head massager meant to give you the
same creepy yet relaxed feel as the head massager. In the world of work and
stress I believed people needed more ways to relax and this would be mostly
focused on massaging the head.
same creepy yet relaxed feel as the head massager. In the world of work and
stress I believed people needed more ways to relax and this would be mostly
focused on massaging the head.
Motions: The type of motions that I wanted was for like the
head massager pic above it would attack a certain part of your head, but I also
wanted to include the vibrating motions you would feel from back massagers and
to include a effect of making it go up and down.
head massager pic above it would attack a certain part of your head, but I also
wanted to include the vibrating motions you would feel from back massagers and
to include a effect of making it go up and down.
Materials needed for this:
–
1 toy servo
1 toy servo
–
3 pager motors
3 pager motors
–
1 Arduino board
1 Arduino board
–
1 bread board
1 bread board
–
Tons of wires, Long, Short, Medium(and you may
have to make some longer depending on how big your hat is)
Tons of wires, Long, Short, Medium(and you may
have to make some longer depending on how big your hat is)
–
3 diodes
3 diodes
–
3 Transistors
3 Transistors
–
3 Resistors that are: 2.2 ohms 20 % tolerance (Red/Red/Red/Gold)
3 Resistors that are: 2.2 ohms 20 % tolerance (Red/Red/Red/Gold)
–
1 Resistor that are : 0.000Ω (or 10kΩ), 5% resistor
(Brown/Black/Orange/Gold)
1 Resistor that are : 0.000Ω (or 10kΩ), 5% resistor
(Brown/Black/Orange/Gold)
Finalized Arduino Code used to activate Hat.
// Sweep
// by BARRAGAN <http://barraganstudio.com>
// This example code is in the public domain.
#include <Servo.h>
Servo myservo; //
create servo object to control a servo
create servo object to control a servo
// a maximum of eight servo objects can be created
// variable to store the servo position
int motorPin1 = 3;
int motorPin2 = 5;
int motorPin3 = 6;// define the pin the motor is connected
to
to
// (if you use pin 9,10,11 or 3you can also control speed)
const int buttonPin = 2;
int buttonState = 0;
int pos = 0;
void setup()
{
myservo.attach(9); // attaches
the servo on pin 9 to the servo object
// initialize the
LED pin as an output:
LED pin as an output:
pinMode(motorPin1,
OUTPUT);
OUTPUT);
pinMode(motorPin2,
OUTPUT);
OUTPUT);
pinMode(motorPin3,
OUTPUT);
OUTPUT);
// initialize the
pushbutton pin as an input:
pushbutton pin as an input:
pinMode(buttonPin,
INPUT);
INPUT);
}
void loop()
{
if (buttonState ==
HIGH)
HIGH)
{
for(pos = 0; pos
< 90; pos += 1) // goes from 0
degrees to 180 degrees
< 90; pos += 1) // goes from 0
degrees to 180 degrees
{ // in steps
of 1 degree
of 1 degree
myservo.write(pos);
// tell servo to go to position in variable ‘pos’
delay(15); // waits 15ms for the
servo to reach the position
servo to reach the position
}
for(pos = 90;
pos>=1; pos-=1) // goes from 180
degrees to 0 degrees
pos>=1; pos-=1) // goes from 180
degrees to 0 degrees
{
myservo.write(pos);
// tell servo to go to position in variable ‘pos’
delay(15); // waits 15ms for the
servo to reach the position
servo to reach the position
}
}
// read the state of
the pushbutton value:
the pushbutton value:
buttonState =
digitalRead(buttonPin);
digitalRead(buttonPin);
// check if the
pushbutton is pressed.
pushbutton is pressed.
// if it is, the
buttonState is HIGH:
buttonState is HIGH:
if (buttonState ==
HIGH) {
HIGH) {
digitalWrite(motorPin1,
HIGH);
HIGH);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, HIGH); // turns the motor On
}
else {
// turn motor off:
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);// turns the motor off
}
// // read the state
of the pushbutton value:
of the pushbutton value:
// buttonState =
digitalRead(buttonPin);
digitalRead(buttonPin);
//
// // check if the
pushbutton is pressed.
pushbutton is pressed.
// // if it is, the
buttonState is HIGH:
buttonState is HIGH:
// if (buttonState ==
HIGH) {
HIGH) {
// //turn servo
on:
on:
//
digitalWrite(myservo, HIGH);
digitalWrite(myservo, HIGH);
// }
// else {
// // turn servo
off:
off:
//
digitalWrite(myservo, LOW);
digitalWrite(myservo, LOW);
// }
}
Two Schematics used for the wires and bread board.
Steps:
1. After you set up your wiring you want to make sure the wires going into your pager motors are extended long enough that they fit in your hat.
2. Some cutting and soldering may be required to get it the size you want.
3. Wires are going to be all over the place so start taping up the wires to the devices it is enabling
make sure that is is neat as possible.
4. When connecting your button switch I used a small plastic cup and made a hole. Using a toggle switch that has some movable screws on top you can securely fasten your toggle switch onto the plastic cup.
5. Make sure your positive and negative wires don’t touch or short circuit may happen.
6. Cut three holes on the top portion of your hat(two holes that would lead to your ears and one to the middle of your forehead.)
7. Lead the wires with the motors inside each of the holes.
8. Start clamping off or scissoring off the pen caps and tap the pager motor inside top on and bottom.
9. Sew the top together and sew the bottom tip of the pen cap and then sew it to the spring from the 3 pens that you have broken the pen tops off of.
10. Sew those springs to the far ends of the cap.
11. Sew a piece of clothe securely to make a pathway to the end of the hat to the top of the hole.
12. Get a box and tap the servo on top of the hat.
13. Sew the tap that is taping the servo and the box on top of the hat to the hat.
14. Put tap of the wires coming out of the three holes from the hat and then sew from the tap of the wires to the servo pin wheel. (Make sure they are tight enough to allow movement of your three motors efficiently in your hat)
15. Sew your Arduino Board to your hat and tape the bread board to the hat and sew within the tape to the hat.
16. Get a 9V battery plug it into your Arduino and tape that onto your cap
And there you go.
cup
within pen cap