{"id":4482,"date":"2025-06-30T08:46:54","date_gmt":"2025-06-30T15:46:54","guid":{"rendered":"https:\/\/www.donluc.com\/?p=4482"},"modified":"2025-06-30T08:46:54","modified_gmt":"2025-06-30T15:46:54","slug":"project-15-environment-ky-039-mk32","status":"publish","type":"post","link":"https:\/\/www.donluc.com\/?p=4482","title":{"rendered":"Project #15: Environment &#8211; KY-039 &#8211; Mk32"},"content":{"rendered":"<div style=\"width: 720px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-4482-1\" width=\"720\" height=\"480\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/06\/DL2506Mk04W.mp4?_=1\" \/><a href=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/06\/DL2506Mk04W.mp4\">https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/06\/DL2506Mk04W.mp4<\/a><\/video><\/div>\n<p>&#8212;&#8212;<\/p>\n<p>#DonLucElectronics #DonLuc #KY039 #ESP32 #Arduino #EEPROM #Display #Elecrow #Project #Patreon #Electronics #Microcontrollers #IoT #Fritzing #Programming #Consultant<\/p>\n<p>&#8212;&#8212;<\/p>\n<p><a href=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/06\/DL2506Mk04a.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/06\/DL2506Mk04a.jpg\" alt=\"KY-039\" width=\"720\" height=\"693\" class=\"alignnone size-full wp-image-4484\" srcset=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/06\/DL2506Mk04a.jpg 720w, https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/06\/DL2506Mk04a-300x289.jpg 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>&#8212;&#8212;<\/p>\n<p><a href=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/06\/DL2506Mk04b.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/06\/DL2506Mk04b.jpg\" alt=\"KY-039\" width=\"720\" height=\"480\" class=\"alignnone size-full wp-image-4485\" srcset=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/06\/DL2506Mk04b.jpg 720w, https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/06\/DL2506Mk04b-300x200.jpg 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>&#8212;&#8212;<\/p>\n<p><a href=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/06\/DL2506Mk04c.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/06\/DL2506Mk04c.jpg\" alt=\"KY-039\" width=\"720\" height=\"480\" class=\"alignnone size-full wp-image-4486\" srcset=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/06\/DL2506Mk04c.jpg 720w, https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/06\/DL2506Mk04c-300x200.jpg 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>&#8212;&#8212;<\/p>\n<p><strong>KY-039 Heartbeat Sensor Module<\/strong><\/p>\n<p>This project uses bright infrared (IR) LED and a phototransistor to detect the pulse of the finger, a red LED flashes with each pulse.<br \/>\nPulse monitor works as follows: The LED is the light side of the finger, and phototransistor on the other side of the finger, phototransistor used to obtain the flux emitted, when the blood pressure pulse by the finger when the resistance of the phototransistor will be slight changed.<\/p>\n<p>We chose a very high resistance resistor R1, because most of the light through the finger is absorbed,it is desirable phototransistor sensitive enough.Resistance can be selected by experiment to get the best results. The most important is to keep the shield stray light into the phototransistor. For home lighting that is particularly important because the lights at home mostly based 50HZ or 60HZ fluctuate, so faint heartbeat will add considerable noise. <\/p>\n<p><strong>DL2506Mk04<\/strong><\/p>\n<p>1 x Crowduino Uno &#8211; SD<br \/>\n1 x Crowtail &#8211; Base Shield<br \/>\n1 x Crowtail &#8211; I2C LCD<br \/>\n1 x KY-039 Heartbeat Sensor Module<br \/>\n1 x Crowtail &#8211; LED(Green)<br \/>\n1 x USB Battery Pack<br \/>\n1 x USB Mini-B Cable<\/p>\n<p><strong>Crowduino Uno &#8211; SD<\/strong><\/p>\n<p>SCL &#8211; A5<br \/>\nSDA &#8211; A4<br \/>\nKYH &#8211; A0<br \/>\nLED &#8211; 6<br \/>\nVIN &#8211; +5V<br \/>\nGND &#8211; GND<\/p>\n<p><strong>DL2506Mk04p<\/strong><\/p>\n<p><strong>DL2506Mk04p.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/****** Don Luc Electronics \u00a9 ******\r\nSoftware Version Information\r\nProject #15: Environment - KY-039 - Mk31\r\nDL2506Mk04p.ino\r\nDL2506Mk04\r\n1 x Crowduino Uno - SD\r\n1 x Crowtail - Base Shield\r\n1 x Crowtail - I2C LCD\r\n1 x KY-039 Heartbeat Sensor Module\r\n1 x Crowtail - LED(Green)\r\n1 x USB Battery Pack\r\n1 x USB Mini-B Cable\r\n*\/\r\n\r\n\/\/ Include the Library Code\r\n\/\/ EEPROM library to read and write EEPROM with unique ID for unit\r\n#include &lt;EEPROM.h&gt;\r\n\/\/ Wire\r\n#include &lt;Wire.h&gt;\r\n\/\/ Liquid Crystal\r\n#include &quot;LiquidCrystal.h&quot;\r\n\r\n\/\/ KY-039 Heartbeat\r\nint iHeartbeat = A0;\r\n\/\/ Pulse\r\nfloat pulse;\r\n\/\/ Sum\r\nint sum = 0;\r\n\r\n\/\/ Liquid Crystal\r\n\/\/ Connect via i2c\r\nLiquidCrystal lcd(0);\r\n\r\n\/\/ LED Green\r\nint iLEDGreen = 6;\r\n\r\n\/\/ EEPROM Unique ID Information\r\nString uid = &quot;&quot;;\r\n\r\n\/\/ Software Version Information\r\nString sver = &quot;15-31&quot;;\r\n\r\nvoid loop() {\r\n\r\n  \/\/ Heartbeat\r\n  \/\/ isHeartbeat\r\n  isHeartbeat();\r\n\r\n  \/\/ Display Heartbeat\r\n  isDisplayHeartbeat();\r\n\r\n  \/\/ Delay\r\n  delay( 100 );\r\n\r\n}\r\n<\/pre>\n<p><strong>getDisplay.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ getDisplay\r\n\/\/ Crowbits - OLED 128X64 UID\r\n\/\/ Display UID\r\nvoid isDisplayUID(){\r\n\r\n  \/\/ Set up the LCD&#039;s number of rows and columns: \r\n  lcd.begin(16, 2);\r\n  \/\/ Print a message to the LCD.\r\n  \/\/ Cursor\r\n  lcd.setCursor(0, 0);\r\n  lcd.print(&quot;Don Luc Electron&quot;);\r\n  \/\/ Cursor\r\n  lcd.setCursor(0, 1);\r\n  \/\/ Print a message to the LCD.\r\n  lcd.print( sver );\r\n\r\n}\r\n\/\/ Display Heartbeat\r\nvoid isDisplayHeartbeat(){\r\n\r\n  \/\/ Clear\r\n  lcd.clear();\r\n  \/\/ Set the cursor to column 0, line 0\r\n  lcd.setCursor(0, 0);\r\n  lcd.print( &quot;Heartbeat&quot; );\r\n  \/\/ Set the cursor to column 0, line 1\r\n  lcd.setCursor(0, 1);\r\n  lcd.print( pulse );\r\n  \r\n}\r\n<\/pre>\n<p><strong>getEEPROM.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ EEPROM\r\n\/\/ isUID EEPROM Unique ID\r\nvoid isUID() {\r\n  \r\n  \/\/ Is Unit ID\r\n  uid = &quot;&quot;;\r\n  for (int x = 0; x &lt; 7; x++)\r\n  {\r\n    uid = uid + char(EEPROM.read(x));\r\n  }\r\n  \r\n}\r\n<\/pre>\n<p><strong>getHeartbeat.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ KY-039 Heartbeat\r\n\/\/ isHeartbeat\r\nvoid isHeartbeat(){\r\n\r\n  \/\/ Sum\r\n  sum = 0;\r\n  \r\n  \/\/ KY-039 Heartbeat\r\n  for (int i = 0; i &lt; 20; i++){\r\n  \r\n    sum += analogRead(iHeartbeat);\r\n\r\n  }\r\n\r\n  \/\/ Pulse\r\n  pulse = sum \/ 200.00;\r\n\r\n}\r\n<\/pre>\n<p><strong>setup.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ Setup\r\nvoid setup()\r\n{\r\n \r\n  \/\/ Delay\r\n  delay(100);\r\n  \r\n  \/\/ isUID EEPROM Unique ID\r\n  isUID();\r\n  \r\n  \/\/ Delay\r\n  delay(100);\r\n\r\n  \/\/ Initialize the LED Green\r\n  pinMode(iLEDGreen, OUTPUT);\r\n  \/\/ LED Green\r\n  digitalWrite(iLEDGreen, HIGH);\r\n\r\n  \/\/ Delay\r\n  delay(100);\r\n\r\n  \/\/ KY-039 Heartbeat\r\n  pinMode(iHeartbeat, INPUT);\r\n\r\n  \/\/ Delay\r\n  delay( 100 );\r\n\r\n  \/\/ Display UID\r\n  isDisplayUID();\r\n  \r\n  \/\/ Delay 10 Second\r\n  delay( 10000 );\r\n\r\n}\r\n<\/pre>\n<p>&#8212;&#8212;<\/p>\n<p><strong>People can contact us:<\/strong> https:\/\/www.donluc.com\/?page_id=1927<\/p>\n<p><strong>Electronics, IoT, Teacher, Instructor, R&#038;D and Consulting<\/strong><\/p>\n<ul>\n<li>Programming Language<\/li>\n<li>Single-Board Microcontrollers (PIC, Arduino, Raspberry Pi, Arm, Silicon Labs, Espressif, Etc&#8230;)<\/li>\n<li>IoT<\/li>\n<li>Wireless (Radio Frequency, Bluetooth, WiFi, Etc&#8230;)<\/li>\n<li>Robotics<\/li>\n<li>Automation<\/li>\n<li>Camera and Video Capture Receiver Stationary, Wheel\/Tank and Underwater Vehicle<\/li>\n<li>Unmanned Vehicles Terrestrial and Marine<\/li>\n<li>Machine Learning<\/li>\n<li>Artificial Intelligence (AI)<\/li>\n<li>RTOS<\/li>\n<li>Sensors, eHealth Sensors, Biosensor, and Biometric<\/li>\n<li>Research &#038; Development (R &#038; D)<\/li>\n<li>Consulting<\/li>\n<\/ul>\n<p><strong>Follow Us<\/strong><\/p>\n<p><strong>Luc Paquin \u2013 Curriculum Vitae &#8211; 2024<\/strong><br \/>\nhttps:\/\/www.donluc.com\/luc\/<\/p>\n<p><strong>Web:<\/strong> https:\/\/www.donluc.com\/<br \/>\n<strong>Facebook:<\/strong> https:\/\/www.facebook.com\/neosteam.labs.9\/<br \/>\n<strong>YouTube:<\/strong> https:\/\/www.youtube.com\/@thesass2063<br \/>\n<strong>Twitter:<\/strong> https:\/\/twitter.com\/labs_steam<br \/>\n<strong>Pinterest:<\/strong> https:\/\/www.pinterest.com\/NeoSteamLabs\/<br \/>\n<strong>Instagram:<\/strong> https:\/\/www.instagram.com\/neosteamlabs\/<br \/>\n<strong>Patreon:<\/strong> https:\/\/patreon.com\/DonLucElectronics59<br \/>\n<strong>DFRobot:<\/strong> https:\/\/learn.dfrobot.com\/user-10186.html<br \/>\n<strong>Hackster.io:<\/strong> https:\/\/www.hackster.io\/neosteam-labs<br \/>\n<strong>Elecrow:<\/strong> https:\/\/www.elecrow.com\/share\/sharepj\/center\/no\/760816d385ebb1edc0732fd873bfbf13<br \/>\n<strong>TikTok:<\/strong> https:\/\/www.tiktok.com\/@luc.paquin8<br \/>\n<strong>Twitch:<\/strong> https:\/\/www.twitch.tv\/lucpaquin<br \/>\n<strong>Hackster:<\/strong> https:\/\/www.hackster.io\/luc-paquin<br \/>\n<strong>LinkedIn:<\/strong> https:\/\/www.linkedin.com\/in\/jlucpaquin\/<\/p>\n<p><strong>Don Luc<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8212;&#8212; #DonLucElectronics #DonLuc #KY039 #ESP32 #Arduino #EEPROM #Display #Elecrow #Project #Patreon #Electronics #Microcontrollers #IoT #Fritzing #Programming #Consultant &#8212;&#8212; &#8212;&#8212; &#8212;&#8212; &#8212;&#8212; KY-039 Heartbeat Sensor Module This project uses bright infrared (IR) LED and a phototransistor to detect the pulse of the finger, a red LED flashes with each pulse. Pulse monitor works as follows: The &#8230; <a title=\"Project #15: Environment &#8211; KY-039 &#8211; Mk32\" class=\"read-more\" href=\"https:\/\/www.donluc.com\/?p=4482\" aria-label=\"Read more about Project #15: Environment &#8211; KY-039 &#8211; Mk32\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[106,50,49,38,368,59,115,5,138,287,58,10],"tags":[6,92,102,4,87,369,19,107,85,391,24,9,27,33,34,108],"class_list":["post-4482","post","type-post","status-publish","format-standard","hentry","category-environment","category-arduino","category-consultant","category-digitalelectronics","category-elecrow","category-fritzing","category-e-mentor","category-microcontrollers","category-patreon","category-program","category-arduino-programming","category-projects","tag-arduino","tag-battery","tag-components","tag-consultant","tag-display","tag-elecrow","tag-electronics","tag-environment","tag-fritzing","tag-ky-039","tag-microcontroller","tag-programming","tag-projects-2","tag-technology","tag-video-blog","tag-vlog"],"_links":{"self":[{"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts\/4482","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4482"}],"version-history":[{"count":2,"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts\/4482\/revisions"}],"predecessor-version":[{"id":4541,"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts\/4482\/revisions\/4541"}],"wp:attachment":[{"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4482"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4482"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4482"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}