Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 206 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
206
Dung lượng
10,17 MB
Nội dung
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 13 tháng năm 2018 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Đào Văn Đông MSSV: 14141067 Trương Hữu Thắng MSSV: 14141295 Chuyên ngành: Điện Tử Công Nghiệp Mã ngành: 141 Hệ đào tạo: Đại học quy Mã hệ: Khóa: 2014 Lớp: 14141DT2B I TÊN ĐỀ TÀI: THIẾTKẾVÀTHICÔNGQUANGBÁO II NHIỆM VỤ Các số liệu ban đầu: Tiến hành tìm kiếm tài liệu, thơng số kỹ thuật liên quan tới hệ thống quangbáo Tham khảo mơ hình thực tế, từ đề tài nghiên cứu trước Tìm hiểu chọn module, ngoại vi thích hợp cho hệ thống Nội dung thực hiện: Nội dung 1: Nghiên cứu mơ hình thực tế, tìm giải pháp phù hợp với u cầy đặt tính tốn thông số cho hệ thống quangbáo Nội dung 2: Nghiên cứu phương pháp điều khiển Led ma trận, tính tốn, chọn lựa linh kiện phù hợp với yêu cầu đặt Nội dung 3: Thiếtkế sơ đồ hệ thống, sơ đồ nguyên lý, thiếtkế mơ hình Nội dung 4: Viết chương trình điều khiển hệ thống để đạt yêu cầu đặt Nội dung 5: Lắp ráp mơ hình, chạy thử nghiệm sản phẩm Nội dung 6: Viết báo cáo nội dung thực III NGÀY GIAO NHIỆM VỤ: 06/03/2018 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 13/07/2018 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: CÁN BỘ HƯỚNG DẪN ThS Nguyễn Đình Phú BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 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 13 tháng năm 2018 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Đào VănĐông Lớp: 14141DT2B MSSV:14141067 Họ tên sinh viên 2: Trương Hữu Thắng Lớp: 14141DT2B MSSV: 14141295 Tên đề tài: THIẾTKẾVÀTHICÔNGQUANGBÁO Nội dung Tuần/ngày - Gặp GVHD để phổ biến quy định: thực chọn đề tài, thống (19/3 – 25/3) tên đề tài, thời gian làm việc - Duyệt đề tài - Viết đề cương chi tiết - Tìm hiểu kiến thức liên quan tới thực đề tài - Tìm hiểu hệ thống quangbáo thực tế (26/3 – 1/4) - Tìm hiểu nguyên lý hoạt động module LED - Tìm hiểu cách lập trình ứng dụng điện thoại, máy tính, cách thiếtkế web server - Thiếtkế sơ đồ khối cho sản phầm, giải thích vai trò chức (2/4 – 8/3) khối - Tính tốn, lựa chọn linh kiện cho khối (9/4 – 15/4) Thiếtkế sơ đồ nguyên lý, cách bố trí linh kiện giải thích hoạt động mạch Xác nhận GVHD - Thiết kế, bố trí module LED, lắp đặt hình LED vào khung (16/4 – 22/4) đỡ - Thicông mạch, xây dụng mơ hình sản phẩm - Thicơng mạch, xây dụng mơ hình sản phẩm (23/4 – 29/4) - Viết chương trình điều khiển - Lập trình ứng dụng windows, điện thoại - Lập trình thiếtkế web server - Thicông mạch, xây dụng mơ hình sản phẩm (30/4 – 6/5) - Viết chương trình diều khiển - Viết chương trình, thiếtkế web server - Lập trình ứng dụng windows, điện thoại - Thicơng mạch, xây dụng mơ hình sản phẩm (7/5 – 13/5) - Viết chương trình điều khiển - Viết chương trình, thiếtkế web server (14/4 – 20/5) - Lắp ghép mơ hình - Tiến hành chạy thử nghiệm, sửa lỗi chương trình điều khiển 10 (21/5 – 27/5) 11 (28/5 – 3/6) Hoàn thiện, kiểm tra theo dõi hoạt động mơ hình sản phẩm - sửa lỗi chương trình điều khiển - Hồn thiện, kiểm tra theo dõi hoạt động mơ hình sản phẩm - Viết báo cáo 12 (4/6 – 10/6) 13 (11/6 – 17/6) - Hoàn thiện sản phẩm - Viết báo cáo - Chỉnh sửa báo cáo lần cuối trước gửi cho GVHD 14 (18/6 – 24/6) 15 (25/6 – 1/7 ) Hoàn thiện báo cáo, gửi GVHD xem xét, góp ý - In báo cáo - Nộp báo cáo hoàn thiện GV HƯỚNG DẪN (Ký ghi rõ họ tên) LỜI CAM ĐOAN Đề tài cơng trình thân nhóm tự thực dựa vào số tài liệu trước hướng dẫn ThS.Nguyễn Đình Phú Các số liệu đề tài nhóm thu thập khơng chép từ tài liệu hay cơng trình khác Người thực đề tài: Trương Hữu Thắng Đào Văn Đông LỜI CẢM ƠN Sau thời gian thực hiện, nhóm may mắn hồn thành đề tài “THIẾT KẾVÀTHICƠNGQUANG BÁO”, để đạt thành cố gắng thành viên nhóm có giúp đỡ gia đình, bạn bè, thầy khoa Điện – Điện Tử Nhóm thực xin chân thành gửi lời cảm ơn đến: Thầy Nguyễn Đình Phú người trực tiếp hướng dẫn nhóm suốt q trình thực Cảm ơn Thầy giành thời gian quý báu để hướng dẫn nhóm, hỗ trợ thiết bị góp ý đưa hướng giải nhóm gặp khó khăn Bên cạnh đó, nhóm cảm ơn kiến thức mà thầy cô truyền đạt suốt năm học trường Đại Học Sư Phạm Kỹ Thuật TP.HCM để từ nhóm có sở để vận dụng hoàn thiện nên đồ án tốt nghiệp Cảm ơn gia đình, người thân ln động viên ln bên cạnh lúc khó khăn Xin gửi lời cảm ơn đến người bạn sinh viên khoa Điện-Điện tử đồng hành trình học tập, cố gắng, tạo động lực để nhóm để hồn thành tốt đề tài Xin trân trọng cảm ơn! Những người thực hiện: Trương Hữu Thắng Đào Văn Đông 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 v LỜI CẢM ƠN vi MỤC LỤC vii LIỆT KÊ HÌNH VẼ xi LIỆT KÊ BẢNG xvi TÓM TẮT xvii CHƯƠNG TỔNG QUAN .1 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU 1.3 NỘI DUNG NGHIÊN CỨU 1.4 GIỚI HẠN 1.5 BỐ CỤC .2 CHƯƠNG CƠ SỞ LÝ THUYẾT .6 2.1 PANEL LED RGB .6 2.1.1 Giới Thiệu 2.1.2 Nguyên Lý Hoạt Động .7 2.1.3 LED RGB 2.1.4 Cổng Kết Nối 2.1.5 Kết Nối Giữa Các Ic Trong Module Led RGB 11 2.2 IC 74HC245 13 2.3 IC 74HC138 14 2.3.1 Hoạt Động Của IC 74HC138 15 2.4 IC TLC5926 16 2.5 IC SSF4953 17 2.5.1 Giới Thiệu IC SSF4953 17 2.5.2 Nguyên Lý Hoạt Động .18 2.6 TÌM HIỂU KIT RASPBERRY PI .18 2.6.1 Giới Thiệu .18 2.6.2 Phần Cứng Raspberry Pi3 19 2.7 ARDUINO MEGA 2560 22 2.7.1 Giới Thiệu Arduino 22 2.7.2 Arduino Mega 2560 23 2.8 MODULE ESP-12E NODEMCU 23 2.8.1 Giới Thiệu Module Esp-12E Nodemcu 23 2.8.2 Cấu Tạo Module Esp-12E Nodemcu 24 2.9 CẢM BIẾN NHIỆT ĐỘ, ĐỘ ẨM 24 2.10 THIẾT BỊ THỜI GIAN THỰC 26 2.10.1 Giới Thiệu Các Loại IC Thời Gian Thực 26 2.10.2 Module Thời Gian Thực DS1307 .29 2.11 MODULE SIM 900A .30 2.11.1 Giới Thiệu .30 2.12 MODULE BLUETOOTH 31 2.12.1 Giới Thiệu .31 2.13 CHUẨN GIAO TIẾP UART 33 2.13.1 Giới Thiệu Uart 33 2.13.2 Các Thông Số Uart 34 2.14 CHUẨN TRUYỀN I2C 35 2.14.1 Giới Thiệu I2C 35 2.15 CHUẨN GIAO TIẾP MỘT DÂY 36 2.15.1 Giới Thiệu .36 2.15.2 Nguyên Lý Hoạt Động .36 2.16 LÝ THUYẾT VỀ ẢNH 38 2.16.1 Điểm Ảnh 38 2.16.2 PIXEL FORMAT .39 2.16.3 FRAMEBUFFER .40 2.16.4 Mặt Phẳng Bit (Bit Plane) 42 CHƯƠNG 3: TÍNH TOÁN VÀTHIẾTKẾ 43 3.1 GIỚI THIỆU .43 3.2 CÁC HỆ THỐNG MÀN HÌNH TRONG THỰC TẾ 43 3.3 TÍNH TỐN VÀTHIẾTKẾ HỆ THỐNG .49 3.3.1 ThiếtKế Sơ Đồ Khối Hệ Thống .49 3.3.2 Tính Tốn VàThiếtKế Mạch 50 CHƯƠNG 4: THICÔNG HỆ THỐNG 71 4.1 GIỚI THIỆU .71 4.2 THICÔNG HỆ THỐNG 71 4.2.1 ThiCông Bo Mạch 71 4.2.2 Lắp Ráp Và Kiểm Tra 75 4.3 ĐĨNG GĨI VÀTHICƠNG MƠ HÌNH 77 4.3.1 Đóng Gói Sản Phẩm 77 4.4 LẬP TRÌNH HỆ THỐNG 79 4.4.1 Lưu Đồ Giải Thuật 79 4.4.2 Phần Mềm Lập Trình Vi Điều Khiển .91 4.4.3 Cài Đặt Hệ Điều Hành Cho Raspberry Pi3 98 4.5 LẬP TRÌNH MƠ PHỎNG .111 4.5.1 Một Số Hàm Trong Thư Viện Led Matrix .111 4.5.2 Chương Trình Hiển Thị Hình Ảnh 116 4.5.3 Chương Trình Con Đọc Ảnh 119 4.5.4 Chương Trình Con Nạp Ảnh Vào Canvas .120 4.4.5 Chương Trình Con Khởi Tạo Canvas 121 4.5.6 Chương Trình Con Hiển Thị Ảnh Ra Màn Hình Led 122 4.5.7 Chương Trình Hiển Thị Video .122 4.6 TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC .124 4.6.1 Tài Liệu Hướng Dẫn Sử Dụng .124 CHƯƠNG KẾT QUẢ, NHẬN XÉT, ĐÁNH GIÁ 128 5.1 KẾT QUẢ .128 5.2 KẾT QUẢ ĐẠT ĐƯỢC 128 5.2.1 Giao Diện Web .128 5.2.2 Giao Diện App Windows .136 5.2.3 Giao Diện App Android 138 5.2.4 Kết Quả Mạch Thực Tế 141 5.3 NHẬN XÉT VÀ ĐÁNH GIÁ 145 5.3.1 Nhận Xét Kết Quả Đạt Được 145 5.3.2 Đánh Giá Kết Quả 146 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 147 6.1 KẾT LUẬN 147 6.2 HƯỚNG PHÁT TRIỂN 148 TÀI LIỆU THAM KHẢO 149 PHỤ LỤC .150 offscreen_canvas = matrix->SwapOnVSync(offscreen_canvas); } else if(loadimage=="01"){ chonvideo_(); bool verbose = false; // Initalizing these to NULL prevents segfaults! AVFormatContext *pFormatCtx = NULL; int i, videoStream; AVCodecContext *pCodecCtxOrig = NULL; AVCodecContext *pCodecCtx = NULL; AVCodec *pCodec = NULL; AVFrame *pFrame = NULL; AVFrame *pFrameRGB = NULL; AVPacket packet; int frameFinished; int numBytes; uint8_t *buffer = NULL; struct SwsContext *sws_ctx = NULL; const char *movie_file = loadvideo_t; av_register_all(); avformat_network_init(); if(avformat_open_input(&pFormatCtx, movie_file, NULL, NULL)!=0) return -1; // Couldn't open file if(avformat_find_stream_info(pFormatCtx, NULL)nb_streams; ++i) { if (pFormatCtx->streams[i]->codec>codec_type==AVMEDIA_TYPE_VIDEO) { videoStream=i; break; } } pCodecCtxOrig = pFormatCtx->streams[videoStream]->codec; double fps = av_q2d(pFormatCtx->streams[videoStream]->avg_frame_rate); if (fps < 0) { fps = 1.0 / av_q2d(pFormatCtx->streams[videoStream]>codec->time_base); } pCodec=avcodec_find_decoder(pCodecCtxOrig->codec_id); pCodecCtx = avcodec_alloc_context3(pCodec); if (avcodec_copy_context(pCodecCtx, pCodecCtxOrig) != 0) { fprintf(stderr, "Couldn't copy codec context"); return -1; } if (avcodec_open2(pCodecCtx, pCodec, NULL)width, pCodecCtx->height); buffer=(uint8_t *)av_malloc(numBytes*sizeof(uint8_t)); avpicture_fill((AVPicture *)pFrameRGB, buffer, AV_PIX_FMT_RGB24, pCodecCtx->width, pCodecCtx->height); sws_ctx = sws_getContext(pCodecCtx->width, pCodecCtx->height, pCodecCtx->pix_fmt, matrix->width(), matrix->height(), AV_PIX_FMT_RGB24, SWS_BILINEAR, NULL, NULL, NULL ); while( !interrupt_received &&((av_read_frame(pFormatCtx, &packet) >= 0)&&(loadimage=="01"))) { change_image(); dosang_(); matrix->SetBrightness(dosang_i); if (packet.stream_index==videoStream) { avcodec_decode_video2(pCodecCtx, pFrame, &frameFinished, &packet); if (frameFinished) { sws_scale(sws_ctx, (uint8_t const * const *)pFrame->data, pFrame->linesize, 0, pCodecCtx->height, pFrameRGB->data, pFrameRGB->linesize); CopyFrame(pFrameRGB, offscreen_canvas); offscreen_canvas = matrix>SwapOnVSync(offscreen_canvas); } } av_free_packet(&packet); } if(loadimage=="010"){ f.open("/var/www/html/change.txt", ios::out); f Clear(); // clear canvas offscreen_canvas->Fill(bg_color.r, bg_color.g, bg_color.b); rgb_matrix::StreamIO *stream_io = NULL; rgb_matrix::StreamWriter *global_stream_writer = NULL; if (stream_output) { int fd = open(stream_output, O_CREAT|O_WRONLY, 0644); stream_io = new rgb_matrix::FileStreamIO(fd); global_stream_writer = new rgb_matrix::StreamWriter(stream_io); } std::vector file_imgs; const char *filename = chonhinh_t; FileInfo *file_info = NULL; std::string err_msg; std::vector image_sequence; if (LoadImageAndScale(filename, matrix->width(), matrix->height(), true, true, &image_sequence, &err_msg)) { file_info = new FileInfo(); file_info->params = filename_params[filename]; file_info->content_stream = new rgb_matrix::MemStreamIO(); rgb_matrix::StreamWriter out(file_info->content_stream); const Magick::Image &img = image_sequence[0]; int64_t delay_time_us; delay_time_us = 10; StoreInStream(img, delay_time_us, do_center, offscreen_canvas, global_stream_writer ? global_stream_writer : &out); f.open("/var/www/html/change.txt", ios::out); f SwapOnVSync(offscreen_canvas); } } } // Finished Shut down the RGB matrix matrix->Clear(); delete matrix; return 0; } Chương Trình Tạo Giao Diện Web Server ĐỒ ÁN TỐT NGHIỆP CSS Stylesheet > Scripts > $( function() { $( "#datepicker" ).datepicker({dateFormat: "mm-dd-yy"}); }); Trường Đại Học Sư Phạm Kỹ Thuật TP Hồ Chí Minh Bộ môn Điện Tử Công Nghiệp - Y Sinh Khoa Điện - Điện Tử Đề Tài: THIẾTKẾVÀTHICÔNGQUANGBÁO Quản Lý Tin Nhắn Cài Đặt Quản lý hình ảnh Quản lý video