Სარჩევი:

როგორ გამოვხატოთ გულისცემა STONE LCD– ზე Ar: 31 ნაბიჯი
როგორ გამოვხატოთ გულისცემა STONE LCD– ზე Ar: 31 ნაბიჯი

ვიდეო: როგორ გამოვხატოთ გულისცემა STONE LCD– ზე Ar: 31 ნაბიჯი

ვიდეო: როგორ გამოვხატოთ გულისცემა STONE LCD– ზე Ar: 31 ნაბიჯი
ვიდეო: ჯონ გოლდტვეიტი - “გულის გაწმენდა” - აუდიო წიგნი 2024, ივლისი
Anonim
როგორ გამოვხატოთ გულისცემა STONE LCD– ზე Ar
როგორ გამოვხატოთ გულისცემა STONE LCD– ზე Ar

მოკლე შესავალი

რამდენიმე ხნის წინ, მე ვიპოვე გულისცემის სენსორის მოდული MAX30100 ონლაინ მაღაზიებში. ამ მოდულს შეუძლია შეაგროვოს მომხმარებლების სისხლის ჟანგბადი და გულისცემის მონაცემები, რაც ასევე მარტივი და მოსახერხებელია გამოსაყენებლად. მონაცემების თანახმად, აღმოვაჩინე, რომ Arduino ბიბლიოთეკის ფაილებში არის MAX30100 ბიბლიოთეკები. ანუ, თუ გამოვიყენებ კომუნიკაციას Arduino– სა და MAX30100– ს შორის, შემიძლია პირდაპირ დარეკო Arduino ბიბლიოთეკის ფაილები მძღოლის ფაილების გადაწერის გარეშე. ეს კარგია, ამიტომ შევიძინე MAX30100 მოდული.

ნაბიჯი 1: მე გადავწყვიტე არდუინოს გამოყენება გულისცემის და სისხლის ჟანგბადის შეგროვების ფუნქციის MAX30100- ის შესამოწმებლად

მე გადავწყვიტე არდუინოს გამოყენება გულისცემის და სისხლის ჟანგბადის შეგროვების ფუნქციის MAX30100- ის შესამოწმებლად
მე გადავწყვიტე არდუინოს გამოყენება გულისცემის და სისხლის ჟანგბადის შეგროვების ფუნქციის MAX30100- ის შესამოწმებლად

შენიშვნა: ეს მოდული ნაგულისხმევია მხოლოდ 3.3 V დონის MCU კომუნიკაციებით, რადგან ის ნაგულისხმევად იყენებს IIC pin- ს 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. STONE STVI070WT-01 LCD სერიული პორტის ჩვენების მოდული

4. MAX3232 მოდული

ნაბიჯი 3: აპარატურის გაცნობა

MAX30100

MAX30100 არის პულსის ოქსიმეტრიისა და გულისცემის მონიტორის სენსორის ინტეგრირებული გადაწყვეტა. იგი აერთიანებს ორ LED- ს, ფოტოდეტექტორს, ოპტიმიზირებულ ოპტიკას და დაბალი ხმაურის ანალოგური სიგნალის დამუშავებას პულსის ოქსიმეტრიისა და გულისცემის სიგნალების გამოსავლენად.

MAX30100 მუშაობს 1.8V და 3.3V დენის წყაროებიდან და მისი გათიშვა შესაძლებელია პროგრამული უზრუნველყოფის საშუალებით, უმნიშვნელო ლოდინის დენით, რაც ელექტროენერგიის მიწოდების საშუალებას მისცემს ყოველთვის იყოს დაკავშირებული.

ნაბიჯი 4: პროგრამები

● ტარებადი მოწყობილობები

● ფიტნეს ასისტენტი მოწყობილობები

● სამედიცინო მონიტორინგის მოწყობილობები

ნაბიჯი 5: სარგებელი და მახასიათებლები

1 、 სრული პულსის ოქსიმეტრი და გულისცემის სენსორული გადაწყვეტა ამარტივებს დიზაინს

  • ინტეგრირებული LED- ები, ფოტო სენსორი და მაღალი ხარისხის ანალოგური ფრონტი -დასასრული
  • პაწაწინა 5.6 მმ x 2.8 მმ x 1.2 მმ 14 პინიანი ოპტიკურად გაძლიერებული სისტემა პაკეტში

2 、 ულტრა დაბალი სიმძლავრის ოპერაცია ზრდის ბატარეის ხანგრძლივობას ტარებადი მოწყობილობებისთვის

  • პროგრამირებადი ნიმუშის მაჩვენებელი და LED მიმდინარე ენერგიის დაზოგვისთვის
  • ულტრა დაბალი გამორთვის დენი (0.7µA, ტიპი)

3 、 გაფართოებული ფუნქციონირება აუმჯობესებს გაზომვის მუშაობას

  • მაღალი 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 IDE და მასთან დაკავშირებული განვითარების ნაკრები).

აპარატურის ნაწილი (ან განვითარების დაფა) შედგება მიკროკონტროლერისგან (MCU), ფლეშ მეხსიერებისგან (Flash) და უნივერსალური შეყვანის/გამომავალი ინტერფეისების ნაკრებიდან (GPIO), რომელიც შეგიძლიათ წარმოიდგინოთ როგორც მიკროკომპიუტერის დედაპლატა. პროგრამული უზრუნველყოფის ნაწილი ძირითადად შედგება Arduino IDE კომპიუტერზე, დაფის დონის მხარდაჭერის პაკეტი (BSP) და მდიდარი მესამე მხარის ფუნქციური ბიბლიოთეკა. Arduino IDE– ით თქვენ შეგიძლიათ მარტივად გადმოწეროთ BSP, რომელიც დაკავშირებულია თქვენს განვითარების დაფასთან და თქვენთვის საჭირო ბიბლიოთეკებთან თქვენი პროგრამების დასაწერად. Arduino არის ღია კოდის პლატფორმა. აქამდე იყო ბევრი მოდელი და ბევრი მიღებული კონტროლერი, მათ შორის Arduino Uno, Arduino Nano, ArduinoYun და ასე შემდეგ. გარდა ამისა, Arduino IDE ახლა არა მხოლოდ მხარს უჭერს Arduino სერიის განვითარების დაფებს, არამედ ამატებს მხარდაჭერას პოპულარული განვითარების დაფებისთვის, როგორიცაა როგორც Intel Galileo და NodeMCU BSP შემოღებით.

არდუინო იგრძნობს გარემოს სხვადასხვა სენსორების საშუალებით, მაკონტროლებელი შუქებით, ძრავით და სხვა მოწყობილობებით, რათა იკვებოს და გავლენა მოახდინოს გარემოზე. დაფაზე არსებული მიკროკონტროლი შეიძლება დაპროგრამდეს არდუინოს პროგრამირების ენით, შედგენილი იყოს ორობებში და დაიწვას მიკროკონტროლერში. for Arduino ხორციელდება Arduino პროგრამირების ენით (გაყვანილობის საფუძველზე) და Arduino განვითარების გარემოთი (დამუშავების საფუძველზე). Arduino– ზე დაფუძნებული პროექტები შეიძლება შეიცავდეს მხოლოდ Arduino– ს, ასევე Arduino– ს და სხვა კომპიუტერულ პროგრამებს, რომლებიც ერთმანეთთან ურთიერთობენ სხვა (როგორიცაა Flash, დამუშავება, MaxMSP).

ნაბიჯი 13: განვითარების გარემო

განვითარების გარემო
განვითარების გარემო

არდუინოს განვითარების გარემო არის Arduino IDE, რომლის ჩამოტვირთვა შესაძლებელია ინტერნეტიდან.

შედით Arduino– ს ოფიციალურ ვებ – გვერდზე და ჩამოტვირთეთ პროგრამული უზრუნველყოფა https://www.arduino.cc/en/Main/Software?setlang=c… Arduino IDE– ს დაყენების შემდეგ, პროგრამული უზრუნველყოფის გახსნისას გამოჩნდება შემდეგი ინტერფეისი:

Arduino IDE ნაგულისხმევად ქმნის ორ ფუნქციას: კონფიგურაციის ფუნქცია და მარყუჟის ფუნქცია. ინტერნეტში არის ბევრი Arduino შესავალი. თუ რამე არ გესმით, შეგიძლიათ ინტერნეტში შეხვიდეთ მის საპოვნელად.

ნაბიჯი 14: Arduino LCD პროექტის განხორციელების პროცესი

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 მომხმარებლის ინტერფეისის დიზაინი

უპირველეს ყოვლისა, ჩვენ უნდა შევქმნათ ინტერფეისის ჩვენების სურათი, რომელიც შეიძლება შემუშავდეს PhotoShop– ის ან გამოსახულების დიზაინის სხვა ინსტრუმენტების მიერ. UI ჩვენების სურათის შემუშავების შემდეგ შეინახეთ სურათი-j.webp

გახსენით პროგრამული უზრუნველყოფა STONE TOOL2019 და შექმენით ახალი პროექტი:

ნაბიჯი 17: ამოიღეთ ახალი პროექტი ნაგულისხმევად დატვირთული სურათი და დაამატეთ ჩვენ მიერ შემუშავებული ინტერფეისის სურათი

წაშალეთ ნაგულისხმევი ჩატვირთული სურათი ახალ პროექტში და დაამატეთ ჩვენ მიერ შექმნილი UI სურათი
წაშალეთ ნაგულისხმევი ჩატვირთული სურათი ახალ პროექტში და დაამატეთ ჩვენ მიერ შექმნილი UI სურათი

ნაბიჯი 18: დაამატეთ ტექსტის ჩვენების კომპონენტი

დაამატეთ ტექსტის ჩვენების კომპონენტი
დაამატეთ ტექსტის ჩვენების კომპონენტი

დაამატეთ ტექსტის ჩვენების კომპონენტი, შეიმუშავეთ ჩვენების ციფრი და ათობითი წერტილი, მიიღეთ ჩვენების ტექსტის ჩვენების კომპონენტის შენახვის ადგილი.

ეფექტი ასეთია:

ნაბიჯი 19:

ტექსტის ჩვენების კომპონენტის მისამართი:

  • კავშირის სტადიონი: 0x0008
  • გულისცემა: 0x0001

სისხლის ჟანგბადი: 0x0005 UI ინტერფეისის ძირითადი შინაარსი ასეთია:

  • კავშირის სტატუსი
  • გულისცემის ჩვენება
  • სისხლის ჟანგბადი გამოჩნდა

ნაბიჯი 20: შექმენით კონფიგურაციის ფაილი

შექმენით კონფიგურაციის ფაილი
შექმენით კონფიგურაციის ფაილი

ინტერფეისის დიზაინის დასრულების შემდეგ, კონფიგურაციის ფაილი შეიძლება გენერირდეს და გადმოწერილი იყოს STVI070WT-01 ეკრანზე.

პირველი, შეასრულეთ ნაბიჯი 1, შემდეგ ჩადეთ USB ფლეშ დრაივი კომპიუტერში და დისკის სიმბოლო გამოჩნდება. შემდეგ დააჭირეთ ღილაკს "ჩამოტვირთეთ u-disk- ზე", რომ გადმოწეროთ კონფიგურაციის ფაილი USB ფლეშ დრაივში და შემდეგ ჩადეთ USB ფლეშ დრაივი STVI070WT-01 განახლების დასასრულებლად.

ნაბიჯი 21: MAX30100

MAX30100
MAX30100

MAX30100 კომუნიკაციას ახდენს IIC– ით. მისი მუშაობის პრინციპია, რომ გულისცემის სიდიდის მიღება შესაძლებელია ინფრაწითელი გამოსხივების საშუალებით. MAX30100 რეგისტრი შეიძლება დაიყოს ხუთ კატეგორიად: სახელმწიფო რეესტრი, FIFO, საკონტროლო რეესტრი, ტემპერატურის რეესტრი და პირადობის მოწმობა. კითხულობს ჩიპის ტემპერატურულ მნიშვნელობას ტემპერატურით გამოწვეული გადახრის გასასწორებლად. პირადობის მოწმობას შეუძლია წაიკითხოს ჩიპის ID ნომერი.

MAX30100 დაკავშირებულია Arduino Mini Pro განვითარების დაფასთან IIC საკომუნიკაციო ინტერფეისის საშუალებით. იმის გამო, რომ Arduino IDE– ში არის მზა MAX30100 ბიბლიოთეკის ფაილები, ჩვენ შეგვიძლია წავიკითხოთ გულისცემის და სისხლის ჟანგბადის მონაცემები MAX30100 რეგისტრების შესწავლის გარეშე. მათთვის, ვინც დაინტერესებულია MAX30100 რეგისტრის შესწავლით, იხილეთ MAX30100 მონაცემთა ცხრილი.

ნაბიჯი 22: შეცვალეთ MAX30100 IIC გამწევ რეზისტორი

შეცვალეთ MAX30100 IIC გამწევ რეზისტორი
შეცვალეთ MAX30100 IIC გამწევ რეზისტორი

უნდა აღინიშნოს, რომ MAX30100 მოდულის IIC პინის 4.7k გამწევ წინააღმდეგობას უკავშირდება 1.8 ვ, რაც თეორიულად პრობლემა არ არის. თუმცა, Arduino IIC პინის საკომუნიკაციო ლოგიკის დონე არის 5V, ამიტომ მას არ შეუძლია Arduino– სთან ურთიერთობა MAX30100 მოდულის აპარატურის შეცვლის გარეშე. პირდაპირი კომუნიკაცია შესაძლებელია, თუ MCU არის STM32 ან სხვა 3.3v ლოგიკური დონის MCU.

აქედან გამომდინარე, აუცილებელია შემდეგი ცვლილებების შეტანა:

ამოიღეთ სამი 4.7k რეზისტორი, რომელიც აღნიშნულია სურათზე ელექტრო გამწოვი რკინით. შემდეგ შედუღეთ 4.7k ორი რეზისტორი SDA და SCL ქინძისთავებში VIN– ზე, რათა შევძლოთ კომუნიკაცია არდუინოსთან.

ნაბიჯი 23: არდუინო

არდუინო
არდუინო

გახსენით Arduino IDE და იპოვეთ შემდეგი ღილაკები:

ნაბიჯი 24: მოძებნეთ "MAX30100" ორი ბიბლიოთეკის საპოვნელად MAX30100, შემდეგ დააჭირეთ ჩამოტვირთვას და ინსტალაციას

Ძებნა
Ძებნა

ნაბიჯი 25: ინსტალაციის შემდეგ, თქვენ შეგიძლიათ იპოვოთ MAX30100 დემო LIB ბიბლიოთეკის საქაღალდეში Arduino:

ინსტალაციის შემდეგ, შეგიძლიათ იპოვოთ MAX30100 დემო LIB ბიბლიოთეკის საქაღალდეში Arduino
ინსტალაციის შემდეგ, შეგიძლიათ იპოვოთ MAX30100 დემო LIB ბიბლიოთეკის საქაღალდეში Arduino

ნაბიჯი 26: ორჯერ დააწკაპუნეთ ფაილზე მის გასახსნელად

ორჯერ დააწკაპუნეთ ფაილზე მის გასახსნელად
ორჯერ დააწკაპუნეთ ფაილზე მის გასახსნელად

ნაბიჯი 27: სრული კოდი არის შემდეგი:

ეს დემო შეიძლება პირდაპირ შემოწმდეს. თუ აპარატურის კავშირი ნორმალურია, შეგიძლიათ ჩამოტვირთოთ კოდის შედგენა Arduibo– ს განვითარების დაფაზე და ნახოთ MAX30100– ის მონაცემები სერიული გამართვის ინსტრუმენტში.

სრული კოდი ასეთია:

/* Arduino-MAX30100 ოქსიმეტრია /გულისცემის ინტეგრირებული სენსორების ბიბლიოთეკა, ან ლიცენზიის მე -3 ვერსია, ან (თქვენი სურვილისამებრ) ნებისმიერი გვიანდელი ვერსია. ეს პროგრამა ვრცელდება იმ იმედით, რომ ის სასარგებლო იქნება, მაგრამ ყოველგვარი გარანტიის გარეშე; სავაჭრო მიზანშეწონილობის ან ვარგისიანობის გარანტიების გარეშეც კი. იხილეთ GNU ზოგადი საჯარო ლიცენზია დამატებითი ინფორმაციისათვის. თქვენ უნდა მიიღოთ GNU ზოგადი საჯარო ლიცენზიის ასლი ამ პროგრამასთან ერთად. თუ არა, ნახე. */ #include #include "MAX30100_PulseOximeter.h" #განსაზღვრეთ REPORTING_PERIOD_MS 1000 // PulseOximeter არის უმაღლესი დონის ინტერფეისი სენსორთან // ის გთავაზობთ: // * სცემს გამოვლენის ანგარიშს // * გულისცემის გამოთვლა // * SpO2 (ჟანგვის დონე) გამოთვლა PulseOximeter pox; uint32_t tsLastReport = 0; // უკუკავშირი (ქვემოთ რეგისტრირებული) გაშეშებულია, როდესაც პულსი გამოვლენილია ბათილად onBeatDetected () {Serial.println ("ცემა!"); } void setup () {Serial.begin (115200); Serial.print ("პულსის ოქსიმეტრის ინიციალიზაცია.."); // PulseOximeter ინსტანციის ინიციალიზაცია // წარუმატებლობები, ძირითადად, გამოწვეულია არასათანადო I2C გაყვანილობით, ელექტრომომარაგების დაკარგული // ან არასწორი სამიზნე ჩიპით, თუ (! Pox.begin ()) {Serial.println ("FAILED"); for (;;); } else {Serial.println ("წარმატება"); } // IR LED- ის ნაგულისხმევი დენი არის 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 ("გულისცემა:"); 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– ს საშუალებით

პირველ რიგში, ჩვენ უნდა მივიღოთ კომპონენტის მისამართი, რომელიც აჩვენებს გულისცემის და სისხლის ჟანგბადის მონაცემებს STONE- ის ჩვენებაში:

ჩემს პროექტში, მისამართი ასეთია: გულისცემის მაჩვენებელი კომპონენტის მისამართი: 0x0001 სისხლის ჟანგბადის ჩვენების მოდულის მისამართი: 0x0005 სენსორული კავშირის სტატუსის მისამართი: 0x0008 თუ თქვენ გჭირდებათ ეკრანის შინაარსის შეცვლა შესაბამის სივრცეში, შეგიძლიათ შეცვალოთ ჩვენების შინაარსი მონაცემების გაგზავნით ეკრანის შესაბამის მისამართზე არდუინოს სერიული პორტის საშუალებით.

ნაბიჯი 30: შეცვლილი კოდი არის შემდეგი:

/* Arduino-MAX30100 ოქსიმეტრია /გულისცემის ინტეგრირებული სენსორების ბიბლიოთეკა, ან ლიცენზიის მე -3 ვერსია, ან (თქვენი სურვილისამებრ) ნებისმიერი გვიანდელი ვერსია. ეს პროგრამა ვრცელდება იმ იმედით, რომ ის სასარგებლო იქნება, მაგრამ ყოველგვარი გარანტიის გარეშე; სავაჭრო მიზანშეწონილობის ან ვარგისიანობის გარანტიების გარეშეც კი. იხილეთ GNU ზოგადი საჯარო ლიცენზია დამატებითი ინფორმაციისათვის. თქვენ უნდა მიიღოთ GNU ზოგადი საჯარო ლიცენზიის ასლი ამ პროგრამასთან ერთად. თუ არა, ნახე. */ #მოიცავს #მოიცავს #MAX30100_PulseOximeter.h " #განსაზღვრეთ მოხსენება_ პერიოდი 1000 სმ 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; // გამოძახება (ქვემოთ დარეგისტრირებული) გაშეშებულია, როდესაც პულსი გამოვლენილია ბათილად onBeatDetected () {// Serial.println ("ცემა!"); } 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); for (;;); } else {connect_sta_send [7] = 0x01; Serial.write (connect_sta_send, 8); // Serial.println ("წარმატება"); } // IR LED- ის ნაგულისხმევი დენი არის 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 ("გულისცემა:"); // 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 კოლექტორზე, რომ ნახოთ თქვენი გულისცემა და ჟანგბადის დონე რეალურ დროში.

ეფექტი ჩანს შემდეგ სურათზე:

გირჩევთ: