THIẾT KẾ MẠCH đếm SỐ BƯỚC CHÂN DÙNG CẢM BIẾN GIA TỐC

13 52 2
THIẾT KẾ MẠCH đếm SỐ BƯỚC CHÂN DÙNG CẢM BIẾN GIA TỐC

Đ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

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ******* BÁO CÁO CUỐI KÌ MƠN CƠNG NGHỆ CẢM BIẾN ĐỀ TÀI: THIẾT KẾ MẠCH ĐẾM SỐ BƯỚC CHÂN DÙNG CẢM BIẾN GIA TỐC GVHD: TS Nguyễn Trường Duy NHĨM SINH VIÊN THỰC HIỆN 1.Nguyễn Đình Khang 2.Nguyễn Đình Hùng 3.Hồ Trường Giang 4.Trần Minh Thạch TP Hồ Chí Minh, ngày 02 tháng 06 năm 2021 18161234 18161230 18129040 18161276 MỤC LỤC Chương Giới thiệu đề tài 1.1 Giới thiệu 1.2 Mục đích nghiên cứu 1.3 Phạm vi nghiên cứu Chương Thiết kế 2.1 Giới thiệu 2.2 Các linh kiện cần dùng thông số kỹ thuật 2.2.1 ADXL335 cảm biến gia tốc trục – analog 2.2.2 Arduino Nano V3 2.2.3 LCD 16x2 2.2.4 Module I2C Arduino Chương Thi công mạch 3.1 Giới thiệu phần mềm lập trình Arduino IDE 3.2 Tiến hành lập trình 3.3 Phần code 3.4 Kết nối phần cứng Chương Kết thực tiễn kết luận Chương 1: GIỚI THIỆU ĐỀ TÀI 1.1 GIỚI THIỆU Trong thời đại cơng nghệ cảm biến loại có vai trị quan trọng sống Chúng có mặt gần lĩnh vực đời sống Là sinh viên kỹ thuật chúng em cần phải trang bị cho kiến cần thiết cảm biến áp dụng đời sống Để đáp ứng cho nhu cầu xã hội củng cố kiến thức học cảm biến Chúng em chọn đề tài: “Thiết kế mạch đếm số bước chân dùng cảm biến gia tốc” Nhóm sinh viên chúng em xin chân thành cảm ơn thầy Nguyễn Trường Duy tạo điều kiện để giúp cho việc thực báo cáo chúng em trở nên thuận lợi thành công 1.2 MỤC ĐÍCH NGHIÊN CỨU Mục đích đề tài tổng hợp kiến thức mà sinh viên chúng em đúc kết trình học giúp chúng em làm quen với công việc thực hành nghiên cứu khoa học Đề tài giúp cho sinh viên hiểu biết rõ ứng dụng Cảm biến gia tốc nói riêng loại vi điều khiển nói chung Qua đó, có thêm kinh nghiệm giải vấn đề thực tiễn công việc đời sống 1.3 PHẠM VI NGHIÊN CỨU Phạm vi nghiên cứu đề tài xoay quanh module: Arduino Nano, cảm biến gia tốc ADXL 335, LCD 16x2, LCD I2C linh kiện điện tử khác Trong báo cáo này, nhóm chúng em chế tạo Mạch đếm bước chân tự làm dễ dàng rẻ tiền cách sử dụng Arduino cảm biến gia tốc ADXL 335 Mạch đếm bước chân đếm số bước chân hiển thị chúng mô-đun LCD 16x2 Chương 2: THIẾT KẾ 2.1 GIỚI THIỆU Mục đích phạm vi nghiên cứu chúng em trình bày chương Trong chương này, chúng em phân tích rõ mặt lý thuyết dự án, yếu tố cấu thành nên sản phẩm (linh kiện, sơ đồ kết nối, source code,…) 2.2 CÁC LINH KIỆN CẦN DÙNG VÀ THÔNG SỐ KỸ THUẬT 2.2.1 ADXL335 cảm biến gia tốc trục - analog Thông số kỹ thuật:  Chip cảm biến: ADXL335   Điện áp: 3V ~ 5V   Dòng điện: 400uA   Giao tiếp: đầu Analog trục x, y, z  Full scale range: +/-3g  Nhiệt độ hoạt động: -40'C~ +85'C  Độ nhạy: 300mV/g  Độ xác: ±10%  Phù hợp kết nối với hệ thống 5V 3.3V  Điện áp đầu analog mức giữa: 1.65V 2.2.2 Arduino Nano V3 Thơng số kỹ thuật:  IC chính: ATmega328P-AU  IC nạp giao tiếp UART: CH340  Điện áp cấp: 5VDC cổng USB 6-9VDC chân Raw  Mức điện áp giao tiếp GPIO: TTL 5VDC  Dòng GPIO: 40mA  Số chân Digital: 14 chân, có chân PWM  Số chân Analog: chân (hơn Arduino Uno chân)  Flash Memory: 32KB (2KB Bootloader)  SRAM: 2KB  EEPROM: 1KB  Clock Speed: 16Mhz  Tích hợp Led báo nguồn, led chân D13, LED RX, TX  Tích hợp IC chuyển điện áp 5V LM1117  Kích thước: 18.542 x 43.18mm 2.2.3 LCD 16x2 Thơng số kỹ thuật:  Điện áp hoạt động V  Kích thước: 80 x 36 x 12.5 mm      Chữ đen, xanh Khoảng cách hai chân kết nối 0.1inch tiện dụng kết nối với Breadboard Tên chân ghi mặt sau hình LCD hổ trợ việc kết nối, dây điện Có đèn led nền, dùng biến trở PWM điều chình độ sáng để sử dụng điện Có thể điều khiển với dây tín hiệu 2.2.4 Module I2C Arduino Thông số kĩ thuật  Điện áp hoạt động: 2.5-6V DC  Hỗ trợ hình: LCD1602,1604,2004 (driver HD44780)  Giao tiếp: I2C  Địa mặc định: 0X27 (có thể điều chỉnh ngắn mạch chân A0/A1/A2)  Tích hợp Jump chốt để cung cấp đèn cho LCD ngắt  Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD Chương 3: THI CƠNG MẠCH 3.1 Giới thiệu phần mềm lập trình Arduino IDE Giới thiệu: Arduino IDE phần mềm giúp nạp code viết vào board mạch thực thi ứng dụng Arduino IDE chữ viết tắt Arduino Integrated Development Environment, công cụ lập trình với board mạch Arduino Nó bao gồm phần Editor (trình soạn thảo văn bản, dùng để viết code), Debugger (cơng cụ giúp tìm kiếm sửa lỗi phát sinh build chương trình), Compiler interpreter (công cụ giúp biên dịch code thành ngôn ngữ mà vi điều khiển hiểu thực thi code theo yêu cầu người dùng) Hiện nay, board thuộc họ Arduino, Arduino IDE cịn hỗ trợ lập trình với nhiều dịng vi điều khiển khác ESP, ARM, PIC, … 3.2 Tiến hành lập trình -Mở phần mềm Arduino IDE -Chọn board “Arduino Nano” -Chọn Port “COM3” -Để nạp chương trình, bấm “Upload” 3.3 Phần code float threshold = 6; float xval[100] = {0}; float yval[100] = {0}; float zval[100] = {0}; float xavg, yavg, zavg; int steps, flag = 0; void setup() { Serial.begin(9600); lcd.begin(); lcd.backlight(); lcd.clear(); calibrate(); } void loop() { for (int w = 0; w < 16; w++) { lcd.write(byte(0)); delay(500); } int acc = 0; float totvect[100] = {0}; float totave[100] = {0}; float xaccl[100] = {0}; float yaccl[100] = {0}; float zaccl[100] = {0}; for (int a = 0; a < 100; a++) { xaccl[a] = float(analogRead(xpin) - 345); delay(1); yaccl[a] = float(analogRead(ypin) - 346); delay(1); zaccl[a] = float(analogRead(zpin) - 416); delay(1); totvect[a] = sqrt(((xaccl[a] - xavg) * (xaccl[a] - xavg)) + ((yaccl[a] - yavg) * (yaccl[a] - yavg)) + ((zval[a] - zavg) * (zval[a] - zavg))); totave[a] = (totvect[a] + totvect[a - 1]) / ; Serial.println("totave[a]"); Serial.println(totave[a]); delay(100); if (totave[a] > threshold && flag == 0) { steps = steps + 1; flag = 1; } else if (totave[a] > threshold && flag == 1) { // Don't Count } if (totave[a] < threshold && flag == 1) { flag = 0; } if (steps < 0) { steps = 0; } Serial.println('\n'); Serial.print("steps: "); Serial.println(steps); lcd.print("Steps: "); lcd.print(steps); delay(1000); lcd.clear(); } delay(1000); } void calibrate() { float sum = 0; float sum1 = 0; float sum2 = 0; for (int i = 0; i < 100; i++) { xval[i] = float(analogRead(xpin) - 345); sum = xval[i] + sum; } delay(100); xavg = sum / 100.0; Serial.println(xavg); for (int j = 0; j < 100; j++) { yval[j] = float(analogRead(ypin) - 346); sum1 = yval[j] + sum1; } yavg = sum1 / 100.0; Serial.println(yavg); delay(100); for (int q = 0; q < 100; q++) { zval[q] = float(analogRead(zpin) - 416); sum2 = zval[q] + sum2; } zavg = sum2 / 100.0; delay(100); Serial.println(zavg); } 3.4 Kết nối phần cứng Chương KẾT QUẢ THỰC TIỄN VÀ KẾT LUẬN 10 Video đợi gs hùng quay xong gắn link vô 11 ... cảm biến gia tốc ADXL 335, LCD 16x2, LCD I2C linh kiện điện tử khác Trong báo cáo này, nhóm chúng em chế tạo Mạch đếm bước chân tự làm dễ dàng rẻ tiền cách sử dụng Arduino cảm biến gia tốc ADXL... THÔNG SỐ KỸ THUẬT 2.2.1 ADXL335 cảm biến gia tốc trục - analog Thông số kỹ thuật:  Chip cảm biến: ADXL335   Điện áp: 3V ~ 5V   Dòng điện: 400uA   Giao tiếp: đầu Analog trục x, y, z  Full... V3 Thông số kỹ thuật:  IC chính: ATmega328P-AU  IC nạp giao tiếp UART: CH340  Điện áp cấp: 5VDC cổng USB 6-9VDC chân Raw  Mức điện áp giao tiếp GPIO: TTL 5VDC  Dòng GPIO: 40mA  Số chân Digital:

Ngày đăng: 27/10/2021, 14:37

Mục lục

  • 2.2.1. ADXL335 cảm biến gia tốc 3 trục – analog

  • 2.2.1. ADXL335 cảm biến gia tốc 3 trục - analog

    • Thông số kĩ thuật

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

Tài liệu liên quan