Introduction: Arduino Christmas Hat

The last time I ask someone to put an ugly sweater as a dare, he came up saying the sweater was not his size, so I though "How about an ugly Christmas Hat?".

With this hat there is not excuse available!!

This is a very cheap and small project that everyone can do at home, and the best part is that you can punish your friend and they cannot escape.

Step 1: Suplies

  1. Material:
    1. Decoration:
      1. Hat
      2. Carboard
      3. Christmas Balls
      4. Carton
      5. Garland

    2. Arduino:
      1. Arduino Genuino 1
      2. Cables
      3. Small Gear Moto DC
      4. Ultrasonic Sensor HC-SR04
      5. Buzzer
      6. RG led
      7. Resistance (for the RG)
      8. Battery Holder (6V)
      9. DRV8833

  2. Tools:
    1. insulating tape

    2. Silicone & Silicone gun

    3. soldering iron & tin

Step 2: Design

I draw and wrote the general idea, I want to achieve, of course, at the end there were some changes, but this draw as well as the flow chart helps me a lot to orientate myself during the making of the hat.

Step 3: Cutting the Motor

As the motor should be put vertical, we must do the botton as plane and stable as possible. That is why I folded the metal sticks and cut the plastic.

Moreover to avoid anything getting in the way of the motor gear I covered the motor with insulating tape.

Step 4: Wiring

If it is not totally clear, I am giving you the same but wrote also:

  1. Ultrasonic sensor
    1. Echo: 6
    2. Trigger: 5
  2. Buzzer : 7
  3. Motor:
    1. 12
    2. 11
  4. RG
    1. Green: 9
    2. Red : 10

I tie the cables going to the GND and the VCC respectively (except from the RG) to only one (one for GND and another one for VCC), so I gain space and use less cables.

I also use the insulating tape to join the RG led and the Motor.

Step 5: CODE

The main idea is :

  • If someone put on the hat, the ultrasonic sensor will detect it.
    • The Merry Christmas song will be played by the buzzer
    • The led will be in red
    • The motor will runs to spin the reindeer draw.
  • If no one puts on the hat.
    • The led will be in green
    • No sound would be played.
    • The motor is motionless.

I am uploading at the end the code.

I code everything so it works perfectly:

// we define every note we are going to play in the song
#define doh 261,626 #define re 293,665 #define fa 349,628 #define mi 329,628 #define sol 391,995 #define la 440 #define si 493,88 #define doa 523,241 #define rea 587,33

// define the pin of your RG #define GREEN 9 #define RED 10

// define the Pin were the Echo & Trigger will be const int Echo = 6; const int Trigger = 5;

// define the Pin where the Buzzer will be const int music = 7;

// define the Pins where the motor will be const int motor1 = 12; const int motor2 = 11;

void setup() { Serial.begin(9600); pinMode(Trigger, OUTPUT); pinMode(Echo, INPUT); pinMode(music, OUTPUT); pinMode (motor1, OUTPUT); pinMode (motor2, OUTPUT); pinMode (RED, OUTPUT); pinMode (GREEN, OUTPUT);

}

void loop() {

// the Distance will be show in the computer int cm = ping(Trigger, Echo); Serial.print("Distance: "); Serial.println(cm); delay(100);

if (cm < 7) { motorON(); RG_RED(); musica(); return(cm); }

else{ RG_GREEN(); motorOFF(); noTone(music); return (cm); } } void RG_RED() {

digitalWrite(GREEN, LOW); digitalWrite(RED, HIGH);

}

void RG_GREEN() { digitalWrite(GREEN, HIGH); digitalWrite(RED, LOW);

}

void motorON() {

digitalWrite(motor1, HIGH); digitalWrite (motor2, LOW);

} void motorOFF() {

digitalWrite(motor1, HIGH); digitalWrite (motor2, HIGH);

}

void musica() { tone(music, re); delay(500);

tone(music, sol); delay(500);

tone(music, sol); delay(250);

tone(music, la); delay(250);

tone(music, sol); delay(250);

tone(music, fa); delay(250);

tone(music, mi); delay(250);

tone(music, mi); delay(250);

tone(music, mi); delay(250);

tone(music, la); delay(500);

tone(music, la); delay(250);

tone(music, si); delay(250);

tone(music, la); delay(250);

tone(music, sol); delay(250);

tone(music, fa); delay(500);

tone(music, re); delay(500);

tone(music, re); delay(500);

tone(music, si); delay(500);

tone(music, si); delay(250);

tone(music, doh); delay(250);

tone(music, si); delay(250);

tone(music, la); delay(250);

tone(music, sol); delay(500);

tone(music, mi); delay(500);

tone(music, re); delay(250);

tone(music, re); delay(250);

tone(music, mi); delay(500);

tone(music, la); delay(500);

tone(music, fa); delay(500);

tone(music, sol); delay(1000);

tone(music, re); delay(500);

tone(music, sol); delay(500);

tone(music, sol); delay(500);

tone(music, sol); delay(500);

tone(music, fa); delay(1000);

tone(music, fa); delay(500);

tone(music, sol); delay(500);

tone(music, fa); delay(500);

tone(music, mi); delay(500);

tone(music, re); delay(500);

}

int ping(int Trigger, int Echo) { long tiempo, distance;

digitalWrite(Trigger, LOW); delayMicroseconds(4); digitalWrite(Trigger, HIGH); delayMicroseconds(10); digitalWrite(Trigger, LOW);

tiempo = pulseIn(Echo, HIGH); //medimos el tiempo entre pulsos, en microsegundos

distance = tiempo * 10 / 292 / 2; //convertimos a distancia, en cm return distance; }

Attachments

Step 6: Hole

I make a hole in the hat,between the middle and the back. a rectangle of about 4,3cm and 1,7cm

Step 7: Cut the Box

  • I cut the Cartoon in 4 rectangles:
    • 2 of 4,5 cm * 3 cm and the other 2 of 2cm*3cm

Step 8: Join the Box

Glue it, and stick it to the hat, the hole must be inside the box.

Step 9: Stick the Ultrasonic Sensor

With the help of the insulating tape, you stuck it to the box.

Step 10: Stick the Motor & RG

They must be in the middle, I stuck they with silicone

Step 11: Stick the Buzzer

The buzzer can be stick wherever, but it must not be stick upside down, otherwise the sound will be very bad.

Step 12: Battery Holder

Add the battery holder with its respectively batteries, and stick it as well as the Arduino Geniuno UNO

the battery holder I stuck it with silicone meanwhile the Arduino Genuino UNO I stick it with the insulating tape.

Step 13: Draw the Reindeer

Meanwhile I do all the electronic stuff, I encouraged my younger sibling to draw a reindeer using the cardboards. Isn't it cute??????

Step 14: Cartoon to the Reindeer

First it made a hole for the nose in the paper and the cartoon.

I do not want the reindeer to be constanly moving so I stuck it to some carton.

Step 15: Electronics + Decoration

I stuck the reindeer to the motor.

My intention was to light the nose when the hat was worn, so I stuck it very near to the nose so the light do by the led, reach the nose.

Step 16: Hiding the Electronic Part

As you could see all the electronic part make the hat kind of ... less "Christmas" and do not fit a lot .

So I hide it, by surround it (do not touch) with some garland.


In this way it looks much more beautiful and fits a lot with the theme "Christmas" :)

Step 17: Christmas Balls

Finally I used the silicone to add some Christmas balls, that will hang from the hat, constanly moving.

Step 18: ENJOY IT!!!!!!

Thanks for reading !!

I just hope you have enjoyed it ,reading it, the same I enjoy it making it.

Ugly Sweater Speed Challenge

Participated in the
Ugly Sweater Speed Challenge