Inhoudsopgave:
- Stap 1: Functie
- Stap 2: Hardware-introductie
- Stap 3: Detectieprincipe
- Stap 4: Ontwikkelingsstappen
- Stap 5: Arduino LCD-projectimplementatieproces
- Stap 6: Configuratiebestand genereren
- Stap 7: Het effect is te zien in de volgende afbeelding:
Video: Hartslag op het STONE LCD-scherm: 7 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
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
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
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
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
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
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:
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:
Het Valentijnsdagproject: een zichtbare hartslag: 9 stappen
Het Valentijnsdagproject: een zichtbare hartslag: Valentijnsdag komt eraan, maak je je zorgen of hij/zij je leuk vindt of niet? Misschien wil je het vragen, maar hier is een andere manier, steek de vinger in het hartslagapparaat, de gegevens zullen het antwoord tonen. De hartslag van volwassenen is ongeveer 70 ~ 80 keer, nou ja, 60 ~
Het meten van uw hartslag is binnen handbereik: fotoplethysmografie-benadering voor het bepalen van uw hartslag - Ajarnpa
Het meten van uw hartslag is binnen handbereik: fotoplethysmografie Benadering voor het bepalen van de hartslag: Een fotoplethysmograaf (PPG) is een eenvoudige en goedkope optische techniek die vaak wordt gebruikt om veranderingen in het bloedvolume in een microvasculair weefselbed te detecteren. Het wordt meestal niet-invasief gebruikt om metingen aan het oppervlak van de huid uit te voeren, meestal
Raspberry Pi Oled-klok Bekijk het, hoor het en voel het: 5 stappen (met afbeeldingen)
Raspberry Pi Oled Clock Watch It Hear It and Feel It: dit is een slimme klok die de tijd op een OLED-display weergeeft en je kunt ook de tijd horen op verschillende tijdsintervallen die hulpvol zijn voor blinden en het verandert ook de led-kleur met de tijd zoals licht in de schemering licht in de avond wordt oranje naar geel en houdt van t
Schrijf het ! Maak het ! Deel het!: 4 stappen
Schrijf het ! Maak het ! Deel het!: Mijn leerlingen hebben Lego gebruikt om creativiteit toe te voegen aan hun schrijven, de organisatie van het schrijven en om hun werk digitaal te presenteren met hun familie en met hun leeftijdsgenoten in de klas
Instructies voor het voltooien van de mock-up van het ontwerp van de rupsschuif voor het heffen/verlagen van in het midden gemonteerde voetsteunen op elektrische rolstoelen - Ajarnpa
Instructies voor het voltooien van de mock-up van het ontwerp van de rupsschuif voor het omhoog/omlaag brengen van in het midden gemonteerde voetsteunen op elektrische rolstoelen: in het midden gemonteerde voetsteunen kunnen omhoog worden gebracht om onder de zitting goed te worden opgeborgen en omlaag om te worden ingezet. Een mechanisme voor onafhankelijke bediening van het opbergen en plaatsen van de voetsteun is niet inbegrepen in elektrische rolstoelen op de markt, en PWC-gebruikers hebben de behoefte geuit