TRƯỜNG ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ MÔN HỌC HỆ THỐNG NHÚNG BÁO CÁO GIỮA KỲ ĐỀ TÀI Lập trình STM32 đọc nhiệt độ với DS18b20 giao tiếp Onewire Giảng viên Đinh Văn Nam Sinh viên thực hiện Ngu.
TRƯỜNG ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ MÔN HỌC HỆ THỐNG NHÚNG BÁO CÁO GIỮA KỲ ĐỀ TÀI : Lập trình STM32 đọc nhiệt độ với DS18b20 giao tiếp Onewire Giảng viên : Đinh Văn Nam Sinh viên thực : Nguyễn Hữu Sáng MSSV : 18575202070006 Lớp : 59K-KT Điện tử-Viễn Thơng Khóa Học : 2018 – 2023 Nghệ An…tháng 06,năm 2022 LỜI NÓI ĐẦU Ngày với ứng dụng khoa học kĩ thuật tiên tiến, giới ngày thay đổi, văn minh đại Những phát minh thiết bị điện tử góp phần vào q trình tự động hóa giúp người đại hóa sống đóng góp lớn vào mơi trường sống người Trong năm gần đây, vấn đề ô nhiễm không khí đe dọa sức khỏe người dân khắp nơi giới Ước tính năm 2018 cho thấy 9/10 người dân phải hít thở khơng khí chứa hàm lượng chất gây nhiễm cao Ơ nhiễm khơng khí bên ngồi nhà gây khoảng triệu ca tử vong hàng năm tồn cầu; tính riêng khu vực Tây Thái Bình Dương, khoảng 2,2 triệu người tử vong năm Ở Việt Nam, khoảng 60.000 người chết năm có liên quan đến nhiễm khơng khí Theo số liệu thống kê Trung tâm môi trường Việt Nam cho thấy nồng độ bụi mịn pm2.5 bụi mịn pm1.0 khơng khí khu vực Hà Nội TP.HCM mức báo động, vượt ngưỡng tiêu chuẩn Tổ chức Y tế giới WHO có khả ảnh hưởng trực tiếp đến sức khỏe người Xuất phát từ thực tiễn ứng dụng cho mơi trường, nhóm chúng em chọn đề tài “Mạch đo mật độ khói bụi khơng khí sử dụng cảm biến GP2Y1010AU0F” MỤC LỤC LỜI NÓI ĐẦU CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 Giới thiệu đề tài 1.2 Phương tiện nghiên cứu 1.3 Yêu cầu đề tài 1.4 Mục tiêu hoàn thành CHƯƠNG 2: GIỚI THIỆU LINH KIỆN 2.1 Kit STM32F103C8T6 2.2 Cảm biến bụi GP2Y1010AU0F 2.3 LCD 20x4 tích hợp I2C 2.4 CH340 CHƯƠNG 3: KỸ THUẬT MẠCH ĐIỆN 3.1 Sơ đồ khối 3.2 Phân tích khối 3.2.1 Khối vi điều khiển Stm32f103c8t6 3.2.2 Khối cảm biến GP2Y1010AU0F 10 3.2.3 Khối hiển thị qua cổng COM ảo 16 3.3 Thực lắp mạch 21 3.3.1 Lắp mạch phần phầm fritzing 21 3.3.2 Mạch thực tế 22 CHƯƠNG 4: KẾT QUẢ THỰC HIỆN 22 4.1 Lưu đồ thuật toán 22 4.2 Thực phép đo 23 4.2.1 Bảng biểu đồ thị phép đo 23 4.2.2 Nhận xét 27 4.3 Phân tích số liệu đánh giá sai số 27 4.3.1 Phân tích số liệu 27 4.3.2 Đánh giá sai số 28 TÀI LIỆU THAM KHẢO 30 CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 Giới thiệu đề tài GP2Y10 cảm biến đo hạt bụi PM2.5 Ở đây, PM có nghĩa chất dạng hạt (Particulate Matter) Cịn số 2.5 kích thước có đường kính nhỏ 2.5 micromet (1/triệu mét) Thế ta phải đo mật độ loại bụi nhỏ hạt cát ? Các loại bụi PM2.5 nguy hiểm Các nhà khoa học cho biết: “những chất dạng hạt có đường kính 10µm xâm nhập vào thể người qua hoạt động hít thở.” Khác với PM10, loại PM2.5 chúng đặc biệt nguy hiểm có khả luồn lách vào túi phổi tĩnh mạch phổi, gây nên nhiều bệnh chết người Trên hết, mức độ ô nhiễm PM2.5 giới mức đáng cảnh báo 1.2 Phương tiện nghiên cứu - Tài liệu tham khảo từ nguồn khác - Tìm kiếm thơng tin internet - Các phần mềm hỗ trợ: Keil C, cổng com ảo Arduino IDE, Fritzing 1.3 Yêu cầu đề tài - Đo mật độ khói bụi khơng khí - Hiển thị LCD 20x4 theo chuẩn I2C - Kết nối hiển thị máy tính qua cổng COM ảo - Mạch điện demo phần mềm chạy tốt - Đo lường,nhận xét đánh giá sai số 1.4 Mục tiêu hoàn thành - Giao tiếp với cảm biến bụi - Giao tiếp LCD 20x04 theo chuẩn giao tiếp I2C - Hiển thị kết cổng com ảo theo kiểu giao tiếp UART không đồng - Cắm mạch mạch board mạch phần mềm fritzing - Vẽ đồ thị, bảng phân tích số liêu đo CHƯƠNG 2: GIỚI THIỆU LINH KIỆN 2.1 Kit STM32F103C8T6 - STM32 dòng chip phổ biến ST với nhiều họ thông dụng F0,F1,F2,F3,F4… Stm32f103 thuộc họ F1 với lõi ARM COTEX M3 STM32F103 vi điều khiển 32 bit, tốc độ tối đa 72Mhz Giá thành rẻ so với loại vi điều khiển có chức tương tự Mạch nạp đa dạng dễ sử dụng - Một số ứng dụng chính: dùng cho driver để điều khiển ứng dụng, điều khiển ứng dụng thông thường, thiết bị cầm tay thuốc, máy tính thiết bị ngoại vi chơi game… - Phiên kit sử dụng: Hình 1.1 Kit STM32F103C8T6 Blue Pill - Mạch nạp ST-Link: Hình 1.2 Mạch nạp ST-Link V2 - Sơ đồ nối dây: ST-Link STM32F103C8T6 3.3V 3.3V GND GND SWDIO DIO SWCLK DCLK 2.2 Cảm biến bụi GP2Y1010AU0F - GP2Y1010AU0F cảm biến bụi hệ thống cảm biến quang học Một diode phát tia hồng ngoại (IRED) trợ quang điện bố trí theo đường chéo thiết bị này, phát ánh sáng phản xạ bụi khơng khí - Điện áp hoạt động: 5VDC, dịng tiêu thụ: BSRR |= BSRR |= APB2ENR |= (1 APB1ENR |= (1 CRL &= ~(0x0f CRL |= (2 CRL |= (3 CRL &= ~(0x0f CRL |= (4 CR1 |= (1 CR1 |= (1 CR1 |= (1 BRR |= (8 BRR |= (19 40ms*/ + Gửi lệnh thiết lập chức : ( 0x30 ) lần lưu ý độ trễ lệnh khác Lcd_send_cmd(0x30); Delay_ms(5); /*wait for >4.1ms*/ Lcd_send_cmd(0x30); Delay_ms(1); /*wait for >100us*/ Lcd_send_cmd(0x30); Delay_ms(10); Lcd_send_cmd(0x20); *4bit mode*/ Delay_ms(10); + Gửi lệnh đặt chức ( 0x28 ) để đặt hình chế độ bit ( DL = ), hiển thị dịng ( N = ) phơng chữ × ( F = ) //Dislay initialisation Lcd_send_cmd(0x28); /*Function set > DL=0 (4 bit mode), N = (2 line display) F = ( 5x8 characters)*/ Delay_ms(1); + Gửi lệnh đến Điều khiển Bật / TẮT hình Tắt hiển thị (D = 0) , tắt trỏ (C = 0) tắt nháy (B = 0) 19 Lcd_send_cmd(0x08); /*Display on/off control > D=0,C=0, B=0 -> display off*/ Delay_ms(1); + Xóa hình cách gửi 0x01 Lcd_send_cmd(0x01); /*Clear display*/ Delay_ms(1); + Đặt Di chuyển trỏ tăng dần (I / D = 1) dịch chuyển hiển thị TẮT (S = 0) Lcd_send_cmd(0x06); /*Entry mode set > I/D = (increment cursor) & S = (no shift)*/ Delay_ms(1); 3.3 Thiết kế mạch + Xoay hình ON (D = 1) với lựa chọn cho trỏ nhấp nháy, đặt hai thành (C = 0, B = 0) Lcd_send_cmd(0x0C); /*Display on/off control > D = 1, C and B = (Cursor and blink, last two bits)*/ - Viết địa DDRAM: Địa cho DDRAM hình LCD 20 × hiển thị bên dưới: 20 ... 15 while (1) { //Read adc value GPIOC->BSRR |=