Hệ thống điều khiển camera bằng sóng wifi thực hiện Đọc được dữ liệu hình ảnh từ cameraXử lý hình ảnh và hiển thị ra màn hìnhĐiều khiển góc quay camera bằng động cơSử dụng ứng dụng trên điện thoại để điều khiển động cơ thông qua wifiCÓ đính kèm code trên KIT và code trên ESP
Trang 1THÔNG TIN ĐỒ ÁN 2
1 Thông tin sinh viên
Họ và tên sinh viên: LÊ QUANG PHÚC
2 Thông tin đề tài
- Tên của đề tài: Điều khiển camera bằng sóng wifi
- Đơn vị quản lý: Bộ môn Kỹ Thuật Máy Tính - Viễn Thông, Khoa Điện Điện Tử,Trường Đại Học Sư Phạm Kỹ Thuật Tp Hồ Chí Minh
- Thời gian thực hiện: 15 tuần
3 Lời cam đoan của sinh viên
Chúng tôi – Lê Quang Phúc và Trần Thanh Duy cam đoan đồ án này là côngtrình nghiên cứu của bản thân chúng tôi dưới sự hướng dẫn của tiến sĩ Phan Văn Ca.Kết quả công bố trong bản báo cáo là trung thực và không sao chép từ bất kỳ côngtrình nào khác
Tp.HCM, ngày 4 tháng 11 năm 2018
SV thực hiện đồ án
Giáo viên hướng dẫn
NHẬN XÉT CỦA GIÁO VIÊN
Trang 2
LỜI CẢM ƠN
Trong quá trình thực hiện đồ án này, tôi đã nhận được nhiều sự giúp đỡ, đóng góp ý kiến và chỉ bảo nhiệt tình của quý thầy cô và bạn bè
Tôi xin gửi lời cảm ơn chân thành đến TS PHAN VĂN CA, người đã hướng dẫn tận tình, giúp đỡ chúng tôi trong suốt quá trình thực hiện đồ án
Tôi cũng xin chân thành cảm ơn các quý thầy cô trường Đại học Sư Phạm Kỹ Thuật nói chung, các thầy cô khoa Điện – Điện tử nói riêng đã cung cấp cho chúng
Trang 3tôi những kiến thức đại cương và chuyên ngành bổ ích, giúp chúng tôi có được cơ
sở lý thuyết vững vàng để vận dụng vào đồ án này
Cuối cùng, tôi xin cảm ơn gia đình và bạn bè đã luôn tạo điều kiện, quan tâm, giúp đỡ và động viên chúng tôi trong suốt quá trình học tập và hoàn thành đồ án
TP.HCM, ngày 05 tháng 01 năm 2019
Sinh viên thực hiện
DANH MỤC HÌ
Hình 2 1: Giao thức TCP/IP 4
Hình 2 2: Kit STM32F407 Discovery[1] 7
Hình 2 3 Camera OV7670 8
Hình 2 4 Sơ đồ khối chức năng camera[3] 9
Hình 2 5: Màn hình LCD TFT 10
Hình 2 6: Động cơ bước 10
Trang 4Hình 2 7: Module wifi ESP8266 11
Hình 2 8: Sơ đồ chân module wifi ESP8266[4] 11
Hình 2 9 Driver DRV8825[5] 12
Hình 2 10: Lưu đồ điều khiển động cơ 12
Hình 2 11: Lưu đồ điều khiển camera 13
Hình 2 12: Sơ đồ khối hệ thống 13
Hình 2 13: Sơ đồ kết nối camera với vi điều khiển 14
Hình 2 14: Sơ đồ khối xử lí động cơ 15
Hình 2 15: Sơ đồ kết nối động cơ với driver DRV8266 15
Hình 2 16: Giao diện của ứng dụng 16
Hình 2 17: Mô hình 3D hệ thống 17
Y Hình 3 1: PCB mạch điều khiển động cơ 18
Hình 3 2: PCB mạch điều khiển camera 18
Hình 3 3: PCB mạch điều khiển màn hình 19
Hình 3 4: Mạch điều khiển động cơ 19
Hình 3 5: Mạch điều khiển camera 20
Hình 3 6: Mạch điều khiển màn hình 20
Hình 3 7: Giá đỡ camera 20
Hình 3 8: Hệ thống hoàn chỉnh 20
MỤC LỤC THÔNG TIN ĐỒ ÁN 2 i
NHẬN XÉT CỦA GIÁO VIÊN ii
LỜI CẢM ƠN iii
DANH MỤC HÌNH iv
MỤC LỤC v
Trang 5CHƯƠNG 1 1
TỔNG QUAN ĐỀ TÀI 1
1.1 Lý do chọn đề tài 1
1.2 Mục tiêu nghiên cứu 2
1.3 Giới hạn đề tài 2
CHƯƠNG 2 3
THIẾT KẾ HỆ THỐNG 3
2.1 Đặc tả hệ thống 3
2.2 Cơ sở lý thuyết 3
2.3.1 Chuẩn giao tiếp camera DCMI (Digital Camera Interface) 3
2.3.2 Chuẩn giao tiếp màn hình FSMC (Flexible Static Memory Controller).4 2.3.3 Giao thức TCP/IP 4
2.3 Tiền thiết kế 5
2.3.4 Kit STM32F407 Discovery 7
2.3.5 Camera OV7670 7
2.3.6 LCD TFT 9
2.3.7 Động cơ bước 10
2.3.8 Module Wifi ESP8266 11
2.3.9 Mạch điều khiển động cơ DRV8225 12
2.4 Thiết kế hệ thống 12
2.4.1 Lưu đồ hệ thống 12
2.4.2 Sơ đồ khối hệ thống 13
2.4.3 Giao diện ứng dụng điều khiển trên điện thoại 15
2.4.4 Mô hình 3D 17
CHƯƠNG 3 18
KẾT QUẢ THỰC NGHIỆM 18
3.1 Thực hiện thiết kế mẫu thử 18
3.1.1 Thiết kế board mạch in PCB 18
3.1.2 Kiểm tra PCB với mẫu thử 19
3.1.3 Hệ thống hoàn chỉnh 20
Trang 6CHƯƠNG 4 21
KẾT LUẬN VÀ KIẾN NGHỊ 21
4.1 Kết quả thực hiện 21
4.1.1 Kết quả đạt được 21
4.1.2 Hạn chế 21
4.1.3 Hướng phát triển 21
4.2 Kết luận 22
TÀI LIỆU THAM KHẢO 23
Trang 7Những ứng dụng của IoT vào các lĩnh vực trong đời sống là vô cùng phong phú
và đa dạng Chúng ta sẽ cùng điểm qua một số ứng dụng điển hình của IoT:
- Smart Home - Smart Home là 1 ngôi nhà với rất nhiều tính năng tự độngnhư bật máy điều không khí khi bạn sắp về tới nhà, tắt đèn ngay khi bạnrời khỏi nhà, mở khóa khi người thân trong gia đình đang ở cửa nhà, mởgarage khi bạn lái xe đi làm về … còn rất nhiều những tính năng giúp nângcao chất lượng cuộc sống khi sử dụng smart home
- Vật dụng mang theo trên người - Có thể kể đến một số thiết bị nhưDashbon Mask, đây là 1 chiếc smart headphone giúp bạn vừa có thể nghenhạc với âm thanh có độ trung thực cao vừa có thể xem phim HD với máychiếu ảo , hoặc AMPL SmartBag ba lô có pin dự phòng có thể sạc điện chocác thiết bị di động, kể cả máy tính
- Connected cars - Giúp nâng cao những trải nghiệm cho người dùng xe ôtô,
1 chiếc Connecten car có thể tối ưu các hoạt động của nó như thông báokhi hết nhiên liệu, đưa ra các cảnh báo khi có vật tới gần hoặc mới đâynhất là xe điện tự lái của hãng Tesla…
Trang 8Qua quá trình tìm hiểu tổng quan về IoT, chúng tôi quyết định lựa chọn nghiêncứu về lĩnh vực Smart Home, cụ thể là thiết kế và thi công hệ thống giám sát và điềukhiển camera thông qua sóng wifi.
Cùng với sự phát triển của đời sống, tệ nạn xã hội cũng ngày càng phổ biến vàphức tạp, đáng báo động là nạn trộm cắp tài sản Hệ thống camera sẽ giúp chúng tachủ động quan sát để đưa ra những phương án nhằm bảo vệ bản thân và gia đìnhhoặc lưu trữ lại hình ảnh nhằm hổ trợ cho việc tìm ra đối tượng trộm cắp
Ngoài ra, việc giám sát bằng hình ảnh đã quá quen thuộc như giám sát nhà ở, trẻ
em trong nhà, công nhân làm việc trong phân xưởng, văn phòng, nhà xe,…Nhữngcông việc đó đòi hỏi phải đáp ứng nhanh và phù hợp với thời gian thực để đạt đượckết quả tốt nhất cho người sử dụng
Vì vậy, chúng tôi chọn đề tài “ĐIỀU KHIỂN CAMERA BẰNG SÓNG WIFI”
để nghiên cứu và thực hiện
1.2 Mục tiêu nghiên cứu
Chúng tôi nghiên cứu đề tài này với mục đích vận dụng những công nghệ khoahọc kỹ thuật tiên tiến và những kiến thức đã học được vào thực tiễn nhằm cải thiện
và nâng cao chất lượng cuộc sống
Mặt khác, thông qua việc thực hiện đề tài này chúng tôi có thể củng cố lại kiếnthức và vận dụng những kiến thức lý thuyết đã học vào thực tế, phát triển khả năng
tư duy nhằm nâng cao năng lực bản thân để có thể đóng góp nhiều hơn cho nền côngnghiệp nước nhà
Trang 9- Điều khiển góc quay của camera qua sóng wifi
Hệ thống điều khiển camera bằng sóng wifi cần đạt những yêu cầu cơ bản sau:
- Đọc được dữ liệu hình ảnh từ camera
- Xử lý hình ảnh và hiển thị ra màn hình
- Điều khiển góc quay camera bằng động cơ
- Sử dụng ứng dụng trên điện thoại để điều khiển động cơ thông qua wifi
2.2 Cơ sở lý thuyết
Từ những yêu cầu đã được đưa ra, chúng tôi bắt đầu xem xét đến các chuẩn giaotiếp và giao thức liên quan đến dự án
2.3.1 Chuẩn giao tiếp camera DCMI (Digital Camera Interface)
DCMI là một bus dữ liệu song song đồng bộ Nó cho phép dễ dàng tích hợp vàthích ứng với các yêu cầu cụ thể của một ứng dụng Giao tiếp camera có thể duy trìtốc độ truyền dữ liệu lên tới 54 Mbyte/s ở 54 MHz Nó có tính năng:
- Phân cực có thể lập trình cho xung pixel đầu vào và tín hiệu đồng bộ
- Giao tiếp dữ liệu song song có thể là 8-, 10-, 12- hoặc 14 bit
- Hỗ trợ định dạng video đơn sắc 8 bit hoặc định dạng thô, YCbCr 4:2:2,RGB565
- Hỗ trợ chế độ chụp liên tục hoặc chế độ chụp nhanh (một khung hình)
- Khả năng tự động cắt ảnh
2.3.2 Chuẩn giao tiếp màn hình FSMC (Flexible Static Memory Controller)
FSMC có bốn Chip Chọn các đầu ra hỗ trợ các chế độ sau: PCCard / CompactFlash, SRAM, PSRAM, Flash Flash và NAND Flash
Tổng quan về chức năng:
• Viết FIFO
• Tần số FSMC_CLK tối đa cho truy cập đồng bộ là 60 MHz
Giao tiếp song song LCD:
Trang 10FSMC có thể được cấu hình để giao tiếp với hầu hết các bộ điều khiển LCD Nó
hỗ trợ các chế độ Intel 8080 và Motorola 6800 và đủ linh hoạt để thích ứng với giaodiện LCD cụ thể Khả năng giao tiếp song song LCD này giúp dễ dàng xây dựng cácứng dụng đồ họa không tốn kém bằng cách sử dụng các mô-đun LCD có bộ điềukhiển nhúng hoặc giải pháp hiệu suất cao sử dụng bộ điều khiển bên ngoài với giatốc chuyên dụng
2.3.3 Giao thức TCP/IP
TCP/IP là viết tắt của cụm từ Transmission Control Protocol/Internet Protocol.TCP/IP là một tập hợp các giao thức (protocol) điều khiển truyền thông giữa tất cảcác máy tính trên Internet Cụ thể hơn, TCP/IP chỉ rõ cách thức đóng gói thông tin(hay còn gọi là gói tin ), được gửi và nhận bởi các máy tính có kết nối với nhau.TCP/IP được phát triển vào năm 1978 bởi Bob Kahn và Vint Cerf
Hình 2 1: Giao thức TCP/IP
Nguyên lý hoạt động:
TCP/IP là sự kết hợp của hai giao thức riêng biệt: Giao thức kiểm soát truyền tin(TCP) và giao thức Internet (IP) Giao thức Internet cho phép các gói được gửi quamạng Nó cho biết các gói tin được gửi đi đâu và làm thế nào để đến đó IP có mộtphương thức cho phép bất kỳ máy tính nào trên Internet chuyển tiếp gói tin tới mộtmáy tính khác thông qua một hoặc nhiều khoảng (chuyển tiếp) gần với người nhậngói tin
Trang 11Giao thức điều khiển truyền dẫn có trách nhiệm đảm bảo việc truyền dữ liệuđáng tin cậy qua các mạng kết nối Internet TCP kiểm tra các gói dữ liệu xem có lỗikhông và gửi yêu cầu truyền lại nếu có lỗi được tìm thấy.
2.3 Tiền thiết kế
Hệ thống điều khiển camera qua wifi bao gồm: một camera có thể ghi ảnh màuhoặc ảnh xám, được điều khiển bởi một vi điều khiển có hỗ trợ các chuẩn giao tiếpvới camera; hai động cơ trong đó một động cơ sẽ quay camera theo hướng lên vàxuống, động cơ còn lại sẽ quay camera theo hướng trái và phải với góc quay từ 0đến 360 độ Động cơ được điều khiển bằng một vi điều khiển khác có tích hợp wifi,kết nối với điện thoại di động thông minh để điều khiển chúng Khi cấp điện, vi điềukhiển sẽ bắt đầu đọc dữ liệu hình ảnh từ camera và hiển thị lên màn hình, góc quaycủa camera sẽ thay đổi khi người sử dụng chạm vào các nút nhấn có trên ứng dụng
Hệ thống điều khiển camera qua wifi cần thực hiện đầy đủ những tính năng sau:
- Khả năng điều khiển camera: Camera OV7670 với 18 chân vào ra, giaotiếp với vi điều khiển thông qua chuẩn giao tiếp camera DCMI (DigitalCamera Interface)
- Khả năng hiển thị hình ảnh: màn hình LCD TFT có thể hiển thị ảnh màu với 30 chân vào ra, giao tiếp với vi điều khiển thông qua chuẩn FSMC
- Sử dụng 1 chuẩn giao tiếp UART để giao tiếp với mạch điều khiển động cơ
- Khả năng điều khiển động cơ: động cơ bước với độ phân giải 1.8 độ mỗibước giúp chúng ta có thể điều chỉnh những góc quay tùy ý, chính xáctheo mong muốn
Chúng tôi lựa chọn những linh kiện trên cho dự án vì:
Vi điều kiển: Hiện nay có rất nhiều vi điều khiển có thể giao tiếp được với
camera và màn hình TFT nhưng chúng tôi chọn Board STM32F407 Discovery vì nó
hỗ trợ chuẩn giao tiếp DCMI(Digital Camera Interface) với camera và giao tiếpFSMC(Flexible Static Memory Controller) tốc độ cao với màn hình LCD Ngoài ra,với yêu cầu sử dụng sóng không dây wifi để điều khiển hệ thống nên chúng tôi chọnthêm một vi điều khiển khác là ESP8266 có tích hợp wi-fi 2.4GHz có thể lập trìnhđược để thực hiện giao tiếp không dây điểu khiển động cơ
Trang 12Camera: Chúng tôi chọn camera CMOS OV7670 với độ phân giải 30 frame/s vì
nó dễ dàng giao tiếp qua chuẩn DCMI và giá thành rẻ nhưng đáp ứng đủ yêu cầucủa dự án
Động cơ: Chúng tôi lựa chọn động cơ bước vì độ chính xác trong góc quay của
nó, động cơ có thể điều khiển trực tiếp bởi vi điều khiển ESP8266 hoặc thông quamạch điều khiển động cơ Chúng tôi quyết định lựa chọn mạch điều khiển động cơDRV8225 để điều khiển động cơ bước bởi sự tiện lợi của nó
Giao diện trên điện thoại: Chúng tôi chọn nền tảng thiết kế giao diện thông qua
ứng dụng app inventor mã nguồn mở của MIT Bằng cách sử dụng giao diện đồ họa,nền tảng cho phép người dùng kéo và thả các khối mã (blocks) để tạo ra các ứngdụng có thể chạy trên thiết bị Android
Trang 132.3.4 Kit STM32F407 Discovery
Hình 2 2: Kit STM32F407 Discovery[1]
Kit STM32F407 dựa trên lõi RISC 32-bit ARM Cortex ™ -M4 hiệu suất caohoạt động ở tần số lên đến 168 MHz Lõi Cortex-M4 có độ chính xác đơn điểm nổi(FPU) hỗ trợ tất cả các hướng dẫn xử lý dữ liệu chính xác đơn ARM và các kiểu dữliệu Nó cũng thực hiện một bộ đầy đủ các hướng dẫn DSP và một đơn vị bảo vệ bộnhớ (MPU) để tăng cường bảo mật ứng dụng Lõi Cortex-M4 với FPU sẽ được gọi
là Cortex-M4F
2.3.5 Camera OV7670
Sơ lược về Camera OV7670:
Camera OV7670 là bộ cảm biến hình ảnh CMOS điện áp thấp cung cấp đầy đủchức năng của máy ảnh VGA một chip và bộ xử lý hình ảnh trong một gói nhỏ.OV7670 cung cấp hình ảnh full-frame, lấy mẫu phụ hoặc cửa sổ 8-bit trong một loạtcác định dạng được điều khiển thông qua giao diện Serial Camera Control Bus(SCCB)
Trang 14Hình 2 3 Camera OV7670
Tính năng:
- Độ nhạy cao cho hoạt động thiếu ánh sáng
- Điện áp hoạt động thấp cho các ứng dụng di động nhúng
- Giao diện SCCB chuẩn tương thích với I2C giao diện
- Hỗ trợ VGA, CIF và độ phân giải thấp hơn CIF cho RGB (GRB 4: 2:
2, RGB565 / 555), YUV (4: 2: 2) và định dạng YCbCr (4: 2: 2)
- Phương pháp VarioPixel để lấy mẫu phụ
- Các chức năng điều khiển hình ảnh tự động bao gồm: Điều khiển phơisáng tự động (AEC), Tự động bù tín hiệu hình ảnh(AGC), Cân bằngtrắng tự động (AWB), Bộ lọc băng tự động (ABF), và tự động hiệuchuẩn mức đen (ABLC)
- Các điều khiển chất lượng hình ảnh bao gồm độ bão hòa màu, màusắc, gamma, độ sắc nét (tăng cường cạnh)
- ISP bao gồm giảm tiếng ồn và sửa lỗi
- Hỗ trợ chế độ đèn flash LED và đèn flash
- Hỗ trợ mở rộng
- Hiệu chỉnh bóng ống kính
- Phát hiện tự động nhấp nháy (50/60 Hz)
- Tự động điều chỉnh mức độ bão hòa (Điều chỉnh UV)
- Mức tăng cường cạnh tự động điều chỉnh
- Mức độ nhiễu tự động điều chỉnh[2]
Sơ đồ khối chức năng:
Trang 15Hình 2 4 Sơ đồ khối chức năng camera[3]
Phương pháp giao tiếp:
- Control I/F/: SCCB (SIO_C, SIO_D)
- Clock supply: Supply around 24MHz clock (XCLK)
- Synchonous: OV7670 outputs PCLK, HREF and VSYNC
- Pixel data: OV7670 outputs 8bit data D[7:0]
2.3.6 LCD TFT
Màn hình LCD TFT cảm ứng màu 3.2 inch ILI9341 sử dụng cho các ứng dụnghiện thị cảm ứng, giúp linh hoạt trong thiết kế điều khiển Màn hình được điều khiểnbởi Driver ILI9341 và IC cảm ứng XPT2046
ILI9341 có thể hoạt động với điện áp 1.65V ~ 3.3V và mạch theo dõi điện áp kếthợp để tạo các mức điện áp điều khiển LCD ILI9341 hỗ trợ đầy đủ màu sắc, chế độhiển thị 8 màu và chế độ ngủ cho điều khiển công suất chính xác bằng phần mềm vàcác tính năng này làm cho ILI9341 trở thành trình điều khiển LCD lý tưởng cho cácứng dụng hiển thị có kích thước trung bình hoặc nhỏ
Trang 16Số xung đầu vào cho động cơ quyết định góc bước và do đó vị trí của trục động
cơ được điều khiển bằng cách kiểm soát số xung Tính năng độc đáo này làm chođộng cơ bước thích hợp cho hệ thống điều khiển vòng hở, trong đó vị trí chính xác
Trang 17của trục được duy trì với số xung chính xác mà không cần sử dụng cảm biến phảnhồi.
2.3.8 Module Wifi ESP8266
Sơ lược về ESP8266 Node MCU:
NodeMCU là một nền tảng IoT nguồn mở Nó bao gồm phần mềm chạy trênESP8266 Wi-Fi SoC từ Espressif Systems và phần cứng dựa trên mô-đun ESP-12
Hình 2 7: Module wifi ESP8266
Sơ đồ chân:
Hình 2 8: Sơ đồ chân module wifi ESP8266[4]
2.3.9 Mạch điều khiển động cơ DRV8225
Sơ lược về DRV8225:
Trang 18Hình 2 9 Driver DRV8825[5]
Mạch điều khiển động cơ bước lưỡng cực Driver DRV8825 của TI có khả năngđiều chỉnh giới hạn dòng, bảo vệ quá dòng và quá nhiệt và 6 độ phân giải vi bước(đến 1/32 bước)
2.4 Thiết kế hệ thống
2.4.1 Lưu đồ hệ thống
Hình 2 10: Lưu đồ điều khiển động cơ