Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 87 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
87
Dung lượng
6,42 MB
Nội dung
BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG THIẾT KẾ VÀ THI CÔNG MÁY ĐO THÂN NHIỆT TỰ ĐỘNG KHÔNG TIẾP XÚC GVHD: GVC.ThS TRƯƠNG NGỌC ANH SVTH: PHẠM PHI HẢI MSSV: 15141147 SVTH: NGUYỄN TRUNG HIẾU MSSV: 15141159 SKL 0 Tp Hồ Chí Minh, tháng 01/2020 an BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG MÁY ĐO THÂN NHIỆT TỰ ĐỘNG KHÔNG TIẾP XÚC GVHD: GVC.ThS Trương Ngọc Anh SVTH: Phạm Phi Hải MSSV: 15141147 SVTH: Nguyễn Trung Hiếu MSSV: 15141159 Tp Hồ Chí Minh – 1/2020 an TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o Tp HCM, ngày 20 tháng năm 2021 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Phạm Phi Hải MSSV: 15141147 Nguyễn Trung Hiếu MSSV: 15141159 Chuyên ngành: Kỹ thuật Điện - Điện tử Mã ngành: 01 Hệ đào tạo: Đại học quy Mã hệ: Khóa: 2015 Lớp: 1514DT I TÊN ĐỀ TÀI: THIẾT KẾ THI CÔNG MÁY ĐO THÂN NHIỆT TỰ ĐỘNG KHÔNG TIẾP XÚC II NHIỆM VỤ Các số liệu ban đầu: Máy đo thân nhiệt tự động không tiếp xúc với số liệu ban đầu sau: - Hệ thống thu thập liệu từ cảm biến nhiệt độ khơng tiếp xúc có người đo - Hiển thị giá trị nhiệt độ người đo led đoạn, loa đọc số nhiệt độ gửi giá trị lên server thông qua app Blynk điện thoại - Nếu nhiệt độ người đo 37.5 hệ thống cảnh báo có người sốt chụp ảnh người gửi điện thoại người quản lý máy Nội dung thực hiện: - Tìm hiểu tham khảo tài liệu, giáo trình liên quan tới nội dung đề tài - Thiết kế thi công phần cứng - Chạy thử nghiệm - Chỉnh sửa lỗi xuất - Đánh giá kết - Viết báo cáo luận văn - Báo cáo đề tài tốt nghiệp BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an III NGÀY GIAO NHIỆM VỤ: 10/10/2020 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 20/01/2021 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: GVC.ThS Trương Ngọc Anh CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o -Tp HCM, ngày 20 tháng 01 năm 2021 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Phạm Phi Hải Lớp: 15141DT2B MSSV:15141147 Họ tên sinh viên 2: Nguyễn Trung Hiếu Lớp: 15141DT2A MSSV:15141159 Tên đề tài: THIẾT KẾ VÀ THI CÔNG MÁY ĐO THÂN NHIỆT TỰ ĐỘNG KHÔNG TIẾP XÚC Xác nhận Tuần/ngày Nội dung GVHD Tuần 1,2 Gặp GVHD để lựa chọn đề tài tốt nghiệp 28/09-11/10 viết đề cương chi tiết Tuần 3,4,5 Tìm hiểu linh kiện sử dụng mạch 12/10-1/11 Thiết kế sơ đồ nguyên lý Tuần 6,7,8,9 Lập trình vi điều khiển điều khiển giao tiếp 2/11-29/11 với module mạch Tuần 10,11 Thiết kế hộp sản phẩm, kết nối Arduino Nano 30/11-13/12 Tuần 12 14/12-20/12 Tuần 13,14,15 Với Esp 32 Camera app Blynk Đóng hộp mơ hình, kiểm tra hoạt động hệ thống Kiểm tra sửa lỗi hệ thống Viết báo cáo, BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an nộp báo cáo báo cáo đề tài Làm 21/10-10/01 slide, báo cáo với GVHD GV HƯỚNG DẪN (Ký ghi rõ họ tên) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an LỜI CAM ĐOAN Nhóm sinh viên – Nguyễn Trung Hiếu Phạm Phi Hải xin cam đoan đồ án nhóm tự thực hướng dẫn thầy Trương Ngọc Anh Nhóm tham khảo tài liệu trước nghiên cứu mạng Kết cơng bố khóa luận tốt nghiệp trung thực khơng chép từ tài liệu hay cơng trình có trước Người thực đề tài Phạm Phi hải Nguyễn Trung Hiếu BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an LỜI CẢM ƠN Nhóm thực đồ án xin được gửi lời cảm ơn đặc biệt đến giảng viên hướng dẫn thầy Trương Ngọc Anh giúp đỡ nhóm q trình thực đồ án, người đưa hướng nghiên cứu, giải đáp thắc mắc, tận tình quan sát nhóm làm việc Trong q trình thực nhóm tiếp thu được kiến thức thực tế cách làm việc nghiêm túc, hiệu từ thầy Nhóm em xin gửi lời tri ân chân thành đến quý thầy cô khoa Điện - điện tử hỗ trợ chúng em kiến thức tảng vững vàng, tạo điều kiện tốt cho sinh viên trình học tập nghiên cứu Sự hỗ trợ thầm lặng vơ quan trọng từ gia đình bạn bè ln động lực để nhóm làm việc hết khả hoàn thành đồ án cách tốt Một lần nhóm vơ hân hạnh được làm sinh viên trường ĐH Sư Phạm Kỹ Thuật TPHCM, học trò giảng viên đầy tâm huyết, lời cảm ơn ghi nhận sâu sắc mà nhóm muốn gửi đến thầy cơ, gia đình bạn bè Người thực đề tài Phạm Phi Hải Nguyễn Trung Hiếu BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an MỤC LỤC TÓM TẮT 12 Chương TỔNG QUAN .13 1.1 ĐẶT VẤN ĐỀ 13 1.2 MỤC TIÊU 13 1.3 NỘi DUNG NGHIÊN CỨU 13 1.4 GIỚI HẠN 13 1.5 BỐ CỤC 14 Chương CƠ SỞ LÝ THUYẾT 15 2.1 NHIỆT ĐỘ CƠ THỂ QUA CÁC GIAI ĐOẠN SỐT .15 2.2 GIỚI THIỆU CẢM BIẾN NHIỆT ĐỘ 15 2.2.1 Giới thiệu cảm biến nhiệt độ MLX90614 15 2.2.2 Giới thiệu cảm biến nhiệt độ ZTEMP TL901 .16 2.2.3 Giới thiệu cảm biến nhiệt độ PC151MT-0 17 2.3 GIỚI THIỆU MÁY ĐO NHIỆT ĐỘ .18 2.3.1 Giới thiệu máy đo Infrared Counter K-3S 18 2.3.2 Giới thiệu máy đo K3 PRO Infrared Thermometer 20 2.3.3 Giới thiệu hệ thống camera đo thân nhiệt HIKVISION .22 a) Camera thân nhiệt 24 b) Thiết bị Blackbody hỗ trợ camera thân nhiệt 25 2.4 GIỚI THIỆU MODULE ESP32 .26 2.4.1 Giới thiệu ESP32-WROOM-32 26 2.4.2 Giới thiệu module Esp32-Camera 28 2.5 GIỚI THIỆU MODULE PHÁT ÂM THANH DFPLAYER MINI 30 2.6 GIỚI THIỆU MODULE CHUYỂN MỨC LOGIC TTL 33 Chương TÍNH TỐN VÀ THIẾT KẾ 34 3.1 GIỚI THIỆU 34 3.2 TÍNH TỐN THIẾT KẾ HỆ THỐNG 34 3.2.1 Thiết kế sơ đồ khối hệ thống 34 3.2.2 Tính tốn mạch điện 35 a Khối xử lý điều khiển trung tâm .35 b Khối hiển thị led đoạn .36 c Khối cảm biến 39 d Khối nút nhấn 41 e Khối âm .41 f Khối điều khiển - hiển thị camera .42 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an 3.2.3 Sơ đồ ngun lí tồn mạch 43 Chương THI CÔNG HỆ THỐNG .44 4.1 GIỚI THIỆU 44 4.2 THI CÔNG HỆ THỐNG 44 4.2.1 Thi công board mạch 44 4.2.2 Lắp ráp kiểm tra .47 4.2.3 Thi cơng lắp ráp mơ hình 49 4.2.4 Bảng linh kiện công suất tiêu thụ tương ứng 50 4.3 LẬP TRÌNH HỆ THỐNG 51 4.3.1 Lưu đồ giải thuật .51 4.3.2 Giới thiệu Arduino IDE .52 4.3.3 Giới thiệu app Blynk .56 Chương 5: KẾT QUẢ _NHẬN XÉT_ĐÁNH GIÁ .59 5.1 GIỚI THIỆU 59 5.2 KẾT QUẢ ĐẠT ĐƯỢC 59 5.3 KẾT QUẢ THỰC NGHIỆM 60 5.3.1 Trạng thái hoạt động máy đo 60 5.3.2 Đăng nhập điện thoại giám sát 66 5.4 NHẬN XÉT_ĐÁNH GIÁ 68 5.4.1 Nhận xét 68 5.4.2 Đánh giá 69 Chương KẾT LUẬN_HƯỚNG PHÁT TRIỂN 70 6.1 KẾT LUẬN 70 6.2 HƯỚNG PHÁT TRIỂN 71 TÀI LIỆU THAM KHẢO 72 PHỤ LỤC 73 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an CHƯƠNG KẾT LUẬN_HƯỚNG PHÁT TRIỂN 6.2 HƯỚNG PHÁT TRIỂN - Camera ghi hình máy hoạt động - Dùng nút nhấn cảm ứng, đáp ứng nhanh thao tác người dùng - Thiết kế trang web riêng để gửi nhận thông tin - Loa đọc được thêm nhiều thứ tiếng khác BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an 71 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO Sách tham khảo [1] Trần Thu Hà – Trương Thị Bích Ngà – Nguyễn Thị Lưỡng – Bùi Thị Tuyết Đan – Phù Thị Ngọc Hiếu – Dương Thị Cẩm Tú, Giáo trình Điện tử bản, Nhà xuất đại học quốc gia TP Hồ Chí Minh, 2013 [2] Nguyễn Đình Phú, Giáo trình Vi điều khiển, Trường ĐH Sư Phạm Kỹ Thuật TP Hồ Chí Minh [3] Nguyễn Đình Phú, Giáo trình Vi xử lý nâng cao, Trường ĐH Sư Phạm Kỹ Thuật TP Hồ Chí Minh [4] Nguyễn Đình Phú – Nguyễn Trường Duy, Giáo trình Kỹ thuật số, Nhà xuất đại học quốc gia TP Hồ Chí Minh, 2013 [5] Nguyễn Lâm Hoàng Minh Tuấn – Dương Quốc Trung, Đồ án môn học 1: Truyền liệu hai board Arduino, 2017 Trang web tham khảo [1] www.arduino.vn [2] https://www.youtube.com/watch?v=I-HbdRWwMVY&t=314s [3] https://community.blynk.cc/ [4] www.alldatasheet.com [5] https://sieuthiyte.com.vn/nhiet-ke-do-tran-khong-tiep-xuc-treo-tuong-k31188.html BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an 72 PHỤ LỤC PHỤ LỤC Chương trình code cho Arduino #include #include #include "Arduino.h" #include "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h" Nano SoftwareSerial mySoftwareSerial(9,10); // RX, TX DFRobotDFPlayerMini myDFPlayer; float bien; int ten, ten1, ten2; int one, one1; int point; int vol=20; int chuc; int donvi, donvi2, donvi1; int phay; #define sck // PIN 11 595 #define sdo // PIN 14 595 #define rck // PIN 12 595 #define #define #define #define #define #define SH_CP ST_CP BUTTON 11 // tin hieu c < > f btn led_green led_red vol_cong 13 // vol++ vol_tru A1 // vol-BUTTON1 12 #define cf_fc A2 #define eng_vie A3 #define TRIG_PIN // Chân Trig nối với chân #define ECHO_PIN // Chân Echo nối với chân #define TIME_OUT 10000 // Time_out pulseIn 10000 microsecond Adafruit_MLX90614 mlx = Adafruit_MLX90614(); const unsigned char MA7DOAN[]= {0xC0,0xF9,0xA4,0XB0,0X99,0X92,0X82,0XF8, // ko co dot cham 0X80,0X90}; const unsigned char MA7DOAN_2dot[]= {0x40,0x79,0x24,0X30,0X19,0X12,0X02,0X78, // co dot cham 0X00,0X10}; float body, stemp, body_f; float threshold = 2.3; int i, k,n, dtime; int delayTime = 800; int readcount = 0; int maxRange = 8; int minRange = 4; int maxRange_t = 50; int fc_cf, vie_eng, done; unsigned long dem; extern volatile unsigned long timer0_millis; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an 73 PHỤ LỤC // Chương trình tính khoảng cách float getDistance() { long duration, distanceCm; // Phát xung 10uS từ chân Trig digitalWrite(TRIG_PIN, LOW); delayMicroseconds(2); digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); // Thời gian tín hiệu phản hồi lại chân Echo duration = pulseIn(ECHO_PIN, HIGH, TIME_OUT); // Tính khoảng cách distanceCm = duration / 29.1 / 2; // trả lại giá trịnh tính return distanceCm; } void setup() { // put your setup code here, to run once: Serial.begin(19200); mySoftwareSerial.begin(9600); Serial.println(F("DFRobot DFPlayer Mini Demo")); Serial.println(F("Initializing DFPlayer (May take 3~5 seconds)")); if (!myDFPlayer.begin(mySoftwareSerial)) { //Use softwareSerial to communicate with mp3 Serial.println(F("Unable to begin:")); Serial.println(F("1.Please recheck the connection!")); Serial.println(F("2.Please insert the SD card!")); while(true); } Serial.println(F("DFPlayer Mini online.")); myDFPlayer.setTimeOut(500); //Set serial communictaion time out 500ms // Set volume -myDFPlayer.volume(vol); //Set volume value (0~30) myDFPlayer.volumeUp(); //Volume Up myDFPlayer.volumeDown(); //Volume Down // Set different EQ -myDFPlayer.EQ(DFPLAYER_EQ_NORMAL); // Set device we use SD as default -// myDFPlayer.outputDevice(DFPLAYER_DEVICE_U_DISK); myDFPlayer.outputDevice(DFPLAYER_DEVICE_SD); // myDFPlayer.play(19); pinMode(led_green, OUTPUT); pinMode(led_red, OUTPUT); pinMode(vol_cong, INPUT_PULLUP); //D9 CONG ++ VOL pinMode(vol_tru, INPUT_PULLUP); // set pull-up on analog pin A1 TRU VOL pinMode(TRIG_PIN, OUTPUT); pinMode(ECHO_PIN, INPUT); pinMode(BUTTON, INPUT); pinMode(BUTTON1, INPUT); pinMode(cf_fc, INPUT); pinMode(eng_vie, INPUT); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an 74 PHỤ LỤC pinMode(sck, OUTPUT); pinMode(sdo, OUTPUT); pinMode(rck, OUTPUT); mlx.begin(); } void dem_chuc() { if (chuc == if (chuc == if (chuc == if (chuc == if (chuc == if (chuc == if (chuc == if (chuc == if (chuc == if (chuc == delay(150); 0) 1) 2) 3) 4) 5) 6) 7) 8) 9) myDFPlayer.play(43); myDFPlayer.play(10); myDFPlayer.play(11); myDFPlayer.play(12); myDFPlayer.play(13); myDFPlayer.play(40); myDFPlayer.play(44); myDFPlayer.play(45); myDFPlayer.play(46); myDFPlayer.play(41); // lẻ } void dem_donvi() { if (donvi == 1) myDFPlayer.play(14); // mốt if (donvi1 == 1) myDFPlayer.play(1); // if (donvi == 2) myDFPlayer.play(2); if (donvi == 3) myDFPlayer.play(3); if (donvi == 4) myDFPlayer.play(4); if (donvi == 5) myDFPlayer.play(15); //lăm if (donvi == 6) myDFPlayer.play(6); delay(150); if (donvi == 7) myDFPlayer.play(7); if (donvi == 8) myDFPlayer.play(8); if (donvi == 9) myDFPlayer.play(9); delay(200); } void dem_phay() { if (phay == 1){ myDFPlayer.play(16);delay(450); myDFPlayer.play(1);delay(200);} //phẩy if (phay == 2){ myDFPlayer.play(16);delay(450); myDFPlayer.play(2);delay(200); } if (phay == 3){ myDFPlayer.play(16);delay(450); myDFPlayer.play(3);delay(200); } if (phay == 4){ myDFPlayer.play(16);delay(450); myDFPlayer.play(4);delay(200); } if (phay == 5){ myDFPlayer.play(16);delay(450); myDFPlayer.play(5);delay(200); } if (phay == 6){ myDFPlayer.play(16);delay(450); myDFPlayer.play(6);delay(200); } if (phay == 7){ myDFPlayer.play(16);delay(450); myDFPlayer.play(7);delay(200); } if (phay == 8){ myDFPlayer.play(16);delay(450); myDFPlayer.play(8);delay(200); } if (phay == 9){ myDFPlayer.play(16);delay(450); myDFPlayer.play(9);delay(200); } delay(250); } void dem_ten() // bien >= 20 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an 75 PHỤ LỤC { if (ten == 2) myDFPlayer.play(31); delay(500); //twenty if (ten == 3) { myDFPlayer.play(32); delay(300); myDFPlayer.play(30);delay(310); } //thirty if (ten == 4) { myDFPlayer.play(23); delay(300); myDFPlayer.play(30);delay(310); } if (ten == 5) { myDFPlayer.play(33); delay(300); myDFPlayer.play(30);delay(310); } //fifty if (ten == 6) { myDFPlayer.play(25); delay(300); myDFPlayer.play(30);delay(310); } //sixty if (ten == 7) { myDFPlayer.play(26); delay(600); myDFPlayer.play(30);delay(300); } if (ten == 8) { myDFPlayer.play(27); delay(300); myDFPlayer.play(30); delay(200);} if (ten == 9) { myDFPlayer.play(28); delay(450); myDFPlayer.play(30); delay(310); } //if (ten1 == 0) { myDFPlayer.play(47); } // 10 if (ten1 == 1) { myDFPlayer.play(48); delay(100);} if (ten1 == 2) { myDFPlayer.play(49); delay(100);} if (ten1 == 3) { myDFPlayer.play(32); delay(300); myDFPlayer.play(29); delay(300); } // thirteen if (ten1 == 4) { myDFPlayer.play(23); delay(300); myDFPlayer.play(29); delay(300); } if (ten1 == 5) { myDFPlayer.play(33); delay(300); myDFPlayer.play(29); delay(300); } //fifteen if (ten1 == 6) { myDFPlayer.play(25); delay(300); myDFPlayer.play(29); delay(300); } //sixteen if (ten1 == 7) { myDFPlayer.play(26); delay(600); myDFPlayer.play(29); delay(300); } if (ten1 == 8) { myDFPlayer.play(27); delay(300); myDFPlayer.play(29); delay(300); } if (ten1 == 9) { myDFPlayer.play(28); delay(300); myDFPlayer.play(29); delay(300); } } // 11 // 12 void dem_one() { if if if if if if if if if (one (one (one (one (one (one (one (one (one == == == == == == == == == 1) 2) 3) 4) 5) 6) 7) 8) 9) myDFPlayer.play(20); // one myDFPlayer.play(21); myDFPlayer.play(22); myDFPlayer.play(23); myDFPlayer.play(24); //five myDFPlayer.play(25); myDFPlayer.play(26); delay(400); myDFPlayer.play(27); myDFPlayer.play(28); delay(400); } void dem_point() { if (point == 1){ myDFPlayer.play(36);delay(450); myDFPlayer.play(20);delay(200);} //point if (point == 2){ myDFPlayer.play(36);delay(450); myDFPlayer.play(21);delay(200); } if (point == 3){ myDFPlayer.play(36);delay(450); myDFPlayer.play(22);delay(200); } if (point == 4){ myDFPlayer.play(36);delay(450); myDFPlayer.play(23);delay(200); } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an 76 PHỤ LỤC if (point == 5){ myDFPlayer.play(36);delay(450); myDFPlayer.play(24);delay(200); } if (point == 6){ myDFPlayer.play(36);delay(450); myDFPlayer.play(25);delay(200); } if (point == 7){ myDFPlayer.play(36);delay(450); myDFPlayer.play(26);delay(400); } if (point == 8){ myDFPlayer.play(36);delay(450); myDFPlayer.play(27);delay(200); } if (point == 9){ myDFPlayer.play(36);delay(450); myDFPlayer.play(28);delay(200); } } void temp_reading_vie() { dem_chuc(); delay(450); dem_donvi(); delay(250); dem_phay(); } void temp_reading_eng() { dem_ten(); dem_one(); dem_point(); delay(400); } void dem_tieng_viet() { if(bien == 100) myDFPlayer.play(42); if(bien > 100 && bien < 101){ myDFPlayer.play(42); phay = (bien - 100)*10; } if(bien >= 101) { myDFPlayer.play(42);delay(650); bien = bien - 100; chuc = bien/10; donvi2 = bien - chuc*10; if(chuc == | chuc == 1) donvi1 = donvi2; // 100 lẻ or 100 mười donvi = donvi2; // mốt phay = (bien - chuc*10 - donvi2)*10; } else { chuc = bien/10; donvi2 = bien - chuc*10; if(chuc==0 | chuc==1) // mốt | donvi1 = donvi2; donvi = donvi2; phay = (bien - chuc*10 - donvi2)*10; } } void dem_tieng_anh() { if(bien == 100) myDFPlayer.play(34); if(bien > 100 && bien < 101){ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an 77 PHỤ LỤC myDFPlayer.play(34); // 100 point >9 point = (bien - 100)*10; delay(100); } if(bien >= 101) { myDFPlayer.play(34);delay(700); myDFPlayer.play(35);delay(300); // 100 and bien = bien - 100; ten2 = bien/10; one1 = bien - ten2*10; if(ten2 if(ten2 if(ten2 if(ten2 point == == == >= 0) one = one1; 1) ten1 = one1; && one1 == 0) myDFPlayer.play(47); 2) { ten = ten2; one = one1;} //ten = (bien - ten2*10 - one1)*10; } else { // bien = 20){ ten = ten2; one = one1; } else { ten1=one1; } point = (bien - ten2*10 - one1)*10; } } void nut_nhan_vol_cong() { if (digitalRead(vol_cong) != 0) { delay(100); if (digitalRead(vol_cong) != 0) { vol=vol+5; if(vol>30) vol=30; myDFPlayer.volume(vol); //if(dem < 5) hien_volume();delay(1000); } } } void nut_nhan_vol_tru() { if (digitalRead(vol_tru) != 0) { delay(100); if (digitalRead(vol_tru) != 0) { vol=vol-5; if(vol 3) if((distance > maxRange) && (distance maxRange) && (distance minRange) && (distance 0) && (distance