This is an old revision of the document!
Componente: - senzor PULS - senzor TEMPERATURA - senzor UMIDITATE - ecran
Ecranul afiseaza concluzii in urma masuratorilor!
Proiectul propus este un sistem de monitorizare al emoțiilor care utilizează senzori pentru puls, umiditate și temperatură, și afișează datele colectate pe un LCD. Codul sursă necesar pentru funcționarea acestui sistem este încărcat pe o placă Arduino.
Acest proiect nu numai că este capabil să monitorizeze emoțiile umane, ci poate fi, de asemenea, folosit ca un detector de minciuni, utilizând datele fiziologice și de mediu pentru a identifica discrepanțe între starea declarată și starea reală a utilizatorului. Prin integrarea mai multor senzori și algoritmilor de analiză a datelor, acest sistem poate oferi o evaluare mai precisă a stării emoționale și a sincerității individului, având potențialul de a fi folosit într-o varietate de aplicații, de la monitorizarea sănătății mentale până la interogatorii și evaluări de securitate.
2. Software: * Biblioteci: <LiquidCrystal_I2C.h>, <dht.h>, <PulseSensorPlayground.h> * Configurare: Software-ul include funcții de configurare a senzorilor și a afișajului LCD pentru a asigura funcționarea corectă a acestora. * Prelevarea datelor: Arduino preia datele de la senzori prin intermediul interfeței hardware corespunzătoare și le procesează. * Afișarea datelor: Arduino afișează datele colectate pe afișajul LCD într-un format ușor de citit.
Modul în care modulele hardware și software interacționează este următorul: Arduino inițializează și configurează senzorii și afișajul LCD. După aceasta, Arduino preia datele de la senzori în mod regulat și le afișează pe afișajul LCD. Astfel, utilizatorul poate vizualiza în timp real informațiile colectate de senzori, facilitând monitorizarea și interpretarea datelor.
Schema electrica a circuitului:
Rezultatele Simularii:
Mediul de dezvoltare: Pentru acest proiect, am utilizat Arduino IDE pentru programarea pe Arduino UNO, deoarece este o aplicație gratuită și ușor de folosit, care oferă o serie de funcționalități utile pentru dezvoltarea proiectelor pe platforma Arduino.
Librarii:
Cod:
#include <Wire.h> #include <LiquidCrystal_I2C.h> #include <dht.h> #include <PulseSensorPlayground.h>
#define DHTPIN 5 #define PULSE_PIN A0
LiquidCrystal_I2C lcd(0x3F, 16, 2); PulseSensorPlayground pulseSensor; dht DHT;
const float happyTempThreshold = 25.0; const float happyHumidityThreshold = 50.0; const int happyPulseThreshold = 80;
const float sadTempThreshold = 20.0; const float sadHumidityThreshold = 60.0; const int sadPulseThreshold = 70;
Function to detect feelings based on temperature, humidity, and pulse void detectFeelings(float T, float H, int P) { if (T >= happyTempThreshold && H ⇐ happyHumidityThreshold && P >= happyPulseThreshold) { lcd.print(“Feeling: Happy”); } else if (T ⇐ sadTempThreshold && H >= sadHumidityThreshold && P ⇐ sadPulseThreshold) { lcd.print(“Feeling: Sad”); } else { lcd.print(“Feeling: Chill”); } } void setup() { lcd.init(); lcd.clear(); lcd.backlight(); } void loop() { DHT.read11(DHTPIN); float temperature = DHT.temperature; float humidity = DHT.humidity; float pressure = analogRead(PULSE_PIN); lcd.clear(); lcd.setCursor(0, 0); lcd.print(“T:”); lcd.print((int)temperature); lcd.print(“C”); lcd.setCursor(6, 0); lcd.print(“H:”); lcd.print((int)humidity); lcd.print(”%”); lcd.setCursor(12, 0); if(pressure > 550){ lcd.print(“P:”); lcd.print((int)pressure); lcd.print(“hPa”);
} else { lcd.print("P:0"); } lcd.setCursor(0, 1); detectFeelings(temperature, humidity, pressure); delay(1000);
}
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.