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,13 MB
Nội dung
TR B NG H SPKT TP H CHệ MINH KHOA I N- I N T MÔN I N T CÔNG NGHI P ậ Y SINH NHI M V H tên sinh viên: 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 ÁN T T NGHI P V n ông Tr MSSV: 14141067 ng H u Th ng MSSV: 14141295 i n T Công Nghi p Chuyên ngành: H đào t o: i h c quy Khóa: 2014 I TểN Mã ngành: 141 Mư h : L p: 14141DT2B TẨI: THI T K VẨ THI CÔNG QUANG BÁ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 quang bá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 yêu c y đ t tính tốn thơng s cho h th ng quang báo N i dung 2: Nghiên c u ph ng pháp u 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 t k s đ h th ng, s đ ngun lý, thi t k mơ hình N i dung 4: Vi t ch ng trình u n h th ng đ đ t đ c 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 hi n 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 CÁN B H NG D N NG D N: BM I N T ThS Nguy n ình Phú CỌNG NGHI P ậ Y SINH TR B NG H SPKT TP H CHÍ MINH KHOA I N- I N T 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 H tên sinh viên 1: V n ông H tên sinh viên 2: Tr ÁN T T NGHI P L p: 14141DT2B MSSV:14141067 ng H u Th ng L p: 14141DT2B MSSV: 14141295 Tên đ tài: THI T K VẨ THI CÔNG QUANG BÁO N i dung Tu n/ngày - G p GVHD đ ph bi n quy đ nh: th c hi n ch n đ tài, th ng nh t (19/3 ậ 25/3) tên đ tài, th i gian làm vi c - Duy t đ tài - Vi t đ c - Tìm hi u ki n th c liên quan t i ng chi ti t th c hi n đ tài - Tìm hi u h th ng quang báo th c t (26/3 ậ 1/4) - Tìm hi u nguyên lý ho t đ ng c a module LED - Tìm hi u cách l p trình ng d ng n tho i, máy tính, cách thi t k web server - Thi t k s đ kh i cho s n ph m, gi i thích vai trò ch c n ng c a (2/4 ậ 8/3) kh i - Tính toán, l a ch n linh ki n cho t ng kh i (9/4 ậ 15/4) Thi t k s đ nguyên lý, cách b trí linh ki n gi i thích ho t đ ng c a 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) đ - Thi công m ch, xây d ng mô hình s n ph m - Thi cơng m ch, xây d ng mơ hình s n ph m (23/4 ậ 29/4) - Vi t ch ng trình u n - L p trình ng d ng windows, n tho i - L p trình thi t k web server - Thi cô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 n - Vi t ch ng trình, thi t k web server - L p trình ng d ng windows, n tho i - Thi cơng m ch, xây d ng mơ hình s n ph m (7/5 ậ 13/5) - Vi t ch ng trình u n - Vi t ch ng trình, thi t k 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 10 (21/5 ậ 27/5) 11 (28/5 ậ 3/6) ng trình u n Hồ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 u 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 g i cho GVHD 14 (18/6 ậ 24/6) 15 (25/6 ậ 1/7 ) c 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 b n thân nhóm t th c hi n d a vào m t s tài li u tr c d is h ng d n c a ThS.Nguy n đ c nhóm thu th p khơng chép t tài li u hay cơng trình khác Ng Tr ình Phú Các s li u đ tài i th c hi n đ tài: ng H u Th ng Ơo V n ông L IC M N Sau h n m t th i gian th c hi n, nhóm đư may m n hồn thành đ “THI T K VẨ THI CỌNG QUANG BÁO”, đ có th đ t đ c đ tài c thành qu s c g ng c a t ng thành viên nhóm có s giúp đ c a gia đình, b n bè, th y khoa i n ậ i n T Nhóm th c hi n 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 hi n C m n Th y đư giành th i gian quý báu đ h thi t b góp ý đ a h ng d n nhóm, h tr ng gi i quy t m i nhóm g p khó kh n Bên c nh đó, nhóm c ng c m n nh ng ki n th c mà th y cô đư truy n đ t su t nh ng n m h c t i tr ng i H c S Ph m K Thu t TP.HCM đ t nhóm có 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 nh ng lúc khó kh n nh t Xin g i l i c m n đ n nh ng 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 đ có th hồn thành t t đ tài Xin trân tr ng c m n! Nh ng ng Tr ng H u Th ng i th c hi n: Ơo V n ông M CL 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 IC 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 1.1 NG T NG QUAN .1 TV 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 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 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 2.6 TÌM HI U KIT RASPBERRY PI .18 ng .7 ng C a IC 74HC138 15 ng .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 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 , M 24 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 T K 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 T K H TH NG .49 3.3.1 Thi t K S 3.3.2 Tính Tốn Và Thi t K M ch 50 Kh i H Th ng .49 CH NG 4: THI CÔNG H TH NG 71 4.1 GI I THI U .71 4.2 THI CÔNG H TH NG 71 4.2.1 Thi Công Bo M ch 71 4.2.2 L p Ráp Và Ki m Tra 75 4.3 ịNG GịI VẨ THI CỌ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 4.4.2 Ph n M m L p Trình Vi i u Khi n .91 4.4.3 Cài 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 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 4.5.7 Ch ng Trình Hi n Th Video .122 4.6 TÀI LI U H 4.6.1 Tài Li u H Gi i Thu t 79 tH i u Hành Cho Raspberry Pi3 98 c nh 119 NG D N S nh Ra Màn Hình Led 122 D NG, THAO TÁC .124 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 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 T C 128 5.3.1 Nh n Xét K t Qu c 145 ánh Giá K t Qu 146 5.3.2 CH t 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 $( 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 T K VÀ THI CÔNG QUANG BÁO Qu n Lý Tin Nh n Cài t Qu n lý hình nh Qu n lý video