Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2025:avaduva:radu.tulumb [2025/04/29 09:53]
radu.tulumb created
pm:prj2025:avaduva:radu.tulumb [2025/05/28 18:59] (current)
radu.tulumb [Bibliografie/Resurse]
Line 1: Line 1:
-lie detector+====== Lie Detector ====== 
 +===== Introducere ===== 
 +Proiectul „Arduino Lie Detector” folosește un Arduino Uno R3 pentru a integra și demonstra măsurători multiprotocol (OneWire, I2C, ADC) și interfațare hardware (LED, buzzer, LCD) într-un sistem care detectează modificările electrodermice (EDA), ritmul cardiac și temperatura. La apăsarea butonului sau automat la pornire, dispozitivul realizează o fază de stabilizare,​ apoi măsoară răspunsul la întrebări și afișează verdictul („FALS”/​„ADEVĂRAT”) pe un display LCD I2C, cu semnal sonor și feedback luminos. 
 + 
 +===== Descriere generală ===== 
 + 
 +Dispozitivul include: 
 + 
 +Arduino Uno R3 (ATmega328P) ca unitate de control 
 + 
 +Senzor EDA (fybrid foil) pe pin A1, cu rezistor de pull-down 2 kΩ către GND 
 + 
 +Modul puls KY-039 pe pin A3, calibrare 5 s pentru prag hardware 
 + 
 +Senzor DS18B20 pe magistrala OneWire (pin D2) 
 + 
 +Display LCD I2C (address 0x27) pe SDA (A4) și SCL (A5) 
 + 
 +LED-uri roșu/verde pe D8/D9 cu rezistențe 220 Ω 
 + 
 +Buzzer pasiv pe D6 
 + 
 +Dispozitivul rulează o mașină de stări: calibrare puls, stabilizare EDA, așteptare răspuns, verdict. În paralel, transmite date de temperatură (°C), BPM și EDA raw spre Serial Plotter. 
 + 
 + 
 + 
 +===== Functionalitati cheie ===== 
 + 
 +Măsurarea EDA (Electrodermal Activity) prin doi electrozi pe degete (analog A1) 
 + 
 +Măsurarea pulsului cu modul KY-039 (analog A3 + calibrare automată) 
 + 
 +Măsurarea temperaturii cu DS18B20 (OneWire, pin D2) 
 + 
 +Afișaj verdict și interfață pe LCD I2C 16×2 (pini A4=SDA, A5=SCL) 
 + 
 +Feedback vizual prin LED roșu și verde (pini D8, D9) 
 + 
 +Feedback audio prin buzzer pasiv (pin D6), ton lung pentru „FALS” și trei bipe pentru „ADEVĂRAT” 
 + 
 +Vizualizare grafică a temperaturii,​ pulsului (BPM) și EDA în Serial Plotter la 500 ms interval 
 + 
 + 
 +===== Hardware Design ===== 
 + 
 + 
 + 
 +Componente și legături 
 + 
 +EDA electrode (2× folie aluminiu) 
 + 
 +A1 
 + 
 +Măsurare electrodermală (include 2 kΩ la GND) 
 + 
 += KY-039 AO = 
 + 
 +A3 
 + 
 +Semnal analogic pentru puls 
 + 
 +KY-039 DO (opțional) 
 + 
 +D2 
 + 
 +Semnal digital prag (calibrare externă) 
 + 
 += DS18B20 = 
 + 
 +D2 
 + 
 +OneWire temperatură 
 + 
 +LCD I2C 
 + 
 +A4 (SDA), A5(SCL) 
 + 
 +Afișaj verdict 
 + 
 +LED roșu 
 + 
 +D8 
 + 
 +Feedback minciună (digital) 
 + 
 +LED verde 
 + 
 +D9 
 + 
 +Feedback adevărat (digital) 
 + 
 +Buzzer pasiv 
 + 
 +D6 
 + 
 +Feedback audio 
 + 
 +GND, 5 V 
 + 
 +GND, 5 V 
 + 
 +Alimentare și referință 
 + 
 +Protocoale utilizate 
 + 
 +ADC: EDA și puls (A1, A3), conversie 10 biți 
 + 
 +OneWire: DS18B20 pe D2 
 + 
 +I2C: LCD pe A4/A5 
 + 
 +GPIO: LED-uri și buzzer 
 + 
 +Bill of Materials (BOM) 
 + 
 +Componentă 
 + 
 +Tip 
 + 
 +Pin Arduino 
 + 
 +Cantitate 
 + 
 +Arduino Uno R3 
 + 
 +MCU 
 + 
 +
 + 
 +
 + 
 +EDA electrodes (folie) 
 + 
 +Electrod analogic 
 + 
 +A1 
 + 
 +
 + 
 +KY-039 
 + 
 +Senzor puls analog 
 + 
 +A3 
 + 
 +
 + 
 +DS18B20 
 + 
 +Senzor temperatură 
 + 
 +D2 
 + 
 +
 + 
 +LCD I2C 16×2 
 + 
 +Display 
 + 
 +A4/A5 (I2C) 
 + 
 +
 + 
 +LED 5 mm roșu/​verde 
 + 
 +Indicator vizual 
 + 
 +D8, D9 
 + 
 +1/1 
 + 
 +Rezistențe 220 Ω 
 + 
 +Limitator LED 
 + 
 +
 + 
 +
 + 
 +Rezistor 2 kΩ 
 + 
 +Pull-down EDA 
 + 
 +
 + 
 +
 + 
 +Buzzer pasiv 
 + 
 +Audio 
 + 
 +D6 
 + 
 +
 + 
 +Fire Dupont jumper 
 + 
 +Conexiuni 
 + 
 +
 + 
 +câte 1 
 + 
 +{{:​pm:​prj2025:​avaduva:​schemablocradutulumb.drawio.png?​200|}} 
 + 
 + 
 +=====Protocoale utilizate ===== 
 + 
 +ADC: EDA și puls (A1, A3), conversie 10 biți 
 + 
 +OneWire: DS18B20 pe D2 
 + 
 +I2C: LCD pe A4/A5 
 + 
 +GPIO: LED-uri și buzzer 
 +===== Software Design ===== 
 + 
 +Mașina de stări 
 + 
 +PULSE_CAL: calibrare 5 s senzor puls (min/max) → prag = media 
 + 
 +EDA_STAB: stabilizare 10 s măsurare EDA base 
 + 
 +EDA_RESP: așteptare 10 s răspuns, calcul Δ EDA și verdict 
 + 
 +DONE: verdict afișat pe LCD, LED, buzzer 
 + 
 + 
 +Bucla principală 
 + 
 +Serial Plotter la 500 ms: Serial.println(tempC,​ "​\t",​ lastBPM, "​\t",​ edaRaw) 
 + 
 +Detecție puls: eșantionare 100 Hz, rising edge peste prag și now - lastBeat >= 300 ms → beatCount++ 
 + 
 +Calcule BPM la fiecare 15 s: BPM = beatCount * 60000 / 15000 
 + 
 +Funcții și variabile cheie 
 + 
 +minVal, maxVal, threshold pentru senzor puls 
 + 
 +edaBase pentru EDA 
 + 
 +lastState, lastBeatTime,​ beatCount pentru puls 
 + 
 + 
 + 
 +===== Imagini ===== 
 +Senzor gsr improvizat 
 +{{:​pm:​prj2025:​avaduva:​senzor_gsr.jpeg?​200|}} 
 +Display LDC i2c + Arduino 
 +{{:​pm:​prj2025:​avaduva:​lcdi2carduino.jpeg?​200|}} 
 +Senzor puls 
 +{{:​pm:​prj2025:​avaduva:​senzor_puls.jpeg?​200|}} 
 +===== Rezultate Obţinute ===== 
 + 
 +Calibrare automată a senzorului puls 
 + 
 +Măsurători EDA și BPM integrate 
 + 
 +Verdict analogic: „FALS” sau „ADEVĂRAT” cu LED și sunet 
 + 
 +Afișare verdict pe LCD I2C 
 + 
 +Vizualizare grafică în Serial Plotter 
 + 
 +===== Concluzii ===== 
 + 
 +Proiectul demonstrează integrarea senzorilor electrodermal,​ puls, temperatură și a interfețelor I2C, OneWire și ADC pe Arduino Uno R3, oferind un sistem funțional de detecție a stărilor emoționale. Poate fi extins cu salvare de date pe card SD sau transmitere wireless. 
 + 
 + 
 +===== Download ===== 
 + 
 +<note warning>​ 
 +O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului:​ surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). 
 + 
 +Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:​pm:​prj20??:​c?​** sau **:​pm:​prj20??:​c?:​nume_student** (dacă este cazul). **Exemplu:​** Dumitru Alin, 331CC -> **:​pm:​prj2009:​cc:​dumitru_alin**. 
 +</​note>​ 
 + 
 +===== Jurnal ===== 
 + 
 +<note tip> 
 +Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. 
 +</​note>​ 
 + 
 +==== Bibliografie/​Resurse ===== 
 + 
 +Resurse Hardware 
 + 
 +Arduino Uno R3 (ATmega328P) – pagina oficială Arduino 
 + 
 +KY-039 Heart Rate Sensor Module 
 + 
 +DS18B20 Digital Temperature Sensor 
 + 
 +Modul LCD I²C (HD44780/​PCD8544) 
 + 
 +Rezistor 2 kΩ, rezistențe 220 Ω 
 + 
 +Resurse Software 
 + 
 +Arduino IDE – mediu de dezvoltare oficial Arduino 
 + 
 +LiquidCrystal_I2C – librărie pentru LCD I²C 
 + 
 +OneWire & DallasTemperature – librării pentru DS18B20 
 + 
 +Tone, noTone, Serial – funcții din Arduino Core 
 + 
 +Exemple Serial Plotter – documentație Arduino pentru afișare grafică 
 + 
 +Alte referințe 
 + 
 +Electrodermal Activity (GSR) – Wikipedia 
 + 
 +Polygraph – Wikipedia 
 + 
 +Piezo Buzzer Connection – tutoriale online 
 + 
 +<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ 
pm/prj2025/avaduva/radu.tulumb.1745909606.txt.gz · Last modified: 2025/04/29 09:53 by radu.tulumb
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0