{"id":2293,"date":"2023-09-09T21:48:07","date_gmt":"2023-09-09T14:48:07","guid":{"rendered":"https:\/\/dw.rmutsv.ac.th\/dprofile\/?p=2293"},"modified":"2025-02-13T10:15:21","modified_gmt":"2025-02-13T03:15:21","slug":"%e0%b8%a3%e0%b8%b0%e0%b8%9a%e0%b8%9a%e0%b9%81%e0%b8%9b%e0%b8%a5%e0%b8%87%e0%b9%80%e0%b8%aa%e0%b8%b5%e0%b8%a2%e0%b8%87%e0%b9%80%e0%b8%9b%e0%b9%87%e0%b8%99%e0%b8%82%e0%b9%89%e0%b8%ad%e0%b8%84%e0%b8%a7","status":"publish","type":"post","link":"https:\/\/dp.rmutsv.ac.th\/?p=2293","title":{"rendered":"\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c\u0e15\u0e23\u0e27\u0e08\u0e27\u0e31\u0e14\u0e0a\u0e35\u0e1e\u0e08\u0e23\u0e14\u0e49\u0e27\u0e22\u0e1a\u0e2d\u0e23\u0e4c\u0e14 ESP32"},"content":{"rendered":"\n<ul class=\"wp-block-list\">\n<li>\u0e1c\u0e39\u0e49\u0e40\u0e02\u0e35\u0e22\u0e19\u0e1a\u0e17\u0e04\u0e27\u0e32\u0e21 : \u0e19\u0e32\u0e22\u0e20\u0e39\u0e23\u0e34\u0e13\u0e31\u0e10 \u0e01\u0e49\u0e2d\u0e19\u0e17\u0e2d\u0e07 COE 033<\/li>\n\n\n\n<li>\u0e04\u0e13\u0e30\u0e27\u0e34\u0e28\u0e27\u0e01\u0e23\u0e23\u0e21\u0e28\u0e32\u0e2a\u0e15\u0e23\u0e4c \u0e2a\u0e32\u0e02\u0e32\u0e27\u0e34\u0e28\u0e27\u0e01\u0e23\u0e23\u0e21\u0e04\u0e2d\u0e21\u0e1e\u0e34\u0e27\u0e40\u0e15\u0e2d\u0e23\u0e4c<\/li>\n\n\n\n<li>\u0e27\u0e34\u0e0a\u0e32  : 04-513-201 \u0e01\u0e32\u0e23\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e04\u0e2d\u0e21\u0e1e\u0e34\u0e27\u0e40\u0e15\u0e2d\u0e23\u0e4c\u0e02\u0e31\u0e49\u0e19\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14 1\/2566<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">1. \u0e04\u0e27\u0e32\u0e21\u0e40\u0e1b\u0e47\u0e19\u0e21\u0e32<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp; &nbsp; &nbsp; &nbsp;\u0e01\u0e32\u0e23\u0e27\u0e31\u0e14\u0e0a\u0e35\u0e1e\u0e08\u0e23 (Pulse) \u0e40\u0e1b\u0e47\u0e19\u0e01\u0e23\u0e30\u0e1a\u0e27\u0e19\u0e01\u0e32\u0e23\u0e17\u0e35\u0e48\u0e21\u0e35\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e33\u0e04\u0e31\u0e0d\u0e43\u0e19\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e30\u0e40\u0e21\u0e34\u0e19\u0e2a\u0e20\u0e32\u0e1e\u0e02\u0e2d\u0e07\u0e23\u0e30\u0e1a\u0e1a\u0e2b\u0e31\u0e27\u0e43\u0e08\u0e41\u0e25\u0e30\u0e2b\u0e25\u0e2d\u0e14\u0e40\u0e25\u0e37\u0e2d\u0e14\u0e43\u0e19\u0e23\u0e48\u0e32\u0e07\u0e01\u0e32\u0e22\u0e02\u0e2d\u0e07\u0e21\u0e19\u0e38\u0e29\u0e22\u0e4c \u0e41\u0e25\u0e30\u0e21\u0e35\u0e1a\u0e17\u0e1a\u0e32\u0e17\u0e2a\u0e33\u0e04\u0e31\u0e0d\u0e43\u0e19\u0e01\u0e32\u0e23\u0e23\u0e31\u0e01\u0e29\u0e32\u0e41\u0e25\u0e30\u0e14\u0e39\u0e41\u0e25\u0e2a\u0e38\u0e02\u0e20\u0e32\u0e1e\u0e02\u0e2d\u0e07\u0e1a\u0e38\u0e04\u0e04\u0e25 \u0e40\u0e23\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e1e\u0e34\u0e08\u0e32\u0e23\u0e13\u0e32\u0e0a\u0e35\u0e1e\u0e08\u0e23\u0e27\u0e48\u0e32\u0e40\u0e1b\u0e47\u0e19\u0e2b\u0e31\u0e27\u0e43\u0e08\u0e02\u0e2d\u0e07\u0e23\u0e48\u0e32\u0e07\u0e01\u0e32\u0e22 \u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19 \u0e01\u0e32\u0e23\u0e27\u0e31\u0e14\u0e0a\u0e35\u0e1e\u0e08\u0e23\u0e04\u0e37\u0e2d\u0e27\u0e34\u0e16\u0e35\u0e17\u0e32\u0e07\u0e2a\u0e33\u0e04\u0e31\u0e0d\u0e43\u0e19\u0e01\u0e32\u0e23\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e2a\u0e38\u0e02\u0e20\u0e32\u0e1e\u0e41\u0e25\u0e30\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e42\u0e2d\u0e01\u0e32\u0e2a\u0e43\u0e19\u0e01\u0e32\u0e23\u0e23\u0e31\u0e01\u0e29\u0e32\u0e0a\u0e35\u0e27\u0e34\u0e15\u0e02\u0e2d\u0e07\u0e1c\u0e39\u0e49\u0e1b\u0e48\u0e27\u0e22\u0e17\u0e35\u0e48\u0e2d\u0e32\u0e08\u0e08\u0e30\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e2a\u0e16\u0e32\u0e19\u0e01\u0e32\u0e23\u0e13\u0e4c\u0e09\u0e38\u0e01\u0e40\u0e09\u0e34\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48\u0e1b\u0e01\u0e15\u0e34\u0e17\u0e32\u0e07\u0e01\u0e32\u0e23\u0e41\u0e1e\u0e17\u0e22\u0e4c \u0e01\u0e32\u0e23\u0e27\u0e31\u0e14\u0e0a\u0e35\u0e1e\u0e08\u0e23\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e43\u0e0a\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e27\u0e34\u0e40\u0e04\u0e23\u0e32\u0e30\u0e2b\u0e4c\u0e2a\u0e20\u0e32\u0e1e\u0e17\u0e35\u0e48\u0e1c\u0e34\u0e14\u0e1b\u0e01\u0e15\u0e34\u0e43\u0e19\u0e23\u0e30\u0e1a\u0e1a\u0e2b\u0e31\u0e27\u0e43\u0e08, \u0e01\u0e32\u0e23\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e2d\u0e32\u0e23\u0e21\u0e13\u0e4c, \u0e2b\u0e23\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e23\u0e35\u0e1a\u0e01\u0e33\u0e25\u0e31\u0e07\u0e41\u0e17\u0e19\u0e17\u0e35\u0e48\u0e08\u0e30\u0e16\u0e36\u0e07\u0e40\u0e27\u0e25\u0e32\u0e17\u0e35\u0e48\u0e41\u0e04\u0e48\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e19\u0e32\u0e17\u0e35\u0e40\u0e17\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. \u0e27\u0e31\u0e15\u0e16\u0e38\u0e1b\u0e23\u0e30\u0e2a\u0e07\u0e04\u0e4c<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e04\u0e27\u0e32\u0e21\u0e01\u0e23\u0e30\u0e15\u0e37\u0e2d\u0e23\u0e37\u0e2d\u0e23\u0e49\u0e19\u0e43\u0e19\u0e01\u0e32\u0e23\u0e14\u0e33\u0e23\u0e07\u0e0a\u0e35\u0e27\u0e34\u0e15\u0e43\u0e2b\u0e49\u0e21\u0e35\u0e2a\u0e38\u0e02\u0e20\u0e32\u0e1e\u0e17\u0e35\u0e48\u0e14\u0e35\u0e41\u0e25\u0e30\u0e22\u0e31\u0e48\u0e07\u0e22\u0e37\u0e19\u0e43\u0e19\u0e2d\u0e19\u0e32\u0e04\u0e15\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e23\u0e31\u0e1a\u0e23\u0e39\u0e49\u0e2d\u0e31\u0e15\u0e23\u0e32\u0e01\u0e32\u0e23\u0e40\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e0a\u0e35\u0e1e\u0e08\u0e23<\/li>\n\n\n\n<li>\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e15\u0e48\u0e2d\u0e22\u0e2d\u0e14\u0e43\u0e19\u0e14\u0e49\u0e32\u0e19\u0e01\u0e35\u0e2c\u0e32\u0e01\u0e32\u0e23\u0e41\u0e1e\u0e17\u0e22\u0e4c<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">3. \u0e02\u0e2d\u0e1a\u0e40\u0e02\u0e15<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0e15\u0e31\u0e27\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\u0e25\u0e31\u0e1e\u0e18\u0e4c\u0e41\u0e2a\u0e14\u0e07\u0e1a\u0e19\u0e08\u0e2d oled<\/li>\n\n\n\n<li>\u0e07\u0e1a\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13\u0e16\u0e39\u0e01 \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e1a\u0e33\u0e23\u0e38\u0e07\u0e23\u0e31\u0e01\u0e29\u0e32\u0e44\u0e14\u0e49\u0e07\u0e48\u0e32\u0e22<\/li>\n\n\n\n<li>\u0e41\u0e2a\u0e14\u0e07\u0e41\u0e1a\u0e1a\u0e40\u0e23\u0e35\u0e22\u0e25\u0e44\u0e17\u0e21\u0e4c \u0e41\u0e1a\u0e1a\u0e01\u0e23\u0e32\u0e1f\u0e41\u0e25\u0e30\u0e04\u0e48\u0e32 BPM <\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">4. \u0e1b\u0e23\u0e30\u0e42\u0e22\u0e0a\u0e19\u0e4c\u0e17\u0e35\u0e48\u0e04\u0e32\u0e14\u0e27\u0e48\u0e32\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e19\u0e33\u0e21\u0e32\u0e15\u0e23\u0e27\u0e08\u0e15\u0e34\u0e14\u0e15\u0e32\u0e21\u0e2a\u0e38\u0e02\u0e20\u0e32\u0e1e\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27<\/li>\n\n\n\n<li>ESP32 \u0e17\u0e33\u0e43\u0e2b\u0e49\u0e07\u0e48\u0e32\u0e22\u0e43\u0e19\u0e01\u0e32\u0e23\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e38\u0e02\u0e20\u0e32\u0e1e\u0e17\u0e35\u0e48\u0e2a\u0e30\u0e14\u0e27\u0e01\u0e41\u0e25\u0e30\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e17\u0e33\u0e44\u0e14\u0e49\u0e17\u0e35\u0e48\u0e1a\u0e49\u0e32\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e43\u0e19\u0e2a\u0e16\u0e32\u0e19\u0e17\u0e35\u0e48\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23 \u0e0a\u0e48\u0e27\u0e22\u0e43\u0e19\u0e01\u0e32\u0e23\u0e23\u0e31\u0e01\u0e29\u0e32\u0e2a\u0e38\u0e02\u0e20\u0e32\u0e1e\u0e41\u0e25\u0e30\u0e1b\u0e49\u0e2d\u0e07\u0e01\u0e31\u0e19\u0e42\u0e23\u0e04<\/li>\n\n\n\n<li>ESP32 \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e43\u0e0a\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2a\u0e19\u0e31\u0e1a\u0e2a\u0e19\u0e38\u0e19\u0e07\u0e32\u0e19\u0e27\u0e34\u0e08\u0e31\u0e22\u0e17\u0e32\u0e07\u0e01\u0e32\u0e23\u0e41\u0e1e\u0e17\u0e22\u0e4c\u0e41\u0e25\u0e30\u0e01\u0e32\u0e23\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c\u0e2a\u0e38\u0e02\u0e20\u0e32\u0e1e\u0e43\u0e2b\u0e21\u0e48 \u0e46 \u0e17\u0e35\u0e48\u0e21\u0e35\u0e01\u0e32\u0e23\u0e15\u0e23\u0e27\u0e08\u0e27\u0e31\u0e14\u0e0a\u0e35\u0e1e\u0e08\u0e23<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">5. \u0e04\u0e27\u0e32\u0e21\u0e23\u0e39\u0e49\u0e17\u0e35\u0e48\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e02\u0e49\u0e2d\u0e07<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>5.1\u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 ESP32<\/strong>: \u0e04\u0e27\u0e32\u0e21\u0e23\u0e39\u0e49\u0e43\u0e19\u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a ESP32 \u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49 Arduino IDE, PlatformIO,\u0e2b\u0e23\u0e37\u0e2d ESP-IDF (ESP32 IoT Development Framework) \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e41\u0e25\u0e30\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c\u0e15\u0e48\u0e32\u0e07 \u0e46<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>5.2\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e41\u0e25\u0e30\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c\u0e2d\u0e34\u0e40\u0e25\u0e47\u0e01\u0e17\u0e23\u0e2d\u0e19\u0e34\u0e01\u0e2a\u0e4c<\/strong>: \u0e04\u0e27\u0e32\u0e21\u0e40\u0e02\u0e49\u0e32\u0e43\u0e08\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e41\u0e25\u0e30\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e01\u0e32\u0e23\u0e27\u0e31\u0e14\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25 \u0e40\u0e0a\u0e48\u0e19 \u0e15\u0e31\u0e27 Heartrate pulse sensor \u0e41\u0e25\u0e30 \u0e08\u0e2d oled<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>5.3\u0e15\u0e31\u0e27\u0e42\u0e21\u0e14\u0e39\u0e25\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49<\/strong><br>    5.3.1Heartrate pulse sensor<br>             Heartrate pulse sensor \u0e2b\u0e23\u0e37\u0e2d\u0e40\u0e0b\u0e47\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e31\u0e14\u0e2d\u0e31\u0e15\u0e23\u0e32\u0e01\u0e32\u0e23\u0e40\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e2b\u0e31\u0e27\u0e43\u0e08 \u0e40\u0e1b\u0e47\u0e19\u0e42\u0e21\u0e14\u0e39\u0e25\u0e2d\u0e34\u0e40\u0e25\u0e47\u0e01\u0e17\u0e23\u0e2d\u0e19\u0e34\u0e01\u0e2a\u0e4c\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e27\u0e31\u0e14\u0e2d\u0e31\u0e15\u0e23\u0e32\u0e01\u0e32\u0e23\u0e40\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e2b\u0e31\u0e27\u0e43\u0e08 \u0e42\u0e14\u0e22\u0e2d\u0e32\u0e28\u0e31\u0e22\u0e2b\u0e25\u0e31\u0e01\u0e01\u0e32\u0e23\u0e17\u0e32\u0e07\u0e41\u0e2a\u0e07\u0e2d\u0e34\u0e19\u0e1f\u0e23\u0e32\u0e40\u0e23\u0e14 (Infrared) \u0e42\u0e14\u0e22\u0e1b\u0e25\u0e48\u0e2d\u0e22\u0e41\u0e2a\u0e07\u0e2d\u0e34\u0e19\u0e1f\u0e23\u0e32\u0e40\u0e23\u0e14\u0e1c\u0e48\u0e32\u0e19\u0e19\u0e34\u0e49\u0e27\u0e21\u0e37\u0e2d \u0e41\u0e25\u0e49\u0e27\u0e2d\u0e35\u0e01\u0e1d\u0e31\u0e48\u0e07\u0e08\u0e30\u0e21\u0e35\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e15\u0e23\u0e27\u0e08\u0e08\u0e31\u0e1a\u0e41\u0e2a\u0e07\u0e2d\u0e34\u0e19\u0e1f\u0e23\u0e32\u0e40\u0e23\u0e14 \u0e0b\u0e36\u0e48\u0e07\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e27\u0e31\u0e14\u0e04\u0e27\u0e32\u0e21\u0e40\u0e02\u0e49\u0e21\u0e41\u0e2a\u0e07\u0e17\u0e35\u0e48\u0e16\u0e39\u0e01\u0e14\u0e39\u0e14\u0e0b\u0e31\u0e1a\u0e42\u0e14\u0e22\u0e19\u0e34\u0e49\u0e27\u0e21\u0e37\u0e2d \u0e21\u0e32\u0e41\u0e2a\u0e14\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e2d\u0e31\u0e15\u0e23\u0e32\u0e01\u0e32\u0e23\u0e40\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e2b\u0e31\u0e27\u0e43\u0e08\u0e44\u0e14\u0e49<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e15\u0e31\u0e27\u0e42\u0e21\u0e14\u0e39\u0e25\u0e08\u0e30\u0e41\u0e1a\u0e48\u0e07\u0e2d\u0e2d\u0e01\u0e40\u0e1b\u0e47\u0e19 2 \u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e2b\u0e25\u0e31\u0e01\u0e46 \u0e14\u0e31\u0e07\u0e19\u0e35\u0e49<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e15\u0e23\u0e27\u0e08\u0e08\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e40\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e2b\u0e31\u0e27\u0e43\u0e08<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e43\u0e19\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49 LED \u0e2d\u0e34\u0e19\u0e1f\u0e23\u0e32\u0e40\u0e23\u0e14\u0e08\u0e30\u0e1b\u0e25\u0e48\u0e2d\u0e22\u0e41\u0e2a\u0e07\u0e2d\u0e34\u0e19\u0e1f\u0e23\u0e32\u0e40\u0e23\u0e14\u0e1c\u0e48\u0e32\u0e19\u0e19\u0e34\u0e49\u0e27\u0e21\u0e37\u0e2d\u0e44\u0e1b\u0e22\u0e31\u0e07\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e15\u0e23\u0e27\u0e08\u0e08\u0e31\u0e1a\u0e41\u0e2a\u0e07\u0e2d\u0e34\u0e19\u0e1f\u0e23\u0e32\u0e40\u0e23\u0e14 \u0e2b\u0e32\u0e01\u0e21\u0e35\u0e40\u0e25\u0e37\u0e2d\u0e14\u0e44\u0e2b\u0e25\u0e1c\u0e48\u0e32\u0e19\u0e19\u0e34\u0e49\u0e27\u0e21\u0e37\u0e2d \u0e41\u0e2a\u0e07\u0e2d\u0e34\u0e19\u0e1f\u0e23\u0e32\u0e40\u0e23\u0e14\u0e08\u0e30\u0e16\u0e39\u0e01\u0e14\u0e39\u0e14\u0e0b\u0e31\u0e1a\u0e42\u0e14\u0e22\u0e40\u0e25\u0e37\u0e2d\u0e14 \u0e17\u0e33\u0e43\u0e2b\u0e49\u0e04\u0e27\u0e32\u0e21\u0e40\u0e02\u0e49\u0e21\u0e41\u0e2a\u0e07\u0e17\u0e35\u0e48\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e15\u0e23\u0e27\u0e08\u0e08\u0e31\u0e1a\u0e41\u0e2a\u0e07\u0e2d\u0e34\u0e19\u0e1f\u0e23\u0e32\u0e40\u0e23\u0e14\u0e25\u0e14\u0e25\u0e07 \u0e27\u0e07\u0e08\u0e23\u0e2d\u0e34\u0e40\u0e25\u0e47\u0e01\u0e17\u0e23\u0e2d\u0e19\u0e34\u0e01\u0e2a\u0e4c\u0e08\u0e30\u0e15\u0e23\u0e27\u0e08\u0e08\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e41\u0e1b\u0e25\u0e07\u0e02\u0e2d\u0e07\u0e04\u0e27\u0e32\u0e21\u0e40\u0e02\u0e49\u0e21\u0e41\u0e2a\u0e07\u0e19\u0e35\u0e49 \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2b\u0e32\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e02\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e2b\u0e31\u0e27\u0e43\u0e08<\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li><strong>\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e04\u0e33\u0e19\u0e27\u0e13\u0e2d\u0e31\u0e15\u0e23\u0e32\u0e01\u0e32\u0e23\u0e40\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e2b\u0e31\u0e27\u0e43\u0e08<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e43\u0e19\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49 \u0e27\u0e07\u0e08\u0e23\u0e2d\u0e34\u0e40\u0e25\u0e47\u0e01\u0e17\u0e23\u0e2d\u0e19\u0e34\u0e01\u0e2a\u0e4c\u0e08\u0e30\u0e04\u0e33\u0e19\u0e27\u0e13\u0e2d\u0e31\u0e15\u0e23\u0e32\u0e01\u0e32\u0e23\u0e40\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e2b\u0e31\u0e27\u0e43\u0e08\u0e08\u0e32\u0e01\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e02\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e2b\u0e31\u0e27\u0e43\u0e08 \u0e42\u0e14\u0e22\u0e2d\u0e32\u0e28\u0e31\u0e22\u0e2b\u0e25\u0e31\u0e01\u0e01\u0e32\u0e23\u0e17\u0e35\u0e48\u0e27\u0e48\u0e32 \u0e2d\u0e31\u0e15\u0e23\u0e32\u0e01\u0e32\u0e23\u0e40\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e2b\u0e31\u0e27\u0e43\u0e08\u0e08\u0e30\u0e41\u0e1b\u0e23\u0e1c\u0e31\u0e19\u0e15\u0e23\u0e07\u0e01\u0e31\u0e1a\u0e23\u0e30\u0e22\u0e30\u0e40\u0e27\u0e25\u0e32\u0e17\u0e35\u0e48\u0e41\u0e2a\u0e07\u0e2d\u0e34\u0e19\u0e1f\u0e23\u0e32\u0e40\u0e23\u0e14\u0e16\u0e39\u0e01\u0e14\u0e39\u0e14\u0e0b\u0e31\u0e1a\u0e42\u0e14\u0e22\u0e40\u0e25\u0e37\u0e2d\u0e14<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"650\" height=\"658\" src=\"https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-420.png\" alt=\"\" class=\"wp-image-11038\" style=\"width:399px;height:auto\" srcset=\"https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-420.png 650w, https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-420-296x300.png 296w\" sizes=\"auto, (max-width: 650px) 100vw, 650px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">   5.3.2Oled ssd1306<br>            \u0e42\u0e21\u0e14\u0e39\u0e25 OLED SSD1306 \u0e40\u0e1b\u0e47\u0e19\u0e42\u0e21\u0e14\u0e39\u0e25\u0e08\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\u0e41\u0e1a\u0e1a OLED (Organic Light-Emitting Diode) \u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e04\u0e27\u0e32\u0e21\u0e19\u0e34\u0e22\u0e21\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e21\u0e32\u0e01\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e43\u0e19\u0e42\u0e04\u0e23\u0e07\u0e01\u0e32\u0e23\u0e2d\u0e34\u0e40\u0e25\u0e47\u0e01\u0e17\u0e23\u0e2d\u0e19\u0e34\u0e01\u0e2a\u0e4c\u0e15\u0e48\u0e32\u0e07\u0e46 \u0e14\u0e49\u0e27\u0e22\u0e02\u0e19\u0e32\u0e14\u0e01\u0e30\u0e17\u0e31\u0e14\u0e23\u0e31\u0e14 \u0e19\u0e49\u0e33\u0e2b\u0e19\u0e31\u0e01\u0e40\u0e1a\u0e32 \u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e07\u0e48\u0e32\u0e22 \u0e41\u0e25\u0e30\u0e23\u0e32\u0e04\u0e32\u0e44\u0e21\u0e48\u0e41\u0e1e\u0e07 \u0e01\u0e32\u0e23\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\u0e42\u0e21\u0e14\u0e39\u0e25 SSD1306 \u0e01\u0e31\u0e1a\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c\u0e2d\u0e37\u0e48\u0e19\u0e46 \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e17\u0e33\u0e44\u0e14\u0e49\u0e42\u0e14\u0e22\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\u0e2a\u0e32\u0e22\u0e2a\u0e31\u0e0d\u0e0d\u0e32\u0e13 4 \u0e1e\u0e34\u0e19\u0e40\u0e02\u0e49\u0e32\u0e01\u0e31\u0e1a\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c\u0e15\u0e48\u0e32\u0e07\u0e46 \u0e40\u0e0a\u0e48\u0e19 \u0e44\u0e21\u0e42\u0e04\u0e23\u0e04\u0e2d\u0e19\u0e42\u0e17\u0e23\u0e25\u0e40\u0e25\u0e2d\u0e23\u0e4c \u0e2b\u0e23\u0e37\u0e2d\u0e1a\u0e2d\u0e23\u0e4c\u0e14\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e15\u0e48\u0e32\u0e07\u0e46 \u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e42\u0e21\u0e14\u0e39\u0e25 SSD1306 \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e17\u0e33\u0e44\u0e14\u0e49\u0e42\u0e14\u0e22\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07 IC \u0e44\u0e14\u0e23\u0e40\u0e27\u0e2d\u0e23\u0e4c SSD1306 \u0e0b\u0e36\u0e48\u0e07\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e02\u0e35\u0e22\u0e19\u0e44\u0e14\u0e49\u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49\u0e20\u0e32\u0e29\u0e32\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e15\u0e48\u0e32\u0e07\u0e46 \u0e40\u0e0a\u0e48\u0e19 C, C++, \u0e2b\u0e23\u0e37\u0e2d Python<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e2a\u0e32\u0e22\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\u0e02\u0e2d\u0e07\u0e42\u0e21\u0e14\u0e39\u0e25 SSD1306 \u0e42\u0e14\u0e22\u0e17\u0e31\u0e48\u0e27\u0e44\u0e1b\u0e08\u0e30\u0e21\u0e35 4 \u0e1e\u0e34\u0e19 \u0e44\u0e14\u0e49\u0e41\u0e01\u0e48<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>GND<\/strong>&nbsp;(Ground) \u0e17\u0e33\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e32\u0e22\u0e01\u0e23\u0e32\u0e27\u0e14\u0e4c<\/li>\n\n\n\n<li><strong>VCC<\/strong>&nbsp;(Supply Voltage) \u0e17\u0e33\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e32\u0e22\u0e08\u0e48\u0e32\u0e22\u0e44\u0e1f<\/li>\n\n\n\n<li><strong>SCL<\/strong>&nbsp;(Serial Clock) \u0e17\u0e33\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e32\u0e22\u0e19\u0e32\u0e2c\u0e34\u0e01\u0e32<\/li>\n\n\n\n<li><strong>SDA<\/strong>&nbsp;(Serial Data) \u0e17\u0e33\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e32\u0e22\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-496.png\" alt=\"\" class=\"wp-image-13432\" style=\"width:448px;height:auto\" srcset=\"https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-496.png 800w, https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-496-300x300.png 300w, https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-496-150x150.png 150w, https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-496-768x768.png 768w, https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-496-200x200.png 200w, https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-496-320x320.png 320w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><br><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>5.4\u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19 code \u0e43\u0e2b\u0e49\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a OOP \u0e41\u0e25\u0e30 \u0e1f\u0e31\u0e07\u0e0a\u0e31\u0e19\u0e01\u0e4c\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07 code \u0e15\u0e48\u0e32\u0e07\u0e46<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">    5.4.1 \u0e1a\u0e23\u0e23\u0e17\u0e31\u0e14\u0e41\u0e23\u0e01\u0e02\u0e2d\u0e07\u0e42\u0e04\u0e49\u0e14\u0e17\u0e33\u0e01\u0e32\u0e23\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32\u0e42\u0e21\u0e14\u0e39\u0e25\u0e17\u0e35\u0e48\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07 HeartRateMonitor class \u0e44\u0e14\u0e49\u0e41\u0e01\u0e48:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>machine:<\/strong>&nbsp;\u0e42\u0e21\u0e14\u0e39\u0e25\u0e19\u0e35\u0e49\u0e43\u0e0a\u0e49\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e2e\u0e32\u0e23\u0e4c\u0e14\u0e41\u0e27\u0e23\u0e4c\u0e02\u0e2d\u0e07\u0e44\u0e21\u0e42\u0e04\u0e23\u0e04\u0e2d\u0e19\u0e42\u0e17\u0e23\u0e25\u0e40\u0e25\u0e2d\u0e23\u0e4c \u0e40\u0e0a\u0e48\u0e19 GPIO, I2C, ADC \u0e2f\u0e25\u0e2f<\/li>\n\n\n\n<li><strong>ssd1306:<\/strong>&nbsp;\u0e42\u0e21\u0e14\u0e39\u0e25\u0e19\u0e35\u0e49\u0e43\u0e0a\u0e49\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e08\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25 OLED<\/li>\n\n\n\n<li><strong>time:<\/strong>\u00a0\u0e42\u0e21\u0e14\u0e39\u0e25\u0e19\u0e35\u0e49\u0e43\u0e0a\u0e49\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e17\u0e33\u0e07\u0e32\u0e19\u0e01\u0e31\u0e1a\u0e40\u0e27\u0e25\u0e32 \u0e40\u0e0a\u0e48\u0e19 \u0e23\u0e2d\u0e04\u0e2d\u0e22\u0e40\u0e27\u0e25\u0e32\u0e17\u0e35\u0e48\u0e01\u0e33\u0e2b\u0e19\u0e14 \u0e2f\u0e25\u0e2f<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>from machine import Pin, ADC, I2C\nimport ssd1306\nimport time\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">    5.4.2\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 <strong>init<\/strong>() \u0e08\u0e30\u0e16\u0e39\u0e01\u0e40\u0e23\u0e35\u0e22\u0e01\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e21\u0e35\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 instance \u0e43\u0e2b\u0e21\u0e48\u0e02\u0e2d\u0e07 HeartRateMonitor class \u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e48\u0e19\u0e19\u0e35\u0e49\u0e08\u0e30\u0e17\u0e33\u0e01\u0e32\u0e23:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0e2a\u0e23\u0e49\u0e32\u0e07 instance \u0e02\u0e2d\u0e07 I2C bus<\/li>\n\n\n\n<li>\u0e2a\u0e23\u0e49\u0e32\u0e07 instance \u0e02\u0e2d\u0e07\u0e08\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25 OLED<\/li>\n\n\n\n<li>\u0e2a\u0e23\u0e49\u0e32\u0e07 instance \u0e02\u0e2d\u0e07 ADC pin \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e2d\u0e48\u0e32\u0e19\u0e2a\u0e31\u0e0d\u0e0d\u0e32\u0e13\u0e08\u0e32\u0e01 pulse sensor<\/li>\n\n\n\n<li>\u0e2a\u0e23\u0e49\u0e32\u0e07 instance \u0e02\u0e2d\u0e07 GPIO pin \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21 LED<\/li>\n\n\n\n<li>\u0e2a\u0e23\u0e49\u0e32\u0e07 instance \u0e02\u0e2d\u0e07 GPIO pin \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e2d\u0e48\u0e32\u0e19\u0e2a\u0e16\u0e32\u0e19\u0e30\u0e02\u0e2d\u0e07\u0e1b\u0e38\u0e48\u0e21<\/li>\n\n\n\n<li>\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e15\u0e31\u0e27\u0e41\u0e1b\u0e23\u0e15\u0e48\u0e32\u0e07\u0e46 \u0e17\u0e35\u0e48\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07 class \u0e40\u0e0a\u0e48\u0e19 \u0e2a\u0e31\u0e0d\u0e0d\u0e32\u0e13\u0e08\u0e32\u0e01 pulse sensor, \u0e0a\u0e48\u0e27\u0e07\u0e1a\u0e19\u0e41\u0e25\u0e30\u0e25\u0e48\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e2a\u0e31\u0e0d\u0e0d\u0e32\u0e13, \u0e08\u0e33\u0e19\u0e27\u0e19\u0e04\u0e23\u0e31\u0e49\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e31\u0e0d\u0e0d\u0e32\u0e13\u0e40\u0e01\u0e34\u0e19\u0e0a\u0e48\u0e27\u0e07\u0e1a\u0e19, \u0e2a\u0e16\u0e32\u0e19\u0e30\u0e02\u0e2d\u0e07\u0e2a\u0e31\u0e0d\u0e0d\u0e32\u0e13, \u0e08\u0e33\u0e19\u0e27\u0e19 sample \u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e01\u0e32\u0e23\u0e04\u0e33\u0e19\u0e27\u0e13 rolling BPM, \u0e04\u0e48\u0e32 BPM sample, \u0e14\u0e31\u0e0a\u0e19\u0e35\u0e02\u0e2d\u0e07 BPM sample \u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19, rolling BPM, \u0e1e\u0e34\u0e01\u0e31\u0e14 x \u0e41\u0e25\u0e30 y \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\u0e1a\u0e19\u0e08\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25 OLED<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>class HeartRateMonitor:\r\n    def __init__(self):\r\n        # Initialize I2C\r\n        self.i2c = I2C(scl=Pin(22), sda=Pin(21))\r\n        \r\n        # Initialize OLED display\r\n        self.oled = ssd1306.SSD1306_I2C(128, 64, self.i2c)\r\n        \r\n        # Initialize other pins\r\n        self.pulse_sensor_pin = ADC(Pin(36))\r\n        self.led_pin = Pin(23, Pin.OUT)\r\n        self.button_pin = Pin(32, Pin.IN, Pin.PULL_UP)\r\n        \r\n        # Initialize variables\r\n        self.pulse_sensor_signal = 0\r\n        self.upper_threshold = 360\r\n        self.lower_threshold = 100\r\n        self.cnt_hb = 0\r\n        self.threshold_stat = True\r\n        self.num_bpm_samples = 5\r\n        self.bpm_values = &#091;0] * self.num_bpm_samples\r\n        self.bpm_index = 0\r\n        self.rolling_bpm = 0\r\n        self.x = 0\r\n        self.y = 0\r\n        self.last_x = 0\r\n        self.last_y = 0\r\n        self.get_bpm = True\r<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5.5<strong>\u0e2a\u0e38\u0e02\u0e20\u0e32\u0e1e\u0e41\u0e25\u0e30\u0e01\u0e32\u0e23\u0e2a\u0e33\u0e23\u0e27\u0e08\u0e23\u0e48\u0e32\u0e07\u0e01\u0e32\u0e22<\/strong>: \u0e04\u0e27\u0e32\u0e21\u0e40\u0e02\u0e49\u0e32\u0e43\u0e08\u0e43\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e31\u0e22\u0e17\u0e32\u0e07\u0e01\u0e32\u0e23\u0e41\u0e1e\u0e17\u0e22\u0e4c\u0e17\u0e35\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e21\u0e35\u0e1c\u0e25\u0e15\u0e48\u0e2d\u0e2d\u0e31\u0e15\u0e23\u0e32\u0e01\u0e32\u0e23\u0e40\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e2b\u0e31\u0e27\u0e43\u0e08 \u0e40\u0e0a\u0e48\u0e19 \u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c\u0e41\u0e1e\u0e17\u0e22\u0e4c,\u0e22\u0e32,\u0e42\u0e23\u0e04\u0e40\u0e23\u0e37\u0e49\u0e2d\u0e23\u0e31\u0e07, \u0e2b\u0e23\u0e37\u0e2d\u0e1b\u0e31\u0e08\u0e08\u0e31\u0e22\u0e17\u0e32\u0e07\u0e2a\u0e38\u0e02\u0e20\u0e32\u0e1e\u0e2d\u0e37\u0e48\u0e19 \u0e46<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u0e04\u0e27\u0e32\u0e21\u0e23\u0e39\u0e49\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e2b\u0e31\u0e27\u0e43\u0e08<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u0e2b\u0e31\u0e27\u0e43\u0e08\u0e40\u0e1b\u0e47\u0e19\u0e2d\u0e27\u0e31\u0e22\u0e27\u0e30\u0e2a\u0e33\u0e04\u0e31\u0e0d\u0e02\u0e2d\u0e07\u0e23\u0e30\u0e1a\u0e1a\u0e44\u0e2b\u0e25\u0e40\u0e27\u0e35\u0e22\u0e19\u0e42\u0e25\u0e2b\u0e34\u0e15 \u0e17\u0e33\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48\u0e2a\u0e39\u0e1a\u0e09\u0e35\u0e14\u0e40\u0e25\u0e37\u0e2d\u0e14\u0e44\u0e1b\u0e40\u0e25\u0e35\u0e49\u0e22\u0e07\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e48\u0e32\u0e07 \u0e46 \u0e02\u0e2d\u0e07\u0e23\u0e48\u0e32\u0e07\u0e01\u0e32\u0e22<\/li>\n\n\n\n<li>\u0e2b\u0e31\u0e27\u0e43\u0e08\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e14\u0e49\u0e27\u0e22 4 \u0e2b\u0e49\u0e2d\u0e07 \u0e44\u0e14\u0e49\u0e41\u0e01\u0e48 \u0e2b\u0e49\u0e2d\u0e07\u0e1a\u0e19\u0e0b\u0e49\u0e32\u0e22 (left atrium) \u0e2b\u0e49\u0e2d\u0e07\u0e1a\u0e19\u0e02\u0e27\u0e32 (right atrium) \u0e2b\u0e49\u0e2d\u0e07\u0e25\u0e48\u0e32\u0e07\u0e0b\u0e49\u0e32\u0e22 (left ventricle) \u0e41\u0e25\u0e30\u0e2b\u0e49\u0e2d\u0e07\u0e25\u0e48\u0e32\u0e07\u0e02\u0e27\u0e32 (right ventricle)<\/li>\n\n\n\n<li>\u0e2b\u0e31\u0e27\u0e43\u0e08\u0e40\u0e15\u0e49\u0e19\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e31\u0e07\u0e2b\u0e27\u0e30\u0e42\u0e14\u0e22\u0e40\u0e01\u0e34\u0e14\u0e08\u0e32\u0e01\u0e2a\u0e31\u0e0d\u0e0d\u0e32\u0e13\u0e44\u0e1f\u0e1f\u0e49\u0e32\u0e08\u0e32\u0e01\u0e2b\u0e31\u0e27\u0e43\u0e08\u0e40\u0e2d\u0e07<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u0e04\u0e27\u0e32\u0e21\u0e23\u0e39\u0e49\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e27\u0e31\u0e14\u0e0a\u0e35\u0e1e\u0e08\u0e23<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u0e01\u0e32\u0e23\u0e27\u0e31\u0e14\u0e0a\u0e35\u0e1e\u0e08\u0e23\u0e40\u0e1b\u0e47\u0e19\u0e27\u0e34\u0e18\u0e35\u0e27\u0e31\u0e14\u0e2d\u0e31\u0e15\u0e23\u0e32\u0e01\u0e32\u0e23\u0e40\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e2b\u0e31\u0e27\u0e43\u0e08<\/li>\n\n\n\n<li>\u0e01\u0e32\u0e23\u0e27\u0e31\u0e14\u0e0a\u0e35\u0e1e\u0e08\u0e23\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e17\u0e33\u0e44\u0e14\u0e49\u0e2b\u0e25\u0e32\u0e22\u0e27\u0e34\u0e18\u0e35 \u0e40\u0e0a\u0e48\u0e19 \u0e01\u0e32\u0e23\u0e27\u0e31\u0e14\u0e0a\u0e35\u0e1e\u0e08\u0e23\u0e17\u0e35\u0e48\u0e02\u0e49\u0e2d\u0e21\u0e37\u0e2d \u0e01\u0e32\u0e23\u0e27\u0e31\u0e14\u0e0a\u0e35\u0e1e\u0e08\u0e23\u0e17\u0e35\u0e48\u0e04\u0e2d \u0e01\u0e32\u0e23\u0e27\u0e31\u0e14\u0e0a\u0e35\u0e1e\u0e08\u0e23\u0e17\u0e35\u0e48\u0e02\u0e21\u0e31\u0e1a<\/li>\n\n\n\n<li>\u0e2d\u0e31\u0e15\u0e23\u0e32\u0e01\u0e32\u0e23\u0e40\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e2b\u0e31\u0e27\u0e43\u0e08\u0e1b\u0e01\u0e15\u0e34\u0e02\u0e2d\u0e07\u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e0d\u0e48\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e35\u0e48\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13 60-100 \u0e04\u0e23\u0e31\u0e49\u0e07\u0e15\u0e48\u0e2d\u0e19\u0e32\u0e17\u0e35<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>6.\u0e1c\u0e25\u0e01\u0e32\u0e23\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e07\u0e32\u0e19<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-502-1024x576.png\" alt=\"\" class=\"wp-image-13564\" srcset=\"https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-502-1024x576.png 1024w, https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-502-300x169.png 300w, https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-502-768x432.png 768w, https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-502-1536x865.png 1536w, https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-502-2048x1153.png 2048w, https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-502-520x292.png 520w, https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-502-720x404.png 720w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>6.1\u0e2b\u0e25\u0e31\u0e01\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07 Heartrate pulse sensor<\/strong><br>\u0e2b\u0e25\u0e31\u0e01\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07 heartrate pulse sensor \u0e43\u0e19\u0e41\u0e1a\u0e1a\u0e08\u0e33\u0e25\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e27\u0e31\u0e14\u0e0a\u0e35\u0e1e\u0e08\u0e23 ESP32 \u0e2d\u0e32\u0e28\u0e31\u0e22\u0e2b\u0e25\u0e31\u0e01\u0e01\u0e32\u0e23\u0e27\u0e31\u0e14\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e41\u0e1b\u0e25\u0e07\u0e02\u0e2d\u0e07\u0e04\u0e27\u0e32\u0e21\u0e40\u0e02\u0e49\u0e21\u0e02\u0e2d\u0e07\u0e41\u0e2a\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e30\u0e17\u0e49\u0e2d\u0e19\u0e01\u0e25\u0e31\u0e1a\u0e08\u0e32\u0e01\u0e1c\u0e34\u0e27\u0e2b\u0e19\u0e31\u0e07\u0e1a\u0e23\u0e34\u0e40\u0e27\u0e13\u0e02\u0e49\u0e2d\u0e21\u0e37\u0e2d \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2b\u0e31\u0e27\u0e43\u0e08\u0e40\u0e15\u0e49\u0e19 \u0e40\u0e25\u0e37\u0e2d\u0e14\u0e08\u0e30\u0e44\u0e2b\u0e25\u0e40\u0e27\u0e35\u0e22\u0e19\u0e1c\u0e48\u0e32\u0e19\u0e1c\u0e34\u0e27\u0e2b\u0e19\u0e31\u0e07\u0e1a\u0e23\u0e34\u0e40\u0e27\u0e13\u0e02\u0e49\u0e2d\u0e21\u0e37\u0e2d\u0e21\u0e32\u0e01\u0e02\u0e36\u0e49\u0e19 \u0e17\u0e33\u0e43\u0e2b\u0e49\u0e04\u0e27\u0e32\u0e21\u0e40\u0e02\u0e49\u0e21\u0e02\u0e2d\u0e07\u0e41\u0e2a\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e30\u0e17\u0e49\u0e2d\u0e19\u0e01\u0e25\u0e31\u0e1a\u0e08\u0e32\u0e01\u0e1c\u0e34\u0e27\u0e2b\u0e19\u0e31\u0e07\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19\u0e15\u0e32\u0e21\u0e44\u0e1b\u0e14\u0e49\u0e27\u0e22 \u0e40\u0e0b\u0e47\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e31\u0e14\u0e0a\u0e35\u0e1e\u0e08\u0e23\u0e08\u0e30\u0e27\u0e31\u0e14\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e41\u0e1b\u0e25\u0e07\u0e02\u0e2d\u0e07\u0e04\u0e27\u0e32\u0e21\u0e40\u0e02\u0e49\u0e21\u0e02\u0e2d\u0e07\u0e41\u0e2a\u0e07\u0e19\u0e35\u0e49\u0e41\u0e25\u0e30\u0e41\u0e1b\u0e25\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e31\u0e0d\u0e0d\u0e32\u0e13\u0e14\u0e34\u0e08\u0e34\u0e17\u0e31\u0e25<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"138\" height=\"245\" src=\"https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-400.png\" alt=\"\" class=\"wp-image-10108\" style=\"width:193px;height:auto\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong>Code \u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 get_heart_rate \u0e02\u0e2d\u0e07\u0e15\u0e31\u0e27 Heartrate pulse sensor<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>def get_heart_rate(self):\r\n        current_millis_get_hb = time.ticks_ms()\r\n        \r\n        if current_millis_get_hb - self.previous_millis_get_hb &gt;= self.interval_get_hb:\r\n            self.previous_millis_get_hb = current_millis_get_hb\r\n            self.pulse_sensor_signal = self.pulse_sensor_pin.read()\r\n            \r\n            if self.pulse_sensor_signal &gt; 600:\r\n                if self.get_bpm:\r\n                    self.cnt_hb += 1\r\n                    if self.cnt_hb == 1:\r\n                        self.previous_millis_result_hb = current_millis_get_hb\r\n                self.threshold_stat = False\r\n                self.led_pin.value(1)\r\n                \r\n            if self.pulse_sensor_signal &lt; 600:\r\n                self.threshold_stat = True\r\n                self.led_pin.value(0)\r\n            \r\n            if self.get_bpm and self.cnt_hb &gt; 0:\r\n                mapped_bpm = self.map_value(self.cnt_hb, self.lower_threshold, self.upper_threshold, 100, 120)\r\n                self.bpm_values&#091;self.bpm_index] = mapped_bpm\r\n                self.bpm_index = (self.bpm_index + 1) % self.num_bpm_samples\r\n                self.rolling_bpm = sum(self.bpm_values) \/\/ self.num_bpm_samples\r\n            \r\n            self.draw_graph()\r\n            \r\n        current_millis_result_hb = time.ticks_ms()\r\n        \r\n        if current_millis_result_hb - self.previous_millis_result_hb &gt;= self.interval_result_hb:\r\n            self.previous_millis_result_hb = current_millis_result_hb\r\n            \r\n            if self.get_bpm:\r\n                if self.cnt_hb == 0:\r\n                    self.clear_display_area(20, 48, 108, 18)\r\n                    self.display_text(2, 20, 48, \": N\/A BPM\")\r\n                else:\r\n                    self.clear_display_area(20, 48, 108, 18)\r\n                    self.display_bitmap(0, 47, heart_icon, 16, 16)\r\n                    self.display_line(0, 43, 127, 43)\r\n                    self.display_text(2, 20, 48, f\": {self.rolling_bpm} BPM\")\r\n            \r\n                self.cnt_hb = 0<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>6.2\u0e2b\u0e25\u0e31\u0e01\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e15\u0e31\u0e27\u0e42\u0e21\u0e14\u0e39\u0e25 Oled SSD1306<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><br>\u0e15\u0e31\u0e27\u0e42\u0e21\u0e14\u0e39\u0e25 OLED SSD1306 \u0e41\u0e1a\u0e1a\u0e27\u0e32\u0e14\u0e01\u0e23\u0e32\u0e1f\u0e0a\u0e35\u0e1e\u0e08\u0e23\u0e08\u0e30\u0e17\u0e33\u0e07\u0e32\u0e19\u0e42\u0e14\u0e22\u0e2d\u0e32\u0e28\u0e31\u0e22\u0e2b\u0e25\u0e31\u0e01\u0e01\u0e32\u0e23\u0e1e\u0e37\u0e49\u0e19\u0e10\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25 OLED \u0e19\u0e31\u0e48\u0e19\u0e04\u0e37\u0e2d \u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e44\u0e1f LED \u0e02\u0e19\u0e32\u0e14\u0e40\u0e25\u0e47\u0e01\u0e08\u0e33\u0e19\u0e27\u0e19\u0e21\u0e32\u0e01\u0e40\u0e23\u0e35\u0e22\u0e07\u0e01\u0e31\u0e19\u0e40\u0e1b\u0e47\u0e19\u0e1e\u0e34\u0e01\u0e40\u0e0b\u0e25\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e20\u0e32\u0e1e<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e15\u0e31\u0e27\u0e42\u0e21\u0e14\u0e39\u0e25 OLED SSD1306 \u0e21\u0e35\u0e1e\u0e34\u0e01\u0e40\u0e0b\u0e25\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14 128&#215;64 \u0e1e\u0e34\u0e01\u0e40\u0e0b\u0e25 \u0e42\u0e14\u0e22\u0e1e\u0e34\u0e01\u0e40\u0e0b\u0e25\u0e41\u0e15\u0e48\u0e25\u0e30\u0e1e\u0e34\u0e01\u0e40\u0e0b\u0e25\u0e08\u0e30\u0e21\u0e35\u0e04\u0e48\u0e32\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e27\u0e48\u0e32\u0e07\u0e40\u0e1b\u0e47\u0e19 0 \u0e2b\u0e23\u0e37\u0e2d 1 \u0e0b\u0e36\u0e48\u0e07\u0e08\u0e30\u0e41\u0e2a\u0e14\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e35\u0e14\u0e33\u0e2b\u0e23\u0e37\u0e2d\u0e2a\u0e35\u0e02\u0e32\u0e27\u0e15\u0e32\u0e21\u0e25\u0e33\u0e14\u0e31\u0e1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e43\u0e19\u0e01\u0e32\u0e23\u0e27\u0e32\u0e14\u0e01\u0e23\u0e32\u0e1f\u0e0a\u0e35\u0e1e\u0e08\u0e23 \u0e08\u0e30\u0e43\u0e0a\u0e49\u0e2b\u0e25\u0e31\u0e01\u0e01\u0e32\u0e23\u0e14\u0e31\u0e07\u0e19\u0e35\u0e49<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e04\u0e48\u0e32\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e01\u0e23\u0e32\u0e1f \u0e40\u0e0a\u0e48\u0e19 \u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e01\u0e23\u0e32\u0e1f \u0e17\u0e34\u0e28\u0e17\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e01\u0e23\u0e32\u0e1f \u0e23\u0e30\u0e22\u0e30\u0e2b\u0e48\u0e32\u0e07\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e1e\u0e34\u0e01\u0e40\u0e0b\u0e25<\/li>\n\n\n\n<li>\u0e04\u0e33\u0e19\u0e27\u0e13\u0e04\u0e48\u0e32\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e27\u0e48\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e1e\u0e34\u0e01\u0e40\u0e0b\u0e25\u0e41\u0e15\u0e48\u0e25\u0e30\u0e1e\u0e34\u0e01\u0e40\u0e0b\u0e25\u0e15\u0e32\u0e21\u0e04\u0e48\u0e32\u0e04\u0e27\u0e32\u0e21\u0e40\u0e02\u0e49\u0e21\u0e02\u0e2d\u0e07\u0e2a\u0e31\u0e0d\u0e0d\u0e32\u0e13\u0e0a\u0e35\u0e1e\u0e08\u0e23<\/li>\n\n\n\n<li>\u0e40\u0e02\u0e35\u0e22\u0e19\u0e04\u0e48\u0e32\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e27\u0e48\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e1e\u0e34\u0e01\u0e40\u0e0b\u0e25\u0e41\u0e15\u0e48\u0e25\u0e30\u0e1e\u0e34\u0e01\u0e40\u0e0b\u0e25\u0e25\u0e07\u0e1a\u0e19\u0e15\u0e31\u0e27\u0e42\u0e21\u0e14\u0e39\u0e25 OLED<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e04\u0e48\u0e32\u0e04\u0e27\u0e32\u0e21\u0e40\u0e02\u0e49\u0e21\u0e02\u0e2d\u0e07\u0e2a\u0e31\u0e0d\u0e0d\u0e32\u0e13\u0e0a\u0e35\u0e1e\u0e08\u0e23\u0e08\u0e30\u0e41\u0e1b\u0e23\u0e1c\u0e31\u0e19\u0e15\u0e32\u0e21\u0e2d\u0e31\u0e15\u0e23\u0e32\u0e01\u0e32\u0e23\u0e40\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e2b\u0e31\u0e27\u0e43\u0e08 \u0e42\u0e14\u0e22\u0e2d\u0e31\u0e15\u0e23\u0e32\u0e01\u0e32\u0e23\u0e40\u0e15\u0e49\u0e19\u0e02\u0e2d\u0e07\u0e2b\u0e31\u0e27\u0e43\u0e08\u0e17\u0e35\u0e48\u0e2a\u0e39\u0e07\u0e08\u0e30\u0e17\u0e33\u0e43\u0e2b\u0e49\u0e04\u0e48\u0e32\u0e04\u0e27\u0e32\u0e21\u0e40\u0e02\u0e49\u0e21\u0e02\u0e2d\u0e07\u0e2a\u0e31\u0e0d\u0e0d\u0e32\u0e13\u0e0a\u0e35\u0e1e\u0e08\u0e23\u0e2a\u0e39\u0e07\u0e02\u0e36\u0e49\u0e19\u0e44\u0e1b\u0e14\u0e49\u0e27\u0e22<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"234\" height=\"416\" src=\"https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-401.png\" alt=\"\" class=\"wp-image-10123\" srcset=\"https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-401.png 234w, https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-401-169x300.png 169w\" sizes=\"auto, (max-width: 234px) 100vw, 234px\" \/><\/figure>\n<\/div>\n\n\n<pre class=\"wp-block-code\"><code>def draw_graph(self):\r\n        if self.x &gt; 127:\r\n            self.clear_display_area(0, 0, 128, 42)\r\n            self.x = 0\r\n            self.last_x = 0\r\n        \r\n        y_signal = self.pulse_sensor_signal\r\n        if y_signal &gt; 850:\r\n            y_signal = 850\r\n        if y_signal &lt; 350:\r\n            y_signal = 350\r\n        \r\n        y_signal_map = self.map_value(y_signal, 350, 850, 0, 40)\r\n        self.y = 40 - y_signal_map\r\n        self.display_line(self.last_x, self.last_y, self.x, self.y)\r\n        \r\n        self.last_x = self.x\r\n        self.last_y = self.y\r\n        self.x += 1\r\n\r\n    def clear_display_area(self, x, y, width, height):\r\n        self.oled.fill_rect(x, y, width, height, 0)\r\n\r\n    def display_bitmap(self, x, y, bitmap, width, height):\r\n        self.oled.blit(bitmap, x, y, width, height)\r\n\r\n    def display_line(self, x1, y1, x2, y2):\r\n        self.oled.line(x1, y1, x2, y2, 1)\r\n\r\n    def display_text(self, size, x, y, text):\r\n        self.oled.text(text, x, y, 1, size)\r\n\r\n    def map_value(self, x, in_min, in_max, out_min, out_max):\r\n        return (x - in_min) * (out_max - out_min) \/\/ (in_max - in_min) + out_min\r\n\r\n    def run(self):\r\n        while True:\r\n            self.get_heart_rate()<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>6.3\u0e15\u0e32\u0e23\u0e32\u0e07\u0e01\u0e32\u0e23\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e07\u0e32\u0e19\u0e01\u0e32\u0e23\u0e27\u0e31\u0e14\u0e0a\u0e35\u0e1e\u0e08\u0e23 \u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49\u0e1b\u0e31\u0e08\u0e08\u0e31\u0e22 \u0e2d\u0e32\u0e22\u0e38  (AGE)<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"441\" height=\"303\" src=\"https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-508.png\" alt=\"\" class=\"wp-image-13648\" style=\"width:426px;height:auto\" srcset=\"https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-508.png 441w, https:\/\/dp.rmutsv.ac.th\/wp-content\/uploads\/2023\/11\/image-508-300x206.png 300w\" sizes=\"auto, (max-width: 441px) 100vw, 441px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">7. \u0e2a\u0e23\u0e38\u0e1b\u0e1c\u0e25\u0e41\u0e25\u0e30\u0e02\u0e49\u0e2d\u0e40\u0e2a\u0e19\u0e2d\u0e41\u0e19\u0e30<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0e2a\u0e23\u0e38\u0e1b\u0e1c\u0e25<\/strong><br>\u0e1c\u0e25\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e1b\u0e0e\u0e34\u0e1a\u0e31\u0e15\u0e34\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e41\u0e1a\u0e1a\u0e08\u0e33\u0e25\u0e2d\u0e07\u0e27\u0e31\u0e14\u0e0a\u0e35\u0e1e\u0e08\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e44\u0e14\u0e49\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e21\u0e35\u0e1b\u0e23\u0e30\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e20\u0e32\u0e1e \u0e15\u0e32\u0e21\u0e17\u0e35\u0e48\u0e17\u0e14\u0e25\u0e2d\u0e07<br>1. \u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e23\u0e31\u0e1a\u0e04\u0e48\u0e32\u0e0a\u0e35\u0e1e\u0e08\u0e23\u0e44\u0e14\u0e49<br>2. \u0e15\u0e31\u0e27\u0e08\u0e2d oled \u0e41\u0e2a\u0e14\u0e07\u0e04\u0e48\u0e32\u0e15\u0e32\u0e21 code \u0e17\u0e35\u0e48\u0e40\u0e02\u0e35\u0e22\u0e19\u0e44\u0e14\u0e49<br>3. \u0e42\u0e21\u0e14\u0e39\u0e25\u0e2a\u0e2d\u0e07\u0e15\u0e31\u0e27\u0e17\u0e33\u0e07\u0e32\u0e19\u0e41\u0e1a\u0e1a\u0e2a\u0e21\u0e1a\u0e39\u0e23\u0e13\u0e4c\u0e41\u0e1a\u0e1a<br><strong>\u0e02\u0e49\u0e2d\u0e40\u0e2a\u0e19\u0e2d\u0e41\u0e19\u0e30<\/strong><br>1.\u0e01\u0e32\u0e23\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16: \u0e25\u0e2d\u0e07\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21\u0e40\u0e0a\u0e48\u0e19\u0e01\u0e32\u0e23\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25, \u0e01\u0e32\u0e23\u0e41\u0e08\u0e49\u0e07\u0e40\u0e15\u0e37\u0e2d\u0e19, \u0e2b\u0e23\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\u0e01\u0e31\u0e1a\u0e41\u0e1e\u0e25\u0e15\u0e1f\u0e2d\u0e23\u0e4c\u0e21\u0e2d\u0e37\u0e48\u0e19 \u0e46<br>2.\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e31\u0e1a\u0e1b\u0e23\u0e38\u0e07\u0e2a\u0e48\u0e27\u0e19\u0e01\u0e23\u0e32\u0e1f: \u0e1b\u0e23\u0e31\u0e1a\u0e1b\u0e23\u0e38\u0e07\u0e01\u0e23\u0e32\u0e1f\u0e43\u0e19\u0e01\u0e32\u0e23\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e17\u0e33\u0e43\u0e2b\u0e49\u0e40\u0e02\u0e49\u0e32\u0e43\u0e08\u0e44\u0e14\u0e49\u0e07\u0e48\u0e32\u0e22\u0e02\u0e36\u0e49\u0e19<br>3.\u0e01\u0e32\u0e23\u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e41\u0e25\u0e30\u0e1b\u0e23\u0e31\u0e1a\u0e1b\u0e23\u0e38\u0e07: \u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e42\u0e04\u0e49\u0e14\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e41\u0e15\u0e48\u0e25\u0e30\u0e2a\u0e48\u0e27\u0e19\u0e41\u0e25\u0e30\u0e1b\u0e23\u0e31\u0e1a\u0e1b\u0e23\u0e38\u0e07\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e40\u0e2a\u0e16\u0e35\u0e22\u0e23\u0e41\u0e25\u0e30\u0e1b\u0e23\u0e30\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e20\u0e32\u0e1e<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">8.\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2d\u0e49\u0e32\u0e07\u0e2d\u0e34\u0e07<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">[8.1] AsyncTCP. \u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Library \u0e41\u0e25\u0e30\u0e01\u0e32\u0e23 installation.<br><a href=\"https:\/\/github.com\/me-no-dev\/AsyncTCP\">GitHub &#8211; me-no-dev\/AsyncTCP: Async TCP Library for ESP32<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[8.2] \u0e01\u0e32\u0e23\u0e27\u0e32\u0e07 code \u0e41\u0e25\u0e30\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e31\u0e1a\u0e41\u0e15\u0e48\u0e07 code Arduino IDE + ESP32 + Pulse Sensor + OLED Display<br><a href=\"https:\/\/www.youtube.com\/watch?v=Pd5nnrwrTBY&amp;t=1181s\">Arduino IDE + ESP32 + Pulse Sensor + OLED Display + Web Server | Heart Rate Monitoring with ESP32 &#8211; YouTube<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0e04\u0e25\u0e34\u0e1b\u0e2d\u0e18\u0e34\u0e1a\u0e32\u0e22 Youtube<\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"video-container\"><iframe loading=\"lazy\" title=\"\u0e41\u0e1a\u0e1a\u0e08\u0e33\u0e25\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e27\u0e31\u0e14\u0e0a\u0e35\u0e1e\u0e08\u0e23\u0e15\u0e49\u0e19\u0e17\u0e38\u0e19\u0e15\u0e48\u0e33 \u0e23\u0e32\u0e22\u0e27\u0e34\u0e0a\u0e32 \u0e01\u0e32\u0e23\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e04\u0e2d\u0e21\u0e1e\u0e34\u0e27\u0e40\u0e15\u0e2d\u0e23\u0e4c\u0e02\u0e31\u0e49\u0e19\u0e2a\u0e39\u0e07 033\" width=\"620\" height=\"349\" src=\"https:\/\/www.youtube.com\/embed\/cuFY9SjWi20?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>1. \u0e04\u0e27\u0e32\u0e21\u0e40\u0e1b\u0e47\u0e19\u0e21\u0e32 &nbsp; &#038;nbsp&#46;&#46;&#46;<\/p>\n","protected":false},"author":61,"featured_media":29943,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16,10],"tags":[],"class_list":["post-2293","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-16","category-10"],"_links":{"self":[{"href":"https:\/\/dp.rmutsv.ac.th\/index.php?rest_route=\/wp\/v2\/posts\/2293","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dp.rmutsv.ac.th\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dp.rmutsv.ac.th\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dp.rmutsv.ac.th\/index.php?rest_route=\/wp\/v2\/users\/61"}],"replies":[{"embeddable":true,"href":"https:\/\/dp.rmutsv.ac.th\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2293"}],"version-history":[{"count":12,"href":"https:\/\/dp.rmutsv.ac.th\/index.php?rest_route=\/wp\/v2\/posts\/2293\/revisions"}],"predecessor-version":[{"id":13402,"href":"https:\/\/dp.rmutsv.ac.th\/index.php?rest_route=\/wp\/v2\/posts\/2293\/revisions\/13402"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dp.rmutsv.ac.th\/index.php?rest_route=\/wp\/v2\/media\/29943"}],"wp:attachment":[{"href":"https:\/\/dp.rmutsv.ac.th\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2293"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dp.rmutsv.ac.th\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2293"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dp.rmutsv.ac.th\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2293"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}