Lie Detector and Biofeedback Arduino Based

67,847

487

85

Intro: Lie Detector and Biofeedback Arduino Based

This tutorial will explain how to build a machine for biofeedback. But first a bit of theory.

What is biofeedback?

[Font: Wikipedia | https://en.wikipedia.org/wiki/Biofeedback]

Biofeedback is the process of gaining greater awareness of many physiological functions primarily using instruments that provide information on the activity of those same systems, with a goal of being able to manipulate them at will. Some of the processes that can be controlled include brainwaves, muscle tone, skin conductance, heart rate and painperception.
Biofeedback may be used to improve health, performance, and the physiological changes that often occur in conjunction with changes to thoughts, emotions, and behavior.

Step 1: List of Materials

Step 2: Mount the LCD Screen

First we begin to build the electronic circuit on breaboard. We put all the components starting from the LCD.

We pay attention to where we insert the display on the breadboard.

This kind of LCD work on 5V with 16 columns and 2 rows. You can also use this module with keypad.

Follow the image to link the 10 pin to VCC, GROUND, POTENTIOMETER and 6 Arduino pin.

When you have connected the LCD to the Arduino board try to this LCD Example sketch and see the result. Go to https://github.com/masteruan/Arduino-Biofeedback/blob/master/LCD_test and download the sketch.

Step 3: Mount Sensors

Ok now you can mount the sensors. The TMP36 have 3 pin. Two for alimentation VCC and GND, and une for measurement. You can put the VCC pin and GND pin on the breadboard's VCC-GND pin. After put the measurement pin on the Arduino's A1 pin.

Step 4: GSR Sensor

After this mounting you can create a GSR sensor. You can use two copper pieces. If you live in Europe, you can use the 1 or 2 euro money like in figure.

Put the pin of the copper pieces like in figure. Use a 220k Ohm resistor between GND and A0 Arduino pin.

Step 5: Upload the Sketch

Double check that everything is ok in the electronic circuit. Check especially the pins VCC and GND. Check that they are not reversed. Take your time for this control. The risk is to burn Arduino and electronic components used. When you finish this stage you just have to upload the sketch on the Arduino board. Click the link: https://github.com/masteruan/Arduino-Biofeedback/blob/master/Biofeedback. Go Upload!

Step 6: Operating Instructions

When away from the Arduino biofeedback appear on the screen you'll see the welcome screen. Keep your fingers between the temperature sensor TMP36 and supports the index finger and ring finger on the copper pieces. And then you can see how the device will begin to measure your vital signs like temperature and heart skin conductance.

On the screen you can read the current GSR temperature value, the maximum value GSR skin conductance and the time elapsed since the machine.

You can open the serial port of your computer and read the value on the screen. After 1 second the value are updated. You can create the report of entire measurement session. Like in photo.

Also on Arduino Biofeedback Github repository https://github.com/masteruan/Arduino-Biofeedback you can find a Processing sketch for use a Processing graphical interface. View the GSR view value on the X Y diagram.

2 People Made This Project!

Recommendations

  • Optics Contest

    Optics Contest
  • Plastics Contest

    Plastics Contest
  • Electronics Tips & Tricks Challenge

    Electronics Tips & Tricks Challenge

85 Discussions

So ... once the whole Arduino is assembled, does it generate impulses that detect stress, anxiety, and so on, and send a signal again to reduce these symptoms, doing nothing?

0
None
severance.ayla

Question 5 months ago

so we have the project working but on the lcd it had the GSR which we understand, but what is the GM

1 more answer
0
None
KentC16

1 year ago

sir can i ask what is the value of potentiometer? Thanks in advance

1 reply
0
None
masteruanKentC16

Reply 1 year ago

The LCD contrast potentiometer is 10K

0
None
SamarH1

1 year ago

there is an error in processing sketch in the line

myPort = new Serial(this, Serial.list()[3], 9600);

the error says:

ArrayIndexOutOfBoundsException:3

please help...

i m waiting...

2 replies
0
None
masteruanSamarH1

Reply 1 year ago

This is the number of your serial port. Try 0 or 1 or 2

0
None
SamarH1masteruan

Reply 1 year ago

i already tried that but in vain..:(

0
None
NihalJ5

1 year ago

I'm using atnega 16 A for this project.. can you guide meabout the corresponding code for that..

1 reply
0
None
stevew17

1 year ago

I did not check the baud rate but I am starting over from scratch this time double checking the baud...I believe the project was working fine except for the graph plotting...I was getting output values on the 16 x 2 lcd with all three sensors responding appropriately to both temperature and skin conductivity .

1 reply
0
None
masteruanstevew17

Reply 1 year ago

This Arduino sketch print the data on serial. But you can't use this with serial plotter, but you can use serial monitor.

0
None
JamalS23

1 year ago

hello

thank you alot for everything

I wonder what the usefulness of a MAX GSR value ?

2 replies
0
None
JamalS23JamalS23

Reply 1 year ago

and i wanna ask if there is an any limti of gsr value that we can understand that the subject is lying ?
and what is the unit of gsr value is ohm or what ?

thank you

0
None
masteruanJamalS23

Reply 1 year ago

Dear, I don't know the gsr limits. But I think that the focus of the question is the rapid change of value after a lie.

0
None
NihalJ5

1 year ago

I'm using a DHT 11 SENSOR, how's the code going to change for that.

2 replies
0
None
masteruanNihalJ5

Reply 1 year ago

You can use the Adafruit sensor Library and DHT-11 library. Try Test Example.

0
None
NihalJ5masteruan

Reply 1 year ago

Can you tell me step by step...how to do it

0
None
stevew17

1 year ago

I cannot get my output to the serial monitor. I copied and pasted sketch as suggested but I only see output on 16 x 2 lcd display, Can anyone help ?

1 reply
0
None
masteruanstevew17

Reply 1 year ago

Have you settingup the serial to 9600 baud?