Innholdsfortegnelse:

Puls på STONE LCD: 7 trinn
Puls på STONE LCD: 7 trinn

Video: Puls på STONE LCD: 7 trinn

Video: Puls på STONE LCD: 7 trinn
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, November
Anonim
Puls på STONE LCD
Puls på STONE LCD

For en tid siden fant jeg en pulssensormodul MAX30100 i shopping på nettet. Denne modulen kan samle inn oksygen- og pulsdata fra brukere, som også er enkel og praktisk å bruke.

I følge dataene fant jeg ut at det er biblioteker med MAX30100 i Arduino -biblioteksfilene. Det vil si at hvis jeg bruker kommunikasjonen mellom Arduino og MAX30100, kan jeg ringe Arduino -biblioteksfilene direkte uten å måtte omskrive driverfilene. Dette er bra, så jeg kjøpte modulen til MAX30100. Jeg bestemte meg for å bruke Arduino til å verifisere hjertefrekvensen og blodets oksygeninnsamlingsfunksjon på MAX30100.

Trinn 1: Funksjon

Funksjon
Funksjon

Kjøp lenke til modul MAX30100:

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

Merk: Denne modulen er som standard bare med 3,3 V nivå MCU -kommunikasjon, fordi den som standard bruker IIC -pinnen, trekker opp motstanden på 4,7 K til 1,8 V, så det er ingen kommunikasjon med Arduino som standard hvis du vil kommunisere med Arduino og trenger to 4,7 K av IIC pin pull-up motstand koblet til VIN pin, vil dette innholdet bli introdusert bak i kapitlet.

Funksjonelle oppgaver

Før jeg startet dette prosjektet, tenkte jeg på noen enkle funksjoner: Pulsdata og blodets oksygendata ble samlet inn

Puls og oksygendata i blodet vises via en LCD -skjerm

Dette er de eneste to funksjonene, men hvis vi ønsker å implementere det, må vi gjøre mer

tenker:

Hvilken master MCU brukes?

Hva slags LCD -skjerm?

Som vi nevnte tidligere, bruker vi Arduino for MCU, men dette er et Arduino LCD -skjermprosjekt, så vi må velge riktig LCD -skjermmodul. Jeg planlegger å bruke LCD -skjermen med en seriell port. Jeg har en STONE STVI070WT -skjerm her, men hvis Arduino trenger å kommunisere med den, er det nødvendig med MAX3232 for å gjøre nivåkonverteringen. Deretter bestemmes de grunnleggende elektroniske materialene som følger:

1. Arduino Mini Pro utviklingstavle

2. MAX30100 hjertefrekvens og blod oksygen sensor modul

3. STONE STVI070WT LCD -seriell portvisningsmodul

4. MAX3232 -modul

Trinn 2: Innføring i maskinvare

MAX30100

MAX30100 er en integrert løsning for pulsoksymetri og pulsmåler. Den kombinerer to lysdioder, en fotodetektor, optimalisert optikk og lydløs analog signalbehandling for å oppdage pulsoksymetri og pulssignaler. MAX30100 driver fra 1.8V og 3.3V strømforsyninger og kan slås av via programvare med ubetydelig standby -strøm, slik at strømforsyningen kan forbli tilkoblet hele tiden. applikasjoner

● Bærbare enheter

● Fitness Assistant -enheter

● Medisinske overvåkingsenheter

Fordeler og funksjoner

1 、 Komplett pulsoksymeter og hjertefrekvenssensor forenkler design

Integrerte lysdioder, fotosensor og høyytende analog front -slutt

Liten 5,6 mm x 2,8 mm x 1,2 mm 14-pinners optisk forbedret system-i-pakke

2 、 Ultra-Low-Power-drift Øker batterilevetiden for bærbare enheter

Programmerbar prøvehastighet og LED -strøm for strømsparing

Ultralav avstengningsstrøm (0,7µA, typ)

3, Avansert funksjonalitet Forbedrer måleytelsen

Høy SNR gir robust motstand mot artefakter

Integrert omgivelseslysavlysning

Høy prøvehastighet

Rask datautmatningsevne

Trinn 3: Deteksjonsprinsipp

Deteksjonsprinsipp
Deteksjonsprinsipp
Deteksjonsprinsipp
Deteksjonsprinsipp
Deteksjonsprinsipp
Deteksjonsprinsipp

Bare trykk fingeren mot sensoren for å estimere puls oksygenmetning (SpO2) og puls (tilsvarer hjerteslag).

Pulsoksymeteret (oksimeteret) er et minispektrometer som bruker prinsippene for forskjellige røde celleabsorpsjonsspektre for å analysere oksygenmetningen i blodet. Denne sanntids og hurtige målemetoden er også mye brukt i mange kliniske referanser. Jeg vil ikke introdusere MAX30100 for mye, fordi disse materialene er tilgjengelige på Internett. Interesserte venner kan slå opp informasjonen til denne pulsmålingsmodulen på Internett, og ha en dypere forståelse av deteksjonsprinsippet.

STEN STVI070WT-01

Introduksjon til displayet

I dette prosjektet vil jeg bruke STONE STVI070WT til å vise puls og blodets oksygendata. Driverchippen er integrert inne i skjermen, og det er programvare som brukerne kan bruke. Brukere trenger bare å legge til knapper, tekstbokser og annen logikk gjennom de designede brukergrensesnittbildene, og deretter generere konfigurasjonsfiler og laste dem ned til skjermbildet for å kjøre. Displayet til STVI070WT kommuniserer med MCU gjennom uart-rs232 signal, noe som betyr at vi må legge til en MAX3232 chip for å konvertere RS232 signal til et TTL signal slik at vi kan kommunisere med Arduino MCU.

Hvis du ikke er sikker på hvordan du bruker MAX3232, kan du se følgende bilder:

Hvis du synes nivåkonverteringen er for plagsom, kan du velge andre typer STONE-visere, hvorav noen kan sende uart-ttl-signal direkte. Det offisielle nettstedet har detaljert informasjon og introduksjon: https://www.stoneitech.com/ Hvis du trenger videoopplæringsprogrammer og opplæringsprogrammer for bruk, kan du også finne den på det offisielle nettstedet.

Trinn 4: Utviklingstrinn

Utviklingstrinn
Utviklingstrinn
Utviklingstrinn
Utviklingstrinn
Utviklingstrinn
Utviklingstrinn

Tre trinn i utviklingen av STONE -skjermbildet:

Design skjermlogikken og knappelogikken med programvaren STONE TOOL, og last ned designfilen til skjermmodulen.

MCU kommuniserer med STONE LCD -skjermmodul gjennom seriell port.

Med dataene innhentet i trinn 2, gjør MCU andre handlinger.

Installasjon av programvare for STONE TOOL

Last ned den nyeste versjonen av STONE TOOL -programvaren (for tiden TOOL2019) fra nettstedet, og installer den. Etter at programvaren er installert, åpnes følgende grensesnitt:

Klikk på "File" -knappen i øvre venstre hjørne for å lage et nytt prosjekt, som vi vil diskutere senere.

ArduinoArduino er en åpen kildekode elektronisk prototypeplattform som er enkel å bruke og enkel å bruke. Den inkluderer maskinvaredelen (forskjellige utviklingstavler som samsvarer med Arduino -spesifikasjonen) og programvaredelen (Arduino IDE og relaterte utviklingssett). Maskinvaredelen (eller utviklingskortet) består av en mikrokontroller (MCU), Flash -minne (Flash) og et sett med universelle inngangs-/utgangsgrensesnitt (GPIO), som du kan tenke på som et mikrodatamaskin hovedkort. Programvaredelen består hovedsakelig av Arduino IDE på PC, relatert brettpakke (BSP) og et rikt tredjeparts funksjonsbibliotek. Med Arduino IDE kan du enkelt laste ned BSP knyttet til utviklingskortet og bibliotekene du trenger å skrive programmene dine. Arduino er en åpen kildekode -plattform. Så langt har det vært mange modeller og mange avledede kontrollere, inkludert Arduino Uno, Arduino Nano, ArduinoYun og så videre. I tillegg støtter Arduino IDE nå ikke bare utviklingskortene i Arduino -serien, men legger også til støtte for populære utviklingskort som som Intel Galileo og NodeMCU ved å introdusere BSP. Arduino registrerer miljøet gjennom en rekke sensorer, kontrollerende lys, motorer og andre enheter for å mate tilbake og påvirke miljøet. Mikrokontrolleren på brettet kan programmeres med et Arduino -programmeringsspråk, samles i binære filer og brennes inn i mikrokontrolleren. Programmering for Arduino er implementert med Arduino programmeringsspråk (basert på ledninger) og Arduino utviklingsmiljø (basert på prosessering). Arduino-baserte prosjekter kan bare inneholde Arduino, så vel som Arduino og annen programvare som kjører på PC, og de kommuniserer med hver andre (for eksempel Flash, Processing, MaxMSP).

utviklingsmiljø Arduino utviklingsmiljø er Arduino IDE, som kan lastes ned fra Internett. Logg deg på det offisielle nettstedet til Arduino og last ned programvaren https://www.arduino.cc/en/Main/Software?setlang=cn Etter at du har installert Arduino IDE, vil følgende grensesnitt vises når du åpner programvaren:

Arduino IDE lager to funksjoner som standard: oppsettfunksjonen og sløyfefunksjonen. Det er mange Arduino -introduksjoner på Internett. Hvis du ikke forstår noe, kan du gå til Internett for å finne det.

Trinn 5: Arduino LCD -prosjektets implementeringsprosess

Arduino LCD -prosjektgjennomføringsprosess
Arduino LCD -prosjektgjennomføringsprosess
Arduino LCD -prosjektgjennomføringsprosess
Arduino LCD -prosjektgjennomføringsprosess
Arduino LCD -prosjektgjennomføringsprosess
Arduino LCD -prosjektgjennomføringsprosess

maskinvaretilkobling

For å sikre at det neste trinnet i å skrive kode går greit, må vi først bestemme påliteligheten til maskinvareforbindelsen. Bare fire stykker maskinvare ble brukt i dette prosjektet:

1. Arduino Mini pro utviklingstavle

2. STONE STVI070WT tft-lcd-skjerm

3. MAX30100 hjertefrekvens- og oksygensensor i blodet

4. MAX3232 (rs232-> TTL) Arduino Mini Pro utviklingskort og STVI070WT tft-lcd-skjerm er koblet til via UART, som krever nivåkonvertering gjennom MAX3232, og deretter er Arduino Mini Pro utviklingskort og MAX30100 modul koblet til via IIC grensesnitt Etter å ha tenkt klart, kan vi tegne følgende ledningsbilde:

Sørg for at det ikke er noen feil i maskinvaretilkoblingen, og fortsett til neste trinn.

LCD-TFT brukergrensesnittdesign Først og fremst må vi designe et UI-skjermbilde, som kan designes av PhotoShop eller andre bildedesignverktøy. Etter å ha designet UI -skjermbildet, lagre bildet i-j.webp

Fjern bildet som ble lastet inn som standard i det nye prosjektet, og legg til brukergrensesnittet som vi designet. Effekten er som følger:

tekstvisningskomponentadresse: Tilkoblingsstatus: 0x0008

Puls: 0x0001

Oksygen i blodet: 0x0005

Hovedinnholdet i brukergrensesnittet er som følger:

Tilkoblingsstatus

Pulsvisning

Blodoksygen viste seg

Trinn 6: Generer konfigurasjonsfil

Generer konfigurasjonsfil
Generer konfigurasjonsfil
Generer konfigurasjonsfil
Generer konfigurasjonsfil
Generer konfigurasjonsfil
Generer konfigurasjonsfil
Generer konfigurasjonsfil
Generer konfigurasjonsfil

Når UI -designet er fullført, kan konfigurasjonsfilen genereres og lastes ned til STVI070WT -skjermen.

Utfør først trinn 1, sett deretter inn USB -flash -stasjonen i datamaskinen, og disksymbolet vises. Klikk deretter "Last ned til u-disk" for å laste ned konfigurasjonsfilen til USB-flash-stasjonen, og sett deretter inn USB-flash-stasjonen i STVI070WT for å fullføre oppgraderingen.

MAX30100MAX30100 kommuniserer via IIC. Arbeidsprinsippet er at hjertefrekvensens ADC -verdi kan oppnås gjennom infrarød leddbestråling. MAX30100 -registeret kan deles inn i fem kategorier: statsregister, FIFO, kontrollregister, temperaturregister og ID -register. Temperaturregisteret leser temperaturverdien til brikken for å korrigere avviket forårsaket av temperaturen. ID -registeret kan lese brikkens ID -nummer.

MAX30100 er koblet til Arduino Mini Pro utviklingskort gjennom IIC kommunikasjonsgrensesnitt. Fordi det er ferdige MAX30100 biblioteksfiler i Arduino IDE, kan vi lese hjertefrekvens og blodets oksygendata uten å studere registrene til MAX30100. For de som er interessert i å utforske MAX30100-registeret, se MAX30100-databladet.

Endre MAX30100 IIC pull-up motstand

Det skal bemerkes at 4,7k pull-up-motstanden til IIC-pinnen på MAX30100-modulen er koblet til 1,8v, noe som ikke er et problem i teorien. Imidlertid er kommunikasjonslogikknivået til Arduino IIC -pinnen 5V, så den kan ikke kommunisere med Arduino uten å endre maskinvaren til MAX30100 -modulen. Direkte kommunikasjon er mulig hvis MCU er STM32 eller en annen 3.3v logisk nivå MCU. Derfor er følgende endringer må gjøres:

Fjern de tre 4,7k -motstandene som er merket på bildet med et elektrisk loddejern. Sveis deretter to motstander på 4,7k på pinnene på SDA og SCL til VIN, slik at vi kan kommunisere med Arduino. Arduino Åpne Arduino IDE og finn følgende knapper:

Søk etter "MAX30100" for å finne to biblioteker for MAX30100, klikk deretter på last ned og installer.

Etter installasjonen kan du finne demonstrasjonen av MAX30100 i LIB -bibliotekmappen til Arduino:

Dobbeltklikk på filen for å åpne den.

Denne demoen kan testes direkte. Hvis maskinvaretilkoblingen er ok, kan du laste ned kodesamlingen til Arduibo -utviklingskortet og se dataene til MAX30100 i det serielle feilsøkingsverktøyet.

Trinn 7: Effekten kan sees på følgende bilde:

Effekten kan sees på følgende bilde
Effekten kan sees på følgende bilde
Effekten kan sees på følgende bilde
Effekten kan sees på følgende bilde

For å lære mer om prosjektet klikk her.

Ta kontakt med oss hvis du trenger en fullstendig kode:

Jeg svarer deg innen 12 timer.

Anbefalt: