Inhoudsopgave:

Hartslag op het STONE LCD-scherm: 7 stappen
Hartslag op het STONE LCD-scherm: 7 stappen

Video: Hartslag op het STONE LCD-scherm: 7 stappen

Video: Hartslag op het STONE LCD-scherm: 7 stappen
Video: Зеленая катастрофа. Беседка преображается. Будка для Карлоса 2024, November
Anonim
Hartslag op het STONE LCD-scherm
Hartslag op het STONE LCD-scherm

Enige tijd geleden vond ik een hartslagsensormodule MAX30100 bij het online winkelen. Deze module kan bloedzuurstof- en hartslaggegevens van gebruikers verzamelen, wat ook eenvoudig en gemakkelijk te gebruiken is.

Volgens de gegevens ontdekte ik dat er bibliotheken van MAX30100 in de Arduino-bibliotheekbestanden zijn. Dat wil zeggen, als ik de communicatie tussen Arduino en MAX30100 gebruik, kan ik de Arduino-bibliotheekbestanden direct oproepen zonder de stuurprogrammabestanden te hoeven herschrijven. Dit is een goede zaak, dus kocht ik de module van MAX30100. Ik besloot Arduino te gebruiken om de hartslag- en bloedzuurstofverzamelingsfunctie van de MAX30100 te verifiëren.

Stap 1: Functie

Functie
Functie

Aankooplink van module MAX30100:

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

Opmerking: deze module heeft standaard alleen MCU-communicatie op 3,3 V-niveau, omdat deze standaard de IIC-pin gebruikt om de weerstand van 4,7 K naar 1,8 V te verhogen, dus er is standaard geen communicatie met de Arduino, als u wilt communiceren met de Arduino en heb je twee 4,7 K van de IIC-pin pull-up weerstand nodig die op de VIN-pin is aangesloten, deze inhoud wordt achter in het hoofdstuk geïntroduceerd.

Functionele opdrachten

Voordat ik aan dit project begon, dacht ik aan enkele eenvoudige functies: Hartslaggegevens en bloedzuurstofgegevens werden verzameld

Hartslag- en bloedzuurstofgegevens worden weergegeven via een lcd-scherm

Dit zijn de enige twee functies, maar als we het willen implementeren, moeten we meer doen

denken:

Welke master-MCU wordt gebruikt?

Wat voor soort LCD-displayer?

Zoals we eerder vermeldden, gebruiken we Arduino voor de MCU, maar dit is een Arduino LCD-displayproject, dus we moeten de juiste LCD-displaymodule kiezen. Ik ben van plan om het LCD-scherm met een seriële poort te gebruiken. Ik heb hier een STONE STVI070WT-displayer, maar als Arduino ermee moet communiceren, is MAX3232 nodig om de niveauconversie uit te voeren. Vervolgens worden de elektronische basismaterialen als volgt bepaald:

1. Arduino Mini Pro-ontwikkelbord

2. MAX30100 hartslag- en bloedzuurstofsensormodule

3. STONE STVI070WT LCD seriële poort weergavemodule

4. MAX3232-module

Stap 2: Hardware-introductie

MAX30100

De MAX30100 is een geïntegreerde sensoroplossing voor pulsoximetrie en hartslagmonitor. Het combineert twee LED's, een fotodetector, geoptimaliseerde optica en geluidsarme analoge signaalverwerking om pulsoximetrie en hartslagsignalen te detecteren. De MAX30100 werkt op 1,8 V en 3,3 V voedingen en kan via software worden uitgeschakeld met een verwaarloosbare stand-bystroom, waardoor de voeding te allen tijde aangesloten kan blijven. Toepassingen

● Draagbare apparaten

● Fitness Assistent-apparaten

● Medische bewakingsapparatuur

Voordelen en functies

1) Complete pulsoxymeter en hartslagsensor Oplossing vereenvoudigt ontwerp

Geïntegreerde LED's, fotosensor en hoogwaardige analoge front-end

Klein 5,6 mm x 2,8 mm x 1,2 mm 14-pins optisch verbeterd systeem-in-pakket

2 、Ultra-low-power werking verhoogt de levensduur van de batterij voor draagbare apparaten

Programmeerbare bemonsteringsfrequentie en LED-stroom voor energiebesparing

Ultra-lage uitschakelstroom (0,7 µA, typ)

3) Geavanceerde functionaliteit verbetert de meetprestaties

Hoge SNR zorgt voor robuuste bewegingsartefacten

Geïntegreerde omgevingslichtonderdrukking

Hoge bemonsteringsfrequentie

Snelle gegevensuitvoer

Stap 3: Detectieprincipe

Detectie Principe
Detectie Principe
Detectie Principe
Detectie Principe
Detectie Principe
Detectie Principe

Druk gewoon met uw vinger tegen de sensor om de zuurstofsaturatie van de pols (SpO2) en de polsslag (gelijk aan de hartslag) te schatten.

De pulsoximeter (oximeter) is een mini-spectrometer die de principes van verschillende absorptiespectra van rode bloedcellen GEBRUIKT om de zuurstofverzadiging van het bloed te analyseren. Deze realtime en snelle meetmethode wordt ook veel gebruikt in veel klinische referenties. Ik zal de MAX30100 niet teveel introduceren, omdat deze materialen op internet beschikbaar zijn. Geïnteresseerde vrienden kunnen de informatie van deze hartslagtestmodule op internet opzoeken en een beter begrip krijgen van het detectieprincipe.

STEEN STVI070WT-01

Inleiding tot de displayer

In dit project zal ik STONE STVI070WT gebruiken om de hartslag en bloedzuurstofgegevens weer te geven. De driverchip is geïntegreerd in het scherm en er is software die gebruikers kunnen gebruiken. Gebruikers hoeven alleen knoppen, tekstvakken en andere logica toe te voegen via de ontworpen UI-afbeeldingen, en vervolgens configuratiebestanden te genereren en deze naar het weergavescherm te downloaden om ze uit te voeren. Het display van STVI070WT communiceert met MCU via uart-rs232-signaal, wat betekent dat we een MAX3232-chip moeten toevoegen om het RS232-signaal om te zetten in een TTL-signaal, zodat we kunnen communiceren met Arduino MCU.

Als u niet zeker weet hoe u de MAX3232 moet gebruiken, raadpleeg dan de volgende afbeeldingen:

Als u denkt dat de niveauconversie te lastig is, kunt u andere soorten displayers van STONE kiezen, waarvan sommige direct uart-ttl-signaal kunnen uitvoeren. De officiële website heeft gedetailleerde informatie en introductie: https://www.stoneitech.com/ Als je video-tutorials en tutorials nodig hebt om te gebruiken, kun je deze ook vinden op de officiële website.

Stap 4: Ontwikkelingsstappen

Ontwikkelingsstappen
Ontwikkelingsstappen
Ontwikkelingsstappen
Ontwikkelingsstappen
Ontwikkelingsstappen
Ontwikkelingsstappen

Drie stappen van de ontwikkeling van het STONE-scherm:

Ontwerp de displaylogica en knoplogica met STONE TOOL-software en download het ontwerpbestand naar de displaymodule.

MCU communiceert met STONE LCD-displaymodule via seriële poort.

Met de gegevens die in stap 2 zijn verkregen, voert de MCU andere acties uit.

STONE TOOL software-installatie

Download de nieuwste versie van de STONE TOOL-software (momenteel TOOL2019) van de website en installeer deze. Nadat de software is geïnstalleerd, wordt de volgende interface geopend:

Klik op de knop "Bestand" in de linkerbovenhoek om een nieuw project aan te maken, dat we later zullen bespreken.

ArduinoArduino is een open source elektronisch prototypeplatform dat gebruiksvriendelijk en gebruiksvriendelijk is. Het omvat het hardwaregedeelte (verschillende ontwikkelborden die voldoen aan de Arduino-specificatie) en het softwaregedeelte (Arduino IDE en gerelateerde ontwikkelkits). Het hardwaregedeelte (of ontwikkelbord) bestaat uit een microcontroller (MCU), Flash-geheugen (Flash) en een set universele input/output-interfaces (GPIO), die je kunt zien als een microcomputer-moederbord. Het softwaregedeelte bestaat voornamelijk uit Arduino IDE op pc, gerelateerd ondersteuningspakket op bordniveau (BSP) en een rijke functiebibliotheek van derden. Met de Arduino IDE kunt u eenvoudig de BSP downloaden die is gekoppeld aan uw ontwikkelbord en de bibliotheken die u nodig hebt om uw programma's te schrijven. Arduino is een open source-platform. Tot nu toe zijn er veel modellen en veel afgeleide controllers, waaronder Arduino Uno, Arduino Nano, ArduinoYun enzovoort. Bovendien ondersteunt de Arduino IDE nu niet alleen de ontwikkelborden van de Arduino-serie, maar voegt ook ondersteuning toe voor populaire ontwikkelborden zoals als Intel Galileo en NodeMCU door BSP te introduceren. Arduino detecteert de omgeving via een verscheidenheid aan sensoren, die lichten, motoren en andere apparaten aansturen om feedback te geven en de omgeving te beïnvloeden. De microcontroller op het bord kan worden geprogrammeerd met een Arduino-programmeertaal, gecompileerd tot binaire bestanden en in de microcontroller worden gebrand. voor Arduino is geïmplementeerd met de Arduino-programmeertaal (gebaseerd op bedrading) en de Arduino-ontwikkelomgeving (gebaseerd op Processing). Arduino-gebaseerde projecten kunnen alleen Arduino bevatten, evenals Arduino en andere software die op pc draait, en ze communiceren met elkaar andere (zoals Flash, Processing, MaxMSP).

ontwikkelomgevingDe Arduino ontwikkelomgeving is de Arduino IDE, die van internet te downloaden is. Log in op de officiële website van Arduino en download de software https://www.arduino.cc/en/Main/Software?setlang=cn Na het installeren van de Arduino IDE, zal de volgende interface verschijnen wanneer je de software opent:

De Arduino IDE creëert standaard twee functies: de setup-functie en de loop-functie. Er zijn veel Arduino-introducties op internet. Als u iets niet begrijpt, kunt u naar het internet gaan om het te vinden.

Stap 5: Arduino LCD-projectimplementatieproces

Arduino LCD-projectimplementatieproces
Arduino LCD-projectimplementatieproces
Arduino LCD-projectimplementatieproces
Arduino LCD-projectimplementatieproces
Arduino LCD-projectimplementatieproces
Arduino LCD-projectimplementatieproces

hardware verbinding

Om ervoor te zorgen dat de volgende stap in het schrijven van code soepel verloopt, moeten we eerst de betrouwbaarheid van de hardwareverbinding bepalen. In dit project zijn slechts vier stukken hardware gebruikt:

1. Arduino Mini pro-ontwikkelbord

2. STONE STVI070WT tft-lcd-scherm:

3. MAX30100 hartslag- en bloedzuurstofsensor

4. MAX3232 (rs232-> TTL) Het Arduino Mini Pro-ontwikkelbord en het STVI070WT tft-lcd-scherm zijn verbonden via UART, waarvoor niveauconversie via MAX3232 vereist is, en vervolgens zijn het Arduino Mini Pro-ontwikkelbord en de MAX30100-module verbonden via de IIC-interface. Na helder te hebben nagedacht, kunnen we het volgende bedradingsbeeld tekenen:

Zorg ervoor dat er geen fouten zijn in de hardwareverbinding en ga verder met de volgende stap.

Ontwerp van de LCD-TFT-gebruikersinterface Allereerst moeten we een UI-weergavebeeld ontwerpen, dat kan worden ontworpen door PhotoShop of andere hulpmiddelen voor het ontwerpen van afbeeldingen. Sla na het ontwerpen van de UI-weergave de afbeelding op in JPG-indeling. Open de software STONE TOOL2019 en maak een nieuw project aan:

Verwijder de afbeelding die standaard in het nieuwe project is geladen en voeg de UI-afbeelding toe die we hebben ontworpen. Voeg de tekstweergavecomponent toe, ontwerp het weergavecijfer en de decimale punt, verkrijg de opslaglocatie van de tekstweergavecomponent in de displayer. Het effect is als volgt:

tekst display component adres:Verbinding sta: 0x0008

Hartslag: 0x0001

Bloed zuurstof: 0x0005

De belangrijkste inhoud van de UI-interface is als volgt:

Verbindingsstatus

Hartslagweergave

Bloed zuurstof toonde

Stap 6: Configuratiebestand genereren

Configuratiebestand genereren
Configuratiebestand genereren
Configuratiebestand genereren
Configuratiebestand genereren
Configuratiebestand genereren
Configuratiebestand genereren
Configuratiebestand genereren
Configuratiebestand genereren

Zodra het ontwerp van de gebruikersinterface is voltooid, kan het configuratiebestand worden gegenereerd en gedownload naar de STVI070WT-displaye.

Voer eerst stap 1 uit, plaats vervolgens de usb-flashdrive in de computer en het schijfsymbool wordt weergegeven. Klik vervolgens op "Download to u-disk" om het configuratiebestand naar de usb-flashdrive te downloaden en plaats de usb-flashdrive vervolgens in de STVI070WT om de upgrade te voltooien.

MAX30100MAX30100 communiceert via IIC. Het werkingsprincipe is dat de ADC-waarde van de hartslag kan worden verkregen via infrarood led-straling. Het MAX30100-register kan worden onderverdeeld in vijf categorieën: staatsregister, FIFO, controleregister, temperatuurregister en ID-register. Het temperatuurregister leest de temperatuurwaarde van de chip om de afwijking veroorzaakt door de temperatuur te corrigeren. Het ID-register kan het ID-nummer van de chip lezen.

MAX30100 is verbonden met het Arduino Mini Pro-ontwikkelbord via de IIC-communicatie-interface. Omdat er kant-en-klare MAX30100-bibliotheekbestanden in de Arduino IDE zitten, kunnen we de hartslag- en bloedzuurstofgegevens lezen zonder de registers van de MAX30100 te bestuderen. Voor degenen die geïnteresseerd zijn in het verkennen van het MAX30100-register, zie de MAX30100 Datasheet.

Wijzig de MAX30100 IIC pull-up weerstand

Opgemerkt moet worden dat de 4.7k pull-up weerstand van de IIC-pin van de MAX30100-module is verbonden met 1.8v, wat in theorie geen probleem is. Het logische communicatieniveau van de Arduino IIC-pin is echter 5V, dus het kan niet communiceren met Arduino zonder de hardware van de MAX30100-module te wijzigen. Directe communicatie is mogelijk als de MCU STM32 is of een andere MCU van 3.3v logisch niveau. Daarom is het volgende er moeten wijzigingen worden aangebracht:

Verwijder de drie 4.7k weerstanden gemarkeerd in de afbeelding met een elektrische soldeerbout. Las vervolgens twee weerstanden van 4.7k op de pinnen van SDA en SCL naar VIN, zodat we kunnen communiceren met Arduino. Arduino Open de Arduino IDE en zoek het volgende toetsen:

Zoek naar "MAX30100" om twee bibliotheken voor MAX30100 te vinden en klik vervolgens op downloaden en installeren.

Na de installatie vind je de Demo van MAX30100 in de LIB-bibliotheekmap van Arduino:

Dubbelklik op het bestand om het te openen.

Deze demo kan direct worden getest. Als de hardwareverbinding in orde is, kunt u de codecompilatie downloaden naar het Arduibo-ontwikkelbord en de gegevens van MAX30100 bekijken in de seriële debugging-tool.

Stap 7: Het effect is te zien in de volgende afbeelding:

Het effect is te zien in de volgende afbeelding
Het effect is te zien in de volgende afbeelding
Het effect is te zien in de volgende afbeelding
Het effect is te zien in de volgende afbeelding

Klik hier voor meer informatie over het project.

Neem contact met ons op als u een volledige code nodig heeft:

Ik zal u binnen 12 uur antwoorden.

Aanbevolen: