element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
NI LabVIEW Community
  • Products
  • Dev Tools
  • NI LabVIEW Community
  • More
  • Cancel
NI LabVIEW Community
LabVIEW Challenge Blogs Smart Doctor Assistant Kit using LabVIEW - Final Project
  • Blog
  • LabVIEW Challenge Blogs
  • Forum
  • Documents
  • Quiz
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join NI LabVIEW Community to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: VIPULVINAYAK
  • Date Created: 27 Oct 2023 2:33 PM Date Created
  • Views 685 views
  • Likes 9 likes
  • Comments 3 comments
  • A Course in LabVIEW and Test Automation
Related
Recommended

Smart Doctor Assistant Kit using LabVIEW - Final Project

VIPULVINAYAK
VIPULVINAYAK
27 Oct 2023

Hi all, in this post i am going to upload my final project. I have been able to design a doctor assistant kit using LabVIEW but with few shortcomings. 

Fig below shows the block diagram of my project.

image

As shown in the block diagram above, various sensors have been used for detecting various bioelectric signals which are acquired using microcontroller(ARDUINO/PICO PI) and integrated using LabVIEW. 

Ultrasound sensor has been used for measuring height which was successfully displayed on LabView front panel. 50 KG x 4 load cells have been used in differential manner to measure body weight.  

MLX90614 non contact infrared sensor has been used for measuring human body temperature and results were obtained on LabVIEW GUI. AD8232 Heart rate monitoring sensor has been used for measuring ECG and heart rate variability( RR interval). ECG waveform was observed on serial plotter but i was unable to display the same on GUI in LabVIEW. I am working on rectifying the issues which may possibly be because of the baud rate as i am trying to acquire data from multiple sensors simultaneously.

MAX30102 PULSE OXIMETER sensor has been used for measuring SpO2 levels. I2C protocol has been used while acquiring data . Results were successfully obtained on the LabVIEW GUI.

Front Panel and Block diagram of the project designed in LabVIEW are shown below:

image

The block diagram shown above highlights various sections for different sensor data acquisition. Temperature measurement unit, Height measurement unit, ECG Measurement unit, Report generation section, weight measurement unit and SpO2 unit work simultaneously based on string append against their values.  Various blocks and icons used in the block diagram are kept with their labels for easy understanding.

Report generation section consisting of Name, Age, Gender, etc. in the block diagram is shown below

image

The report generation block thus far includes direct entry parameters such as name, age, gender, mobile number. Various sensor data values are yet to be incorporated in the final report.

Front Panel of designed Doctor Assistant Kit is shown below:

image

As discussed earlier, ECG waveform was not obtained on the front panel for the said reasons, though it is observed on serial plotter as shown below:

image

The complete experimental unit is yet to be assembled in a proper kit though certain images taken during experimentation are attached below.

image

image

As observed from the post, final packaged assembly with a fixed setup is yet to be designed. I am working on further reducing the vulnerabilities of the Block Diagram designed in LabVIEW. It has been a learning journey thus far and i am expecting to finish this sooner than later. 

Thanks and cheers to Element 14 and National Instruments for giving me an opportunity to learn various insights of LabVIEW.

  • Sign in to reply
  • Andrew J
    Andrew J over 1 year ago in reply to VIPULVINAYAK

    It's nigh on impossible to debug from images.  Use NI I/O Trace, installed with LabVIEW, to see exactly what is being sent to and read from the device.  Without seeing data on the wire that is entering the "= E" check, or the case structure I couldn't begin to tell you what is happening: if you've put a breakpoint on the data wire inside the case and execution stops there, then it's obviously getting into the Case structure which at least tells you that it's getting in.  Have you tried running it just capturing ECG data and not generating the other data?  That would at least focus debugging on to that one piece of data.

    In your code, are you sending an empty string to Visa Write or a Space character?  

    You shouldn't have to use the "Bytes at Port" property, just wire a value that is greater than the bytes expected: Visa Read will always return when it has read a termination character, sent by the device (or an error or timeout or number of bytes specified but let's assume none of those happen.)  If you say read 100 bytes, but the device only sends 5 then it will return after reading 5 bytes if the last one was a terminating character.  Hope that makes sense.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • VIPULVINAYAK
    VIPULVINAYAK over 1 year ago in reply to Andrew J

    Hey thanks buddy for the suggestions, really appreciated. I tried with lowercase letter as well but i don't think that will be an issue. I tried placing a breakpoint also. Although i have already placed an indicator at visa read out if you have noticed in the bottom left of the front panel named as Output. Data is available at that case but it shows " a character was not read from the output before next character arrived."

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Andrew J
    Andrew J over 1 year ago

    Looks good, nice idea.  With the Waveform, I notice you use an uppercase E rather than a lowercase one - all your other characters are lower case.  Did you try putting a breakpoint on the wire leading to the Scan Value function to see if it's actually getting into that case?

    I don't know if you realise, but there is a more efficient way of managing your cases.  At the moment, you have 5 case structures, and the one that runs is determined by a check against the leading character in the data.  You could use just one case structure and do this:

    • wire the output from the replace substring (the one that you currently have wired to an = block) to the case selector terminal - you don't need the = block.  Then you can change the two entries that are created automatically so that one is just "default" (an error case because it should never get called) and the second to "t".  Then add cases for your remaining letters (right click on the case structure edge.)  
    • Where you currently have the output of replace substring entering each case into a Scan Value block: pull that scan value out of the case structure and instead wire the output of the Scan Value into the new case structure.  This bit of code is the same in each of your current case structures so with just one case, it doesn't need running 5 times.  Hope that makes sense?
    • In each case in the case structure wire the terminal from the Scan Value to the indicator it is used for.  LabVIEW will run the case that matches the input letter, cases don't have to be just "true" or "false".
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube