This project, Emotidora, will help a user express his/her emotions about events in day-to-day life. Weve all been in
situations where something very exciting or unfortunate has happened to us and we want to share it with other people. This
usually involves the expression of some emotion through visual cues, and when prompted by a peer, it can lead to expressing
the situation/emotion. Emotidora enables people to wear their emotions on their head. It allows people to share how they will
know how they feel and it can lead to more natural self-expression and conversation. Additionally, the person can change
their hats emotion at any time and can also transfer the emotion to another (feeling happy, but your friend is feeling sad?
transfer your emotion!)
Ideally, the hat will do the following:
1) When a person feels a certain way, he/she can display a corresponding emoticon on the hat by using a variable resistor,
a potentiometer, to switch the emotion on the hat given six options: ecstatic, happy, straight-face, sad, anger, and surprise.
2) Interaction with another person that is wearing a hat is possible if they come close enough that an infrared communication
is made between the hats (i.e., they will know that they are in proximity and will allow more interaction to take place).
a) Another user patting your hat’s roof in a caring way would be able to change the emotion on your hat by stepping
it up a level. Say you were feeling ’straight-faced’ and much of anything at the moment. A tap on the hat by
another Emotidora user will now more your emotion from ’straight-face’ to ’happy’ because you’ve been cared for.
b) The other interaction that is possible is through a hug, another caring gesture. Hall-Effect sensors (that detect
magnetic fields) are placed on opposite sides of each hat. Magnets are on either side of the sensor. When both
people hug and the hall-effect sensor on each comes in contact with the magnets on the other hat, your current
emoticon gets happier as well.
Step 1: What you Will Need
-2 photoresistor sensors
-2 1K ohm resistors
-2 Hall effect sensors
-2 100 ohm resistors
-10 330 ohm resistors
-66 LEDs (27 of one color, 6 of another)x2
-5V (up to 9V) battery
Step 2: Constructing: The Emoticon Face
The first step to Emotidora is to create the emoticon face that will be displayed on the front face of the hat. The face can
be in any design you want, but ideally it should be able to incorporate all of the combinations of smiley faces that you want
in the hat.
The faces that we wanted to show are 6: ecstatic, happy, straight, sad, anger, suprise.
The figure 1 shows the way that we built our emoticon face and every face that is displayed on it.
Take your 33 LEDs and your 5 330 Ohm resistors. And hook up all of the LEDs in parallel for each row of the smiley,
with the longer lead of each LED in line with the 330Ohm resistor as it connects to +5V, which in our case is output by the
pins of an arduino. Do as shown Figure 2, on a breadboard. Remember that the LED is a diode, and the longer end of the
LED should be connected to the resistor. This resistor is connected to our arduino pins (2-6) which output a 5V signal when
they are turned on. The shorter end of the LED must be connected to ground.
Now in order to switch between the smileys, we need to program the arduino to be able to take each different face as a
’FaceCase’, where it will turn on the row of LEDs based on which FaceCase that it is given. To do this, we can write a ’switch
case’ program in C for the arduino, with each case (each smiley) telling the arduino which pins to turn on (which LEDs to
light up). The table below shows which pins should be turned on for each smiley face.
Step 3: Constructing: the Light-Sensing Circuit
The light-sensing circuit will help in making one person’s Emotidora make another person feel better. A pat on the head
will mean that a photoresistor that is hiding there (a photoresistor changes its resistance based on how much light is present)
will either be covered (darkness) or will have light falling on it. This change in voltage across the resistor will mean that we
can use this difference to help the patter change the friend’s emotion to become happier by one increase in smiley (so from
happy to ecstatic, straight to happy, sad to straight, angry to straight. Surprise does not fit in, and thus is not affected).
The circuit for the photoresistor is shown in the figure below, where it is tied to power (Vcc) and another resistor, a 1Kohm resistor
is tied to ground. The voltage is taken in between both, creating a voltage divider. The ratio of voltage that comes out, is
V out = [photoresistor/(photoresistor+1Kohm)]*V in. So based on how the photoresistor is covered and its resistance changes, Vout respectively changes.
This Vout is what connected to the arduino, at analog pin A1. Once again, we take in an analog voltage value here and map
it to a digital range of values between 0-255. If the light level difference is greater that 70 (the person’s hat is being patted),
then we upgrade by a smiley face. Otherwise, nothing happens. Once again, the C code for this is reflected at the end of this
Read more: Emotidora: Hats with Emotions using Arduino