This is an old revision of the document!


Mobile Heart Monitor

Autor: Necula Alexandru

Grupa: 336CA

Introducere

Proiectul consta in realizarea unui aparat care masoara frecventa cardiaca, cat si nivelul de oxigenare din sange.

Acesta ar putea fi util pentru persoanele cu probleme cardiace sau în cazul unei infectii respiratorii precum COVID-19, în care saturația oxigenului din sânge scade la un nivel periculos.

Descriere generală

Interfata cu utilizatorul consta in:

  • display TFT pe care se afiseaza informatiile
  • LED si buzzer care se activeaza cu fiecare bataie a inimii
  • LED RGB care semnalizeaza sanatatea inimii (pe baza datelor de la senzor)

Pentru a afisa informatiile, degetul trebuie pus pe senzor, iar dupa cateva secunde, vor fi afisate informatii, semnalate prin LED-ul si buzzer-ul care se vor activa cu fiecare bataie a inimii.

Culoarea LED-ului RGB va fi schimbata in functie de nivelul pulsului

  • VERDE: puls < 100
  • GABLEN: puls < 120
  • ROSU: puls > 120
  • ALB: puls in curs de calcul

Schema bloc

Hardware Design

Lista componente

Nume Număr Piese
Arduino UNO R3 1
Breadboard 1
Ecran TFT ST7789 1.3” 240×240 1
Senzor puls MAX30100 1
LED rosu 1
LED RGB 1
Buzzer 1
Rezistor 1kΩ 5
Rezistor 460Ω 4
Rezistor 330Ω 4
Jumper 18

Schema electrica

TODO here insert schema Eagle

Placuta comandata care include senzorul are o problema de design, respectiv liniile de SDA si SCL sunt HIGH la tensiunea de 1.8V, si nu 3.3V, astfel incat Arduino UNO nu poate comunica cu senzorul 1). Am modificat placuta printr-un jumper astfel incat SDA si SCL sunt alimentate de la 3.3V.

Display-ul TFT nu este compatibil cu tensiunea de 5V a pinilor de la Arduino UNO. Pe pinii folositi de SPI am instalat un divizor de tensiune folosind rezistori de 460Ω si 1kΩ, astfel incat tensiunea finala este de aproximativ 3.3V 2)

Software Design

Mediul de dezvoltare

  • Visual Studio Code + extensia PlatformIO → dezvoltarea codului și încărcarea acestuia pe Arduino
  • Autodesk Eagle → realizarea schemei electrice
  • LucidChart → realizarea schemei bloc

Biblioteci folosite

  • SPI 3)
  • Wire (I2C communication) 4)
  • MAX30100 (pulse sensor) 5)
  • Adafruit GFX (core graphics) 6)
  • Adafruit BusIO (I2C communication) 7)
  • Adafruit ST7789 (specific TFT driver) 8)

Structura codului

Senzorul de puls are 3 stari:

  • WAITING → degetul nu se afla pe senzor
  • INITIALIZING → frecventa cardiaca este in curs de calcul
  • WORKING → display-ul afiseaza datele colectate

Rezultate Obţinute

Circuit final

Demo

Concluzii

Acest proiect m-a facut sa invat mai multe despre cum pot crea un dispozitiv cu utilitate practica folosind un microcontroller si cum pot programa un ansamblu de piese pentru a ajunge la rezultatul dorit.

De asemenea, am invatat ca este foarte important sa citesti cu atentie datasheet-ul componentelor pe care doresti sa le comanzi pentru a te asigura ca sunt compatibile cu microcontroller-ul folosit. In cazul meu, a fost nevoie de pasi suplimentari pentru a asigura compatibilitatea, respectiv divizorul de tensiune pentru LCD si jumper-ul lipit pe senzorul de puls.

Download

Jurnal

  • 14.04.2022: alegere tema proiect
  • 15.04.2022: comanda piese
  • 21.04.2022: publicare descriere wiki
  • 30.04.2022: finalizare software si asamblare hardware
  • 01.05.2022: finalizare wiki, publicare documentatie completa

Bibliografie/Resurse

pm/prj2022/avaduva/alexandru.necula01.1651324532.txt.gz · Last modified: 2022/04/30 16:15 by alexandru.necula01
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