Orodha ya maudhui:

Jinsi ya Kuonyesha Kiwango cha Moyo kwenye LCD ya JIWE Na Ar: 31 Hatua
Jinsi ya Kuonyesha Kiwango cha Moyo kwenye LCD ya JIWE Na Ar: 31 Hatua

Video: Jinsi ya Kuonyesha Kiwango cha Moyo kwenye LCD ya JIWE Na Ar: 31 Hatua

Video: Jinsi ya Kuonyesha Kiwango cha Moyo kwenye LCD ya JIWE Na Ar: 31 Hatua
Video: Шок!!! ДУШИ МЕРТВЕЦОВ В ЗАТОЧЕНИИ У ДЕМОНА В ЭТОМ СТРАШНОМ ДОМЕ / HERE ARE THE SOULS OF THE DEAD 2024, Novemba
Anonim
Jinsi ya Kuonyesha Kiwango cha Moyo kwenye LCD ya JIWE Na Ar
Jinsi ya Kuonyesha Kiwango cha Moyo kwenye LCD ya JIWE Na Ar

utangulizi mfupi

Wakati fulani uliopita, nilipata moduli ya sensa ya kiwango cha moyo MAX30100 katika ununuzi mkondoni. Moduli hii inaweza kukusanya oksijeni ya damu na data ya kiwango cha moyo ya watumiaji, ambayo pia ni rahisi na rahisi kutumia. Kulingana na data, niligundua kuwa kuna maktaba ya MAX30100 kwenye faili za maktaba ya Arduino. Hiyo ni kusema, ikiwa nitatumia mawasiliano kati ya Arduino na MAX30100, ninaweza kupiga moja kwa moja faili za maktaba ya Arduino bila kulazimika kuandika tena faili za dereva. Hili ni jambo zuri, kwa hivyo nilinunua moduli ya MAX30100.

Hatua ya 1: Niliamua Kutumia Arduino Kuthibitisha Kiwango cha Moyo na Kazi ya Ukusanyaji wa Oksijeni ya Damu ya MAX30100

Niliamua Kutumia Arduino Kuthibitisha Kiwango cha Moyo na Ukusanyaji wa Oksijeni ya damu Kazi ya MAX30100
Niliamua Kutumia Arduino Kuthibitisha Kiwango cha Moyo na Ukusanyaji wa Oksijeni ya damu Kazi ya MAX30100

Kumbuka: moduli hii kwa chaguo-msingi tu ikiwa na mawasiliano ya kiwango cha 3.3 V cha MCU, kwa sababu ni chaguo-msingi kutumia pini ya IIC kuvuta upinzani wa 4.7 K hadi 1.8 V, kwa hivyo hakuna mawasiliano na Arduino kwa msingi, ikiwa unataka kuzungumza na Arduino na unahitaji mbili 4.7 K za kipikizi cha kukokota cha IIC kilichounganishwa na pini ya VIN, yaliyomo haya yataletwa nyuma ya sura.

Hatua ya 2: Kazi za Kazi

Kabla ya kuanza mradi huu, nilifikiria juu ya huduma rahisi:

  • Takwimu za kiwango cha moyo na data ya oksijeni ya damu zilikusanywa
  • Kiwango cha moyo na data ya oksijeni ya damu huonyeshwa kupitia skrini ya LCD

Hizi ni huduma mbili tu, lakini ikiwa tunataka kuitekeleza, tunahitaji kufikiria zaidi:

  • Je! Ni MCU gani inayotumiwa?
  • Je! Ni onyesho gani la LCD?

Kama tulivyosema hapo awali, tunatumia Arduino kwa MCU, lakini huu ni mradi wa kuonyesha Arduino LCD, kwa hivyo tunahitaji kuchagua moduli inayofaa ya kuonyesha LCD. Ninapanga kutumia skrini ya kuonyesha LCD na bandari ya serial. Nina onyesho la STONE STVI070WT-01 hapa, lakini ikiwa Arduino inahitaji kuwasiliana nayo, MAX3232 inahitajika kufanya uongofu wa kiwango. Kisha vifaa vya msingi vya elektroniki vimeamua kama ifuatavyo:

1. Bodi ya maendeleo ya Arduino Mini Pro

2. MAX30100 kiwango cha moyo na moduli ya sensorer ya oksijeni ya damu

3. JIWE STVI070WT-01 LCD moduli ya kuonyesha bandari

4. Moduli ya MAX3232

Hatua ya 3: Utangulizi wa vifaa

MAX30100

MAX30100 ni mchanganyiko wa mapigo ya oximetry na suluhisho la sensorer ya kiwango cha moyo. Inachanganya LED mbili, photodetector, macho bora, na usindikaji wa ishara ya chini ya kelele ili kugundua oximetry ya pulse na ishara za kiwango cha moyo.

MAX30100 inafanya kazi kutoka kwa vifaa vya umeme vya 1.8V na 3.3V na inaweza kusambazwa kupitia programu na hali ya kusubiri ya kupuuza, ikiruhusu usambazaji wa umeme kubaki umeunganishwa kila wakati.

Hatua ya 4: Maombi

● Vifaa vinavyovaa

● Vifaa vya Msaidizi wa Siha

● Vifaa vya Ufuatiliaji wa Matibabu

Hatua ya 5: Faida na Vipengele

1, Kukamilisha Pulse Oximeter na SensorSolution ya Kiwango cha Moyo hurahisisha Ubunifu

  • LED zilizojumuishwa, Sura ya Picha, na Analog ya Utendaji wa Mbele-Mwisho
  • Vidogo 5.6mm x 2.8mm x 1.2mm 14-Pin OpticallyInaboresha Mfumo-katika-Kifurushi

2, Operesheni ya Nguvu-Chini-Nguvu Huongeza Maisha ya Batri kwa Vifaa vinavyoonekana

  • Kiwango cha Mfano kinachopangwa na sasa ya LED kwa Akiba ya Nguvu
  • Kuzima kwa Chini kwa Chini (0.7µA, typ)

Utendaji wa hali ya juu unaboresha Utendaji wa Upimaji

  • SNR ya Juu Inatoa Ushujaa wa Artifact ya Mwendo Mkali
  • Kujumuishwa kwa Mwangaza wa Mwanga
  • Uwezo wa kiwango cha juu cha Mfano
  • Uwezo wa Pato la Takwimu Haraka

Hatua ya 6: Kanuni ya Kugundua

Kanuni ya Kugundua
Kanuni ya Kugundua

Bonyeza tu kidole chako dhidi ya kihisi ili kukadiria kueneza kwa oksijeni ya kunde (SpO2) na mapigo (sawa na mapigo ya moyo).

Oximeter ya kunde (oximeter) ni mini-spectrometer ambayo hutumia kanuni za spishi tofauti za ngozi nyekundu kuchambua kueneza kwa oksijeni ya damu. Njia hii ya upimaji wa wakati halisi na ya haraka pia hutumiwa sana katika marejeleo mengi ya kliniki. Sitatambulisha MAX30100 sana, kwa sababu vifaa hivi vinapatikana kwenye mtandao. Marafiki wanaovutiwa wanaweza kutafuta habari ya moduli hii ya kipimo cha mapigo ya moyo kwenye mtandao, na kuwa na uelewa wa kina wa kanuni yake ya kugundua.

Hatua ya 7: JIWE STVI070WT-01

JIWE STVI070WT-01
JIWE STVI070WT-01

Utangulizi wa mtangazaji

Katika mradi huu, nitatumia STONE STVI070WT-01 kuonyesha kiwango cha moyo na data ya oksijeni ya damu. Chip ya dereva imejumuishwa ndani ya skrini ya kuonyesha, na kuna programu ya watumiaji kutumia. Watumiaji wanahitaji tu kuongeza vifungo, visanduku vya maandishi na mantiki nyingine kupitia picha zilizoundwa za UI, na kisha utengeneze faili za usanidi na uzipakue kwenye skrini ya kuonyesha ili iendeshe. Uonyesho wa STVI070WT-01 unawasiliana na MCU kupitia ishara ya uart-rs232, ambayo inamaanisha kuwa tunahitaji kuongeza chip MAX3232 kubadilisha ishara ya RS232 kuwa ishara ya TTL, ili tuweze kuwasiliana na Arduino MCU.

Hatua ya 8: Ikiwa huna uhakika jinsi ya kutumia MAX3232, Tafadhali Rejelea Picha Zifuatazo:

Ikiwa Huna uhakika Jinsi ya Kutumia MAX3232, Tafadhali Rejelea Picha Zifuatazo
Ikiwa Huna uhakika Jinsi ya Kutumia MAX3232, Tafadhali Rejelea Picha Zifuatazo

Ikiwa unafikiria ubadilishaji wa kiwango ni shida sana, unaweza kuchagua aina zingine za waonyeshaji wa JIWE, ambazo zingine zinaweza kutoa ishara ya uart-ttl moja kwa moja.

Tovuti rasmi ina habari ya kina na utangulizi:

Hatua ya 9: Ikiwa Unahitaji Mafunzo ya Video na Mafunzo ya Kutumia, Unaweza Pia Kupata Kwenye Wavuti Rasmi

Ikiwa Unahitaji Mafunzo ya Video na Mafunzo ya Kutumia, Unaweza Pia Kupata Kwenye Wavuti Rasmi
Ikiwa Unahitaji Mafunzo ya Video na Mafunzo ya Kutumia, Unaweza Pia Kupata Kwenye Wavuti Rasmi

Hatua ya 10: Hatua za Maendeleo

Hatua tatu za ukuzaji wa skrini ya JIWE:

  • Buni mantiki ya kuonyesha na mantiki ya kitufe na programu ya JIWE la KIJITIBU, na pakua faili ya muundo kwenye moduli ya onyesho.
  • MCU inawasiliana na moduli ya jiwe la LCD la jiwe kupitia bandari ya serial.
  • Pamoja na data iliyopatikana katika hatua ya 2, MCU hufanya vitendo vingine.

Hatua ya 11: Ufungaji wa Programu ya KIWANGO CHA JIWE

Ufungaji Programu ya KIWANGO CHA JIWE
Ufungaji Programu ya KIWANGO CHA JIWE

Pakua toleo la hivi karibuni la programu ya JIWE la KITUO (sasa TOOL2019) kutoka kwa wavuti, na usakinishe.

Baada ya programu kusanikishwa, kiunga kifuatacho kitafunguliwa:

Bonyeza kitufe cha "Faili" kwenye kona ya juu kushoto ili kuunda mradi mpya, ambao tutajadili baadaye.

Hatua ya 12: Arduino

Arduino ni chanzo wazi cha mfumo wa elektroniki ambao ni rahisi kutumia na rahisi kutumia. Inajumuisha sehemu ya vifaa (bodi anuwai za maendeleo ambazo zinaambatana na vipimo vya Arduino) na sehemu ya programu (Arduino IDE na vifaa vya maendeleo vinavyohusiana).

Sehemu ya vifaa (au bodi ya maendeleo) ina microcontroller (MCU), Flash memory (Flash), na seti ya njia za kuingiza / pato zima (GPIO), ambayo unaweza kufikiria kama ubao wa mama wa microcomputer. Sehemu ya programu inajumuisha Arduino IDE kwenye PC, kifurushi cha msaada wa kiwango cha bodi (BSP) na maktaba tajiri ya kazi ya mtu wa tatu. Na IDE ya Arduino, unaweza kupakua BSP kwa urahisi inayohusiana na bodi yako ya maendeleo na maktaba unayohitaji. kuandika mipango yako. Arduino ni jukwaa la chanzo wazi. Kufikia sasa, kumekuwa na modeli nyingi na watawala wengi wanaopatikana, pamoja na Arduino Uno, Arduino Nano, ArduinoYun na kadhalika. kama Intel Galileo na NodeMCU kwa kuanzisha BSP.

Arduino huhisi mazingira kupitia sensorer anuwai, taa za kudhibiti, motors na vifaa vingine kulisha nyuma na kuathiri mazingira. Mdhibiti mdogo kwenye bodi anaweza kusanidiwa na lugha ya programu ya Arduino, iliyokusanywa ndani ya binaries, na kuchomwa kwenye microcontroller. kwa Arduino inatekelezwa na lugha ya programu ya Arduino (kulingana na Wiring) na mazingira ya maendeleo ya Arduino (kulingana na Usindikaji) Miradi inayotegemea Arduino inaweza kuwa na Arduino tu, na vile vile Arduino na programu zingine zinazoendesha PC, na zinawasiliana na kila moja nyingine (kama Flash, Usindikaji, MaxMSP).

Hatua ya 13: Mazingira ya Maendeleo

Mazingira ya Maendeleo
Mazingira ya Maendeleo

Mazingira ya maendeleo ya Arduino ni IDE ya Arduino, ambayo inaweza kupakuliwa kutoka kwa mtandao.

Ingia kwenye wavuti rasmi ya Arduino na pakua programu https://www.arduino.cc/en/Main/Software?setlang=c… Baada ya kusanikisha Arduino IDE, kiunga kifuatacho kitaonekana wakati wa kufungua programu:

IDE ya Arduino inaunda kazi mbili kwa chaguo-msingi: kazi ya usanidi na kazi ya kitanzi. Kuna utangulizi mwingi wa Arduino kwenye mtandao. Ikiwa hauelewi kitu, unaweza kwenda kwenye Mtandao kukipata.

Hatua ya 14: Mchakato wa Utekelezaji wa Mradi wa LCD wa Arduino

Mchakato wa Utekelezaji wa Mradi wa Arduino LCD
Mchakato wa Utekelezaji wa Mradi wa Arduino LCD

uhusiano wa vifaa

Ili kuhakikisha kuwa hatua inayofuata katika nambari ya kuandika inakwenda vizuri, lazima kwanza tuamua uaminifu wa unganisho la vifaa.

Vipande vinne tu vya vifaa vilitumika katika mradi huu:

1. Arduino Mini pro bodi ya maendeleo

2. JIWE STVI070WT-01 tft-lcd skrini ya kuonyesha

3. MAX30100 kiwango cha moyo na sensor ya oksijeni ya damu

4. MAX3232 (rs232-> TTL) Bodi ya maendeleo ya Arduino Mini Pro na skrini ya kuonyesha ya STVI070WT-01 TFT-LCD imeunganishwa kupitia UART, ambayo inahitaji ubadilishaji wa kiwango kupitia MAX3232, na kisha bodi ya maendeleo ya Arduino Mini Pro na moduli ya MAX30100 imeunganishwa kupitia Muunganisho wa IIC. Baada ya kufikiria wazi, tunaweza kuchora picha ifuatayo ya wiring:

Hatua ya 15:

Picha
Picha

Hakikisha kuwa hakuna makosa katika unganisho la vifaa na endelea kwa hatua inayofuata.

Hatua ya 16: TFT LCD Interface Design

Ubunifu wa Maingiliano ya Mtumiaji wa TFT LCD
Ubunifu wa Maingiliano ya Mtumiaji wa TFT LCD

Kwanza kabisa, tunahitaji kubuni picha ya kuonyesha UI, ambayo inaweza kutengenezwa na PhotoShop au zana zingine za muundo wa picha. Baada ya kubuni picha ya kuonyesha UI, hifadhi picha hiyo katika muundo wa JPG.

Fungua programu STONE TOOL2019 na uunda mradi mpya:

Hatua ya 17: Ondoa Picha Iliyopakiwa na Chaguo-msingi katika Mradi Mpya, na Ongeza Picha ya UI ambayo Tumeunda

Ondoa Picha Iliyopakiwa na Chaguo-msingi katika Mradi Mpya, na Ongeza Picha ya UI ambayo Tumeunda
Ondoa Picha Iliyopakiwa na Chaguo-msingi katika Mradi Mpya, na Ongeza Picha ya UI ambayo Tumeunda

Hatua ya 18: Ongeza Sehemu ya Kuonyesha Nakala

Ongeza Sehemu ya Kuonyesha Nakala
Ongeza Sehemu ya Kuonyesha Nakala

Ongeza sehemu ya kuonyesha maandishi, tengeneza nambari ya kuonyesha na nambari ya desimali, pata eneo la uhifadhi wa sehemu ya kuonyesha maandishi kwenye kionyeshi.

Athari ni kama ifuatavyo:

Hatua ya 19:

Anwani ya sehemu ya kuonyesha maandishi:

  • Uunganisho sta: 0x0008
  • Kiwango cha moyo: 0x0001

Oksijeni ya damu: 0x0005 Yaliyomo kuu ya kiolesura cha UI ni kama ifuatavyo:

  • Hali ya unganisho
  • Maonyesho ya mapigo ya moyo
  • Oksijeni ya damu ilionyesha

Hatua ya 20: Tengeneza faili ya usanidi

Tengeneza Faili ya Usanidi
Tengeneza Faili ya Usanidi

Mara tu muundo wa UI ukikamilika, faili ya usanidi inaweza kuzalishwa na kupakuliwa kwa uhamishaji wa STVI070WT-01.

Kwanza, fanya hatua ya 1, kisha ingiza gari la usb flash kwenye kompyuta, na ishara ya diski itaonyeshwa. Kisha bonyeza "Pakua kwa diski ya u" kupakua faili ya usanidi kwenye gari la usb flash, na kisha ingiza gari la usb flash kwenye STVI070WT-01 kukamilisha uboreshaji.

Hatua ya 21: MAX30100

MAX30100
MAX30100

MAX30100 huwasiliana kupitia IIC. Kanuni yake ya kufanya kazi ni kwamba dhamana ya kiwango cha moyo cha ADC inaweza kupatikana kupitia umeme wa infrared. Rejista ya MAX30100 inaweza kugawanywa katika vikundi vitano: rejista ya serikali, FIFO, rejista ya kudhibiti, rejista ya joto na sajili ya kitambulisho. inasoma thamani ya joto ya chip kurekebisha upotovu unaosababishwa na joto. Rejista ya kitambulisho inaweza kusoma nambari ya kitambulisho cha chip.

MAX30100 imeunganishwa na bodi ya maendeleo ya Arduino Mini Pro kupitia kiolesura cha mawasiliano cha IIC. Kwa sababu kuna faili tayari za MAX30100 za maktaba katika Arduino IDE, tunaweza kusoma kiwango cha moyo na data ya oksijeni ya damu bila kusoma rejista za MAX30100.

Hatua ya 22: Badilisha MAX30100 IIC Pull-up Resistor

Rekebisha Resistor ya MAX30100 IIC ya kuvuta
Rekebisha Resistor ya MAX30100 IIC ya kuvuta

Ikumbukwe kwamba upinzani wa kuvuta 4.7k wa pini ya IIC ya moduli ya MAX30100 imeunganishwa na 1.8v, ambayo sio shida katika nadharia. Walakini, kiwango cha mantiki ya mawasiliano ya pini ya Arduino IIC ni 5V, kwa hivyo haiwezi kuwasiliana na Arduino bila kubadilisha vifaa vya moduli ya MAX30100. Mawasiliano ya moja kwa moja inawezekana ikiwa MCU ni STM32 au kiwango kingine cha mantiki cha 3.3v MCU.

Kwa hivyo, mabadiliko yafuatayo yanahitaji kufanywa:

Ondoa vizuizi vitatu vya 4.7k vilivyowekwa alama kwenye picha na chuma cha kutengenezea umeme. Kisha unganisha vipinga mbili vya 4.7k kwenye pini za SDA na SCL kwenda VIN, ili tuweze kuwasiliana na Arduino.

Hatua ya 23: Arduino

Arduino
Arduino

Fungua Arduino IDE na upate vifungo vifuatavyo:

Hatua ya 24: Tafuta "MAX30100" kupata Maktaba mbili za MAX30100, kisha Bonyeza Pakua na usakinishe

Tafuta
Tafuta

Hatua ya 25: Baada ya Usanikishaji, Unaweza Kupata Maonyesho ya MAX30100 kwenye Folda ya Maktaba ya LIB ya Arduino:

Baada ya Usanikishaji, Unaweza Kupata Maonyesho ya MAX30100 kwenye Folda ya Maktaba ya LIB ya Arduino
Baada ya Usanikishaji, Unaweza Kupata Maonyesho ya MAX30100 kwenye Folda ya Maktaba ya LIB ya Arduino

Hatua ya 26: Bonyeza mara mbili faili ili kuifungua

Bonyeza mara mbili faili ili kuifungua
Bonyeza mara mbili faili ili kuifungua

Hatua ya 27: Nambari kamili ni kama ifuatavyo:

Demo hii inaweza kupimwa moja kwa moja. Ikiwa unganisho la vifaa ni sawa, unaweza kupakua mkusanyiko wa nambari kwenye ubao wa ukuzaji wa Arduibo na uone data ya MAX30100 kwenye zana ya utatuzi ya serial.

Nambari kamili ni kama ifuatavyo:

/ * Arduino-MAX30100 oximetry / kiwango cha moyo kilichojumuishwa maktaba ya sensorer Hakimiliki (C) 2016 OXullo Intersecans Programu hii ni programu ya bure: unaweza kuisambaza na / au kuibadilisha chini ya masharti ya Leseni ya Umma ya Umma ya GNU iliyochapishwa na Free Software Foundation, ama toleo la 3 la Leseni, au (kwa chaguo lako) toleo lolote la baadaye. Mpango huu unasambazwa kwa matumaini kwamba itakuwa muhimu, lakini BILA DHAMANA YOYOTE; bila hata udhamini uliodokezwa wa Uuzaji au UFAAJI KWA LENGO FULANI. Tazama Leseni ya Umma ya Umma ya GNU kwa maelezo zaidi. Unapaswa kuwa umepokea nakala ya Leseni Kuu ya Umma ya GNU pamoja na programu hii. Ikiwa sivyo, ona. * / # pamoja # # pamoja na "MAX30100_PulseOximeter.h" #fafanua TAARIFA_PERIOD_MS 1000 // PulseOximeter ni kiolesura cha kiwango cha juu kwa sensorer // inatoa: // * piga taarifa ya kugundua // * hesabu ya kiwango cha moyo // * SpO2 (kiwango cha oksidi hesabu PulseOxeter pox; uint32_t tsLastReport = 0; // Upigaji simu (uliosajiliwa hapa chini) ulifukuzwa kazi wakati mapigo yanagunduliwa batili kwenyeBeatDetected () {Serial.println ("Beat!"); } usanidi batili () {Serial.begin (115200); Serial.print ("Kuanzisha oximeter ya kunde.."); // Anzisha mfano wa PulseOximeter // Kushindwa kwa ujumla kunatokana na wiring isiyofaa ya I2C, kukosa umeme // au chip mbaya ya lengo ikiwa (! Pox.begin ()) {Serial.println ("FAILED"); kwa (;;); } mwingine {Serial.println ("MAFANIKIO"); } // Sasa ya msingi ya IR LED ni 50mA na inaweza kubadilishwa // kwa kuondoa laini ifuatayo. Angalia MAX30100_Registers.h kwa chaguzi zote // zinazopatikana. // pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA); // Sajili kupigiwa simu kwa pox ya kugundua kupiga.setOnBeatDetectedCallback (onBeatDetected); } kitanzi batili () {// Hakikisha kupiga simu sasisho haraka iwezekanavyo pox.update (); // Dondosha kiwango cha moyo kwa kasi na viwango vya oksidi kwa serial // Kwa zote mbili, thamani ya 0 inamaanisha "batili" ikiwa (millis () - tsLastReport> REPORTING_PERIOD_MS) {Serial.print ("Mapigo ya moyo:"); Serial.print (pox.getHeartRate ()); Serial.print ("bpm / SpO2:"); Serial.print (pox.getSpO2 ()); Serial.println ("%"); tsLastReport = milimita (); }}

Hatua ya 28:

Picha
Picha

Nambari hii ni rahisi sana, naamini unaweza kuielewa kwa mtazamo. Lazima niseme kwamba programu ya msimu wa Arduino ni rahisi sana, na hata siitaji kuelewa jinsi nambari ya dereva ya Uart na IIC inatekelezwa.

Kwa kweli, nambari iliyo hapo juu ni Demo rasmi, na bado ninahitaji kufanya mabadiliko kuonyesha data kwa mwonyeshaji wa JIWE.

Hatua ya 29: Onyesha data kwa Kionyeshi cha JIWE Kupitia Arduino

Kwanza, tunahitaji kupata anwani ya sehemu inayoonyesha kiwango cha moyo na data ya oksijeni ya damu kwenye onyesho la JIWE:

Katika mradi wangu, anwani ni kama ifuatavyo: Anwani ya sehemu ya kuonyesha kiwango cha moyo: 0x0001 Anwani ya moduli ya kuonyesha oksijeni ya damu: 0x0005 Anwani ya hali ya unganisho la sensorer: 0x0008 Ikiwa unahitaji kubadilisha yaliyomo kwenye sehemu inayofanana, unaweza kubadilisha yaliyomo kwenye onyesho kwa kutuma data kwa anwani inayofanana ya skrini ya kuonyesha kupitia bandari ya serial ya Arduino.

Hatua ya 30: Nambari Iliyobadilishwa Inafuata:

/ * Arduino-MAX30100 oximetry / kiwango cha moyo kilichojumuishwa maktaba ya sensorer Hakimiliki (C) 2016 OXullo Intersecans Programu hii ni programu ya bure: unaweza kuisambaza na / au kuibadilisha chini ya masharti ya Leseni ya Umma ya Umma ya GNU iliyochapishwa na Free Software Foundation, ama toleo la 3 la Leseni, au (kwa chaguo lako) toleo lolote la baadaye. Mpango huu unasambazwa kwa matumaini kwamba itakuwa muhimu, lakini BILA DHAMANA YOYOTE; bila hata udhamini uliodokezwa wa Uuzaji au UFAAJI KWA LENGO FULANI. Tazama Leseni ya Umma ya Umma ya GNU kwa maelezo zaidi. Unapaswa kuwa umepokea nakala ya Leseni Kuu ya Umma ya GNU pamoja na programu hii. Ikiwa sivyo, ona. * / Ni pamoja na # # ni pamoja na "MAX30100_PulseOximeter.h" # define REPORTING_PERIOD_MS 1000 # define Heart_dis_addr 0x01 # define Sop2_dis_addr 0x05 # define connect_sta_addr 0x08 unsigned Char heart_rate_send [8] = {0xA5, 0x5A, 0x05, 0x82, / 0x00, Heart_dis_addr, 0x00, 0x00}; char iliyosainiwa Sop2_send [8] = {0xA5, 0x5A, 0x05, 0x82, 0x00, / Sop2_dis_addr, 0x00, 0x00}; char iliyosainiwa connect_sta_send [8] = {0xA5, 0x5A, 0x05, 0x82, 0x00, / connect_sta_addr, 0x00, 0x00}; // PulseOximeter ni kiolesura cha kiwango cha juu kwa sensorer // inatoa: // * kupiga ripoti ya kugundua // * hesabu ya kiwango cha moyo // * SpO2 (kiwango cha oksidi) hesabu PulseOximeter pox; uint32_t tsLastReport = 0; // Upigaji simu (uliosajiliwa hapa chini) ulifukuzwa kazi wakati mapigo yanagunduliwa batili kwenyeBeatDetected () {// Serial.println ("Beat!"); } usanidi batili () {Serial.begin (115200); // Serial.print ("Kuanzisha oximeter ya kunde.."); // Anzisha mfano wa PulseOximeter // Kushindwa kwa ujumla kunatokana na wiring isiyofaa ya I2C, kukosa umeme // au chip mbaya ya lengo ikiwa (! Pox.begin ()) {// Serial.println ("FAILED"); // unganisha_sta_send [7] = 0x00; // Serial.write (unganisha_sta_send, 8); kwa (;;); } mwingine {connect_sta_send [7] = 0x01; Serial.write (unganisha_sta_send, 8); // Serial.println ("MAFANIKIO"); } // Sasa ya msingi ya IR IR ni 50mA na inaweza kubadilishwa // kwa kuondoa laini ifuatayo. Angalia MAX30100_Registers.h kwa chaguzi zote // zinazopatikana.pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA); // Sajili kupigiwa simu kwa pox ya kugundua kupiga.setOnBeatDetectedCallback (onBeatDetected); } kitanzi batili () {// Hakikisha kupiga simu sasisho haraka iwezekanavyo pox.update (); // Dondosha kiwango cha moyo kwa kasi na viwango vya oksidi kwa serial // Kwa zote mbili, thamani ya 0 inamaanisha "batili" ikiwa (millis () - tsLastReport> REPORTING_PERIOD_MS) {// Serial.print ("Mapigo ya moyo:"); // Serial.print (pox.getHeartRate ()); // Serial.print ("bpm / SpO2:"); // Serial.print (pox.getSpO2 ()); // Serial.println ("%"); kutuma_kusawazisha [7] = (uint32_t) pox.getHeartRate (); Serial.write (moyo_rate_send, 8); Sop2_send [7] = pox.getSpO2 (); Serial.write (Sop2_send, 8); tsLastReport = milimita (); }}

Hatua ya 31: Onyesha kiwango cha Moyo kwenye LCD na Arduino

Onyesha Kiwango cha Moyo kwenye LCD Na Arduino
Onyesha Kiwango cha Moyo kwenye LCD Na Arduino

Unganisha nambari hiyo, ipakue kwenye bodi ya maendeleo ya Arduino, na uko tayari kuanza kujaribu.

Tunaweza kuona kwamba vidole vinapoacha MAX30100, kiwango cha moyo na oksijeni ya damu huonyesha 0. Weka kidole chako kwenye mtoza MAX30100 ili kuona kiwango cha moyo wako na viwango vya oksijeni ya damu katika wakati halisi.

Athari inaweza kuonekana kwenye picha ifuatayo:

Ilipendekeza: