Cuprins:

Ritmul cardiac pe ecranul STONE: 7 pași
Ritmul cardiac pe ecranul STONE: 7 pași

Video: Ritmul cardiac pe ecranul STONE: 7 pași

Video: Ritmul cardiac pe ecranul STONE: 7 pași
Video: Garmin Fenix 7 Pro Sapphire Solar - ce-i lipsește ca să fie smartwatch-ul perfect? 2024, Iulie
Anonim
Ritmul cardiac pe ecranul STONE
Ritmul cardiac pe ecranul STONE

Cu ceva timp în urmă, am găsit un modul senzor de ritm cardiac MAX30100 la cumpărături online. Acest modul poate colecta date de oxigen din sânge și ritmul cardiac ale utilizatorilor, care sunt, de asemenea, simple și convenabile de utilizat.

Conform datelor, am constatat că există biblioteci MAX30100 în fișierele bibliotecii Arduino. Adică, dacă folosesc comunicarea dintre Arduino și MAX30100, pot apela direct fișierele bibliotecii Arduino fără a fi nevoie să rescriu fișierele driverului. Acesta este un lucru bun, așa că am cumpărat modulul MAX30100. Am decis să folosesc Arduino pentru a verifica funcția de colectare a ritmului cardiac și a oxigenului din sânge a MAX30100.

Pasul 1: Funcția

Funcţie
Funcţie

Link de cumpărare a modulului MAX30100:

item.taobao.com/item.htm?spm=a230r.1.14.69.c0c56556o8wH44&id=559690766124&ns=1&abbucket=2#detail

Notă: acest modul în mod implicit numai cu comunicații MCU de 3,3 V, deoarece implicit folosește pinul IIC ridică rezistența de 4,7 K la 1,8 V, deci nu există nicio comunicare cu Arduino în mod implicit, dacă doriți să comunicați cu Arduino și au nevoie de 4,7 K de rezistență pull-up pin IIC conectată la pinul VIN, acest conținut va fi introdus în spatele capitolului.

Sarcini funcționale

Înainte de a începe acest proiect, m-am gândit la câteva caracteristici simple: au fost colectate date despre ritmul cardiac și date despre oxigenul din sânge

Datele privind ritmul cardiac și oxigenul din sânge sunt afișate printr-un ecran LCD

Acestea sunt singurele două caracteristici, dar dacă vrem să o implementăm, trebuie să facem mai multe

gândire:

Ce MCU master este folosit?

Ce fel de afișaj LCD?

După cum am menționat mai devreme, folosim Arduino pentru MCU, dar acesta este un proiect de afișare LCD Arduino, deci trebuie să alegem modulul de afișare LCD adecvat. Am de gând să folosesc ecranul LCD cu un port serial. Am un afișaj STONE STVI070WT aici, dar dacă Arduino trebuie să comunice cu acesta, este necesar MAX3232 pentru a face conversia de nivel. Apoi, materialele electronice de bază sunt determinate după cum urmează:

1. Placă de dezvoltare Arduino Mini Pro

2. Modulul senzorului de ritm cardiac și de oxigen din sânge MAX30100

3. Modul de afișare a portului LCD STONE STVI070WT LCD

4. Modulul MAX3232

Pasul 2: Introducere hardware

MAX30100

MAX30100 este o soluție integrată de senzori de oximetrie a pulsului și de monitorizare a ritmului cardiac. Acesta combină două LED-uri, un fotodetector, optică optimizată și procesarea semnalului analogic cu zgomot redus pentru a detecta semnalele de oximetrie a pulsului și ritmul cardiac. MAX30100 funcționează de la surse de alimentare de 1,8 V și 3,3 V și poate fi deconectat prin intermediul unui software cu curent de așteptare neglijabil, permițând sursei de alimentare să rămână conectată în orice moment. Aplicații

● Dispozitive purtabile

● Dispozitive pentru asistent de fitness

● Dispozitive de monitorizare medicală

Beneficii și caracteristici

1, oximetrul de puls complet și senzorul de ritm cardiac Soluția simplifică designul

LED-uri integrate, senzor foto și front-analog analogic de înaltă performanță

Mic 5,6 mm x 2,8 mm x 1,2 mm Sistem cu 14 pini îmbunătățit optic în pachet

2, Funcționarea cu putere redusă crește durata de viață a bateriei pentru dispozitivele purtabile

Rată de eșantionare programabilă și curent LED pentru economii de energie

Curent de oprire ultra-scăzut (0,7µA, tip)

3 Fun Funcționalitatea avansată îmbunătățește performanța de măsurare

SNR ridicat oferă o rezistență robustă a artefactelor la mișcare

Anulare integrată a luminii ambientale

Capacitate mare a ratei de eșantionare

Capacitate de ieșire rapidă a datelor

Pasul 3: Principiul de detectare

Principiul de detectare
Principiul de detectare
Principiul de detectare
Principiul de detectare
Principiul de detectare
Principiul de detectare

Doar apăsați degetul pe senzor pentru a estima saturația pulsului de oxigen (SpO2) și pulsul (echivalent cu bătăile inimii).

Pulsoximetrul (oximetrul) este un mini-spectrometru care folosește principiile diferitelor spectre de absorbție a eritrocitelor pentru a analiza saturația de oxigen a sângelui. Această metodă de măsurare rapidă și în timp real este de asemenea utilizată pe scară largă în multe referințe clinice. Nu voi introduce MAX30100 prea mult, deoarece aceste materiale sunt disponibile pe Internet. Prietenii interesați pot căuta informațiile acestui modul de testare a ritmului cardiac pe Internet și pot înțelege mai bine principiul de detectare.

STONE STVI070WT-01

Introducere în afișaj

În acest proiect, voi folosi STONE STVI070WT pentru a afișa datele despre ritmul cardiac și oxigenul din sânge. Cipul driverului a fost integrat în interiorul ecranului de afișare și există un software pe care utilizatorii îl pot utiliza. Utilizatorii trebuie doar să adauge butoane, casete de text și alte elemente logice prin imaginile UI proiectate, apoi să genereze fișiere de configurare și să le descarce în ecranul de afișare pentru a rula. Afișarea STVI070WT comunică cu MCU prin semnal uart-rs232, ceea ce înseamnă că trebuie să adăugăm un cip MAX3232 pentru a converti semnalul RS232 într-un semnal TTL, astfel încât să putem comunica cu MCU Arduino.

Dacă nu sunteți sigur cum să utilizați MAX3232, vă rugăm să consultați următoarele imagini:

Dacă credeți că conversia de nivel este prea dificilă, puteți alege alte tipuri de afișaje STONE, dintre care unele pot emite direct semnal uart-ttl. Site-ul oficial conține informații detaliate și introducere: https://www.stoneitech.com/ Dacă aveți nevoie de tutoriale video și tutoriale pentru a le folosi, le puteți găsi și pe site-ul oficial.

Pasul 4: Pași de dezvoltare

Etape de dezvoltare
Etape de dezvoltare
Etape de dezvoltare
Etape de dezvoltare
Etape de dezvoltare
Etape de dezvoltare

Trei pași ai dezvoltării ecranului de afișare STONE:

Proiectați logica de afișare și logica butoanelor cu software-ul STONE TOOL și descărcați fișierul de proiectare în modulul de afișare.

MCU comunică cu modulul de afișare LCD STONE prin portul serial.

Cu datele obținute la pasul 2, MCU face alte acțiuni.

Instalarea software-ului STONE TOOL

Descărcați cea mai recentă versiune a software-ului STONE TOOL (în prezent TOOL2019) de pe site și instalați-l. După instalarea software-ului, se va deschide următoarea interfață:

Faceți clic pe butonul „Fișier” din colțul din stânga sus pentru a crea un proiect nou, despre care vom discuta mai târziu.

Arduino este o platformă electronică open-source prototip, ușor de utilizat și ușor de utilizat. Include partea hardware (diverse plăci de dezvoltare care sunt conforme cu specificațiile Arduino) și partea software (Arduino IDE și kituri de dezvoltare conexe). Partea hardware (sau placa de dezvoltare) constă dintr-un microcontroler (MCU), memorie Flash (Flash) și un set de interfețe universale de intrare / ieșire (GPIO), la care vă puteți gândi ca o placă de bază pentru microcomputer. Partea software este compusă în principal din Arduino IDE pe PC, pachet de asistență la nivel de bord (BSP) și bibliotecă bogată de funcții terță parte. Cu Arduino IDE, puteți descărca cu ușurință BSP asociat cu placa de dezvoltare și bibliotecile de care aveți nevoie. pentru a vă scrie programele. Arduino este o platformă open source. Până în prezent, au existat multe modele și multe controlere derivate, inclusiv Arduino Uno, Arduino Nano, ArduinoYun etc. ca Intel Galileo și NodeMCU prin introducerea BSP. Arduino detectează mediul înconjurător printr-o varietate de senzori, controlând luminile, motoarele și alte dispozitive pentru a alimenta și a influența mediul. Microcontrolerul de pe placă poate fi programat cu un limbaj de programare Arduino, compilat în binare și ars în microcontroler. pentru Arduino este implementat cu limbajul de programare Arduino (bazat pe cablare) și mediul de dezvoltare Arduino (bazat pe procesare). Proiectele bazate pe Arduino pot conține numai Arduino, precum și Arduino și alte software-uri care rulează pe PC și comunică cu fiecare altele (cum ar fi Flash, Processing, MaxMSP).

Mediul de dezvoltare Arduino este ID-ul Arduino, care poate fi descărcat de pe Internet. Conectați-vă la site-ul oficial al Arduino și descărcați software-ul https://www.arduino.cc/en/Main/Software?setlang=cn După instalarea Arduino IDE, la deschiderea software-ului va apărea următoarea interfață:

Arduino IDE creează în mod implicit două funcții: funcția de configurare și funcția de buclă. Există multe introduceri Arduino pe Internet. Dacă nu înțelegeți ceva, puteți merge pe Internet pentru a-l găsi.

Pasul 5: Procesul de implementare a proiectului LCD Arduino

Procesul de implementare a proiectului LCD Arduino
Procesul de implementare a proiectului LCD Arduino
Procesul de implementare a proiectului LCD Arduino
Procesul de implementare a proiectului LCD Arduino
Procesul de implementare a proiectului LCD Arduino
Procesul de implementare a proiectului LCD Arduino

conexiune hardware

Pentru a ne asigura că următorul pas în scrierea codului se desfășoară fără probleme, trebuie mai întâi să determinăm fiabilitatea conexiunii hardware. Doar patru piese hardware au fost utilizate în acest proiect:

1. Placa de dezvoltare Arduino Mini pro

2. Ecran de afișare STFT STVI070WT tft-lcd

3. MAX30100 senzor de ritm cardiac și oxigen din sânge

4. MAX3232 (rs232-> TTL) Placa de dezvoltare Arduino Mini Pro și ecranul de afișare tft-lcd STVI070WT sunt conectate prin UART, care necesită conversie de nivel prin MAX3232, iar apoi placa de dezvoltare Arduino Mini Pro și modulul MAX30100 sunt conectate prin interfața IIC După ce ne-am gândit clar, putem desena următoarea imagine de cablare:

Asigurați-vă că nu există erori în conexiunea hardware și treceți la pasul următor.

Designul interfeței utilizatorului LCD-TFT În primul rând, trebuie să proiectăm o imagine de afișare UI, care poate fi proiectată de PhotoShop sau alte instrumente de proiectare a imaginilor. După proiectarea imaginii de afișare UI, salvați imaginea în format JPG. Deschideți software-ul STONE TOOL2019 și creați un nou proiect:

Eliminați imaginea care a fost încărcată în mod implicit în noul proiect și adăugați imaginea UI pe care am proiectat-o. Efectul este după cum urmează:

adresa componentei de afișare text: Stație conexiune: 0x0008

Ritmul cardiac: 0x0001

Oxigen din sânge: 0x0005

Principalele conținuturi ale interfeței UI sunt următoarele:

Starea conexiunii

Afișarea ritmului cardiac

S-a arătat oxigen din sânge

Pasul 6: Generați fișierul de configurare

Generați fișierul de configurare
Generați fișierul de configurare
Generați fișierul de configurare
Generați fișierul de configurare
Generați fișierul de configurare
Generați fișierul de configurare
Generați fișierul de configurare
Generați fișierul de configurare

Odată ce designul UI este complet, fișierul de configurare poate fi generat și descărcat pe afișajul STVI070WT.

Mai întâi, efectuați pasul 1, apoi introduceți unitatea flash USB în computer, iar simbolul discului va fi afișat. Apoi faceți clic pe „Descărcați pe u-disk” pentru a descărca fișierul de configurare pe unitatea flash USB, apoi introduceți unitatea flash USB în STVI070WT pentru a finaliza actualizarea.

MAX30100 MA3030 comunică prin IIC. Principiul său de lucru este că valoarea ADC a ritmului cardiac poate fi obținută prin iradiere cu led în infraroșu. Registrul MAX30100 poate fi împărțit în cinci categorii: registrul de stare, FIFO, registrul de control, registrul temperaturii și registrul ID. citește valoarea temperaturii cipului pentru a corecta abaterea cauzată de temperatură. Registrul ID poate citi numărul ID-ului cipului.

MAX30100 este conectat cu placa de dezvoltare Arduino Mini Pro prin interfața de comunicare IIC. Deoarece există fișiere bibliotecă MAX30100 gata în ID-ul Arduino, putem citi datele despre ritmul cardiac și oxigenul din sânge fără a studia registrele MAX30100. Pentru cei care sunt interesați să exploreze registrul MAX30100, consultați Fișa tehnică MAX30100.

Modificați rezistența pull-up MAX30100 IIC

Trebuie remarcat faptul că rezistența la tracțiune de 4.7k a pinului IIC al modulului MAX30100 este conectată la 1,8v, ceea ce nu este o problemă în teorie. Cu toate acestea, nivelul logicii de comunicație al pinului Arduino IIC este de 5V, deci nu poate comunica cu Arduino fără a schimba hardware-ul modulului MAX30100. Comunicarea directă este posibilă dacă MCU este STM32 sau un alt MCU de nivel logic de 3.3v. Prin urmare, următoarele trebuie făcute modificări:

Scoateți cele trei rezistențe de 4.7k marcate în imagine cu un fier de lipit electric. Apoi sudați două rezistențe de 4.7k la pinii SDA și SCL la VIN, astfel încât să putem comunica cu Arduino. Arduino Deschideți ID-ul Arduino și găsiți următoarele butoane:

Căutați „MAX30100” pentru a găsi două biblioteci pentru MAX30100, apoi faceți clic pe descărcare și instalare.

După instalare, puteți găsi Demo-ul MAX30100 în dosarul bibliotecii LIB din Arduino:

Faceți dublu clic pe fișier pentru a-l deschide.

Această demonstrație poate fi testată direct. Dacă conexiunea hardware este ok, puteți descărca compilația de cod pe placa de dezvoltare Arduibo și puteți vedea datele MAX30100 în instrumentul de depanare serială.

Pasul 7: Efectul poate fi văzut în următoarea imagine:

Efectul poate fi văzut în următoarea imagine
Efectul poate fi văzut în următoarea imagine
Efectul poate fi văzut în următoarea imagine
Efectul poate fi văzut în următoarea imagine

Pentru a afla mai multe despre proiect, faceți clic aici.

Vă rugăm să ne contactați dacă aveți nevoie de un cod complet:

Vă voi răspunde în termen de 12 ore.

Recomandat: