Innehållsförteckning:
- Steg 1: Funktion
- Steg 2: Hårdvaruintroduktion
- Steg 3: Detekteringsprincip
- Steg 4: Utvecklingssteg
- Steg 5: Arduino LCD -projektets implementeringsprocess
- Steg 6: Skapa konfigurationsfil
- Steg 7: Effekten kan ses i följande bild:
Video: Puls på STONE LCD: 7 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:37
För en tid sedan hittade jag en pulsmätarmodul MAX30100 när jag handlade på nätet. Denna modul kan samla in blodsyre- och pulsdata från användare, vilket också är enkelt och bekvämt att använda.
Enligt uppgifterna fann jag att det finns bibliotek med MAX30100 i Arduino biblioteksfiler. Det vill säga, om jag använder kommunikationen mellan Arduino och MAX30100 kan jag direkt ringa Arduino -biblioteksfilerna utan att behöva skriva om drivrutinsfilerna. Det här är bra, så jag köpte modulen MAX30100. Jag bestämde mig för att använda Arduino för att verifiera hjärtfrekvensen och blodsyreuppsamlingsfunktionen för MAX30100.
Steg 1: Funktion
Köplänk till modul MAX30100:
item.taobao.com/item.htm?spm=a230r.1.14.69.c0c56556o8wH44&id=559690766124&ns=1&abbucket=2#detail
Obs! Denna modul är som standard endast med 3,3 V nivå MCU -kommunikation, eftersom den som standard använder IIC -stiftet drar upp motståndet på 4,7 K till 1,8 V, så det finns ingen kommunikation med Arduino som standard om du vill kommunicera med Arduino och behöver två 4,7 K av IIC-stiftets uppdragningsmotstånd anslutet till VIN-stiftet, detta innehåll kommer att introduceras längst bak i kapitlet.
Funktionella uppdrag
Innan jag startade detta projekt tänkte jag på några enkla funktioner: Pulsdata och blodsyredata samlades in
Hjärtfrekvens och blodsyresdata visas via en LCD -skärm
Det här är de enda två funktionerna, men om vi vill implementera det måste vi göra mer
tänkande:
Vilken master MCU används?
Vilken typ av LCD -display?
Som vi nämnde tidigare använder vi Arduino för MCU, men det här är ett Arduino LCD -displayprojekt, så vi måste välja lämplig LCD -displaymodul. Jag tänker använda LCD -skärmen med en seriell port. Jag har en STONE STVI070WT displayer här, men om Arduino behöver kommunicera med den behövs MAX3232 för att göra nivåkonverteringen. Sedan bestäms de grundläggande elektroniska materialen enligt följande:
1. Arduino Mini Pro utvecklingskort
2. MAX30100 hjärtfrekvens och blodsyresensormodul
3. STONE STVI070WT LCD -seriell portvisningsmodul
4. MAX3232 -modul
Steg 2: Hårdvaruintroduktion
MAX30100
MAX30100 är en integrerad lösning för pulsoximetri och pulsmätare. Den kombinerar två lysdioder, en fotodetektor, optimerad optik och ljudlös analog signalbehandling för att detektera pulsoximetri och pulssignaler. MAX30100 drivs från 1,8V och 3,3V nätaggregat och kan stängas av via programvara med försumbar standbyström, vilket gör att strömförsörjningen alltid kan vara ansluten. Ansökningar
● Bärbara enheter
● Fitness Assistant -enheter
● Medicinsk övervakningsenhet
Fördelar och funktioner
1 、 Komplett pulsoximeter och pulssensorslösning förenklar designen
Integrerade lysdioder, fotosensor och högpresterande analog framsida
Liten 5,6 mm x 2,8 mm x 1,2 mm 14-stifts optiskt förbättrat system-i-paket
2 、 Ultra-Low-Power-drift Ökar batteriets livslängd för bärbara enheter
Programmerbar samplingshastighet och LED -ström för energibesparingar
Ultra-låg avstängningsström (0,7 µA, typ)
3 、 Avancerad funktionalitet förbättrar mätprestanda
Hög SNR ger robust motståndskraft mot artefakter
Integrerad avstängning av omgivande ljus
Hög provhastighet
Snabb datautmatning
Steg 3: Detekteringsprincip
Tryck bara fingret mot sensorn för att uppskatta pulsens syremättnad (SpO2) och puls (motsvarande hjärtslag).
Pulsoximetern (oximetern) är en minispektrometer som använder principerna för olika röda cellabsorptionsspektra för att analysera blodets syremättnad. Denna realtids- och snabbmätningsmetod används också ofta i många kliniska referenser. Jag kommer inte att introducera MAX30100 för mycket, eftersom dessa material är tillgängliga på Internet. Intresserade vänner kan leta upp informationen från denna pulsmätningsmodul på Internet och få en djupare förståelse för dess detekteringsprincip.
STEN STVI070WT-01
Introduktion till displayen
I detta projekt kommer jag att använda STONE STVI070WT för att visa hjärtfrekvens och blodsyresdata. Drivrutinen har integrerats inuti skärmen och det finns programvara för användare att använda. Användare behöver bara lägga till knappar, textrutor och annan logik genom de utformade UI -bilderna och sedan generera konfigurationsfiler och ladda ner dem på skärmen för att köra. Displayen av STVI070WT kommunicerar med MCU via uart-rs232-signal, vilket innebär att vi måste lägga till ett MAX3232-chip för att konvertera RS232-signalen till en TTL-signal så att vi kan kommunicera med Arduino MCU.
Om du inte är säker på hur du använder MAX3232, se följande bilder:
Om du tycker att nivåkonverteringen är för besvärlig kan du välja andra typer av STONE-displayer, varav några direkt kan mata ut uart-ttl-signal. Den officiella webbplatsen har detaljerad information och introduktion: https://www.stoneitech.com/ Om du behöver videohandledning och självstudier kan du också hitta den på den officiella webbplatsen.
Steg 4: Utvecklingssteg
Tre steg i utvecklingen av STONE -skärmen:
Designa displaylogiken och knapplogiken med programvaran STONE TOOL och ladda ner designfilen till displaymodulen.
MCU kommunicerar med STONE LCD -displaymodul via serieport.
Med data som erhållits i steg 2 gör MCU andra åtgärder.
Installation av STONE TOOL -programvara
Ladda ner den senaste versionen av programvaran STONE TOOL (för närvarande TOOL2019) från webbplatsen och installera den. Efter att programvaran har installerats öppnas följande gränssnitt:
Klicka på "Arkiv" -knappen i det övre vänstra hörnet för att skapa ett nytt projekt, som vi kommer att diskutera senare.
ArduinoArduino är en öppen källkod för elektronisk prototyp som är lätt att använda och lätt att använda. Den innehåller hårdvarudelen (olika utvecklingskort som överensstämmer med Arduino -specifikationen) och programvarudelen (Arduino IDE och relaterade utvecklingssatser). Hårdvarudelen (eller utvecklingskortet) består av en mikrokontroller (MCU), Flash -minne (Flash) och en uppsättning universella ingångs-/utgångsgränssnitt (GPIO), som du kan tänka dig som ett mikrodatorns moderkort. Programvarudelen består huvudsakligen av Arduino IDE på PC, relaterat board-support-paket (BSP) och rikt tredjepartsfunktionsbibliotek. Med Arduino IDE kan du enkelt ladda ner BSP som är kopplat till ditt utvecklingskort och de bibliotek du behöver att skriva dina program. Arduino är en öppen källkod plattform. Hittills har det funnits många modeller och många härledda styrenheter, inklusive Arduino Uno, Arduino Nano, ArduinoYun och så vidare. Dessutom stöder Arduino IDE nu inte bara Arduino -seriens utvecklingskort, utan lägger också till stöd för populära utvecklingskort som t.ex. som Intel Galileo och NodeMCU genom att introducera BSP. Arduino känner av miljön genom en mängd olika sensorer, kontrollampor, motorer och andra enheter för att mata tillbaka och påverka miljön. Mikrokontrollern på kortet kan programmeras med ett Arduino -programmeringsspråk, sammanställas i binärer och brännas in i mikrokontrollern. Programmering för Arduino implementeras med Arduino programmeringsspråk (baserat på ledningar) och Arduino utvecklingsmiljö (baserat på bearbetning). Arduino-baserade projekt kan endast innehålla Arduino, liksom Arduino och annan programvara som körs på PC, och de kommunicerar med varje annat (som Flash, Processing, MaxMSP).
Arduino -utvecklingsmiljön är Arduino IDE, som kan laddas ner från Internet. Logga in på Arduinos officiella webbplats och ladda ner programvaran https://www.arduino.cc/en/Main/Software?setlang=cn Efter installationen av Arduino IDE visas följande gränssnitt när du öppnar programvaran:
Arduino IDE skapar två funktioner som standard: installationsfunktionen och loop -funktionen. Det finns många Arduino -introduktioner på Internet. Om du inte förstår något kan du gå till Internet för att hitta det.
Steg 5: Arduino LCD -projektets implementeringsprocess
hårdvaruanslutning
För att se till att nästa steg i att skriva kod går smidigt måste vi först bestämma tillförlitligheten för hårdvaruanslutningen. Endast fyra hårdvaror användes i detta projekt:
1. Arduino Mini pro utvecklingsbräda
2. STONE STVI070WT tft-lcd-skärm
3. MAX30100 hjärtfrekvens och blodsyresensor
4. MAX3232 (rs232-> TTL) Arduino Mini Pro-utvecklingskortet och STVI070WT tft-lcd-skärm är anslutna via UART, vilket kräver nivåkonvertering via MAX3232, och sedan är Arduino Mini Pro-utvecklingskortet och MAX30100-modulen anslutna via IIC-gränssnittet. Efter att ha tänkt klart kan vi rita följande ledningsbild:
Se till att det inte finns några fel i maskinvaruanslutningen och fortsätt till nästa steg.
LCD-TFT-användargränssnittsdesign Först och främst måste vi designa en UI-bild som kan designas av PhotoShop eller andra bilddesignverktyg. Spara bilden i-j.webp
Ta bort bilden som laddades som standard i det nya projektet och lägg till den användargränssnittsbild som vi designade. Effekten är följande:
textvisningskomponentadress: Anslutningssta: 0x0008
Puls: 0x0001
Blodsyre: 0x0005
Huvudinnehållet i UI -gränssnittet är följande:
Anslutningsstatus
Pulsvisning
Blodsyre visade sig
Steg 6: Skapa konfigurationsfil
När UI -designen är klar kan konfigurationsfilen genereras och laddas ner till STVI070WT -displayen.
Utför först steg 1, sätt sedan in usb -flashenheten i datorn så visas disksymbolen. Klicka sedan på "Ladda ner till u-disk" för att ladda ner konfigurationsfilen till USB-flashenheten och sätt sedan in USB-flashenheten i STVI070WT för att slutföra uppgraderingen.
MAX30100MAX30100 kommunicerar via IIC. Dess princip är att hjärtfrekvensens ADC -värde kan erhållas genom infraröd ledstrålning. MAX30100 -registret kan delas in i fem kategorier: statligt register, FIFO, kontrollregister, temperaturregister och ID -register. Temperaturregistret läser temperaturvärdet för chipet för att korrigera avvikelsen som orsakas av temperaturen. ID -registret kan läsa chipets ID -nummer.
MAX30100 är anslutet till Arduino Mini Pro -utvecklingskortet via IIC -kommunikationsgränssnittet. Eftersom det finns färdiga MAX30100-biblioteksfiler i Arduino IDE kan vi läsa hjärtfrekvens och blodsyresdata utan att studera registren för MAX30100. För dem som är intresserade av att utforska MAX30100-registret, se MAX30100-databladet.
Ändra MAX30100 IIC uppdragningsmotstånd
Det bör noteras att 4,7k pull-up-motståndet för IIC-stiftet på MAX30100-modulen är anslutet till 1,8v, vilket inte är ett problem i teorin. Kommunikationslogiknivån för Arduino IIC -stiftet är emellertid 5V, så den kan inte kommunicera med Arduino utan att ändra hårdvaran i MAX30100 -modulen. Direkt kommunikation är möjlig om MCU är STM32 eller en annan 3.3v logiknivå MCU. Därför följer följande ändringar måste göras:
Ta bort de tre 4,7k -motstånden som är markerade på bilden med ett elektriskt lödkolv. Svets sedan två motstånd på 4,7k vid stiften på SDA och SCL till VIN, så att vi kan kommunicera med Arduino. Arduino Öppna Arduino IDE och hitta följande knappar:
Sök efter "MAX30100" för att hitta två bibliotek för MAX30100, klicka sedan på ladda ner och installera.
Efter installationen kan du hitta Demo av MAX30100 i LIB -biblioteksmappen på Arduino:
Dubbelklicka på filen för att öppna den.
Denna demo kan testas direkt. Om maskinvaruanslutningen är ok kan du ladda ner kodsammanställningen till Arduibo -utvecklingskortet och se data från MAX30100 i det seriella felsökningsverktyget.
Steg 7: Effekten kan ses i följande bild:
För att lära dig mer om projektet klicka här.
Kontakta oss om du behöver en fullständig kod:
Jag svarar dig inom 12 timmar.
Rekommenderad:
DIY Fitness Tracker Smart Watch med oximeter och puls - Modulära elektroniska moduler från TinyCircuits - Minsta arkad: 6 steg
DIY Fitness Tracker Smart Watch med oximeter och puls | Modulära elektroniska moduler från TinyCircuits | Minsta arkad: Hej, vad händer, killar! Akarsh här från CETech. Idag har vi med oss några av sensormodulerna som är mycket användbara i vårt dagliga liv men i en liten version av sig själva. Sensorerna som vi har idag är mycket små i storlek jämfört med tra
STONE LCD med Smart Home: 5 steg
STONE LCD With Smart Home: Idag fick jag STONE: s seriella portdisplay, som kan kommunicera via MCU: s seriella port, och UI -logikdesignen på denna display kan designas direkt med VGUS -programvaran som finns på STONE: s officiella webbplats, vilket är mycket sammankomst
Hur man visar puls på STONE LCD -skärmen med Ar: 31 steg
Hur man visar pulsen på STONE LCD -skärmen med Ar: kort introduktion För en tid sedan hittade jag en pulsmätarmodul MAX30100 när jag handlade online. Denna modul kan samla in blodsyre- och pulsdata från användare, vilket också är enkelt och bekvämt att använda. Enligt uppgifterna fann jag att det
Att mäta din puls är på fingret
Att mäta din puls är på fingertoppen: Fotoplethysmografi Tillvägagångssätt för att bestämma hjärtfrekvens: En fotoplethysmograf (PPG) är en enkel och billig optisk teknik som ofta används för att upptäcka förändringar i blodvolymen i en mikrovaskulär vävnadsbädd. Det används mest icke-invasivt för att göra mätningar på hudytan, vanligtvis
Puls (volymaktiverade lysdioder): 7 steg (med bilder)
Puls (volymaktiverade lysdioder): Har du någonsin velat bygga något med lysdioder, men var inte säker på var du ska börja? Den här guiden ger dig några enkla steg att utforma din egen volymvisualiserande kod för adresserbara LED-lampor. Detta är en rolig stationär brusmätare, rave de