loading

Hey everyone today I want to show you how to make an Arduino-controlled lie detector to see when your friends are lying to you :D or to measure the different responses that your bodies skingoes through depending onthe situation you are in or the emotions you are feeling and the coolest thing of all is that we can see all of theses things happen in real time in an Arduino graph.

Step 1: How It Works

Our skin is amazing! It provides a medium for us to experience the sense of touch, it keeps infections out and keeps innards in but I bet you didn't know that our skin changes conductivity depending on many different things one being our mood! It called Electrodermal activity (EDA) and there's a really interesting Wikipedia page you can read here. The basics are that our skin changes its conductivity depending on how we feel.

We start by connect our Arduino to the subject and then connect the Arduino to a computer with the graphing software (I'll go over this in detail later)

We have to start by asking the subject some easy questions we know they will answer truthfully like "what is your name" and "where do you live" to get a baseline and from there we can start asking questions that they may lie about, if they do they would probably feel nervous and then we can read the change in the base line that be established earlier if they lie :D

Step 2: Parts List

We are going to need a microcontroller to control the three LEDs and send the computer the data. In order for the computer receive the data from the microcontroller the microcontroller has to have a serial communication chip this means we can't use the Arduino pro mini or Adafruit trinket so when picking your microcontroller make sure it has a serial communication chip built in (USB communication chip)

Electronics components parts list

Materials Needed

  • Cardboard
  • Tinfoil
  • Velcro
  • Hot Glue

Tools Needed

  • Hot Glue Gun
  • Soldering Iron
  • Craft Knife

Step 3: Wiring

The wiring for this is pretty easy, we will start by connecting them in this order:

  • Connect A long piece of cable to Arduino analog pin 0
  • Connect the 2k resistor to ground and the the extended analog 0 pin
  • Connect A long piece of cable to Arduinos 5 volt pin
  • Connect the anode (long leg) of the green led to pin 2 and the cathode (short leg) to ground
  • Connect the anode of the orange led to pin 3 and the cathode to ground
  • Connect the anode of the red led to pin 4 and the cathode to ground

That's all the wiring for the Arduino, now we need a way to keep the sensor wires on our fingers we will cover this later.

Step 4: Software and Code

The main piece of software we are going use is the newest version on the Arduino IDE. The new update brings a new way to see the data being received from the Arduino, instead of being in text form from the serial monitor, it can now be displayed in a real time graph which will help us identify when the data changes its pattern (when someone lies)

To open the plotter open Arduino and navigate to the tools menu and you should see it there just below serial monitor.

Now the code for the micro controller download the attached file, open it and upload it to your board

Step 5: Making the Finger Clips

Now that the basic form of the project is done we can start adding features to make it easier to use we will start by adding finger clips to keep a stable connection between our fingers and the cables. Lets start by gluing a strip of tinfoil to the bottom of a strip of velcro, do this for both pieces of velcro (the hook and the loop. Now rap it around your finger until it makes a tight fit (check photos) then tape the exposed wire from analog pin 0 to the tin foil and repeat this step for the 5 volt pin (make sure it makes a good connection)

Step 6: Making the Case

The plan is to make a small compartment for the finger pads to fold away and to have three holes for the leds to stick out. Its going to be made out of cardboard and to make it we will need to cut the following shapes out:

  • Cut two 15x3 cm rectangles
  • One 15x5 cm rectangle
  • Three 5x3 cm rectangles (cut a square in the middle on one of them for the nanos usb)
  • One 9x5 cm rectangle
  • One 6x5 cm rectangle

The 15x5 rectangle is the base. The two 15x3 rectangles and two of the 5x3 rectangles get glued to the sides of the base. Now glue the third 5x3 rectangle to the base 6cm from the side (close to the middle, check photos) Now you should have a rectangle thats divided into two sides, one with a length of 6cm and the other with a length of 9cm. The side with a length of 6cm is where we are going to put the electronics and the other side is where the finger pads go. Next cut 3 holes (the size of leds) on the 6x5 rectangle and glue it down to the 6cm side (as a lid). Last we need to tape the short side of the 9x5 rectangle to the far side of the 9cm side (this acts as a lid that flips up and down to reveal the finger pads)

Step 7: Putting It All Together

The last thing we need to do is put the electronics in the case start by gluing down the arduino and all wires in the 6cm side and run the extended wires(pin analog 0 and 5 volt) to the other side of of the rectangle (9cm side). Now glue the three leds to the holes we made on the 6x5cm rectangle and give it a test if all goes well you should have a small portable Arduino lie detector but let me warn you this isnt the most accurate system in fact most real lie detectors use a host of other sensors to determine if someone is lying such as a heart rate monitor and others, what im saying is dont uses the result of this for serious questions. :D

If you have any questions please either send me a personal message or leave a comment and ill try my best to get back to you.

waht is that analog value range in this project from which we recognize the lie
<p>This was a fun and simple project for me and my son. You can see it draped around his neck. We found out that when we hooked it up to people they were more likely to tell the truth anyways. So we had more fun using to test continuity of diffrent objects like metal and plastic.</p>
<p>Thats awesome! Well done to you and your son!</p>
<p>Interesting instructable! New to Arduino, but my understanding of the code would say that the three LED's stay low until they hit the incremental values of 20, 45 and 60. Do these increments need tailored to the user? Or is it normal that all the values that my device receives are too low for any of the LED's? My readings are averaging around 8 - 10 at rest, but never much more than that.</p>
<p>Great question! First off your understanding is 100% correct. All the people i tested on had their values stay in between 20 and 60 depending on how they felt but it's absolutely necessary to change the values if your skin is only giving a reading of 8 to 10. Thanks for the question</p>
<p>Thanks for the instructable and your reply! I am still playing around with this!</p>
<p>Hey how can i modify this code if i want the skin conductance value to be displayed on an lcd</p>
<p>Thanks Great Project. :)</p>
<p>what is the unit of y-axis in the graph ?</p>
<p>hey! it is working, but the LED not really functioning. (they are working for one sec when the Arduino is on, so they are connecting well)</p><p>Should I maybe change the code? make it lower numbers? It's not going higher them 8....:)</p><p>Thx</p>
<p>Hey!</p><p>Where can I find the link of the code? </p>
<p>For safety this should run only from a battery, an unplugged laptop would be fine.</p>
<p>Hey!</p><p>So the computer needs to be NOT connected to electricity? What can happen if the computer is connected?</p><p>thx</p>
<p>Electricty from battery. Failure in ps could kill person connected.</p>
<p>Will edit this to include this safety tip, thanks!</p>
<p>Can I use the same code and connections for arduino uno ? Any changes to do ? Great project though !</p>
<p>Thanks for sharing!.</p><p>Well i tried that, with uno. Works very well with power from usb laptop or PC usb port. But couldn't make it work if i power up the arrduino using powerbank or battery charger. I want to make it portable, no need to power up from usb port pc or laptop. I'm using same schematic as well.</p><p>Is there any workaround to make it work?<br>Thankyou!</p>
<p>can u please tell me do i need some special wires or jumper wires will be good? </p>
I made it, but some times it doesn't work, can you help me ?
sure, did you wire yours up exactly like mine was and download the latest version of the arduino ide?
what software do we need in the computer to see the graph
<p>Graph is displayed by opening &quot;Tools&quot;&gt;&quot;Serial Plotter&quot; in the Arduino IDE</p>
thnx for the previous answer, I made this project but I have problem in understanding the connections between the tin foil, 5v and a0 can u plz help me out
<p>What kind of trouble? You connect A0 to one of the tinfoil strips and 5v to the other tin foil strip then wrap the A0 tinfoil strip around your middle finger and the 5-volt tinfoil strip to your index finger. Hope this helps, I'm happy to answer any other questions you have :3</p>
<p>Why does my graph jump all the time?</p>
<p>Because we connected ground to A0 which makes it jumpy but helps keep the data consistent. </p>
<p>You scared it! :)</p>
<p>:D</p>
can I use an arduino uno instead of arduino nano in this project ?
<p>yes you can</p>
<p>How well does it work? </p>
<p>Pretty well, It can accurately see the change in someones skin resistance due to the persons reaction to a question and relay it back to the user but if someone can keep very calm while lying it wont work that well.</p>

About This Instructable

13,727views

158favorites

License:

Bio: I'm a 18-year-old high school student, I love engineering, film production, design and everything in between.
More by electronics for everyone:Salvaging Rechargeables for Projects  Portable Light Panel  Can I Use an Arduino Uno for This? 
Add instructable to: