1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế và thi công mô hình hệ thống nuôi tôm bán tự động

84 2 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 84
Dung lượng 3,62 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 CNKT ĐIỆN TỬ TRUYỀN THƠNG THIẾT KẾ VÀ THI CƠNG MƠ HÌNH HỆ THỐNG NUÔI TÔM BÁN TỰ ĐỘNG GVHD: TS TRƯƠNG NGỌC SƠN SVTH: ĐẶNG VĂN THƯỞNG MSSV: 14141311 SVTH: NGUYỄN ĐỨC LỢI MSSV: 13141175 SKL 0 Tp Hồ Chí Minh, tháng 01/2021 TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC o0o -Tp.HCM, ngày 15 tháng năm 2021 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Chuyên ngành: Hệ đào tạo: Khóa: I Đặng Văn Thưởng Nguyễn Đức Lợi Điện tử công nghiệp Đại học quy 2014 MSSV: 14141311 MSSV: 13141175 Mã ngành: 41 Mã hệ: Lớp: 14141DT1A 13141DT3A TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CƠNG MƠ HÌNH HỆ THỐNG NI TƠM BÁN TỰ ĐỘNG II NHIỆM VỤ Các số liệu ban đầu:  Kit ESP32, ESP32-CAM ngôn ngữ lập trình  Tài liệu ESP32, ESP32-CAM , Blynk  Thư viện LCD, servo, ESP, ESP32-CAM Nội dung thực hiện:  Nội dung 1: Tìm hiểu nghiên cứu dòng ESP32, module ESP32-CAM, module L298, động servo, cảm biến nhiệt độ, cảm biến PH, cảm biến độ đục  Nội dung 2: Giao tiếp ESP32 với cảm biến ESP32-CAM  Nội dung 3: Điều khiển thiết bị theo cảm biến, thời gian, hiển thị thời gian thực  Nội dung 4: Thiết kế hiển thị thông tin lên ứng dụng Blynk  Nội dung 5: Lập trình điều khiển thông qua ứng dụng điện thoại  Nội dung 6: Thiết kế mơ hình sản phẩm  Nội dung 7: Đánh giá kết thực III IV V NGÀY GIAO NHIỆM VỤ: 10/10/2020 NGÀY HOÀN THÀNH NHIỆM VỤ: 15/01/2021 HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: TS Trương Ngọc Sơn CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH i TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC o0o -Tp HCM, ngày tháng 10 năm 2020 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Đặng Văn Thưởng Lớp: 14141DT1A MSSV: 14141311 Họ tên sinh viên 2: Nguyễn Đức Lợi Lớp: 13141DT1A MSSV:13141175 Tên đề tài: Thiết kế thi công mô hình hệ thống ni tơm bán tự động Tuần/ngày Tuần (5/10/2020) Nội dung Nhận đồ án , tìm hiểu đề tài Tuần (14/10/2020) Chọn tìm hiểu đề tài Tuần 3,4, (15/105/11/2020) Xác nhận GVHD Tìm hiểu nghiên cứu giao tiếp Module ESP 32 với cảm biến Tuần 6, 7, Điều khiển thiết bị theo cảm biến (6/11 – 27/11/202020) Tuần 9,10,11 Thiết kế lập trình ứng dụng điện (28/11 – 19/12/2020) thoại thông minh gửi hoạt động lên App Tuần 13, 14 (18/12 - 8/01/2021) Tìm hiểu thiết kế mơ hình sản phẩm Tuần 15 (15/01/2021) Hồn thành báo cáo, kiểm phần cứng Tuần 16 28/01/2021 Hoàn thành nhiệm vụ đồ án GV HƯỚNG DẪN (Ký ghi rõ họ tên) ii LỜI CAM ĐOAN Đề tài tự thực dựa vào số tài liệu trước khơng chép từ tài liệu hay cơng trình có trước Nếu có gian lận xin chịu trách nhiệm nội dung đồ án Người thực Đặng Văn Thưởng – Nguyễn Đức Lợi iii LỜI CẢM ƠN    Chúng em xin chân thành cảm ơn quý Thầy Cô trường Đại Học Sư Phạm Kỹ Thuật TP.HCM tận tình dạy dỗ chúng em suốt năm qua Trong phải kể đến q thầy khoa Điện – Điện Tử truyền đạt kiến thức, từ kiến thức, chúng em kết lại thành đồ án cuối cùng, đồ án tốt nghiệp tay tạo ra, bàn đạp để bước vào cánh cửa lớn Đặc biệt, Chúng em xin cảm ơn sâu sắc thầy Trương Ngọc Sơn giúp đỡ chúng em trình lựa chọn đề tài hỗ trợ chúng em trình thực đề tài Trong trình thực đồ án xảy nhiều khó khăn, thiếu sót góp ý thầy chúng em gặt hái nhiều kiến thức kinh nghiệm Chúng em không quên cảm ơn đấng sinh thành, người thân gia đình ln động viên tạo điều kiện tốt sống, học tập trình thực hoàn thành đề tài Cám ơn Sư Phạm Kỹ Thuật! Xin chân thành cám ơn! Người thực để tài Đặng Văn Thưởng – Nguyễn Đức Lợi iv MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP ii LỜI CAM ĐOAN iii MỤC LỤC v DANH MỤC HÌNH x DANH MỤC BẢNG xii TÓM TẮT xiii Chương TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU ĐỀ TÀI 1.3 NỘI DUNG THỰC HIỆN 1.4 GIỚI HẠN CỦA ĐỀ TÀI 1.5 BỐ CỤC ĐỒ ÁN Chương 1: Tổng Quan Chương 2: Cơ Sở Lý Thuyết Chương 3: Thiết Kế Và Tính Tóan Hệ Thống Chương 4: Thi Công Hệ Thống Chương 5: Kết Quả, Nhận Xét Đánh Giá Chương 6: Kết Luận Và Hướng Phát Triển Chương 1: Tổng Quan Chương 2: Cơ Sở Lý Thuyết v Chương 3: Tính Tốn Và Thiết Kế Hệ Thống Chương 4: Thi Công Hệ Thống Chương 5: Kết Qủa, Nhận Xét, Đánh Gía Chương 6: Kết Luận Và Hướng Phát Triển Chương CƠ SỞ LÝ THUYẾT 2.1 QUY TRÌNH NUÔI TÔM 2.1.1 Đặc tính sinh trưởng tôm 2.1.2 Mơ Tả quy trình giám sát ao nuôi 2.2 GIỚI THIỆU PHẦN CỨNG 2.2.1 Cảm biến nhiệt 2.2.2 Cảm biến pH 2.2.3 Cảm biến độ đục 2.2.4 ESP-32 10 2.2.5 Giới thiệu LCD 20×4 11 2.2.6 Module giảm áp DC-DC LM2596 12 2.2.7 Tổng quan ESP32-CAM 14 2.2.8 Động servo 16 2.2.9 Bơm mini 17 2.2.11 Giới thiệu Module L298 18 2.2.12 Giới thiệu chuẩn I2C 20 Chương TÍNH TỐN VÀ THIẾT KẾ 22 3.1 GIỚI THIỆU 22 3.2 TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG 22 3.2.1 Thiết kế sơ đồ khối hệ thống 22 Khối Module Esp32-cam 23 Khối hiển thị 23 Khối cảm biến DS18B20 23 Khối cảm biến độ đục 23 Khối cảm biến độ pH 23 Khối thời gian thực 23 v i Khối động servo 23 Khối L298 23 Khối nguồn 23 3.3.2 Tính tốn thiết kế mạch 23 Khối điều khiển xử lý 23 Các module cảm biến 24 Cảm biến nhiệt độ: 24 Cảm biến độ pH: 24 Cảm biến độ đục: 25 Module L298 25 Khối hiển thị: 26 Esp32-cam 27 Thiết bị chấp hành: 28 Bơm 28 Bơm nhu động 28 Động servo 28 Quạt nước 28 Hệ thống cho tôm ăn 29 Khối nguồn: 30 Sơ đồ nguyên lý toàn mạch 31 Chương THI CÔNG HỆ THỐNG 32 4.1 THI CÔNG MẠCH ĐIỀU KHIỂN 32 4.2 THI CÔNG BẢNG ĐIỀU KHIỂN 34 4.3 TIẾN HÀNH THI CƠNG VÀ LẮP RÁP HỆ THỐNG HỒN CHỈNH 34 4.3.1 Mặt trước 35 4.3.2 Mặt bên 36 4.4 LƯU ĐỒ GIẢI THUẬT 36 4.5 GIỚI THIỆU VỀ PHẦN MỀM LẬP TRÌNH 41 Chương 5: KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ 50 5.1 KẾT QUẢ ĐẠT ĐƯỢC 50 v ii 5.2 KẾT QUẢ THỬ NGHIỆM HỆ THỐNG 50 5.2.1 Quá trình chạy ứng dụng điện thoại 50 5.2.2 Quá trình vận hành phần cứng hệ thống 53 5.3 NHẬN XÉT - ĐÁNH GIÁ 54 Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 54 6.1 KẾT LUẬN 54 6.2 HƯỚNG PHÁT TRIỂN 54 TÀI LIỆU THAM KHẢO 55 PHỤ LỤC 56 v ii i DANH MỤC HÌNH Hình 2- 1: Cảm biến DS18B20 Hình 2- 2: Điện cực đo pH Hình 2- 3: Module chuyển giá trị pH Hình 2- 4: Cảm biến độ đục Hình 2- 5: Hình ảnh Node MCU-32S thực tế .10 Hình 2- 6:Màn hình LCD 20×4 11 Hình 2- 7: Module giảm áp DC-DC LM2596 13 Hình 2- 8: Sơ đồ nguyên lý mạch giảm áp DC-DC 13 Hình 2- 9: Module ESP-32CAM .14 Hình 2- 10: Sơ đồ chân esp32-cam 15 Hình 2- 11: Hình ảnh thực tế động servo 16 Hình 2- 12: Hình ảnh bơm mini thực tế .17 Hình 2- 13: Hình ảnh thực tế động nhu động 18 Hình 2- 14: Hình ảnh thực tế module L298 18 Hình 2- 15: Sơ đồ kết nối module L298 19 Hình 2- 16: Sơ đồ truyền I2C 21 Hình 3- 1: Sơ đồ khối mơ hình ni tơm bán tự động 22 Hình 3- 2: Sơ đồ kết nối cảm biến DS18B20 với ESP32 .24 Hình 3- 3: Sơ đồ kết nối cảm biến độ pH với ESP32 24 Hình 3- 4: Sơ đồ kết nối cảm biến độ đục với ESP32 25 Hình 3- 5: Sơ đồ nguyên lý module l298 .26 Hình 3- 6: Sơ đồ kết nối i2c kết nối LCD 20×4 27 Hình 3- 7: Sơ đồ kết nối esp32-cam 27 Hình 3- 8: Sơ đồ kết nối động servo với ESP32 28 Hình 3- 9: Quạt tự làm cho mơ hình 29 Hình 3- 10:Máy cho ăn mơ hình 29 Hình 3- 11:Sơ đồ nguyên lý toàn hệ thống 31 Hình 4- 1: Sơ đồ bố trí linh kiện mặt 33 Hình 4- 2: Sơ đồ bố trí linh kiện mặt 33 Hình 4- 3: Sơ đồ bố trí linh kiện mặt 34 x TÀI LIỆU THAM KHẢO Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 KẾT LUẬN Sau thời gian tìm hiểu, nghiên cứu thực nhóm hồn thành đề tài “THIẾT KẾ VÀ THI CƠNG MƠ HÌNH HỆ THỐNG NI TƠM BÁN TỰ ĐỘNG” Đạt yêu cầu ban đầu đề ra, cụ thể là:  Mơ hình điều khiển trực tiếp thiết bị vận hành bơm, quạt, máy cho ăn máng kéo thông qua nút nhấn trực tiếp phần cứng  Mơ hình hiển thị giá trị cảm biến LCD, ứng dụng điện thoại  Tồn hệ thống chạy thời gian dài, tương đối ổn định, đạt kết tốt 6.2 HƯỚNG PHÁT TRIỂN  Thiết kế hệ thống phát tín hiệu cảnh báo hệ thống gặp cố cháy nổ, điện  Thiết kế nguồn điện dự phịng điện Có thể sử dụng nguồn lượng lượng gió, lượng mặt trời để thay  Thiết kế hệ thống phát tơm bị bệnh Có chế độ cho ăn phù hợp với giai đoạn phát triển tôm  Thiết kế trang web riêng hiển thị, cập nhật thơng tin từ thực tế giá đầu đầu vào Cập nhật loại giống tơm BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 55 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO Sách tham khảo: [1] Nguyễn Đình Phú, “Giáo Trình Vi Xử Lý ” , Xuất ĐH Quốc Gia Tp.HCM, 2016 [2] 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 [3] 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 Các trang web tham khảo: [4] www.arduino.vn [5] https://www.youtube.com/watch?v=I-HbdRWwMVY&t=314s [6] https://community.blynk.cc/ [7] www.alldatasheet.com BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 55 TÀI LIỆU THAM KHẢO PHỤ LỤC ĐOẠN CODE CHƯƠNG TRÌNH CHÍNH #define BLYNK_PRINT Serial #include #include #include #include #include #include #include #include #include #include #define bt_tb1 12 #define bt_tb2 #define bt_tb3 15 // #define bt_tb4 23 #define bt_tb5 #define bt_tb6 #define bt_tb7 18 #define bt_tb8 19 #define M1 14 #define M2 27 #define M3 26 #define M4 25 #define M5 33 #define M6 32 #define ONE_WIRE_BUS 13 #define SensorPin 39 #define SensorPin_duc 36 BlynkTimer timer; LiquidCrystal_I2C lcd(0x27, 20, 4); Servo servo1; OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); WidgetRTC rtc; WidgetBridge bridge1(V8); char auth[] = "bhnkmLLGgwWCX_PDh3BltS3d_mLVTTdy"; char ssid[] = "hihi"; char pass[] = "12345678"; char server[] = "blynk-cloud.com"; // URL for Blynk Cloud Server int port = 8080; int st_bt_tb1 = HIGH; int st_bt_tb2 = HIGH; int st_bt_tb3 = HIGH; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 56 TÀI LIỆU THAM KHẢO int st_bt_tb4 = HIGH; int st_bt_tb5 = HIGH; int st_bt_tb6 = HIGH; int st_bt_tb7 = HIGH; int st_bt_tb8 = HIGH; int st_out_tb1 = HIGH; int st_out_tb2 = HIGH; int st_out_tb3 = HIGH; int st_out_tb4 = HIGH; int st_out_tb5 = HIGH; int st_out_tb6 = HIGH; int st_out_tb7 = HIGH; int st_out_tb8 = HIGH; float phValue; unsigned long int avgValue; //Store the average value of the sensor feedback float b; int buf[10], temp; int mkn = 1; int tempC, temCcai = 35; int deviceCount = 0; float giatriduc; int tam = 0, gio, phut, giay; String gios; String phuts; String giays; byte ktdegree[8] = {0B01110, 0B01010, 0B01110, 0B00000, 0B00000, 0B00000, 0B00000, 0B00000}; void setup() { Serial.begin(9600); pinMode(bt_tb1, INPUT_PULLUP); pinMode(bt_tb2, INPUT_PULLUP); pinMode(bt_tb3, INPUT_PULLUP); pinMode(bt_tb4, INPUT_PULLUP); pinMode(bt_tb5, INPUT_PULLUP); pinMode(bt_tb6, INPUT_PULLUP); pinMode(bt_tb7, INPUT_PULLUP); pinMode(bt_tb8, INPUT_PULLUP); setSyncInterval(10 * 60); ESP32PWM::allocateTimer(0); ESP32PWM::allocateTimer(1); ESP32PWM::allocateTimer(2); ESP32PWM::allocateTimer(3); servo1.setPeriodHertz(50); servo1.attach(2, 500, 2400); servo1.writeMicroseconds(1500); sensors.begin(); deviceCount = sensors.getDeviceCount(); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 57 TÀI LIỆU THAM KHẢO Serial.print(deviceCount, DEC); Serial.println(" devices."); lcd.begin (); lcd.backlight(); lcd.createChar(1, ktdegree); lcd.setCursor(0, 0); lcd.print("Be Nuoi Tom"); timer.setInterval(1000L, sendSensor); timer.setInterval(100L, checkPhysicalButton); timer.setInterval(5000L, xoalcd); timer.setInterval(10000L, clockDisplay); mkn = 1; delay(1000); lcd.clear(); } void loop() { if (mkn == 1) { WiFi.begin(ssid, pass); lcd.clear(); while (WiFi.status() != WL_CONNECTED) { delay(50); st_out_tb8 = 1; Serial.print("cho ket noi"); lcd.setCursor(15, 0); lcd.print("MKN!"); timer.run(); HTLCD_MKN(); CHEDO(); } lcd.clear(); Blynk.config(auth, server, port); Blynk.connect(); mkn = 0; } if (WiFi.status() != WL_CONNECTED) { mkn = 1; } Blynk.run(); timer.run(); HTLCD(); CHEDO(); } //////////////////////////////////////////// void HTLCD_MKN() { lcd.setCursor(0, 3); lcd.print("Che do: "); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 58 TÀI LIỆU THAM KHẢO lcd.setCursor(0, 0); lcd.print("Temp: "); lcd.print(tempC); lcd.write(1); lcd.print("C"); lcd.setCursor(0, 1); lcd.print("Do PH: "); lcd.print(phValue); lcd.setCursor(0, 2); lcd.print("Do Duc: "); lcd.print(giatriduc); } /////////////////////////////////////////// void HTLCD() { lcd.setCursor(0, 3); lcd.print("Che do: "); lcd.setCursor(0, 0); lcd.print("Temp: "); lcd.print(tempC); lcd.write(1); lcd.print("C"); lcd.setCursor(0, 1); lcd.print("Do PH: "); lcd.print(phValue); lcd.setCursor(0, 2); lcd.print("Do Duc: "); lcd.print(giatriduc); lcd.setCursor(15, 0); lcd.print(gio); lcd.print(":"); lcd.print(phut); } ////////////////////////////////////////////////// void CHEDO() { gios = String(hour()); phuts = String(minute()); giays = String(second()); gio = gios.toInt(); phut = phuts.toInt(); giay = giays.toInt(); if (st_out_tb8 == 1) { lcd.setCursor(9, 3); lcd.print("Manual"); } else { lcd.setCursor(9, 3); lcd.print("Auto "); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 59 TÀI LIỆU THAM KHẢO if (gio >= 17 && gio 31) { analogWrite(M1, 250); Blynk.virtualWrite(V0, LOW); } else{ analogWrite(M1, 0); Blynk.virtualWrite(V0, HIGH); } if (giatriduc>=1.5 && giatriduc buf[j]) { temp = buf[i]; buf[i] = buf[j]; buf[j] = temp; } } } avgValue = 0; for (int i = 2; i < 8; i++) //take the average value of center sample avgValue += buf[i]; phValue = (3000.0 * ((avgValue / 6.0) * 3.3 / 4095.0) / 2000.0) ; //convert the analog into millivolt phValue = 3.5 * phValue; //convert the millivolt into pH value BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 60 TÀI LIỆU THAM KHẢO float adc = analogRead(SensorPin_duc); giatriduc = (3000.0 * (adc * 3.3 / 4095.0) / 2000.0) ; Blynk.virtualWrite(V10, tempC); Blynk.virtualWrite(V11, phValue); Blynk.virtualWrite(V12, giatriduc); } //////////////////////////////////////////////// void checkPhysicalButton() { if (st_out_tb8 == 1) { if (digitalRead(bt_tb1) == LOW) { if (st_bt_tb1 != LOW) { st_out_tb1 = !st_out_tb1; if ( st_out_tb1 == 0) analogWrite(M1, 250); else analogWrite(M1, 0); Blynk.virtualWrite(V0, st_out_tb1); } st_bt_tb1 = LOW; } else { st_bt_tb1 = HIGH; } if (digitalRead(bt_tb2) == LOW) { if (st_bt_tb2 != LOW) { st_out_tb2 = !st_out_tb2; if ( st_out_tb2 == 0) analogWrite(M2, 250); else analogWrite(M2, 0); Blynk.virtualWrite(V1, st_out_tb2); } st_bt_tb2 = LOW; } else { st_bt_tb2 = HIGH; } if (digitalRead(bt_tb3) == LOW) { if (st_bt_tb3 != LOW) { st_out_tb3 = !st_out_tb3; if ( st_out_tb3 == 0) analogWrite(M3, 250); else analogWrite(M3, 0); Blynk.virtualWrite(V2, st_out_tb3); } st_bt_tb3 = LOW; } else { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 61 TÀI LIỆU THAM KHẢO st_bt_tb3 = HIGH; } if (digitalRead(bt_tb4) == LOW) { if (st_bt_tb4 != LOW) { st_out_tb4 = !st_out_tb4; if ( st_out_tb4 == 0) analogWrite(M4, 250); else analogWrite(M4, 0); Blynk.virtualWrite(V3, st_out_tb4); } st_bt_tb4 = LOW; } else { st_bt_tb4 = HIGH; } if (digitalRead(bt_tb5) == LOW) { if (st_bt_tb5 != LOW) { st_out_tb5 = !st_out_tb5; if ( st_out_tb5 == 0) analogWrite(M5, 250); else analogWrite(M5, 0); Blynk.virtualWrite(V4, st_out_tb5); } st_bt_tb5 = LOW; } else { st_bt_tb5 = HIGH; } if (digitalRead(bt_tb6) == LOW) { if (st_bt_tb6 != LOW) { st_out_tb6 = !st_out_tb6; if ( st_out_tb6 == 0) analogWrite(M6, 250); else analogWrite(M6, 0); Blynk.virtualWrite(V5, st_out_tb6); } st_bt_tb6 = LOW; } else { st_bt_tb6 = HIGH; } if (digitalRead(bt_tb7) == LOW) { if (st_bt_tb7 != LOW) { st_out_tb7 = !st_out_tb7; if (st_out_tb7 == && tam == ) { servo1.writeMicroseconds(2000); delay(3000); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 62 TÀI LIỆU THAM KHẢO servo1.writeMicroseconds(1500); bridge1.digitalWrite(14, HIGH); delay(2000); bridge1.digitalWrite(14, LOW); tam = 1; } if (st_out_tb7 == && tam == ) { servo1.writeMicroseconds(1000); delay(3000); servo1.writeMicroseconds(1500); tam = 0; } Blynk.virtualWrite(V6, st_out_tb7); } st_bt_tb7 = LOW; } else { st_bt_tb7 = HIGH; } } if (digitalRead(bt_tb8) == LOW) { if (st_bt_tb8 != LOW) { st_out_tb8 = !st_out_tb8; Blynk.virtualWrite(V7, st_out_tb8); } st_bt_tb8 = LOW; } else { st_bt_tb8 = HIGH; } } ///////////////////////////////////////////////////////// BLYNK_WRITE(V0) { if (st_out_tb8 == 1) { st_out_tb1 = param.asInt(); if ( st_out_tb1 == 0) analogWrite(M1, 250); else analogWrite(M1, 0); } } BLYNK_WRITE(V1) { if (st_out_tb8 == 1) { st_out_tb2 = param.asInt(); if ( st_out_tb2 == 0) analogWrite(M2, 250); else BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 63 TÀI LIỆU THAM KHẢO analogWrite(M2, 0); } } BLYNK_WRITE(V2) { if (st_out_tb8 == 1) { st_out_tb3 = param.asInt(); if ( st_out_tb3 == 0) analogWrite(M3, 250); else analogWrite(M3, 0); } } BLYNK_WRITE(V3) { if (st_out_tb8 == 1) { st_out_tb4 = param.asInt(); if ( st_out_tb4 == 0) analogWrite(M4, 250); else analogWrite(M4, 0); } } BLYNK_WRITE(V4) { if (st_out_tb8 == 1) { st_out_tb5 = param.asInt(); if ( st_out_tb5 == 0) analogWrite(M5, 250); else analogWrite(M5, 0); } } BLYNK_WRITE(V5) { if (st_out_tb8 == 1) { st_out_tb6 = param.asInt(); if ( st_out_tb6 == 0) analogWrite(M6, 250); else analogWrite(M6, 0); } } BLYNK_WRITE(V6) { if (st_out_tb8 == 1) { st_out_tb7 = param.asInt(); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 64 TÀI LIỆU THAM KHẢO if (st_out_tb7 == && tam == ) { servo1.writeMicroseconds(2000); delay(3000); servo1.writeMicroseconds(1500); bridge1.digitalWrite(14, HIGH); delay(2000); bridge1.digitalWrite(14, LOW); tam = 1; } if (st_out_tb7 == && tam == ) { servo1.writeMicroseconds(1000); delay(3000); servo1.writeMicroseconds(1500); tam = 0; } } } BLYNK_WRITE(V7) { st_out_tb8 = param.asInt(); } BLYNK_CONNECTED() { Blynk.syncVirtual(V0); Blynk.syncVirtual(V1); Blynk.syncVirtual(V2); Blynk.syncVirtual(V3); Blynk.syncVirtual(V4); Blynk.syncVirtual(V5); Blynk.syncVirtual(V6); Blynk.syncVirtual(V7); rtc.begin(); bridge1.setAuthToken("zUe7sTWl6huXugUwts9EYFwAH7y8S5HI"); } //////////////////////////////////////////////////////////////////////////// void xoalcd() { lcd.clear(); } /////////////////// void clockDisplay() { gios = String(hour()); phuts = String(minute()); giays = String(second()); } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 65 TÀI LIỆU THAM KHẢO ĐOẠN CODE CHƯƠNG TRÌNH ESP32_CAM #include "esp_camera.h" #include #include #include const char* ssid = "hihi"; const char* password = "12345678"; char auth[] = "zUe7sTWl6huXugUwts9EYFwAH7y8S5HI"; //sent by Blynk // Select camera model #define CAMERA_MODEL_AI_THINKER // Has PSRAM #include "camera_pins.h" #define PIR 13 #define PHOTO 14 #define LED String local_IP; void startCameraServer(); void takePhoto() { digitalWrite(LED, HIGH); delay(200); uint32_t randomNum = random(50000); Serial.println("http://"+local_IP+"/capture?_cb="+ (String)randomNum); Blynk.setProperty(V1, "urls", "http://"+local_IP+"/capture?_cb="+(String)randomNum); digitalWrite(LED, LOW); } void setup() { Serial.begin(115200); pinMode(LED,OUTPUT); Serial.setDebugOutput(true); Serial.println(); digitalWrite(LED, LOW); camera_config_t config; config.ledc_channel = LEDC_CHANNEL_0; config.ledc_timer = LEDC_TIMER_0; config.pin_d0 = Y2_GPIO_NUM; config.pin_d1 = Y3_GPIO_NUM; config.pin_d2 = Y4_GPIO_NUM; config.pin_d3 = Y5_GPIO_NUM; config.pin_d4 = Y6_GPIO_NUM; config.pin_d5 = Y7_GPIO_NUM; config.pin_d6 = Y8_GPIO_NUM; config.pin_d7 = Y9_GPIO_NUM; config.pin_xclk = XCLK_GPIO_NUM; config.pin_pclk = PCLK_GPIO_NUM; config.pin_vsync = VSYNC_GPIO_NUM; 66 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH TÀI LIỆU THAM KHẢO config.pin_href = HREF_GPIO_NUM; config.pin_sscb_sda = SIOD_GPIO_NUM; config.pin_sscb_scl = SIOC_GPIO_NUM; config.pin_pwdn = PWDN_GPIO_NUM; config.pin_reset = RESET_GPIO_NUM; config.xclk_freq_hz = 20000000; config.pixel_format = PIXFORMAT_JPEG; // if PSRAM IC present, init with UXGA resolution and higher JPEG quality // for larger pre-allocated frame buffer if(psramFound()){ config.frame_size = FRAMESIZE_UXGA; config.jpeg_quality = 10; config.fb_count = 2; } else { config.frame_size = FRAMESIZE_SVGA; config.jpeg_quality = 12; config.fb_count = 1; } // camera init esp_err_t err = esp_camera_init(&config); if (err != ESP_OK) { Serial.printf("Camera init failed with error 0x%x", err); return; } sensor_t * s = esp_camera_sensor_get(); // initial sensors are flipped vertically and colors are a bit saturated if (s->id.PID == OV3660_PID) { s->set_vflip(s, 1); // flip it back s->set_brightness(s, 1); // up the brightness just a bit s->set_saturation(s, -2); // lower the saturation } // drop down frame size for higher initial frame rate s->set_framesize(s, FRAMESIZE_QVGA); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); startCameraServer(); Serial.print("Camera Ready! Use 'http://"); Serial.print(WiFi.localIP()); local_IP = WiFi.localIP().toString(); Serial.println("' to connect"); Blynk.begin(auth, ssid, password); } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 67 TÀI LIỆU THAM KHẢO void loop() { // put your main code here, to run repeatedly: Blynk.run(); digitalWrite(LED, LOW); if(digitalRead(PHOTO) == HIGH){ Serial.println("Capture Photo"); takePhoto(); } } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 68 ... Giới thi? ??u linh kiện, thi? ??t bị sử dụng thi? ??t kế hệ thống Chương 3: Tính Tốn Và Thi? ??t Kế Hệ Thống Tính tốn thi? ??t kế, đưa sơ đồ nguyên lý hệ thống Chương 4: Thi Công Hệ Thống Thi? ??t kế hệ thống, ... khiển thi? ??t bị theo tự động hóa Với ý tưởng giải bất cập điều khiển tự động, nhóm chúng em xin đưa đề tài: THI? ??T KẾ VÀ THI CƠNG MƠ HÌNH HỆ THỐNG NI TƠM BÁN TỰ ĐỘNG Hệ thống có chức sau:  Hệ thống. .. quay động để kéo/ thả máng ăn  Thi? ??t kế tính tốn chân kết nối Arduino với module 3.2 TÍNH TỐN VÀ THI? ??T KẾ HỆ THỐNG 3.2.1 Thi? ??t kế sơ đồ khối hệ thống a Sơ đồ khối Mơ hình hệ thống gồm nhiều thi? ??t

Ngày đăng: 07/06/2022, 22:38

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

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

TÀI LIỆU LIÊN QUAN

w