THIẾT kế, PHÁT TRIỂN hệ THỐNG tự ĐỘNG PHÁT HIỆN HIỆN TƯỢNG TĂNG THÂN NHIỆT ở vật NUÔI

90 5 0
THIẾT kế, PHÁT TRIỂN hệ THỐNG tự ĐỘNG PHÁT HIỆN HIỆN TƯỢNG TĂNG THÂN NHIỆT ở vật NUÔI

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

HỌC VIỆN NÔNG NGHIỆP VIỆT NAM KHOA CƠ - ĐIỆN  ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ, PHÁT TRIỂN HỆ THỐNG TỰ ĐỘNG PHÁT HIỆN HIỆN TƯỢNG TĂNG THÂN NHIỆT Ở VẬT NUÔI Giáo viên hướng dẫn : TS… Sinh viên thực : … Msv : … Lớp : K60-TĐH Chuyên ngành : T ỰĐỘN G HÓA Hà Nội – 2020 LỜI CAM ĐOAN Tôi xin cam đoan công trình nghiên cứu riêng tơi, kết nghiên cứu trình bày đồ án trung thực, khách quan chưa dùng để bảo vệ cho đồ án môn học Tôi xin cam đoan giúp đỡ cho việc thực đồ án cám ơn, thơng tin trích dẫn đồ án rõ nguồn gốc Hà Nội, ngày tháng năm 2020 Tác giả đồ án … i LỜI CẢM ƠN Trước tiên em xin gửi lời cảm ơn chân thành tới Ban giám đốc Học viện Nông nghiệp Việt Nam, Ban chủ nhiệm khoa Cơ Điện tồn thể thầy, giáo khoa, trường dạy bảo, dìu dắt em suốt năm qua mái trường Học viện Đặc biệt em xin bày tỏ lòng biết ơn sâu sắc tới giảng viên TS Nguyễn Thái Học môn Tự động hóa Khoa Cơ Điện tận tình hướng dẫn, giúp đỡ em q trình hồn thành đề tài tốt nghiệp Em xin chân thành cảm ơn thầy, cô giáo, bạn bè người thân động viên, giúp đỡ tạo điều kiện tốt cho em hoàn thành tốt đợt làm đồ án Do kiến thức thời gian hạn chế nên đồ án khơng thể tránh khỏi thiếu sót, mong q thầy cơ, bạn đóng góp ý kiến để đồ án em hoàn chỉnh tốt Cuối em xin kính chúc tồn thể thầy cô giáo khoa Cơ Điện, thầy cô Học viện Nơng nghiệp Việt Nam tồn thể bạn bè, người thân sức khỏe, hạnh phúc thành đạt Em xin chân thành cảm ơn! Hà nội, ngày….tháng….năm 2020 Sinh viên … ii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii MỞ ĐẦU 1 Đặt vấn đề h) Trong lĩnh vực nông nghiệp .19 3.3.3 So sánh giá trị kinh tế .64 DANH MỤC BẢNG Bảng 1.1: Nhiệt độ trung bình heo ghi có khơng run rẩy Error: Reference source not found Bảng 2.1: Các kiểu mã thường dùng Error: Reference source not found Bảng 3.1: Bảng kết phân tích với đầu vào ảnh Error: Reference Error: Reference source not found Bảng 3.2: Bảng kết phân tích với đầu vào video source not found Bảng 3.3: Bảng so sánh giá trị kinh tế Error: Reference source not found iii DANH MỤC HÌNH Hình 1.1: Bức xạ nhiệt camera ảnh nhiệt .Error: Reference source not found Hình 1.2: Ngun lí tạo ảnh camera ảnh nhiệt Error: Reference source not found Hình 1.3: Ứng dụng theo dõi an ninh Error: Reference source not found Hình 1.4: Ứng dụng thực thi pháp luật Error: Reference source not Reference source not found Hình 1.5: Ứng dụng an ninh hàng hải Error: found Hình 1.6: Đo thân nhiệt người sân bay camera hồng ngoại Error: Reference source not found Hình 1.7: Ảnh nhiệt chụp lại vị trí chấn thương chân Error: Reference source not found Hình 1.8: Ứng dụng sửa chữa máy móc Error: Reference source not found Hình 1.9: Phát nước thấm camera nhiệt Error: Reference source not found Hình 1.10: Quá trình xử lí ảnh Error: Reference source not found Hình 1.11: Các bước hệ thống xử lý ảnhError: Reference source not found Hình 1.12: Vũ khí công nghệ cao áp dụng kỹ thuật sử lý ảnh xác đinh điểm đến tên lửa xuyên lục địa Error: Reference source not found Hình 1.13: Hệ thống Camera nhận dạng khuôn mặt Error: Reference source not found Hình 1.14: Cơng nghệ xử lý ảnh giúp nhận diện biển số xe Reference source not found iv Error: Hình 1.15: Ứng dụng cơng nghệ xử lý ảnh vào máy X-Quang Error: Reference source not found Hình 1.16: Áp dụng công nghệ xử lý ảnh vào kỹ thuật siêu âm Error: Reference source not found Hình 1.17: Cơng nghệ xử lý ảnh đọc mã vạch sản phẩm Error: Reference source not found Hình 1.18: Cơng nghệ xử lý ảnh áp dụng kiểm tra chất lượng chín dâu tây Error: Reference source not found Hình 1.19: = sở tai trái (BEAR_L); = sở bên phải tai (BEAR_R) ;3 = chóp tai trái (TEAR_L); = chóp tai phải (TEAR_R); = mắt trái mắt phải (EYE_O);6=nhiệt độ trung bình từ đầu đến mơng (AVCRL) Error: Reference source not found Hình 1.20: Hình ảnh nhiệt đầu lợn Lợn (được phác thảo) hiển thị vị trí ba điểm đo tai (màu trắng vòng tròn) Error: Reference source not found Hình 1.21: Ảnh nhiệt lơn trước sau giết thịt Error: Reference source not found Hình 1.22: Hình ảnh nhiệt khn mặt vật q trình bắt đầu bệnh hơ hấp bị Error: Reference source not found Hình 2.1: Sơ đồ khối cơng nghệError: Reference source not found Hình 2.2: Camera ảnh nhiệt cầm tay ST9450 Error: Reference source not found Hình 2.3: Arduino uno R3 Error: Reference source not found Hình 2.4: Sơ đồ chân Arduino uno Error: Reference source not found Hình 2.5: Module sim 900A .Error: Reference source not found Hình 2.6: Sơ đồ chân module sim 900A found v Error: Reference source not Hình 2.7: Sơ đồ ngun lí mạch cảnh báo Error: Reference source not found Hình 2.8: Chuyển đổi hệ thống màu RGB sang Grayscale Error: Reference source not found Hình 2.9: Ví dụ minh họa với ngưỡng Error: Reference source not found Hình 2.10: Trackbars sau tạo Error: Reference source not found Hình 2.11: Kết sau điều chỉnh giá trị Error: Reference source not found Hình 2.12: Ảnh khơng gian màu HSV Error: Reference source not found Hình 2.13: Ảnh sau lọc màu Error: Reference source not found Hình 2.14: Ảnh sau xám hóa nhị phânError: Reference source not found Hình 2.15: Lưu đồ thuật tốn chương trình Error: Reference source not found Hình 2.16: Lưu đồ thuật toán xác định nhiệt độ lớn Error: Reference source not found Hình 2.17: Lưu đồ thuật tốn gửi tin nhắn cảnh báoError: Reference source not found Hình 3.1: Hệ thống phát hiện tượng tăng thân nhiệt vật ni Error: Reference source not found Hình 3.2: Mạch cảnh báo qua tin nhắn sms Error: Reference source not found Hình 3.3: Giao diện làm việc chương trình Error: Reference source not found Hình 3.4: Ảnh nhiệt phần chân ngựa Error: Reference source not found Hình 3.5: Ảnh sau lọc màu Error: Reference source not found Hình 3.6: Ảnh sau xám hóa Error: Reference source not found Hình 3.7: Ảnh sau nhị phân hóa found vi Error: Reference source not Hình 3.8: Kết cuối phần mềm đưa Error: Reference source not found Hình 3.9: Tin nhắn cảnh báo gửi qua tin nhắn sms Error: Reference source not found Hình 3.10: Ảnh nhiệt phần đầu lợn Error: Reference source not found Hình 3.11: Kết phân tích ảnh khơng có vùng nhiệt bất thường Reference source not found vii Error: MỞ ĐẦU Đặt vấn đề Hiện có nhiều cách để chuẩn đoán, xác đinh bệnh phổ biến gia súc gia cầm như: quan sát - nhìn, sờ nắn, gõ, nghe, Các phương pháp chuẩn đốn cần tiếp xúc trực tiếp với thể vật nuôi, điều phần ảnh hưởng tới kết chuẩn đốn tình trạng vật ni tiếp xúc trực tiếp gây hoảng loạn vào tạo stress cho vật nuôi làm cho bệnh nghiêm trọng Do đó, việc ứng dụng camera ảnh nhiệt công nghệ xử lí ảnh đem lại hiệu ưu việt phương pháp chuẩn đoán truyền thống cách tiếp xúc vật lí Khi sử dụng camera ảnh nhiệt để chuẩn đốn giúp ta thu thập liệu cách hiệu quả, xác nhanh chóng mà không cần tiếp xúc trực tiếp Hiện giới việc Nam ứng dụng hiệu công nghệ camera ảnh nhiệt công nghệ xử lí ảnh việc chuẩn đốn số bệnh vật ni Việc ứng dụng cơng nghệ mang lại nhiều ưu điểm việc chuẩn đoán bệnh thể vật ni như: • Đưa kết nhanh chóng xác • Chi phí thực thấp • Giúp thu thập thơng tin quan trọng mà khơng cần tiếp xúc vật lí • Cung cấp cho ta thơng tin sơ bênh, tình trạng bệnh, mức độ nghiêm trọng bệnh mà biện pháp kiểm tra vật lí khơng thể phát Mặc dù có nhiều ưu điểm việc chuẩn đoán bệnh việc sử dụng camera ảnh nhiệt để thu thập liệu tồn số nhược điểm sau: • Chỉ áp dụng với bệnh liên quan đến việc thay đổi nhiệt độ thể vật ni • Dễ bị gây nhiễu yếu tố môi trường xung quanh như: ánh sáng mặt trời, độ ẩm, gây sai lệch q trình đo thu thập liệu Trong khuôn khổ đề tài em cung cấp cho người đọc nhìn tổng quan việc ứng dụng camera ảnh nhiệt cơng cơng nghệ xử lí ảnh việc chuẩn đoán số bệnh gia súc, gia cầm áp dụng giới Việt Nam Từ tình hình thực tế, việc nghiên cứu chế tạo mơ hình hệ thống tự động phát chuẩn đoán số bệnh gây tăng thân nhiệt từ xa góp phần thúc đẩy ngành chăn ni nước ta theo hướng đại hóa Vì em chọn ý tưởng nghiên cứu là: “THIẾT KẾ, PHÁT TRIỂN HỆ THỐNG TỰ ĐỘNG PHÁT HIỆN HIỆN TƯỢNG TĂNG THÂN NHIỆT Ở VẬT NI” Mục đích nghiên cứu đề tài • Tìm vùng nhiệt độ bất thường ảnh thân nhiệt vật ni • Xác định vị trí giá trị nhiệt độ lớn vùng nhiệt bất thường • Gửi tin nhắn cảnh báo số điện thoại cài đặt sẵn Đối tượng nghiên cứu • Phần mềm Open CV (phần mềm sử dụng ngơn ngữ) • Ngơn ngữ lập trình Python • Camera ảnh nhiệt • Arduino uno module sim 900A Nội dung phương pháp nghiên cứu 4.1 Nội dung Chương 1: Tổng quan đề tài Chương 2: Nội dung phương pháp nghiên cứu Chương 3: Kết thảo luận KẾT LUẬN VÀ KIẾN NGHỊ Kết luận Mục tiêu đề tài xác định vùng có dấu hiệu bất thường nhiệt thể vật nuôi thông qua xử lý ảnh thành cơng Sau q trình thực thuật tốn cịn số chỗ chưa hồn tồn tối ưu nên chưa xác tuyệt đối dẫn đến sai số Qua thời gian nghiên cứu thực đồ án dừng mức thử nghiệm nên số chỗ chưa sát với thực tế Bên cạnh cịn có số hạn chế chưa tiếp cận kịp với ngơn ngữ lập trình dẫn đến nhiều thiếu xót Mặc dù em cố gắng giới hạn thời gian nghiên cứu thực hiên lực nên em khơng thể hồn tồn khắc phục hạn chế đề tài Kiến nghị Trong trình thực đề tài, việc tìm hiểu tài liệu tham khảo gặp nhiều khó khăn Em mong nhà trường khoa xây dựng phịng thực hành đại với đầy đủ trang thiết bị Như vậy, giúp cho sinh viên sau tìm tài liệu đầy đủ hơn, khả tiếp cận với công nghệ đại sớm 68 TÀI LIỆU THAM KHẢO [1].Ring, E.F.J & Ammer, Kurt (2012) Infrared thermal imaging in medicine Physiological measurement 33 R33-46 10.1088/09673334/33/3/R33 [2] Nguyễn Thái Học, Phạm Văn Hùng, Nguyễn Thị Duyên, Lê Xuân Hải, Đặng Hữu Anh, Bùi Quí Việt "Tổng quan công nghệ IoT xử lý ảnh chăm sóc sức khỏe vật ni", Journal of Military Science and Technology ISSN: 1859-1043, No 66, April, 2020 [3] Tattersall, G J., and V Cadena "Insights into animal temperature adaptations revealed through thermal imaging." The Imaging Science Journal 58.5 (2010): 261-268 [4] Cooper-Prado, M J., et al "Relationship of ruminal temperature with parturition and estrus of beef cows." Journal of animal science 89.4 (2011): 1020-1027 [5] Montanholi, Y R., et al "Assessing feed efficiency in beef steers through feeding behavior, infrared thermography and glucocorticoids." animal 4.5 (2010): 692-701 [6] Angle, T Craig, and Robert L Gillette "Telemetric measurement of body core temperature in exercising unconditioned Labrador retrievers" Canadian Journal of Veterinary Research 75.2 (2011): 157-159 [7] McCafferty, Dominic J "Applications of thermal imaging in avian science." Ibis 155.1 (2013): 4-15 [8] Stewart, M., et al "Noninvasive assessment of autonomic activity for evaluation of pain in calves, using surgical castration as a model." Journal of dairy science 93.8 (2010): 3602-3609 [9] Tabuaciri, Poasa & Bunter, Kim & Graser, Hans-Ulrich (2016) “Thermal imaging as a potential tool for identifying piglets at risk” 10.13140/RG.2.1.1332.4400 69 [10] Warriss, P D., Pope, S J., Brown, S N., Wilkins, L J., & Knowles, T G (2006) Estimating the body temperature of groups of pigs by thermal imaging Veterinary Record, 158(10), 331-334 [11] Schaefer, A L., Jones, S D M., Murray, A C., Sather, A P &Tong, A K W (1989) Infrared thermography of pigs with known genotypes for stress susceptibility in relation to pork quality Canadian Journal of Animal Science 69: 491-495 [12] Schaefer, A.L., Cook, N.J., Church, J.S., Basarab, J., Perry, B., Miller, C., Tong, A.K.W.,2007 The use of infrared thermography as an early indicator of bovine respiratory disease complex in calves Res Vet Sci 83 (3), 376–384 [13] Một số nguồn internet 70 PHỤ LỤC Chương trình xử lí ảnh #khai bao thu vien from tkinter import * from tkinter import filedialog import tkinter as tk import tkinter.messagebox import cv2 import sys import numpy as np from serial import Serial import serial.tools.list_ports import time import os from urllib.parse import urlparse import threading OPTIONS = [ "egg", "bunny", "chicken" ] if not os.path.exists('temp'): os.makedirs('temp') if not os.path.exists('output'): os.makedirs('output') # list khoang mau 71 list_lower = [ np.uint8([10, 252, 251]), np.uint8([9, 244, 243]), np.uint8([8, 236, 235]), np.uint8([7, 228, 227]), np.uint8([6, 220, 219]), np.uint8([5, 212, 211]), np.uint8([4, 204, 203]), np.uint8([3, 196, 195]), np.uint8([2, 188, 187]), np.uint8([1, 180, 179]), np.uint8([0, 172, 171]), ] list_upper = [ np.uint8([11, 255, 255]), np.uint8([10, 248, 247]), np.uint8([9, 240, 240]), np.uint8([8, 232, 231]), np.uint8([7, 224, 223]), np.uint8([6, 216, 215]), np.uint8([5, 208, 207]), np.uint8([4, 200, 199]), np.uint8([3, 192, 191]), np.uint8([2, 184, 183]), np.uint8([1, 176, 175]) ] window = Tk() filename = '' 72 foundCOM = serial.tools.list_ports.comports() url = Label(window,text="Chọn Cổng COM") url.grid(row=1, column=0 ,padx=10,pady=10) variable = StringVar(window) variable.set("") # default value w = OptionMenu(window , variable, *(window, variable) + tuple(foundCOM) ) w.grid(row=1, column=1) #loc vung mau bat thuong def process_image(frame, ser, index): global filename a, file_extension = os.path.splitext(filename) img = frame hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) lower = list_lower[10] upper = list_upper[0] white_mask = cv2.inRange(hsv, lower, upper) result = cv2.bitwise_and(frame, frame, mask = white_mask) #cv2.imshow('inrange', result) gray = cv2.cvtColor(result, cv2.COLOR_BGR2GRAY) #cv2.imshow('gray', gray) ret, thresh = cv2.threshold(gray ,1 ,255, cv2.THRESH_BINARY) #cv2.imshow('thresh', thresh) contours, hier = cv2.findContours(thresh.copy(), cv2.RETR_TREE, cv2.C HAIN_APPROX_SIMPLE) cv2.drawContours(img, contours, -1, (0,255,0), 3) print(len(contours)) if (len(contours) > 0): 73 # font font = cv2.FONT_HERSHEY_SIMPLEX # org org = (250, 250) # fontScale fontScale = # Blue color in BGR color = (0, 0, 0) # Line thickness of px thickness = #tim nhiet lon nhat flag = True for i in range(10, 0, -1): print(i) lower = list_lower[i] upper = list_upper[i] white_mask = cv2.inRange(hsv, lower, upper) result = cv2.bitwise_and(frame, frame, mask = white_mask) #cv2.imshow('inrange', result) gray = cv2.cvtColor(result, cv2.COLOR_BGR2GRAY) #cv2.imshow('gray', gray) ret, thresh = cv2.threshold(gray ,1 ,255, cv2.THRESH_BINARY) #cv2.imshow('thresh', thresh) contours, hier = cv2.findContours(thresh.copy(), cv2.RETR_TREE, cv2 CHAIN_APPROX_SIMPLE) cv2.drawContours(img, contours, -1, (0,0,0), 12) print(len(contours)) if (len(contours) > 0): 74 # font font = cv2.FONT_HERSHEY_SIMPLEX # org org = (90, 90) # fontScale fontScale = # Blue color in BGR color = (255, 255, 255) # Line thickness of px thickness = text = '{}'.format(i*0.1 + 36.5) cv2.putText(img, text, org, font, fontScale, color, thickness, cv2.LINE_AA) cv2.imshow("origin after", img) cv2.imwrite("output/origin after" + ' ' + str(index)+ "[" + str(i*0.1 + 36 5) + "].png",img) a = urlparse(filename) print(os.path.basename(a.path)) # Send To Arduino textToSend = str(index) + "[" + str(i*0.1 + 36.5) + "].png" + '*' print(textToSend) if variable.get() != '': ser.write(textToSend.encode()) if file_extension != '.mp4': # Found Highest temperature flag = False break if flag: 75 print("Not Found") # output = ser.read(10) a = urlparse(filename) print(os.path.basename(a.path)) if variable.get() != '': ser.write(textToSend.encode()) if file_extension != '.mp4': def getFile(): global filename #tao duong dan toi thu muc chua anh video filename = filedialog.askopenfilename(initialdir = "C:/Users/Admin/Deskt op/python",title = "Select file",filetypes = (("jpeg files","*.jpg"),("mp4 files"," *.mp4"),("all files","*.*"))) e.delete(0,"end") e.insert(0, filename) def process_video(filename, ser): print(filename) cap = cv2.VideoCapture(filename) # Doc video current_time = time.time() i=0 while cap.isOpened(): ret, frame = cap.read() if (ret): cv2.imshow('frame',frame) # print(time.time() - current_time) if time.time() - current_time >= 3: cv2.imwrite('temp/' + str(i) + '.png', frame) if variable.get() != '': 76 process_image(frame, ser, i) else: process_image(frame, None, i) current_time = time.time() i=i+1 if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() cv2.destroyAllWindows() #bao loi chua chon com va anh def process(): global filename if (filename == ''): tkinter.messagebox.showerror(title="Lỗi file ảnh", message="Chưa chọn file ảnh") elif (variable.get() == ''): tkinter.messagebox.showerror(title="Lỗi COM", message="Chưa chọn C OM") a, file_extension = os.path.splitext(filename) index = if variable.get() != '': for com in foundCOM: if (str(com) == variable.get()): break index = index + # Mở cổng COM ser = Serial(foundCOM[index].device, 77 baudrate=9600, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE) time.sleep(2) if file_extension == '.jpg' or file_extension == '.png': img = cv2.imread(filename) a = urlparse(filename) print(os.path.basename(a.path)) print(variable.get()) if variable.get() != '': process_image(img, ser, 0) else: process_image(img, None, 0) elif file_extension == '.mp4': x = threading.Thread(target=process_video, args=(filename, ser)) x.start() # Đợi để kích hoạt cổng COM time.sleep(2) #Tao giao dien chuong trinh window.title("Welcome Thermal Detection") url = Label(window,text="Đường dẫn") url.grid(row=0, column=0 ,padx=10,pady=10) e = Entry(window, width=50) e.grid(row=0, column=1) e.focus_set() gridFrame = tk.Frame(window) 78 b = Button(gridFrame, text="Chọn Ảnh/Video", width=20, command=getFile ).pack(side=tk.LEFT) runbtn = Button(gridFrame, text="Chạy", width=10, command=process).pack (side=tk.LEFT) gridFrame.grid(row = 3, column = 1, padx=20) window.mainloop() Chương trình tạo trackbars import cv2 import sys import numpy as np img_path = sys.argv[1] def nothing(x): pass cv2.namedWindow("Trackbars") cv2.createTrackbar("L - H", "Trackbars", 0, 179, nothing) cv2.createTrackbar("L - S", "Trackbars", 0, 255, nothing) cv2.createTrackbar("L - V", "Trackbars", 0, 255, nothing) cv2.createTrackbar("U - H", "Trackbars", 179, 179, nothing) cv2.createTrackbar("U - S", "Trackbars", 255, 255, nothing) cv2.createTrackbar("U - V", "Trackbars", 255, 255, nothing) def process(frame): #frame = cv2.resize(frame, (320, 160)) #frame = frame[90:160, 0:320] ##### Tracking bar ####### l_h = cv2.getTrackbarPos("L - H", "Trackbars") l_s = cv2.getTrackbarPos("L - S", "Trackbars") l_v = cv2.getTrackbarPos("L - V", "Trackbars") u_h = cv2.getTrackbarPos("U - H", "Trackbars") 79 u_s = cv2.getTrackbarPos("U - S", "Trackbars") u_v = cv2.getTrackbarPos("U - V", "Trackbars") hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) # define range of white color in HSV lower = np.array([l_h, l_s, l_v]) upper = np.array([u_h, u_s, u_v]) mask = cv2.inRange(hsv, lower, upper) white_mask = cv2.inRange(hsv, lower, upper) result = cv2.bitwise_and(frame, frame, mask = white_mask) cv2.imshow('bbb', result) while True: img = cv2.imread(img_path) process(img) # cv2.imshow('aaa', qimg) if cv2.waitKey(1) & 0xFF == ord('q'): break cv2.destroyAllWindows() Chương trình Arduino #include #include SoftwareSerial mySerial(2, 3); unsigned long bauds = 9600; char code[] = "0000"; String phone = "\"0981247020\""; char msg[] = "Hello World!"; String inputString = ""; bool stringComplete = false; void setup() { pinMode(LED_BUILTIN, OUTPUT); Serial.begin(bauds); while (!Serial) {;} mySerial.begin(9600); delay(5000); 80 } void(* resetFunc) (void) = 0; void loop() { if (mySerial.available()){ char c = mySerial.read(); Serial.print(c); } if (Serial.available()){ char c = Serial.read(); Serial.print(c); if ((c != '*')){ inputString += c; } if (c == '*'){ // Co dau hieu bat thuong digitalWrite(LED_BUILTIN, HIGH); delay(300); digitalWrite(LED_BUILTIN, LOW); delay(300); sendSMS(inputString); } else { digitalWrite(LED_BUILTIN, HIGH); delay(300); digitalWrite(LED_BUILTIN, LOW); delay(300); } } } void toggle(){ digitalWrite(LED_BUILTIN, HIGH); delay(300); digitalWrite(LED_BUILTIN, LOW); delay(300); } void sendSMS(String inputString){ mySerial.println("AT+CMGF=1"); toggle(); delay(1000); mySerial.println("AT+CMGS=" + phone); toggle(); delay(1000); 81 mySerial.println(inputString + "co dau hieu bat thuong ve nhiet"); toggle(); delay(1000); mySerial.println((char)26); toggle(); delay(2000); // resetFunc(); } 82 ... gây tăng thân nhiệt từ xa góp phần thúc đẩy ngành chăn ni nước ta theo hướng đại hóa Vì em chọn ý tưởng nghiên cứu là: “THIẾT KẾ, PHÁT TRIỂN HỆ THỐNG TỰ ĐỘNG PHÁT HIỆN HIỆN TƯỢNG TĂNG THÂN NHIỆT... đoán, phát sớm số bệnh vật nuôi tiến hành nghiên cứu đề tài ? ?Thiết kế, phát triển hệ thống tự động phát chuẩn đoán từ xa số bệnh gây tăng thân nhiệt vật ni có giá trị kinh tế cao” Bài tốn cơng nghệ... từ sách, tạp chí điện tử truy cập internet Giới hạn đề tài ? ?Thiết kế, phát triển hệ thống tự động phát hiện tượng tăng thân nhiệt vật nuôi? ?? Thời gian địa điểm thực - Thời gian: Từ tháng 1/2020

Ngày đăng: 18/03/2022, 14:25

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan