This shows you the differences between two versions of the page.
pm:prj2022:sionescu:poligraf [2022/05/02 20:06] mihaela.nicolae created |
pm:prj2022:sionescu:poligraf [2022/06/01 14:39] (current) mihaela.nicolae [Descriere generală] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Nume proiect ====== | + | ====== Poligraf ====== |
+ | Nicolae Mihaela-Diana | 335CA | ||
===== Introducere ===== | ===== Introducere ===== | ||
- | <note tip> | + | Acest proiect constă în realizarea unui **poligraf**, cunoscut și sub numele de detector de minciuni, acesta fiind un aparat ce poate detecta dacă persoana testată spune adevărul sau dacă minte, măsurând anumiți parametri fiziologici precum **pulsul cardiac**, în timp ce persoanei îi sunt adresate o serie de întrebări. În urma procesării datelor colectate, poligraful ne va putea da răspunsul, informându-ne dacă persoana testată a fost sinceră sau nu. |
- | Prezentarea pe scurt a proiectului vostru: | + | |
- | * ce face | + | {{ :pm:prj2022:sionescu:pm:prj2022:ca:nicolaemihaela_poza.png?500 |}} |
- | * care este scopul lui | + | |
- | * care a fost ideea de la care aţi pornit | + | |
- | * de ce credeţi că este util pentru alţii şi pentru voi | + | |
- | </note> | + | |
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | <note tip> | + | Pentru a determina dacă persoana este sinceră, i se va conecta poligraful și i se vor adresa o serie de întrebări, iar pe baza valorilor colectate de senzorii conectați se va determina și se va afișa rezultatul folosind led-uri colorate. |
- | O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. | + | |
- | Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html | + | Vom folosi un **senzor de puls cardiac** care îi va fi atașat persoanei testate pe unul dintre degete. Utilizând informațiile colectate de acest senzor, împreună cu trei led-uri de culori diferite, vom afișa rezultatul: |
+ | <note tip> | ||
+ | * verde - persoana spune adevărul ✔️ | ||
+ | * roșu - persoana minte ❌ | ||
+ | * galben - nu se poate determina ❔ | ||
</note> | </note> | ||
- | ===== Hardware Design ===== | + | Inițial, vom conecta persoana la poligraf și vom aștepta până când pulsul este preluat corect, după care apăsăm butonul de pornire al poligrafului. Fiecare întrebare va fi adresată pe rând și va fi afișată pe ecranul LCD, după care vor urma 10 secunde în care măsurăm pulsul și comparăm valorile obținute cu cele anterioare. |
- | <note tip> | + | În plus, vom adăuga un led și un buzzer care vor pâlpâi/face zgomot pe ritmul bătăilor inimii, pentru a simula ritmul cardiac al persoanei testate. |
- | Aici puneţi tot ce ţine de hardware design: | + | |
- | * listă de piese | + | În funcție de fluctuațiile pulsului, vom determina dacă persoana a fost sinceră și vom aprinde led-ul corespunzător. |
- | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | |
- | * diagrame de semnal | + | ==== Schemă bloc ==== |
- | * rezultatele simulării | + | {{ :pm:prj2022:sionescu:pm:prj2022:ca:nicolaemihaela_schema_bloc.png?600 |}} |
+ | |||
+ | ===== Hardware Design ===== | ||
+ | <note> | ||
+ | Listă de piese: | ||
+ | * Placă de dezvoltare cu ATmega328p | ||
+ | * Breadboard HQ | ||
+ | * Senzor puls cardiac XD-58C | ||
+ | * LED-uri de 5mm (roșu, galben și verde) | ||
+ | * Modul LCD I2C | ||
+ | * Buzzer pasiv de 5V | ||
+ | * Buton 6mm | ||
+ | * Rezistențe 1kΩ | ||
+ | * Fire | ||
</note> | </note> | ||
+ | |||
+ | ==== Layout în TinkerCad ==== | ||
+ | {{ :pm:prj2022:sionescu:pm:prj2022:ca:nicolaemihaela_tinkercad.png?750 |}} | ||
+ | |||
+ | ==== Schemă electrică ==== | ||
+ | {{ :pm:prj2022:sionescu:pm:prj2022:ca:nicolaemihaela_schema_electrica.png?600 |}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | Mediul de dezvoltare folosit a fost **Arduino IDE**, în care am folosit bibliotecile PulseSensorPlayground pentru senzorul de puls, LiquidCrystal_I2C pentru LCD și ezButton pentru butonul de start. | ||
+ | Pentru monitorizarea pulsului am folosit aplicația de vizualizare **Processing**. | ||
- | <note tip> | + | {{ :pm:prj2022:sionescu:pm:nicolaemihaela_visualizer.png?500 |}} |
- | Descrierea codului aplicaţiei (firmware): | + | |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | |
- | * (etapa 3) surse şi funcţii implementate | + | |
- | </note> | + | |
- | ===== Rezultate Obţinute ===== | + | <note important> |
+ | Inițializarea senzorului de puls (pinul și led-ul ce va pâlpâi): | ||
+ | <code> | ||
+ | PulseSensorPlayground pulseSensor; | ||
+ | pulseSensor.analogInput(PULSE_PIN); | ||
+ | pulseSensor.blinkOnPulse(PULSE_LED); | ||
+ | pulseSensor.setThreshold(thresh); | ||
+ | </code> | ||
+ | |||
+ | Determinarea pulsului (BPM) și afișarea datelor, împreună cu pâlpâirea led-ului și a buzzer-ului: | ||
+ | <code> | ||
+ | int myBPM = pulseSensor.getBeatsPerMinute(); | ||
+ | pulseSensor.outputSample(); | ||
+ | |||
+ | // if there was a heartbeat | ||
+ | if (pulseSensor.sawStartOfBeat()) { | ||
+ | // print BPM to lcd | ||
+ | ... | ||
+ | lcd.print(myBPM); | ||
+ | ... | ||
+ | |||
+ | // output heartbeat | ||
+ | pulseSensor.outputBeat(); | ||
+ | tone(BUZZER, 900); | ||
+ | | ||
+ | ... | ||
+ | } | ||
+ | </code> | ||
+ | </note> | ||
+ | ===== Rezultate Obţinute ===== | ||
+ | {{ :pm:prj2022:sionescu:pm:nicolaemihaela_demo.png?600 |}} | ||
<note tip> | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | Un scurt demo cu poligraful poate fi vizionat [[https://youtu.be/uNFV37I9K58|aici]]. |
</note> | </note> | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | |||
+ | Proiectul realizează ceea ce își propune, fiind un poligraf rudimentar, care nu garantează o acuratețe de 100%. Scopul lui a fost de a realiza un obiect funcțional și distractiv, cu ajutorul căruia m-am familiarizat cu lucrul cu plăcile de dezvoltare. | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | <note tip> |
- | 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ă ;-). | + | Arhiva cu fişierele obţinute în urma realizării proiectului: {{:pm:prj2022:sionescu:pm:nicolaemihaela.zip|}} |
- | + | ||
- | 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> | </note> | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
- | <note tip> | + | * 22.04 -> alegere temă proiect |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | * 02.05 -> creare pagină wiki cu introducere și descrierea proiectului |
- | </note> | + | * 23.05 -> implementare hardware |
+ | * 01.06 -> finalizare pagina wiki | ||
- | ===== Bibliografie/Resurse ===== | + | ===== Resurse ===== |
<note> | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | * [[https://create.arduino.cc/projecthub/electropeak/arduino-polygraph-machine-lie-detector-7d8b10|Arduino Polygraph Machine (Lie Detector)]] |
+ | * [[https://lastminuteengineers.com/pulse-sensor-arduino-tutorial/|Monitor the Heart Rate using Pulse Sensor and Arduino]] | ||
+ | * [[https://create.arduino.cc/projecthub/abiodun1991/developing-a-device-for-heart-rate-using-pulse-sensor-22746c|Developing a device for Heart Rate using pulse sensor]] | ||
+ | * [[https://create.arduino.cc/projecthub/Arnov_Sharma_makes/lcd-i2c-tutorial-664e5a|LCD I2C Tutorial]] | ||
</note> | </note> | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||