Детектор лжи.

akz
Offline
Зарегистрирован: 08.11.2011

Недавно прочитал в какой-то статье, что сопротивление кожи человека когда он врет меняется.А что если собрать делитель напряжения и подключить к микроконтроллеру который будет определять сопротивление кожи и взависимости от того, что говорить правду или ложь будет загораться соответствующий диод.Написал код программы, что думаете написан правильно?

1.float analogData = 0;
2.float val = 0;
3.float val1=0;
4.void setup(){
5.Serial.begin(9600);
6.}
7.void loop(){
8.analogData = map(analogRead(0),0,1023,0,5);
9.val = 5*220/analogData;
10.val1 = val - 220;//т.к R1*Uобщ/(R1+R2) = U1 R2(val1) - это сопротивляемость кожи R2 = R1*Uобщ:U1 - R1
11.delay(300);
12.Serial.println(val1);//val1 это сопротивление кожи
13.}

.c8r
.c8r аватар
Offline
Зарегистрирован: 15.11.2011

Я вот только не понял почему в 9й строке 220...Извините...

upd: и R1 и R2 не обьявлены в коде

akz
Offline
Зарегистрирован: 08.11.2011

220 извините не обьяснил это номинал резистора в омах.Этот номинал первым в голову пришел.

R1 - 220ом R2 - это val1 тоесть сопротивляемость кожи.
 

akz
Offline
Зарегистрирован: 08.11.2011

По формуле R1*Uобщ/(R1+R2) вычисляется напряжение на выходе делителя и из этой формулы  исходит формула для нахождения R2

R2 = R1*Uобщ:U1 - R1

whoim
Offline
Зарегистрирован: 03.11.2011

 детектор лжи - комплексное устройство, с кучей совершенно различных датчиков, которые никогда не покажут лжет человек или нет. Это ближе к медицинскому комплексному "считывателю параиетров" организма, которые анализирует эксперт.