Πίνακας περιεχομένων:

Πώς να εμφανίσετε τον καρδιακό ρυθμό στην STONE LCD με Ar: 31 βήματα
Πώς να εμφανίσετε τον καρδιακό ρυθμό στην STONE LCD με Ar: 31 βήματα

Βίντεο: Πώς να εμφανίσετε τον καρδιακό ρυθμό στην STONE LCD με Ar: 31 βήματα

Βίντεο: Πώς να εμφανίσετε τον καρδιακό ρυθμό στην STONE LCD με Ar: 31 βήματα
Βίντεο: 10 Σημάδια Που Δείχνουν Πως Τα Νεφρά Δεν Λειτουργούν Σωστά! 2024, Νοέμβριος
Anonim
Πώς να εμφανίσετε τον καρδιακό ρυθμό στην πέτρινη οθόνη LCD με το Ar
Πώς να εμφανίσετε τον καρδιακό ρυθμό στην πέτρινη οθόνη LCD με το Ar

σύντομη εισαγωγή

Πριν από λίγο καιρό, βρήκα μια μονάδα αισθητήρα καρδιακού ρυθμού MAX30100 στις αγορές στο διαδίκτυο. Αυτή η ενότητα μπορεί να συλλέξει δεδομένα οξυγόνου αίματος και καρδιακών παλμών των χρηστών, τα οποία είναι επίσης απλά και βολικά στη χρήση. Σύμφωνα με τα δεδομένα, διαπίστωσα ότι υπάρχουν βιβλιοθήκες MAX30100 στα αρχεία βιβλιοθηκών Arduino. Δηλαδή, εάν χρησιμοποιώ την επικοινωνία μεταξύ Arduino και MAX30100, μπορώ να καλέσω απευθείας τα αρχεία βιβλιοθήκης Arduino χωρίς να χρειάζεται να ξαναγράψω τα αρχεία προγράμματος οδήγησης. Αυτό είναι καλό, οπότε αγόρασα τη μονάδα MAX30100.

Βήμα 1: Αποφάσισα να χρησιμοποιήσω το Arduino για την επαλήθευση της καρδιακής συχνότητας και της λειτουργίας συλλογής οξυγόνου αίματος MAX30100

Αποφάσισα να χρησιμοποιήσω το Arduino για την επαλήθευση της καρδιακής συχνότητας και της λειτουργίας συλλογής οξυγόνου αίματος MAX30100
Αποφάσισα να χρησιμοποιήσω το Arduino για την επαλήθευση της καρδιακής συχνότητας και της λειτουργίας συλλογής οξυγόνου αίματος MAX30100

Σημείωση: αυτή η μονάδα από προεπιλογή είναι μόνο με επικοινωνίες MCU επιπέδου 3,3 V, επειδή είναι προεπιλεγμένη η χρήση αντοχής πείρου IIC 4,7 K έως 1,8 V, οπότε δεν υπάρχει επικοινωνία με το Arduino από προεπιλογή, εάν θέλετε να επικοινωνήσετε με το Arduino και χρειάζονται δύο 4,7 K της αντίστασης πείρου IIC που συνδέονται με τον πείρο VIN, αυτά τα περιεχόμενα θα εισαχθούν στο πίσω μέρος του κεφαλαίου.

Βήμα 2: Λειτουργικές εργασίες

Πριν ξεκινήσω αυτό το έργο, σκέφτηκα μερικά απλά χαρακτηριστικά:

  • Συλλέχθηκαν δεδομένα καρδιακού ρυθμού και δεδομένα οξυγόνου αίματος
  • Τα δεδομένα του καρδιακού ρυθμού και του οξυγόνου του αίματος εμφανίζονται μέσω μιας οθόνης LCD

Αυτά είναι τα δύο μόνο χαρακτηριστικά, αλλά αν θέλουμε να το εφαρμόσουμε, πρέπει να σκεφτούμε περισσότερο:

  • Ποιο κύριο MCU χρησιμοποιείται;
  • Τι είδους οθόνη LCD;

Όπως αναφέραμε νωρίτερα, χρησιμοποιούμε το Arduino για το MCU, αλλά αυτό είναι ένα έργο οθόνης Arduino LCD, οπότε πρέπει να επιλέξουμε την κατάλληλη μονάδα οθόνης LCD. Σκοπεύω να χρησιμοποιήσω την οθόνη LCD με σειριακή θύρα. Έχω έναν δείκτη STONE STVI070WT-01 εδώ, αλλά αν το Arduino πρέπει να επικοινωνήσει μαζί του, απαιτείται MAX3232 για να γίνει μετατροπή επιπέδου. Στη συνέχεια, τα βασικά ηλεκτρονικά υλικά καθορίζονται ως εξής:

1. Πίνακας ανάπτυξης Arduino Mini Pro

2. Μονάδα αισθητήρα οξυγόνου αίματος και καρδιακού ρυθμού MAX30100

3. Μονάδα εμφάνισης σειριακής θύρας LCD STONE STVI070WT-01 LCD

4. Μονάδα MAX3232

Βήμα 3: Εισαγωγή υλικού

MAX30100

Το MAX30100 είναι μια ενσωματωμένη λύση παλμικής οξυμετρίας και αισθητήρα παρακολούθησης καρδιακών παλμών. Συνδυάζει δύο LED, έναν φωτοανιχνευτή, βελτιστοποιημένα οπτικά και επεξεργασία αναλογικού σήματος χαμηλού θορύβου για την ανίχνευση παλμικής οξυμετρίας και σημάτων καρδιακού ρυθμού.

Το MAX30100 λειτουργεί από τροφοδοτικά 1,8V και 3,3V και μπορεί να απενεργοποιηθεί μέσω λογισμικού με αμελητέο ρεύμα αναμονής, επιτρέποντας στο τροφοδοτικό να παραμένει συνδεδεμένο ανά πάσα στιγμή.

Βήμα 4: Εφαρμογές

● Φορετές συσκευές

● Συσκευές Βοηθού Γυμναστικής

● Ιατρικές συσκευές παρακολούθησης

Βήμα 5: Οφέλη και δυνατότητες

1 、 Complete Pulse Oximeter and Heart-Rate SensorSolution Απλοποιεί τον σχεδιασμό

  • Ενσωματωμένες λυχνίες LED, αισθητήρας φωτογραφιών και αναλογικό μέτωπο υψηλής απόδοσης -Τέλος
  • Μικροσκοπικά 5,6mm x 2,8mm x 1,2mm 14 ακίδων OpticallyEnhanced System-in-Package

2 Ope Λειτουργία εξαιρετικά χαμηλής ισχύος αυξάνει τη διάρκεια ζωής της μπαταρίας για φορητές συσκευές

  • Προγραμματιζόμενος ρυθμός δείγματος και ρεύμα LED για εξοικονόμηση ενέργειας
  • Υπερ-χαμηλό ρεύμα τερματισμού λειτουργίας (0,7μA, τυπ.)

3, Advanced Functionality Βελτιώνει την Απόδοση Μέτρησης

  • Το High SNR παρέχει ισχυρή ανθεκτικότητα στην τεχνητή κίνηση
  • Ενσωματωμένη ακύρωση περιβάλλοντος φωτός
  • Ικανότητα Υψηλού Δείγματος
  • Δυνατότητα γρήγορης εξόδου δεδομένων

Βήμα 6: Αρχή ανίχνευσης

Αρχή Ανίχνευσης
Αρχή Ανίχνευσης

Απλώς πιέστε το δάχτυλό σας προς τον αισθητήρα για να εκτιμήσετε τον κορεσμό του παλμού οξυγόνου (SpO2) και τον παλμό (ισοδύναμο με τον καρδιακό παλμό).

Το παλμικό οξύμετρο (οξύμετρο) είναι ένα μίνι-φασματόμετρο που χρησιμοποιεί τις αρχές των διαφορετικών φασμάτων απορρόφησης των ερυθρών αιμοσφαιρίων για την ανάλυση του κορεσμού οξυγόνου του αίματος. Αυτή η μέθοδος μέτρησης σε πραγματικό χρόνο και ταχεία χρησιμοποιείται επίσης ευρέως σε πολλές κλινικές αναφορές. Δεν θα εισαγάγω πολύ το MAX30100, επειδή αυτά τα υλικά είναι διαθέσιμα στο Διαδίκτυο. Οι ενδιαφερόμενοι φίλοι μπορούν να αναζητήσουν τις πληροφορίες αυτής της μονάδας ελέγχου καρδιακών παλμών στο Διαδίκτυο και να έχουν μια βαθύτερη κατανόηση της αρχής της ανίχνευσης.

Βήμα 7: STONE STVI070WT-01

STONE STVI070WT-01
STONE STVI070WT-01

Εισαγωγή στην οθόνη

Σε αυτό το έργο, θα χρησιμοποιήσω το STONE STVI070WT-01 για να εμφανίσω τα δεδομένα του καρδιακού ρυθμού και του οξυγόνου στο αίμα. Το τσιπ προγράμματος οδήγησης έχει ενσωματωθεί στην οθόνη της οθόνης και υπάρχει λογισμικό για χρήση από τους χρήστες. Οι χρήστες χρειάζεται μόνο να προσθέσουν κουμπιά, πλαίσια κειμένου και άλλη λογική μέσω των σχεδιαζόμενων εικόνων διεπαφής χρήστη και, στη συνέχεια, να δημιουργήσουν αρχεία διαμόρφωσης και να τα κατεβάσουν στην οθόνη για να εκτελεστούν. Η οθόνη του STVI070WT-01 επικοινωνεί με MCU μέσω σήματος uart-rs232, πράγμα που σημαίνει ότι πρέπει να προσθέσουμε ένα τσιπ MAX3232 για να μετατρέψουμε το σήμα RS232 σε σήμα TTL, ώστε να μπορούμε να επικοινωνούμε με το Arduino MCU.

Βήμα 8: Εάν δεν είστε σίγουροι πώς να χρησιμοποιήσετε το MAX3232, ανατρέξτε στις ακόλουθες εικόνες:

Εάν δεν είστε σίγουροι πώς να χρησιμοποιήσετε το MAX3232, ανατρέξτε στις ακόλουθες εικόνες
Εάν δεν είστε σίγουροι πώς να χρησιμοποιήσετε το MAX3232, ανατρέξτε στις ακόλουθες εικόνες

Εάν νομίζετε ότι η μετατροπή επιπέδου είναι πολύ ενοχλητική, μπορείτε να επιλέξετε άλλους τύπους προβολών του STONE, μερικοί από τους οποίους μπορούν να εξάγουν απευθείας σήμα uart-ttl.

Ο επίσημος ιστότοπος έχει λεπτομερείς πληροφορίες και εισαγωγή:

Βήμα 9: Εάν χρειάζεστε βίντεο και σεμινάρια για χρήση, μπορείτε επίσης να τα βρείτε στον επίσημο ιστότοπο

Εάν χρειάζεστε εκπαιδευτικά βίντεο και σεμινάρια για χρήση, μπορείτε επίσης να τα βρείτε στον επίσημο ιστότοπο
Εάν χρειάζεστε εκπαιδευτικά βίντεο και σεμινάρια για χρήση, μπορείτε επίσης να τα βρείτε στον επίσημο ιστότοπο

Βήμα 10: Βήματα ανάπτυξης

Τρία βήματα ανάπτυξης οθόνης οθόνης STONE:

  • Σχεδιάστε τη λογική της οθόνης και τη λογική κουμπιών με το λογισμικό STONE TOOL και κατεβάστε το αρχείο σχεδίασης στη μονάδα οθόνης.
  • Το MCU επικοινωνεί με τη μονάδα οθόνης STONE LCD μέσω της σειριακής θύρας.
  • Με τα δεδομένα που λαμβάνονται στο βήμα 2, το MCU κάνει άλλες ενέργειες.

Βήμα 11: Εγκατάσταση λογισμικού STONE TOOL

Εγκατάσταση λογισμικού STONE TOOL
Εγκατάσταση λογισμικού STONE TOOL

Κατεβάστε την τελευταία έκδοση του λογισμικού STONE TOOL (επί του παρόντος TOOL2019) από τον ιστότοπο και εγκαταστήστε το.

Μετά την εγκατάσταση του λογισμικού, θα ανοίξει η ακόλουθη διεπαφή:

Κάντε κλικ στο κουμπί "Αρχείο" στην επάνω αριστερή γωνία για να δημιουργήσετε ένα νέο έργο, το οποίο θα συζητήσουμε αργότερα.

Βήμα 12: Arduino

Το Arduino είναι μια πλατφόρμα ηλεκτρονικού πρωτοτύπου ανοιχτού κώδικα που είναι εύκολη στη χρήση και εύκολη στη χρήση. Περιλαμβάνει το τμήμα υλικού (διάφοροι πίνακες ανάπτυξης που συμμορφώνονται με τις προδιαγραφές Arduino) και το τμήμα λογισμικού (Arduino IDE και σχετικά κιτ ανάπτυξης).

Το τμήμα υλικού (ή πίνακας ανάπτυξης) αποτελείται από έναν μικροελεγκτή (MCU), μνήμη Flash (Flash) και ένα σύνολο καθολικών διεπαφών εισόδου/εξόδου (GPIO), τα οποία μπορείτε να σκεφτείτε ως μητρική πλακέτα μικροϋπολογιστή. Το τμήμα λογισμικού αποτελείται κυρίως από Arduino IDE σε υπολογιστή, σχετικό πακέτο υποστήριξης σε επίπεδο πίνακα (BSP) και πλούσια βιβλιοθήκη λειτουργιών τρίτου μέρους. Με το Arduino IDE, μπορείτε εύκολα να κατεβάσετε το BSP που σχετίζεται με τον πίνακα ανάπτυξης και τις βιβλιοθήκες που χρειάζεστε για να γράψετε τα προγράμματά σας. Το Arduino είναι μια πλατφόρμα ανοιχτού κώδικα. Μέχρι στιγμής, υπήρχαν πολλά μοντέλα και πολλά παράγωγα χειριστήρια, συμπεριλαμβανομένων των Arduino Uno, Arduino Nano, ArduinoYun και ούτω καθεξής. Επιπλέον, το Arduino IDE δεν υποστηρίζει πλέον μόνο τους πίνακες ανάπτυξης της σειράς Arduino, αλλά προσθέτει υποστήριξη για δημοφιλείς πίνακες ανάπτυξης, όπως ως Intel Galileo και NodeMCU με την εισαγωγή του BSP.

Το Arduino ανιχνεύει το περιβάλλον μέσω ποικίλων αισθητήρων, φώτων ελέγχου, κινητήρων και άλλων συσκευών για να ανατροφοδοτήσει και να επηρεάσει το περιβάλλον. Ο μικροελεγκτής στον πίνακα μπορεί να προγραμματιστεί με γλώσσα προγραμματισμού Arduino, να μεταγλωττιστεί σε δυαδικά αρχεία και να καεί στον μικροελεγκτή. για το Arduino υλοποιείται με τη γλώσσα προγραμματισμού Arduino (βασισμένη στην Wiring) και το περιβάλλον ανάπτυξης Arduino (με βάση την επεξεργασία). Τα έργα που βασίζονται σε Arduino μπορούν να περιέχουν μόνο Arduino, καθώς και Arduino και άλλο λογισμικό που εκτελείται σε υπολογιστή και επικοινωνούν με κάθε ένα άλλα (όπως Flash, Επεξεργασία, MaxMSP).

Βήμα 13: Περιβάλλον ανάπτυξης

Περιβάλλον Ανάπτυξης
Περιβάλλον Ανάπτυξης

Το περιβάλλον ανάπτυξης Arduino είναι το Arduino IDE, το οποίο μπορείτε να κατεβάσετε από το Διαδίκτυο.

Συνδεθείτε στον επίσημο ιστότοπο του Arduino και κάντε λήψη του λογισμικού https://www.arduino.cc/en/Main/Software?setlang=c… Μετά την εγκατάσταση του Arduino IDE, θα εμφανιστεί η ακόλουθη διεπαφή όταν ανοίγετε το λογισμικό:

Το Arduino IDE δημιουργεί δύο συναρτήσεις από προεπιλογή: τη λειτουργία εγκατάστασης και τη λειτουργία βρόχου. Υπάρχουν πολλές εισαγωγές Arduino στο Διαδίκτυο. Εάν δεν καταλαβαίνετε κάτι, μπορείτε να μεταβείτε στο Διαδίκτυο για να το βρείτε.

Βήμα 14: Διαδικασία υλοποίησης έργου LCD Arduino

Διαδικασία υλοποίησης έργου Arduino LCD
Διαδικασία υλοποίησης έργου Arduino LCD

σύνδεση υλικού

Για να διασφαλίσουμε ότι το επόμενο βήμα στη σύνταξη κώδικα θα κυλήσει ομαλά, πρέπει πρώτα να καθορίσουμε την αξιοπιστία της σύνδεσης υλικού.

Μόνο τέσσερα κομμάτια υλικού χρησιμοποιήθηκαν σε αυτό το έργο:

1. Πίνακας ανάπτυξης Arduino Mini pro

2. ΟΘΟΝΗ STONE STVI070WT-01 tft-lcd

3. Αισθητήρας καρδιακού ρυθμού MAX30100 και οξυγόνου αίματος

4. MAX3232 (rs232-> TTL) Ο πίνακας ανάπτυξης Arduino Mini Pro και η οθόνη οθόνης STVI070WT-01 TFT-LCD συνδέονται μέσω του UART, το οποίο απαιτεί μετατροπή επιπέδου μέσω MAX3232, και στη συνέχεια ο πίνακας ανάπτυξης Arduino Mini Pro και η μονάδα MAX30100 συνδέονται μέσω Διεπαφή IIC. Αφού σκεφτούμε καθαρά, μπορούμε να σχεδιάσουμε την ακόλουθη εικόνα καλωδίωσης:

Βήμα 15:

Εικόνα
Εικόνα

Βεβαιωθείτε ότι δεν υπάρχουν σφάλματα στη σύνδεση υλικού και προχωρήστε στο επόμενο βήμα.

Βήμα 16: Σχεδιασμός διεπαφής χρήστη TFT LCD

Σχεδιασμός διεπαφής χρήστη TFT LCD
Σχεδιασμός διεπαφής χρήστη TFT LCD

Πρώτα απ 'όλα, πρέπει να σχεδιάσουμε μια εικόνα οθόνης UI, η οποία μπορεί να σχεδιαστεί από το PhotoShop ή άλλα εργαλεία σχεδιασμού εικόνας. Αφού σχεδιάσετε την εικόνα οθόνης UI, αποθηκεύστε την εικόνα σε μορφή JPG.

Ανοίξτε το λογισμικό STONE TOOL2019 και δημιουργήστε ένα νέο έργο:

Βήμα 17: Αφαιρέστε την εικόνα που φορτώθηκε από προεπιλογή στο νέο έργο και προσθέστε την εικόνα UI που σχεδιάσαμε

Αφαιρέστε την εικόνα που φορτώθηκε από προεπιλογή στο νέο έργο και προσθέστε την εικόνα UI που σχεδιάσαμε
Αφαιρέστε την εικόνα που φορτώθηκε από προεπιλογή στο νέο έργο και προσθέστε την εικόνα UI που σχεδιάσαμε

Βήμα 18: Προσθέστε το στοιχείο εμφάνισης κειμένου

Προσθέστε το στοιχείο εμφάνισης κειμένου
Προσθέστε το στοιχείο εμφάνισης κειμένου

Προσθέστε το στοιχείο εμφάνισης κειμένου, σχεδιάστε το ψηφίο οθόνης και το δεκαδικό σημείο, λάβετε τη θέση αποθήκευσης του στοιχείου εμφάνισης κειμένου στην οθόνη προβολής.

Το αποτέλεσμα έχει ως εξής:

Βήμα 19:

Διεύθυνση στοιχείου εμφάνισης κειμένου:

  • Στάση σύνδεσης: 0x0008
  • Καρδιακός ρυθμός: 0x0001

Οξυγόνο αίματος: 0x0005 Το κύριο περιεχόμενο της διεπαφής διεπαφής χρήστη έχει ως εξής:

  • Κατάσταση σύνδεσης
  • Ένδειξη καρδιακών παλμών
  • Έδειξε οξυγόνο αίματος

Βήμα 20: Δημιουργία αρχείου διαμόρφωσης

Δημιουργία αρχείου διαμόρφωσης
Δημιουργία αρχείου διαμόρφωσης

Μόλις ολοκληρωθεί ο σχεδιασμός διεπαφής χρήστη, το αρχείο διαμόρφωσης μπορεί να δημιουργηθεί και να μεταφορτωθεί στην οθόνη STVI070WT-01.

Αρχικά, εκτελέστε το βήμα 1 και, στη συνέχεια, εισαγάγετε τη μονάδα flash USB στον υπολογιστή και θα εμφανιστεί το σύμβολο του δίσκου. Στη συνέχεια, κάντε κλικ στην επιλογή "Λήψη σε δίσκο u" για λήψη του αρχείου διαμόρφωσης στη μονάδα flash USB και, στη συνέχεια, εισαγάγετε τη μονάδα flash USB στο STVI070WT-01 για να ολοκληρώσετε την αναβάθμιση.

Βήμα 21: MAX30100

MAX30100
MAX30100

Το MAX30100 επικοινωνεί μέσω IIC. Η αρχή λειτουργίας του είναι ότι η τιμή της καρδιακής συχνότητας ADC μπορεί να ληφθεί μέσω υπέρυθρης ακτινοβολίας led. Ο καταχωρητής MAX30100 μπορεί να χωριστεί σε πέντε κατηγορίες: καταχωρητής κατάστασης, FIFO, μητρώο ελέγχου, καταχωρητής θερμοκρασίας και μητρώο ταυτότητας. διαβάζει την τιμή θερμοκρασίας του τσιπ για να διορθώσει την απόκλιση που προκαλείται από τη θερμοκρασία. Ο καταχωρητής ταυτότητας μπορεί να διαβάσει τον αριθμό ταυτότητας του τσιπ.

Το MAX30100 συνδέεται με τον πίνακα ανάπτυξης Arduino Mini Pro μέσω της διεπαφής επικοινωνίας IIC. Επειδή υπάρχουν έτοιμα αρχεία βιβλιοθηκών MAX30100 στο Arduino IDE, μπορούμε να διαβάσουμε τα δεδομένα του καρδιακού ρυθμού και του οξυγόνου του αίματος χωρίς να μελετήσουμε τα μητρώα του MAX30100. Για όσους ενδιαφέρονται να εξερευνήσουν το μητρώο MAX30100, δείτε το φύλλο δεδομένων MAX30100.

Βήμα 22: Τροποποιήστε το MAX30100 IIC Pull-up Resistor

Τροποποιήστε το MAX30100 IIC Pull-Resistor
Τροποποιήστε το MAX30100 IIC Pull-Resistor

Πρέπει να σημειωθεί ότι η αντίσταση έλξης 4,7k του πείρου IIC της μονάδας MAX30100 συνδέεται με 1,8v, κάτι που θεωρητικά δεν αποτελεί πρόβλημα. Ωστόσο, το επίπεδο λογικής επικοινωνίας του pin Arduino IIC είναι 5V, επομένως δεν μπορεί να επικοινωνήσει με το Arduino χωρίς να αλλάξει το υλικό της μονάδας MAX30100. Η άμεση επικοινωνία είναι δυνατή εάν το MCU είναι STM32 ή άλλο MCU λογικής στάθμης 3.3v.

Επομένως, πρέπει να γίνουν οι ακόλουθες αλλαγές:

Αφαιρέστε τις τρεις αντιστάσεις 4,7k που σημειώνονται στην εικόνα με ένα ηλεκτρικό συγκολλητικό σίδερο. Στη συνέχεια, συγκολλήστε δύο αντιστάσεις 4,7k στις ακίδες του SDA και του SCL στο VIN, ώστε να μπορέσουμε να επικοινωνήσουμε με το Arduino.

Βήμα 23: Arduino

Arduino
Arduino

Ανοίξτε το Arduino IDE και βρείτε τα ακόλουθα κουμπιά:

Βήμα 24: Αναζητήστε το "MAX30100" για να βρείτε δύο βιβλιοθήκες για MAX30100 και, στη συνέχεια, κάντε κλικ στην επιλογή Λήψη και εγκατάσταση

Ψάχνω για
Ψάχνω για

Βήμα 25: Μετά την εγκατάσταση, μπορείτε να βρείτε το demo του MAX30100 στο φάκελο βιβλιοθήκης LIB του Arduino:

Μετά την εγκατάσταση, μπορείτε να βρείτε το demo του MAX30100 στο φάκελο LIB Library του Arduino
Μετά την εγκατάσταση, μπορείτε να βρείτε το demo του MAX30100 στο φάκελο LIB Library του Arduino

Βήμα 26: Κάντε διπλό κλικ στο αρχείο για να το ανοίξετε

Κάντε διπλό κλικ στο αρχείο για να το ανοίξετε
Κάντε διπλό κλικ στο αρχείο για να το ανοίξετε

Βήμα 27: Ο πλήρης κώδικας έχει ως εξής:

Αυτό το Demo μπορεί να δοκιμαστεί άμεσα. Εάν η σύνδεση υλικού είναι εντάξει, μπορείτε να κατεβάσετε τη συλλογή κώδικα στον πίνακα ανάπτυξης Arduibo και να δείτε τα δεδομένα του MAX30100 στο σειριακό εργαλείο εντοπισμού σφαλμάτων.

Ο πλήρης κωδικός έχει ως εξής:

/* Arduino-MAX30100 οξυμετρία /ενσωματωμένη βιβλιοθήκη αισθητήρων καρδιακών παλμών, είτε την έκδοση 3 της Άδειας, είτε (κατά την επιλογή σας) οποιαδήποτε νεότερη έκδοση. Αυτό το πρόγραμμα διανέμεται με την ελπίδα ότι θα είναι χρήσιμο, αλλά ΧΩΡΙΣ ΚΑΜΙΑ ΕΓΓΥΗΣΗ. χωρίς καν την σιωπηρή εγγύηση ΕΜΠΟΡΙΚΟΤΗΤΑΣ ή ΚΑΤΑΛΛΗΛΟΤΗΤΑΣ ΓΙΑ ΙΔΙΑΙΤΕΡΟ ΣΚΟΠΟ. Ανατρέξτε στη Γενική Δημόσια Άδεια GNU για περισσότερες λεπτομέρειες. Θα έπρεπε να έχετε λάβει αντίγραφο της Γενικής Δημόσιας Άδειας GNU μαζί με αυτό το πρόγραμμα. Αν όχι, δείτε. */ #include #include "MAX30100_PulseOximeter.h" #define REPORTING_PERIOD_MS 1000 // Το PulseOximeter είναι η διεπαφή υψηλότερου επιπέδου στον αισθητήρα // προσφέρει: // * αναφορά ανίχνευσης παλμών // * υπολογισμό καρδιακών παλμών // * SpO2 (επίπεδο οξείδωσης) υπολογισμός PulseOximeter pox; uint32_t tsLastReport = 0; // Η επανάκληση (καταχωρημένη παρακάτω) ενεργοποιείται όταν ένας παλμός εντοπίζεται κενός στοBeatDetected () {Serial.println ("Beat!"); } void setup () {Serial.begin (115200); Serial.print ("Έναρξη παλμικού οξύμετρου.."); // Αρχικοποίηση της παρουσίας του PulseOximeter // Οι αποτυχίες οφείλονται γενικά σε ακατάλληλη καλωδίωση I2C, έλλειψη τροφοδοσίας // ή λάθος τσιπ στόχου εάν (! Pox.begin ()) {Serial.println ("FAILED"); Για(;;); } else {Serial.println ("ΕΠΙΤΥΧΙΑ"); } // Το προεπιλεγμένο ρεύμα για το LED IR είναι 50mA και θα μπορούσε να αλλάξει // χωρίς να σχολιάσετε την ακόλουθη γραμμή. Ελέγξτε το MAX30100_Registers.h για όλες τις // διαθέσιμες επιλογές. // pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA); // Εγγραφή επανάκλησης για τον εντοπισμό ρυθμού pox.setOnBeatDetectedCallback (onBeatDetected); } void loop () {// Βεβαιωθείτε ότι καλείτε την ενημέρωση όσο το δυνατόν γρηγορότερα pox.update (); // Ασύγχρονη απόρριψη καρδιακού ρυθμού και επιπέδων οξείδωσης στο σειριακό // Και για τα δύο, η τιμή 0 σημαίνει "άκυρη" εάν (millis () - tsLastReport> REPORTING_PERIOD_MS) {Serial.print ("Heart rate:"); Serial.print (pox.getHeartRate ()); Serial.print ("bpm / SpO2:"); Serial.print (pox.getSpO2 ()); Serial.println ("%"); tsLastReport = millis (); }}

Βήμα 28:

Εικόνα
Εικόνα

Αυτός ο κώδικας είναι πολύ απλός, πιστεύω ότι μπορείτε να τον καταλάβετε με μια ματιά. Πρέπει να πω ότι ο αρθρωτός προγραμματισμός του Arduino είναι πολύ βολικός και δεν χρειάζεται καν να καταλάβω πώς εφαρμόζεται ο κωδικός προγράμματος οδήγησης του Uart και του IIC.

Φυσικά, ο παραπάνω κώδικας είναι μια επίσημη επίδειξη και πρέπει ακόμα να κάνω κάποιες αλλαγές για να εμφανιστούν τα δεδομένα στην οθόνη του STONE.

Βήμα 29: Εμφάνιση δεδομένων στο STONE Displayer μέσω του Arduino

Πρώτον, πρέπει να λάβουμε τη διεύθυνση του στοιχείου που εμφανίζει τον καρδιακό ρυθμό και τα δεδομένα οξυγόνου στο αίμα στο displayer του STONE:

Στο έργο μου, η διεύθυνση είναι η εξής: Διεύθυνση στοιχείου εμφάνισης καρδιακού ρυθμού: 0x0001 Διεύθυνση μονάδας οθόνης οξυγόνου αίματος: 0x0005 Διεύθυνση κατάστασης σύνδεσης αισθητήρα: 0x0008 Εάν πρέπει να αλλάξετε το περιεχόμενο της οθόνης στον αντίστοιχο χώρο, μπορείτε να αλλάξετε το περιεχόμενο της οθόνης στέλνοντας δεδομένα στην αντίστοιχη διεύθυνση της οθόνης μέσω της σειριακής θύρας του Arduino.

Βήμα 30: Ο τροποποιημένος κώδικας έχει ως εξής:

/* Arduino-MAX30100 οξυμετρία /ενσωματωμένη βιβλιοθήκη αισθητήρων καρδιακών παλμών, είτε την έκδοση 3 της Άδειας, είτε (κατά την επιλογή σας) οποιαδήποτε νεότερη έκδοση. Αυτό το πρόγραμμα διανέμεται με την ελπίδα ότι θα είναι χρήσιμο, αλλά ΧΩΡΙΣ ΚΑΜΙΑ ΕΓΓΥΗΣΗ. χωρίς καν την σιωπηρή εγγύηση ΕΜΠΟΡΙΚΟΤΗΤΑΣ ή ΚΑΤΑΛΛΗΛΟΤΗΤΑΣ ΓΙΑ ΙΔΙΑΙΤΕΡΟ ΣΚΟΠΟ. Ανατρέξτε στη Γενική Δημόσια Άδεια GNU για περισσότερες λεπτομέρειες. Θα πρέπει να έχετε λάβει αντίγραφο της Γενικής Δημόσιας Άδειας GNU μαζί με αυτό το πρόγραμμα. Αν όχι, δείτε. */ #include #include "MAX30100_PulseOximeter.h" #define REPORTING_PERIOD_MS 1000 #define Heart_dis_addr 0x01 #define Sop2_dis_addr 0x05 #define connect_sta_addr 0x5x, 0x0x0x0, 0x0x0x, 0x0x0x0x0x0x, 0x0x0x0x0x, 0x0x0x0x, 0x0x0x0x, 0x0x0x0x, 0x0x0x0x0x, 0x0x0x0x, 0x0x0x0x0x, 0x0x0x0x0x, 0x0x0x0x, 0x0 0x00}; ανυπόγραφο char Sop2_send [8] = {0xA5, 0x5A, 0x05, 0x82, 0x00, / Sop2_dis_addr, 0x00, 0x00}; ανυπόγραφο char connect_sta_send [8] = {0xA5, 0x5A, 0x05, 0x82, 0x00, / connect_sta_addr, 0x00, 0x00}; // Το PulseOximeter είναι η διεπαφή υψηλότερου επιπέδου στον αισθητήρα // προσφέρει: // * αναφορά ανίχνευσης παλμών // * υπολογισμό καρδιακών παλμών // * υπολογισμό SpO2 (επίπεδο οξείδωσης) PulseOximeter pox; uint32_t tsLastReport = 0; // Η επανάκληση (καταχωρημένη παρακάτω) ενεργοποιείται όταν ένας παλμός εντοπίζεται κενός στοBeatDetected () {// Serial.println ("Beat!"); } void setup () {Serial.begin (115200); // Serial.print ("Αρχικοποίηση παλμικού οξύμετρου.."); // Αρχικοποίηση της παρουσίας PulseOximeter // Οι αποτυχίες οφείλονται γενικά σε ακατάλληλη καλωδίωση I2C, έλλειψη τροφοδοσίας // ή λάθος τσιπ στόχου εάν (! Pox.begin ()) {// Serial.println ("FAILED"); // connect_sta_send [7] = 0x00; // Serial.write (connect_sta_send, 8); Για(;;); } else {connect_sta_send [7] = 0x01; Serial.write (connect_sta_send, 8); // Serial.println ("ΕΠΙΤΥΧΙΑ"); } // Το προεπιλεγμένο ρεύμα για το LED IR είναι 50mA και θα μπορούσε να αλλάξει // χωρίς να σχολιάσετε την ακόλουθη γραμμή. Ελέγξτε το MAX30100_Registers.h για όλες τις // διαθέσιμες επιλογές.pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA); // Εγγραφή επανάκλησης για τον εντοπισμό ρυθμού pox.setOnBeatDetectedCallback (onBeatDetected); } void loop () {// Βεβαιωθείτε ότι καλείτε την ενημέρωση όσο το δυνατόν γρηγορότερα pox.update (); // Ασύγχρονη απόρριψη καρδιακού ρυθμού και επιπέδων οξείδωσης στο σειριακό // Και για τα δύο, η τιμή 0 σημαίνει "μη έγκυρη" εάν (millis () - tsLastReport> REPORTING_PERIOD_MS) {// Serial.print ("Heart rate:"); // Serial.print (pox.getHeartRate ()); // Serial.print ("bpm / SpO2:"); // Serial.print (pox.getSpO2 ()); // Serial.println ("%"); heart_rate_send [7] = (uint32_t) pox.getHeartRate (); Serial.write (heart_rate_send, 8); Sop2_send [7] = pox.getSpO2 (); Serial.write (Sop2_send, 8); tsLastReport = millis (); }}

Βήμα 31: Εμφάνιση καρδιακών παλμών στην οθόνη LCD με Arduino

Εμφάνιση καρδιακών παλμών στην οθόνη LCD με το Arduino
Εμφάνιση καρδιακών παλμών στην οθόνη LCD με το Arduino

Συγκεντρώστε τον κώδικα, κατεβάστε τον στον πίνακα ανάπτυξης Arduino και είστε έτοιμοι να ξεκινήσετε τις δοκιμές.

Μπορούμε να δούμε ότι όταν τα δάχτυλα φεύγουν από το MAX30100, ο καρδιακός ρυθμός και το οξυγόνο του αίματος εμφανίζουν 0. Τοποθετήστε το δάχτυλό σας στον συλλέκτη MAX30100 για να δείτε τον καρδιακό ρυθμό και τα επίπεδα οξυγόνου στο αίμα σε πραγματικό χρόνο.

Το αποτέλεσμα φαίνεται στην παρακάτω εικόνα:

Συνιστάται: