1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiết kế bộ kit thực hành arduino ứng dụng điều khiển thiết bị, giao tiếp với các cảm biến thông dụng và truyền thông với máy tính

77 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 77
Dung lượng 3,83 MB

Nội dung

ĐẠI HỌC ĐÀ NẴNG TRƢỜNG ĐẠI HỌC SƢ PHẠM KHOA VẬT LÝ LÊ THỊ MỸ HẠNH THIẾT KẾ BỘ KIT THỰC HÀNH ARDUINO ỨNG DỤNG ĐIỀU KHIỂN THIẾT BỊ, GIAO TIẾP VỚI CÁC CẢM BIẾN THÔNG DỤNG VÀ TRUYỀN THÔNG VỚI MÁY TÍNH Đà Nẵng, năm 2018 n ĐẠI HỌC ĐÀ NẴNG TRƢỜNG ĐẠI HỌC SƢ PHẠM KHOA VẬT LÝ LÊ THỊ MỸ HẠNH THIẾT KẾ BỘ KIT THỰC HÀNH ARDUINO ỨNG DỤNG ĐIỀU KHIỂN THIẾT BỊ, GIAO TIẾP VỚI CÁC CẢM BIẾN THÔNG DỤNG VÀ TRUYỀN THÔNG VỚI MÁY TÍNH Chun ngành: Vật lý học Khóa học: 2014-1018 Ngƣời hƣớng dẫn: TS Cao Xuân Hữu Đà Nẵng, năm 2018 n LỜI CẢM ƠN Khóa luận đƣợc hồn thành nhờ nhận đƣợc nhiều giúp đỡ hỗ trợ từ nhiều phía Lời em xin gởi lời cảm ơn chân thành đến quý Thầy, Cô, Nhà trƣờng tạo điều kiện môi trƣờng để em học tập làm việc suốt thời gian học tập giảng đƣờng Đại học Sƣ Phạm-Đại học Đà Nẵng Cảm ơn Thầy, Cô khoa Vật lý trƣờng dành hết tâm huyết, lòng nhiệt thành để truyền đạt kiến thức kinh nghiệm quý báu cho không riêng em mà nhiều sinh viên suốt thời gian học tập trƣờng Với lòng biết ơn sâu sắc nhất, em xin gởi đến Thầy Cao Xuân Hữu trực tiếp hƣớng dẫn, truyền đạt kiến thức chuyên môn, nhiệt tình giúp đỡ em hồn thành khóa luận Lời cảm ơn cuối không kể đến gia đình Gia đình nguồn động lực lớn lao, tạo điều kiện tốt để em hồn thành tốt khóa luận Mặc dù khóa luận hoàn thành với cố gắng nỗ lực thân, nhiên khơng tránh khỏi thiếu sót Em mong nhận đƣợc ý kiến đóng góp từ q Thầy, Cơ bạn để đề tài hoàn thiện Em xin chân thành cảm ơn! Sinh viên thực Lê Thị Mỹ Hạnh I n MỤC LỤC LỜI CẢM ƠN ……… I MỤC LỤC II DANH MỤC KÝ HIỆU VÀ CỤM TỪ VIẾT TẮT V DANH MỤC BẢNG BIỂU, DANH MỤC HÌNH VI Lý chọn đề tài Mục tiêu nghiên cứu Nhiệm vụ nghiên cứu Đối tƣợng phạm vi nghiên cứu Phƣơng pháp nghiên cứu CHƢƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ BỘ KIT ARDUINO VÀ PHẦN MỀM LABVIEW 1.1 Tổng quan kit Arduino 1.1.1 Thành phần board Arduino Mega 2560…………………………………3 1.1.2 Thông số kỹ thuật 1.1.3 Chi tiết board mạch 1.1.4 Chức khối: 1.1.5 Chƣơng trình Arduino 1.2 Tổng quan phần mềm LabView 1.2.1 Chức phần mềm LabVIEW 1.2.2 Những khái niệm đƣợc sử dụng phần mềm LabVIEW 1.2.3 Các kỹ thuật lập trình LabVIEW 11 1.2.4 Chức khối 15 1.3 Truyền thơng với máy tính thơng qua firmware Linx phần mềm LabVIEW 18 1.3.1 Nhân LIFA 18 1.3.2 Nhân LINX 20 CHƢƠNG 2:MỘT SỐ BÀI THÍ NGHIỆM THIẾT KẾ TRÊN BỘ KIT ARDUINO SỬ DỤNG CÁC CẢM BIẾN THÔNG DỤNG 25 VÀ TRUYỀN THÔNG VỚI MÁY TÍNH 25 2.1 Sơ lƣợc linh kiện điện tử 25 2.1.1 Điện trở (thƣờng) 25 2.1.2 LED siêu sáng 5mm (LED đơn) 25 2.1.3 Nút nhấn (Botton) 26 II n 2.1.4 Tụ gốm 26 2.1.5 LCD 20x4 27 2.1.6 Cảm biến DHT 21 (AM2301) 27 2.1.7 Cảm biến siêu âm HY-SRF05 (đo khoảng cách) 28 2.1.8 PIR sensor alarm Cảm biến phát chuyển động 29 2.1.9 Module cảm biến mƣa 30 2.1.10 Cảm biến dò line đơn TCRT5000 32 2.1.11 Module đo thời gian thực (Realtime-clock) DS3231 33 2.2 Một số thí nghiệm thực kit Arduino 34 2.2.1 Chƣơng trình LED nhấp nháy theo yêu cầu 34 2.2.2 Chƣơng trình thay đổi độ sáng đèn LED 34 2.2.3 Điều khiển LED chân Digital Arduino 34 2.2.4 Xác định trạng thái nút nhấn 35 2.2.5 Dùng nút nhấn để điều khiển đèn LED: 36 2.2.6 Đo khoảng cách không gian với cảm biến SRF05 36 2.2.7 Lập trình Arduino với cảm biến phát chuyển động PIR 38 2.2.8 Lập trình Arduino với cảm biến mƣa 38 2.2.9 Chƣơng trình phát line trắng đen nhờ cảm biến dò line đơn TCRT5000 39 2.2.10 Xem thời gian module đo thời gian thực DS3231 40 2.2.11 Chƣơng trình giám sát nhiệt độ, độ ẩm môi trƣờng sử dụng cảm biến DHT 21 (AM2301) 43 2.3 Các thí nghiệm giao tiếp Arduino LabVIEW thơng qua nhân LINX 45 2.3.1 Ví dụ chƣơng trình giao tiếp với cảm biến nhiệt độ truyền máy tính45 2.3.2 Chƣơng trình đo nhiệt độ môi trƣờng hiển thị LCD 47 CHƢƠNG 3: BÀI THÍ NGHIỆM ĐIỀU KHIỂN ĐỘNG CƠ, GIAO TIẾP CẢM BIẾN VÀ TRUYỀN THÔNG VỚI MÁY TÍNH 50 3.1 Giới thiệu sơ lƣợc điều khiển 50 3.2 Giới thiệu linh kiện sử dụng điều khiển 50 3.2.1 Động DC 12 V 50 3.2.2 Bóng đèn 6.2 V 52 3.2.3 Cảm biến dòng điện MAX471-3A 52 3.2.4 Module điều khiển động DC BTS7960 43A 53 III n 3.2.5 Cảm biến đo nhiệt độ DS18B20 (-55°C đến +125°C) 55 3.3 Nguyên lý hoạt động điều khiển tốc độ động 56 3.4 Sơ đồ khối toàn mạch: 57 3.5 Sơ đồ nguyên lý toàn mạch 58 3.5.1 Khối điều khiển trung tâm 59 3.5.2 Khối điều khiển động 59 3.5.3 Động máy phát 59 3.5.4 Khối nguồn 59 3.5.5 Khối hiển thị 59 3.5.6 Khối phím nhấn 59 3.5.7 Các cảm biến 60 3.6 Cơng thức tính điện áp 60 3.7 Code chƣơng trình Arduino 61 3.8 Code LabView 64 KẾT LUẬN VÀ KIẾN NGHỊ 66 1.Kết luận 66 2.Kiến nghị 66 TÀI LIỆU THAM KHẢO 67 IV n DANH MỤC KÝ HIỆU VÀ CỤM TỪ VIẾT TẮT - AC: Alternating Current - DC: Direct Curent - FTDI: Future Devices International - EEPROM: Electrically Erasable Programmable Read-Only Memory - IC: Integrated Circuit - IDE: Integrated Development Environment - IOT: Internet Of Things - LABVIEW: Laboratory Virtual Instrumentation Engineering Workbench - LCD: Liquid Crystal Display - LED: Light Emitting Diode - PCI: Peripheral Component Interconnect - PID: Proportional Integral Derivative - PIR: Passive Infraded Sensor - RPM: Rounds-Per-Minute - PWM: Pulse Width Modulation - RAM: Random Acces Memory - ROM: Read Only Memory - RPM: Rounds-Per-Minute - RX: receive - SPI: Serial Peripheral Bus - SRAM: Static Random Access Memory - TTL: Transistor Transistor Logic - TWI: Two Wire Interface - TX: transmit - UART : Universal Asynchronous Receiver – Transmitter - USB: Universal Serial Bus - VIPM: VI Package Manager - VI: Virtual Instrument V n DANH MỤC BẢNG BIỂU, DANH MỤC HÌNH Bảng 1.1: cổng Serial giao tiếp với phần cứng Bảng 1.2: Thông số kỹ thuật board Arduino Bảng 2.1: Sơ đồ chân cảm biến mưa Bảng 2.2: Sơ đồ chân cảm biến dò line đơn TCRT 5000 Bảng 2.3: Sơ đồ nối dây module DS3231 Bảng 3.1: Sơ đồ nối chân cảm biến đo nhiệt độ DS18B20 Hình1.1: Mặt trước mặt sau board mạch Arduino Hình 1.2: Chi tiết board mạch Hình 1.3: Giao diện Front Panel phần mềm LabVIEW Hình 1.4: Block Diagram phần mềm LabVIEW Hình 1.5: Controls palette Hình 1.6: Các phép tốn logic Hình 1.7: Biểu diễn phép tốn giao diện Block Diagram Hình 1.8: Biễu diễn phép toán tương ứng giao diện Front Panel Hình 1.9: Các khối LabVIEW Hình 1.10: Các chân khối Init Hình 1.11: Các chân khối Close Hình 1.12: Các khối khối Low Lever Hình 1.13: Các khối khối Sensor Hình 1.14: Giao diện phần mềm VIPM Hình 1.15 : Giao diện IDE Arduino hiển thị ngau sau nạp mã nguồn để giao tiếp với LabVIEW Hình 1.16: Các thơng số cần chọn cài đặt nhân LINX Hình 1.17: Bài tập ví dụ tự điều khiển nhấp nháy LED Hình 1.18: Đoạn code chương trình Manual Blink Hình 1.19: Kết thu thực chương trình hàm tùy biến Hình 2.1 : Hình ảnh điện trở 10kΩ ký hiệu điện trở Hình 2.2: Hình ảnh ký hiệu LED siêu sáng 5mm Hình 2.3: Hình ảnh ký hiệu nút nhấn chân Hình 2.4: Hình ảnh nút nhấn chân Hình 2.5: Hình ảnh tụ gốm 104 Hình 2.6: Hình ảnh LCD 20x4 Hình 2.7: Mặt trước mặt sau cảm biến DHT21 Hình 2.8: Sơ đồ nối chân cảm biến Hình 2.9: Mặt trước mặt sau cảm biến HY-SRF05 Hình 2.10: Mặt trước mặt sau cảm biến PIR VI n Hình 2.11: Sơ đồ chân cảm biến PIR Hình 2.12: Hình ảnh module cảm biến mưa FC-37 Hình 2.13: Mặt trước mặt sau cảm biến hồng ngoại TCRT5000 Hình 2.14: Mặt trước mặt sau module DS3231 Hình 2.15: Module DS3231 lắp pin vào Hình 2.16: Kết trạng thái nút nhấn Hình 2.17: Kết ghi đo khoảng cách với cảm biến SRF05 Hình 2.18: Kết thu sử dụng cảm biến phát chuyển động PIR Hình 2.19: Kết thu sử dụng cảm biến mưa Hình 2.10: Kết thu xác định cảm biến dị line đơn Hình 2.21: Kết đo thời gian thực Hình 2.22: Kết chương trình giám sát nhiệt độ, độ ẩm từ môi trường thông qua cảm biến DHT21 hiển thị LCD 20x4 Hình 2.23: Kết chương trình đọc nhiệt độ Hình 2.24: Kết chương trình đọc nhiệt đọ hiển thị LCD Hình 3.1: Động DC 12V sử dụng mô hình Hình 3.2: Cấu tạo chi tiết động DC Hình 3.3: Bóng đèn 6.2V Hình 3.4: Hình ảnh cảm biến dịng điện MAX471-3A Hình 3.5: Sơ đồ chân cảm biến MAX471 Hình 3.6: Mặt trước mặt bên module điều khiển động Hình 3.7: Hình ảnh cảm biến đo nhiệt độ DS18B20 Hình 3.8: Sơ đồ khối tồn mạch Hình 3.9: Sơ đồ ngun lý tồn mạch Hình 3.10: Mạch cầu phân áp Hình 3.11: Kết giao diện Front Panel Hình 3.12: Kết thu hiển thị LCD VII n MỞ ĐẦU Lý chọn đề tài Trong nội dung học phần thực tập chuyên đề, thực tập sở thuộc khối cử nhân ngành Vật lý, sinh viên thƣờng đƣợc tiếp cận với vi điều khiển 8051 Tuy nhiên, kit 8051 sử dụng chủ yếu chip cũ atmel 89C52 tốc độ thấp, khó khăn giao tiếp với cảm biến, máy tính Các board kit thực hành thƣờng đắt tốn thời gian sinh viên muốn tạo ứng dụng phải làm mạch sử dụng đƣợc Hiện kit Arduino đƣợc sử dụng phổ biến, đáp ứng đƣợc hầu hết nhu cầu sinh viên nhƣ: thao tác nhanh hơn, mạnh hơn, hỗ trợ nhiều thƣ viện cho ngƣời dùng, dễ dàng mua đƣợc thị trƣờng, không cần phải làm mạch muốn làm thí nghiệm Arduino board mạch vi xử lý, nhằm xây dựng ứng dụng tƣơng tác với với môi trƣờng đƣợc thuận lợi hơn; giúp cho sinh viên dễ dàng tạo thiết bị có khả giao tiếp với máy tính, truyền thơng qua mạng hay ứng dụng làm thiết bị IOT Ngoài ra, với nhân firmware Linx phần mềm Labview, ta dễ dàng truyền thơng Arduino với máy tính thơng qua cổng USB, thay đƣợc cho card điều khiển logic phức tạp muốn điều khiển thiết bị máy tính Nếu có vi điều khiển Arduino cảm biến, ta thiết kế hƣớng dẫn để đọc đƣợc cảm biến giao tiếp với máy tính điều khiển qua mạng… Arduino giúp cho sinh viên dễ dàng tiếp cận tự làm đƣợc Với lí trên, khóa luận đƣợc thực để thiết kế hướng dẫn làm thí nghiệm kit Arduino ứng dụng điều khiển thiết bị, giao tiếp với cảm biến thông dụng truyền thông với máy tính Mục tiêu nghiên cứu Với mục đích tạo thí nghiệm ghép nối, giao tiếp thiết bị điều khiển tự động hóa phép đo vật lý sử dụng kit Arduino, nghiên cứu đặt mục tiêu: Thiết kế, chế tạo chạy demo thí nghiệm dựa kit Arduino nhằm mô việc điều khiển thiết bị, giao tiếp với cảm biến thông dụng truyền thơng với máy tính n * Thơng số kỹ thuật: - Nguồn cấp : ~ 27VDC - Dòng tải tối đa : 43A - Tín hiệu logic điều khiển: 3.3 ~ 5V - Tần số điều khiển tối đa: 25KHz - Tự động shutdown sụt áp : để tránh điều khiển động mức điện áp thấp thiết bị tự shutdown Nếu điện áp < 5.5V, driver tự ngắt điện mở lại sau điện áp > 5.5V - Bảo vệ nhiệt : BTS7960 bảo vệ chống nhiệt cảm biến nhiệt tích hợp bên Đầu bị ngắt có tƣợng q nhiệt - Kích thƣớc: 40 x 50 x12mm * Sơ đồ chân:  VCC : Nguồn tạo mức logic điều khiển ( 5V - 3V3 )  GND : Chân đất  R_EN = Disable nửa cầu H phải R_EN = : Enable nửa cầu H phải  L_EN = Disable nửa cầu H trái L_EN = : Enable nửa cầu H trái  RPWM LPWM : chân điều khiển đảo chiều tốc độ động + RPWM = LPWM = : Mô tơ quay thuận + RPWM = LPWM = : Mô tơ quay nghịch + RPWM = LPWM = RPWM = LPWM = : Dừng  R_IS L_IS : kết hợp với điện trở để giới hạn dòng qua cầu H Với ứng dụng bình thƣờng RPWM,LPWM nối với GPIO (VD : chân digital 2,3) để điều khiển chiều quay động Chân R_EN , L_EN nối chung lại nối với PWM (VD chân digital 5) để điều khiển tốc độ động * Chức năng: Đúng nhƣ tên gọi nó, module có nhiệm vụ điều khiển tốc độ động thông qua chân băm xung PWM số Cùng với nút nhấn tăng giảm tốc độ động ta điều khiển đƣợc tốc độ động theo ý muốn 54 n 3.2.5 Cảm biến đo nhiệt độ DS18B20 (-55°C đến +125°C) Hình 3.7: Hình ảnh cảm biến đo nhiệt độ DS18B20 * Mô tả: DS18B20 cảm biến (loại digital) đo nhiệt độ với độ phân giải cao (12bit) IC sử dụng giao tiếp dây gọn gàng, dễ lập trình IC cịn có chức cảnh báo nhiệt độ vƣợt ngƣỡng đặc biệt cấp nguồn từ chân data (parasite power) Cảm biến hoạt động 125 độ C nhƣng cáp bọc PVC => nên giữ dƣới 100 độ C Đây cảm biến kỹ thuật số, nên khơng bị suy hao tín hiệu đƣờng dây dài * Thông số kỹ thuật:  Nguồn : - 5.5V  Dải đo nhiệt độ : -55 - 125 độ C ( -67 - 257 độ F)  Sai số :  Độ phân giải : ngƣời dùng chọn từ - 12 bits  Chuẩn giao tiếp : 1-Wire ( dây )  Có cảnh báo nhiệt vƣợt ngƣỡng cho phép cấp nguồn từ chân data  Thời gian chuyển đổi nhiệt độ tối đa : 750ms ( chọn độ phân giải 12bit )  Mỗi IC có mã riêng (lƣu EEPROM IC) nên giao tiếp nhiều 0.5 độ C đo dải -10 - 85 độ C DS18B20 dây  Ống thép khơng gỉ (chống ẩm , nƣớc) đƣờng kính 6mm, dài 50mm  Đƣờng kính đầu dị: 6mm  Chiều dài dây: 1m 55 n * Sơ đồ nối chân: DS18B20 Arduino GND GND DQ Digital 30 VCC 5V Bảng 3.1: Sơ đồ nối chân cảm biến đo nhiệt độ DS18B20 * Lƣu ý: Để đo đƣợc nhiệt độ ta cần thêm điện trở 4.7k Ohm nối từ chân DQ lên VCC 3.3 Nguyên lý hoạt động điều khiển tốc độ động Hệ thống hoạt động theo nguyên lý: Khi nạp điện cho động quay, lúc động đóng vai trò nhƣ máy phát điện tạo điện áp Ta nối bóng đèn để xem độ sáng bóng đèn thay đổi nhƣ tùy thuộc vào việc điều khiển tốc độ động Có nút nhấn SW1 (chân digital 22), SW2 (chân digital 23), SW3 (chân digital 53), tƣơng ứng với chƣơng trình đƣợc cài đặt sẵn để điều khiển tốc độ động Khi nhấn SW1, tốc độ động tăng Khi nhấn SW2, tốc độ động giảm Nút nhấn SW3 nút nhấn Resert Đồng thời, điều khiển tốc độ động tăng giảm ta đo điện áp dòng hệ thống lúc Cảm biến nhiệt độ lúc hoạt động đo nhiệt độ động Các thông số: Tốc độ động (%), điện áp (V), dòng điện (A), nhiệt độ động (0C) lần lƣợt đƣợc hiển thị hình LCD 20x4 Khi giao tiếp với máy tính thơng qua phần mềm LabView ta tùy chọn tốc độ động theo mong muốn, nhấn nút, hệ thống thực chạy chƣơng trình cách độc lập hiển thị LCD 56 n 3.4 Sơ đồ khối toàn mạch: KHỐI HIỂN THỊ KHỐI ĐIỀU KHIỂN TRUNG TÂM (Arduino Mega2560 ATmega2560) KHỐI ĐIỀU KHIỂN ĐỘNG CƠ KHỐI PHÍM NHẤN MÁY PHÁT ĐỘNG CƠ CÁC CẢM BIẾN BÓNG ĐÈN Hình 3.8: Sơ đồ khối tồn mạch - Hệ thống đƣợc lập trình kit Arduino Mega 2560 đồng kết hợp với nhân firmware LINX phần mềm Labview, ta dễ dàng truyền thơng Arduino với máy tính thơng qua cổng USB, thay đƣợc cho card điều khiển logic phức tạp muốn điều khiển thiết bị máy tính - Do đó, ta điều khiển đƣợc tốc độ động cách trực tiếp việc nhấn nút nhấn điều khiển tốc độ động phần mềm LabVIEW với nhân firmeware LINX cách độc lập 57 n 3.5 Sơ đồ ngun lý tồn mạch Hình 3.9: Sơ đồ nguyên lý toàn mạch 58 n 3.5.1 Khối điều khiển trung tâm Khối điều khiển trung tâm bao gồm: Vi xử lý ATMega 2560 dùng để xử lý thuật tốn, nhận tín hiệu từ phím nhấn để điều khiển hiển thị LCD… Code lập trình đƣợc nạp vào vi điều khiển để điều khiển cho mạch hoạt động 3.5.2 Khối điều khiển động Bao gồm: Module điều khiển động DC BTS7960 43A Module thực việc điều khiển tốc độ động 1, làm cho động quay lúc động đóng vai trị máy phát điện 3.5.3 Động máy phát Động hoạt động nhờ module điều khiển tốc độ, từ làm động quay tạo điện áp nối đến bóng đèn làm thay đổi độ sáng bóng đèn 3.5.4 Khối nguồn Dùng để cấp nguồn VDC = 5V cho vi điều khiển linh kiện nguồn VDC = 12V để cấp nguồn cho động quay 3.5.5 Khối hiển thị - Khối hiển thị đƣợc hiển thị hình LCD 20x4 - Nội dung hiển thị: + Tốc độ động (%) + Nhiệt độ động (0C) + Dòng điện đo đƣợc (A) + Điện áp đầu (V) 3.5.6 Khối phím nhấn Gồm phím nhấn SW1, SW2, SW3 - Khi nhấn SW1: tốc độ động tăng - Khi nhấn SW2: tốc độ động giảm - Khi nhấn SW3: Nút nhấn Resert 59 n 3.5.7 Các cảm biến Bao gồm: * Cảm biến đo dòng ACS712 5A * Cảm biến đo nhiệt độ DS18B20 Chức linh kiện khối trình bày rõ phần trước 3.6 Cơng thức tính điện áp Để tính tốn điện áp thu đƣợc từ động phát ra, ta phải sử dụng mạch cầu phân áp Vì nguồn động 12V board mạch Arduino 5V Nên ta không phân áp cho đoạn mạch gây hƣ hỏng board mạch Vout Hình 3.10: Mạch cầu phân áp Ở mạch cầu phân áp ta sử dụng điện trở R1= 10k Ω R2=6k8 Ω * Cơng thức tính : (3.1) giá trị mà analog (A0) đọc đƣợc cơng thức điện áp mà ta càn đo để hiển thị lên hình LCD Do để tính điện áp động cơ, ta sử dụng công thức sau: (3.2) Thay giá trị điện trở vào công thức (3.2) ta đƣợc công thức tính điện áp: 60 n Vậy (3.3) * Lưu ý: Ta áp dụng công thức (3.3) để viết code Arduino 3.7 Code chƣơng trình Arduino #include #include #include #include #include #include #include #include #include const int rs = 24, en = 25, d4 = 26, d5 = 27, d6 = 28, d7 = 29; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); float t; byte tocdo; int toc_do; float t_lcd,t_cb; float i ; float u; unsigned int nguyen,thapphan; unsigned int ing,itp; unsigned int ung, utp; LinxArduinoMega2560* LinxDevice; int nhietdo(); #include #include #define ONE_WIRE_BUS 30 #define TEMPERATURE_PRECISION OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); DeviceAddress cb0; void setup() { tocdo=0; toc_do=0; t_lcd=millis(); t_cb=millis(); 61 n lcd.begin(20, 4); lcd.print(" KIT MAY PHAT DIEN "); lcd.setCursor(0,1); lcd.print("GVHD:CAO XUAN HUU"); lcd.setCursor(0,2); lcd.print("SVTH: L.T.MY HANH"); lcd.setCursor(0,3); lcd.print("*****************"); delay(1000); lcd.clear(); sensors.begin(); sensors.getDeviceCount(); sensors.isParasitePowerMode(); sensors.getAddress(cb0, 0); sensors.setResolution(cb0, TEMPERATURE_PRECISION); LinxDevice = new LinxArduinoMega2560(); LinxSerialConnection.Start(LinxDevice, 0); LinxSerialConnection.AttachCustomCommand(0, nhietdo); pinMode(22, INPUT_PULLUP); pinMode(23,INPUT_PULLUP); pinMode(53,INPUT_PULLUP); } void loop() { LinxSerialConnection.CheckForCommands(); if(digitalRead(22)==LOW) {tocdo=tocdo+10; if (tocdo>100) tocdo=100; while (digitalRead(22)==LOW); } if(digitalRead(23)==LOW) {if (tocdo1000){ sensors.requestTemperatures(); t = sensors.getTempC(cb0); nguyen=t; thapphan=(t-nguyen)*10; i=analogRead(A0)*5.0/1023.0; ing=word(i); itp=(i-ing)*100.0; t_cb=millis(); u=(analogRead(A1)/1023.0)*5.0*2.471; 62 n ung=word(u); utp=(u-ung)*10.0; t_cb=millis();} if (millis()-t_lcd>500||tocdo!=toc_do||digitalRead(53)==LOW){ lcd.begin(20,4); lcd.clear(); toc_do=tocdo; lcd.setCursor(0,0); lcd.print("Toc Do: "); lcd.print(tocdo); lcd.print("%"); lcd.setCursor(0,1); lcd.print("Nhiet Do: "); lcd.print(nguyen); lcd.print(","); lcd.print(thapphan); lcd.write(0xDF); lcd.write(0x43); lcd.setCursor(0,2); lcd.print("Dong: "); lcd.print(ing); lcd.print(","); lcd.print(itp); lcd.print(" (A)"); lcd.setCursor(0,3); lcd.print("Ap: "); lcd.print(ung); lcd.print(","); lcd.print(utp); lcd.print(" (V)"); analogWrite(2,tocdo*2.55); t_lcd=millis(); }} int nhietdo(unsigned char numInputBytes, unsigned char* input, unsigned char* numResponseBytes, unsigned char* response) {if (input[0]==1) {tocdo=input[1]; analogWrite(2,tocdo*2.55);} response[0] = nguyen; response[1] = thapphan; response[2] = tocdo; response[3] = ing; response[4] = itp; response[5] = ung; 63 n response[6] = utp; *numResponseBytes = 7; return ; } int tocdo_pc(unsigned char numInputBytes, unsigned char* input, unsigned char* numResponseBytes, unsigned char* response) { response[0] = tocdo; *numResponseBytes = 1; return ; } 3.8 Code LabView 64 n * Kết quả: Hình 3.11: Kết giao diện Front Panel Hình 3.12: Kết thu hiển thị LCD 65 n KẾT LUẬN VÀ KIẾN NGHỊ Kết luận Đề tài đƣợc xem nhƣ tài liệu giới thiệu Arduino cách thức giao tiếp Arduino với máy tính thơng qua phần mềm LabView Qua sinh viên ngành học thực nghiệm học đƣợc thêm cách giao tiếp mới, giúp sinh viên tiếp cận việc thực hành điền khiển thiết bị hay thực ứng dụng cách dễ dàng Khóa luận giới thiệu kit Arduino gồm nhiều thí nghiệm sử dụng linh kiện, thiết bị số cảm biến thông dụng, hƣớng dẫn cách sử dụng phần mềm LabView cách Vì thời gian nghiên cứu cịn hạn chế nên khóa luận chƣa thể đầy đủ tập mà đƣa số ví dụ điển hình Mặc dù vậy, sinh viên phát triển thêm ý tƣởng thiết kế mạch cho riêng mà khơng cần phụ thuộc q nhiều vào ví dụ trình bày khóa luận Kiến nghị Arduino không hƣớng đến đối tƣợng ngƣời dùng có kiến thức điện tử mà hƣớng đến ngƣời với ƣu điểm trội nhƣ: phổ biến thị trƣờng, chi phí khơng cao, có nhiều thƣ viện hỗ trợ cho ngƣời dùng dễ dàng viết code chƣơng trình để điều khiển khiển ứng dụng nhƣ mong muốn Trên board có đầy đủ thứ cần thiết cho ngƣời dùng nhƣ chỉnh áp, đèn led, tạo dao động,…Việc cần làm mua board mạch Arduino, cắm vào cổng USB máy tính viết vài dòng code để tạo ứng dụng thiết thực Với ƣu điểm vƣợt trội nhƣ vậy, thiết nghĩ, Khoa Vật lý nên đƣa kế hoạch học tập cho sinh viên, áp dụng Arduino vào chuyên ngành điện tử thực hành ghép nối, giao tiếp thiết bị chƣơng trình đào tạo Khoa để sinh viên phát huy đƣợc tính tích cực, sáng tạo việc nghiên cứu, chế tạo mơ hình, ứng dụng thực tiễn vào sống đặc biệt lĩnh vực điện tử, đo lƣờng tự động hóa 66 n TÀI LIỆU THAM KHẢO [1] https://www.arduino.cc/ [2].https://www arduino.vn/ [3] https://www labviewmakerhub.com/doku.php?id=libraries:linx:start [4] https://www.academia.edu/7985901/CHƢƠNG_3_PHẦN_MỀM_LABVIEW [5] https://forums.ni.com/t5/LabVIEW-Vietnam/Giáo-trình-quot-Lập-trình-LabVIEWcăn-bản 67 n Ý KIẾN CỦA NGƢỜI HƢỚNG DẪN Nhận xét: (Về chất lƣợng Khóa luận cần) Đề tài nghiên cứu Khóa luận hoàn thành ý tƣởng nghiên cứu ban đầu thiết kế đƣợc thí nghiệm sử dụng kit Arduino giao tiếp với máy tính để điều khiển thiết bị đầu vào theo yêu cầu hiển thị kết theo thời gian thực Sinh viên Lê Thị Mỹ Hạnh – tác giả Khóa luận - có kiến thức vững vàng tinh thần nỗ lực học hỏi thực hành kiến thức mới, đặc biệt kiến thức điện tử tự động hóa, hồn thành đề tài với mức chất lƣợng tốt Tơi đánh giá cao tinh thần học hỏi, cập nhật kiến thức khả làm nghiên cứu tác giả Khóa luận Kết Khóa luận đƣợc tham khảo để xây dựng thí nghiệm ghép nối, đo lƣờng vật lý dành cho sinh viên đại học áp dụng hệ tự động hóa khác Ý kiến: Đánh dấu X vào lựa chọn Đồng ý thông qua báo cáo X Không đồng ý thông qua báo cáo Đà Nẵng, ngày … tháng … năm 2018 NGƢỜI HƢỚNG DẪN (Ký ghi rõ họ tên) n

Ngày đăng: 08/05/2023, 17:52

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

TÀI LIỆU LIÊN QUAN

w