Luận Văn Thiết kế và thi công bộ thí nghiệm vi xử lý giao tiếp KIT INTEL GALILEO

82 65 0
Luận Văn Thiết kế và thi công bộ thí nghiệm vi xử lý giao tiếp KIT INTEL GALILEO

Đ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 B NG H SPKT TP H CHệ MINH C NG HÒA Xẩ H I CH NGH A VI T NAM KHOA I N- I N T C L P - T DO - H NH PHÚC MÔN I N T CÔNG NGHI P ậ Y SINH o0o Tp HCM, ngày 05 tháng 10 n m 2018 NHI M V H tên sinh viên: Chuyên ngành: H đƠo t o: Khóa: ÁN T T NGHI P Ph m Quang Minh H V n Tr ng CNKT i n t - Truy n thông i h c quy 2014 MSSV: 14141195 MSSV: 14141338 Mã ngành: 141 Mư h : L p: 14141DT1 I TểN TẨI: THI T K VẨ THI CÔNG B THệ NGHI M VI X INTEL GALILEO II NHI M V LÝ GIAO TI P KIT Các s li u ban đ u: - - Thi t k vƠ thi công đ c b thí nghi m vi x lý hoƠn ch nh v i nh ng ch c n ng c b n nh : bƠn phím, led đ n, led đo n, LCDầ ho c nh ng ng d ng cao h n: giao ti p máy tính, u n đ ng c Xơy d ng bƠi t p thí nghi m giao ti p đ n gi n v i led đ n, led đo n, nút nh n, switch, bƠn phím ma tr n, LCD, chuy n đ i ADC N i dung th c hi n: - Tìm hi u v kit Intel Galileo, ph n m m Arduino, m ch giao ti p ngo i vi v i vi u n Thi t k ph n c ng b thí nghi m (thi t k m ch nguyên lý, m ch in, thi công) Xơy d ng bƠi th c hƠnh c b n, vi t ch ng trình th c thi vƠ ki m tra k t qu b thí nghi m Thu th p k t qu Ki m tra tính n đ nh c a h th ng Vi t báo cáo lu n v n Báo cáo đ tƠi t t nghi p III NGẨY GIAO NHI M V : 01/10/2018 IV NGẨY HOẨN THẨNH NHI M V : 05/01/2019 V H VẨ TểN CÁN B H NG D N: ThS Ngô Bá Vi t CÁN B H NG D N BM I NT CỌNG NGHI P ậ Y SINH i TR B NG H SPKT TP H CHệ MINH C NG HÒA Xẩ H I CH NGH A VI T NAM KHOA I N- I N T C L P - T DO - H NH PHÚC MÔN I N T CÔNG NGHI P ậ Y SINH o0o -Tp HCM, ngày 05 tháng 10 n m 2018 L CH TRỊNH TH C HI N ÁN T T NGHI P H tên sinh viên 1: Ph m Quang Minh L p: 14141DT1A MSSV: 14141195 H tên sinh viên 2: H V n Tr ng L p: 14141DT1A MSSV: 14141338 Tên đ tƠi: THI T K VẨ THI CÔNG B THệ NGHI M VI X LÝ S INTEL GALILEO Tu n/ngày N i dung - (01-06/10) - (22-27/10) (29/1003/11) đ tƠi, tên đ tƠi, th i gian lƠm vi c Duy t đ tƠi Vi t đ c - Tìm hi u t ng quan v kit Intel Galileo (15-20/10) - Xác nh n GVHD G p GVHD đ ph bi n quy đ nh: th c hi n ch n (08-13/10) D NG KIT ng cho đ tƠi Tìm hi u v cách th c l p trình vƠ biên d ch kit Intel Galileo Thi t k s đ kh i, gi i thích ch c n ng kh i Tính tốn l a ch n linh ki n cho t ng kh i Thi t k s đ nguyên lý vƠ gi i thích ho t đ ng c a m ch - Thi t k vƠ thi công t ng kh i nh m ch - L p trình ph n m m Arduino (05-10/11) (12-17/11) Mô ph ng, ch y ch ng trình t ng kh i đư thi cơng L p trình ph n m m Arduino Mơ ph ng, ch y ch ng trình t ng kh i đư thi cơng ii (19-24/11) (26/1101/12) L p trình ph n m m Arduino Mô ph ng, ch y ch ng trình t ng kh i đư thi cơng - Thi t k vƠ thi cơng mơ hình t ng h p kh i - Mô ph ng, ch y ch ng trình t ng h p kh i 10 (03-08/12) - Thi t k vƠ thi cơng mơ hình t ng h p kh i 11 (10-15/12) Ki m tra, hoƠn thi n mô hình, ch y th vƠ s a l i 12 (17-22/12) Vi t báo cáo 13 (24-29/12) Vi t báo cáo 14 (31/1205/01) - 15 (06-18/01) Mô ph ng, ch y ch ng trình t ng h p kh i HoƠn thi n, ch nh s a báo cáo g i cho GVHD đ xem xét góp ý l n cu i tr c in báo cáo N p quy n báo cáo vƠ lƠm Slide báo cáo GV H NG D N (Ký vƠ ghi rõ h vƠ tên) iii L I CAM OAN tƠi nƠy lƠ t th c hi n d a vƠo m t s tƠi li u tr chép t tƠi li u hay cơng trình đư có tr c vƠ khơng c Ng i th c hi n đ tƠi Ph m Quang Minh H V n Tr ng iv L IC M N hoƠn thƠnh đ tƠi nghiên c u nƠy, l i đ u tiên cho phép đ l i c m n chơn thƠnh đ n toƠn th quý th y Tr ng TP.HCM nói chung vƠ th y cô Khoa i nậ ng cg i i H c S Ph m K Thu t i n T nói riêng, nh ng i đư t n tình d y d , trang b cho nh ng ki n th c n n t ng vƠ ki n th c chuyên ngƠnh quan tr ng, giúp nhóm chúng tơi có đ c c s lý thuy t v ng vƠng vƠ đư t o u ki n giúp đ t t nh t cho chúng tơi q trình h c t p vƠ nghiên c u c bi t, xin chơn thƠnh c m n ThS Ngô Bá Vi t đư t n tình giúp đ , đ a nh ng đ nh h ng nghiên c u c ng nh h ng gi i quy t m t s v n đ đ chúng tơi có th th c hi n t t đ tƠi M c dù đư c g ng h t s c, song u ki n th i gian vƠ kinh nghi m th c t c a chúng tơi ít, đ tƠi khơng th tránh kh i thi u sót Vì v y, chúng tơi r t mong nh n đ c s đóng góp ý ki n c a quý th y, cô giáo Xin chơn thƠnh c m n! TP.HCM, ngày 05 tháng 01 n m 2019 Sinh viên th c hi n Ph m Quang Minh H V n Tr ng v 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 iv L IC M N v M C L C vi LI T Kể HỊNH NH viii LI T Kể B NG .xi DANH SÁCH CÁC T VI T T T xii TịM T T xiii Ch 1.1 ng T NG QUAN TV N 1.2 M C TIểU .1 1.3 N I DUNG NGHIểN C U 1.4 GI I H N 1.5 B C C Ch 2.1 ng C S LÝ THUY T KHÁI QUÁT V VI X Lụ ậ VI I U KHI N 2.1.1 Vi x lý vƠ vi u n 2.1.2 H th ng u n tích h p (SoC) 2.2 TRUY N D LI U CHU N I2C .5 2.3 TRUY N D LI U CHU N SPI 2.4 TRUY N D LI U CHU N 1-WIRE .9 2.5 PH N M M ARDUINO 10 2.6 GI I THI U PH N C NG 11 Ch 2.6.1 B x lý trung tơm - Intel Galileo Gen 11 2.6.2 Thi t b đ u vƠo 14 2.6.3 Thi t b đ u 16 2.6.4 Thi t b th i gian th c DS1307 26 ng TệNH TOÁN VẨ THI T K 28 3.1 GI I THI U 28 3.2 TÍNH TỐN VẨ THI T K H TH NG 28 vi 3.3 Ch 3.2.1 Thi t k s đ kh i h th ng 28 3.2.2 Tính tốn vƠ thi t k m ch 29 S NGUYểN Lụ TOẨN M CH 38 ng THI CÔNG H TH NG 39 4.1 GI I THI U 39 4.2 THI CÔNG H TH NG 39 4.3 4.4 4.5 Ch 5.1 5.2 Ch 6.1 6.2 4.2.1 Thi công bo m ch h th ng 39 4.2.2 L p ráp vƠ ki m tra 42 ịNG GịI VẨ THI CỌNG MỌ HỊNH 44 4.3.1 óng gói, thi t k mơ hình 44 4.3.2 Thi công mơ hình 44 L P TRỊNH H TH NG 46 4.4.1 L u đ gi i thu t 46 4.4.2 Ph n m m l p trình cho Intel Galileo Gen 48 VI T TẨI LI U H ng NG D N S K T QU NH N XÉT D NG, THAO TÁC 51 ÁNH GIÁ 55 K T QU 55 5.1.1 K t qu nghiên c u 55 5.1.2 K t qu thi công 55 NH N XÉT ậ ng ÁNH GIÁ 56 K T LU N VẨ H NG PHÁT TRI N 57 K T LU N 57 6.1.1 u m 57 6.1.2 Khuy t m 57 H NG PHÁT TRI N TẨI 58 TẨI LI U THAM KH O 59 PH L C 60 vii LI T Kể HÌNH NH Hình Trang Hình 2.1: Mơ hình truy n d li u chu n I2C Hình 2.2: Quá trình thi t b ch ghi d li u vƠo thi t b t Hình 2.3: Quá trình thi t b ch đ c d li u vƠo thi t b t Hình 2.4: Mơ hình truy n d li u chu n SPI Hình 2.5: Mơ hình truy n d li u chu n 1-Wire .9 Hình 2.6: D ng sóng q trình truy n nh n d li u chu n 1-Wire 10 Hình 2.7: Bi u t ng ph n m m Arduino 10 Hình 2.8: Giao di n ph n m m Arduino 11 Hình 2.9: M t kit Intel Galileo Gen 12 Hình 2.10: M t d i kit Intel Galileo Gen 12 Hình 2.11: S đ nguyên lý chip x lý trung tơm kit 13 Hình 2.12: S đ b trí chơn I/O kit Intel Galileo Gen 13 Hình 2.13: Ma tr n phím 4x4 ngoƠi th c t 14 Hình 2.14: C m bi n LM35 ngoƠi th c t 15 Hình 2.15: Led đo n đơi ngoƠi th c t 16 Hình 2.16: LCD 16x2 ngoƠi th c t 16 Hình 2.17: S đ chơn LCD 16x2 17 Hình 2.18: Led ma tr n 8x8 ngoƠi th c t 18 Hình 2.19: S đ chơn led ma tr n 8x8 19 Hình 2.20: IC 74HC595 ngoƠi th c t 19 Hình 2.21: S đ chơn IC 74HC595 20 Hình 2.22: C u trúc bên IC 74HC595 21 Hình 2.23: IC 74HC138 ngoƠi th c t 22 Hình 2.24: S đ chơn IC 74HC138 22 Hình 2.25: IC L298 ngoƠi th c t 25 Hình 2.26: S đ chơn IC L298 25 Hình 2.27: IC DS1307 ngoƠi th c t 26 Hình 2.28: S đ chơn IC DS1307 26 Hình 2.29: a ch ghi IC DS1307 27 viii Hình 3.1: S đ kh i c a h th ng 28 Hình 3.2: S đ nguyên lý c a kh i x lý trung tơm 29 Hình 3.3: S đ nguyên lý kh i nút nh n đ n 31 Hình 3.4: S đ nguyên lý kh i ma tr n phím 4x4 32 Hình 3.5: S đ nguyên lý kh i led đ n 33 Hình 3.6: S đ nguyên lý kh i led đo n 33 Hình 3.7: Transistor A1015 ngoƠi th c t 34 Hình 3.8: S đ nguyên lý kh i LCD 16x2 35 Hình 3.9: S đ nguyên lý kh i led ma tr n 8x8 35 Hình 3.10: S đ nguyên lý kh i c m bi n nhi t đ 36 Hình 3.11: S đ nguyên lý kh i th i gian th c 36 Hình 3.12: S đ nguyên lý kh i đ ng c 36 Hình 3.13: S đ nguyên lý kh i ngu n 37 Hình 3.14: Adapter 12V ậ 2A 37 Hình 3.15: S đ nguyên lý kh i switch giao ti p 38 Hình 4.1: M ch in PCB l p d i 39 Hình 4.2: M ch in PCB l p 40 Hình 4.3: S đ b trí linh ki n 40 Hình 4.4: Board thí nghi m m t d i 43 Hình 4.5: Board thí nghi m m t 43 Hình 4.6: Mơ hình t ng th 44 Hình 4.7: Mơ hình nhìn t xu ng 45 Hình 4.8: M t tr c mơ hình 45 Hình 4.9: M t hơng mơ hình 45 Hình 4.10: L u đ ho t đ ng toƠn b h th ng 46 Hình 4.11: L u đ u n b ng nút nh n, ma tr n phím 47 Hình 4.12: L u đ hi n th 47 Hình 4.13: Trang ch Arduino 49 Hình 4.14: Bi u t ng ph n m m Arduino 49 Hình 4.15: Giao di n ph n m m Arduino 49 ix Hình 4.16: Giao di n ch c n ng m c Tools 50 Hình 4.17: H p tho i Boards Manager 50 Hình 4.18: Giao di n ph n m m ti n hƠnh ch n kit Intel Galileo Gen 51 Hình 4.19: B x lý trung tơm vƠ board thí nghi m đư k t n i 51 Hình 4.20: V trí nút BTN_NGUON board thí nghi m 52 Hình 4.21: K t n i cáp Micro USB gi a b x lý trung tơm v i máy tính 52 Hình 4.22: Giao di n ph m m m ti n hƠnh ch n kit giao ti p 53 Hình 4.23: Giao di n ph n m m ch n c ng COM giao ti p 53 Hình 4.24: Báo hi u giao ti p thƠnh cơng v i kit Hình 4.25: Bi u t ng cơng c biên d ch ch Hình 4.26: Báo hi u biên d ch ch Hình 4.27: Bi u t i bên ph i 53 ng trình 53 ng trình hoƠn t t vƠ khơng có l i 54 ng công c n p ch Hình 4.28: Báo hi u n p ch góc d ng trình 54 ng trình thƠnh cơng 54 Hình 4.29: Board thí nghi m sau n p ch ng trình 54 Hình 5.1: Mơ hình b thí nghi m 55 Hình 5.2: B x lý trung tơm 56 x CH NG K T QU Ch 5.1 NH N XÉT ÁNH GIÁ ng K T QU NH N XÉT ÁNH GIÁ K T QU 5.1.1 K t qu nghiên c u Trong trình nghiên c u vƠ th c hi n đ tƠi g n tháng, đư đ t đ c k t qu nh sau:  Tìm hi u vƠ nghiên c u t ng quan c u t o, ch c n ng c a kit Intel Galileo Gen  Thi t k vƠ thi công hoƠn thi n b thí nghi m, t ng h p đ c nhi u kh i m t board m ch  Bi t cách s d ng ph n m m thi t k m ch nh Altium Designer v i ph n m m l p trình cho kit Intel Galileo Gen  Xơy d ng đ c bƠi t p thí nghi m đ n gi n ho t đ ng nh mong mu n board m ch 5.1.2 K t qu thi cơng Qua q trình thi t k ph n c ng, ch n l a linh ki n lên ý t mơ hình, d i đơy lƠ k t qu mƠ đư th c hi n đ ng hoƠn thi n c: Hình 5.1: Mơ hình b thí nghi m B MƠN I N T CƠNG NGHI P ậ Y SINH 55 CH NG K T QU NH N XÉT ÁNH GIÁ Hình 5.2: B x lý trung tâm NH N XÉT ậ ÁNH GIÁ 5.2 Sau th i gian nghiên c u, thi công đ án t t nghi p c a nhóm v i đ tƠi “Thi t k vƠ thi công b thí nghi m vi x lỦ giao ti p kit Intel Galileo” đư hoƠn thi n Nhìn chung, mơ hình đư ho t đ ng n đ nh, có th lƠm vi c liên t c, đ t 90% yêu c u đ ban đ u Ng an toàn cho ng i dùng thao tác đ n gi n, d s d ng H th ng đ m b o i dùng H th ng s d ng ngu n c p nh nên an toƠn cho ng i s d ng tr c nguy c n gi t Th i gian đáp ng t nh n nút nh n tr c ti p nhanh Th i gian đáp ng n p ch ng trình cho đ n m ch ho t đ ng tùy thu c máy tính ng i s d ng Tuy nhiên, s h n ch v ki n th c vƠ th i gian th c hi n, ngu n tƠi li u tham kh o ch y u thông qua Internet vƠ m t s giáo trình tham kh o nên đ tƠi khơng tránh kh i sai sót vƠ m t s h n ch : - H n ch l n nh t lƠ ch a có đ c ngu n n d tr đ cung c p cho h th ng ho t đ ng b m t ngu n - Vì u ki n kinh phí vƠ th i gian có h n, nên nhóm ch th c hi n mơ hình mang tính t B MƠN I N T ng đ i CÔNG NGHI P ậ Y SINH 56 CH NG K T LU N VẨ H Ch NG PHÁT TRI N ng K T LU N VẨ H NG PHÁT TRI N K T LU N 6.1 V i nh ng m c tiêu đư đ ra, đ tƠi đư gi i quy t vƠ hoƠn thƠnh đ c nh ng m c tiêu đ t ban đ u nh : - Tìm hi u t ng quan: c u t o ph n c ng, ch c n ng chơn c a dòng kit Intel Galileo mang tính ng d ng cao - Thi t k vƠ thi công đ c b thí nghi m vi x lý hoƠn ch nh v i nh ng ch c n ng c b n nh : bƠn phím, led đ n, led đo n, LCDầ ho c nh ng ng d ng cao h n: giao ti p máy tính, u n đ ng c - Xơy d ng bƠi t p thí nghi m giao ti p đ n gi n v i led đ n, led đo n, nút nh n, bƠn phím ma tr n, LCD, chuy n đ i ADCầ - Mô hình h th ng d s d ng, ti n l i, đáp ng nhu c u c n thi t v s d ng thi t b c a ng - 6.1.1 - i dùng Ph n m m mi n phí, có s n Internet u m Ph n c ng đ c thi t k nh g n, đ n gi n, d s d ng, mơ hình đ c trang trí đ p, tr c quan - Cách th c u n vƠ giao ti p v i mơ hình đ n gi n v i ng - Chi phí c a h th ng i l p trình m c trung bình vƠ đáp ng g n nh đ y đ yêu c u đ t 6.1.2 Khuy t m Dù đư r t c g ng hoƠn thƠnh đ tƠi m t cách t t nh t có th nhiên h th ng v n m t vƠi khuy t m sau: - Các kh i hi n th ch a đ t hi u su t hi n th t i đa, kh i led matrix 8x8 nh p nháy liên t c khó quan sát, ch a th k t h p kh i khác - Kh i LCD 16x2 vƠ kh i led đo n hi n th lúc hi u su t hi n th kém, led đo n nh p nháy liên t c nh ng s d ng đ c l p t ng đ i n đ nh B N p ch ng trình vƠo kit Intel Galileo Gen x y nhi u l i MÔN I N T CÔNG NGHI P ậ Y SINH 57 CH NG K T LU N VẨ H - NG PHÁT TRI N Ki n th c, th i gian c ng nh kinh phí h n ch nên mơ hình khơng đ ct i u 100% H 6.2 NG PHÁT TRI N V i mong mu n đ a đ n cho ng có th TÀI i s d ng m t b thí nghi m hoƠn thi n đ ng d ng th c ti n h n, xin đ c đ a m t s ý ki n phát tri n cho đ tƠi nh sau: - NgoƠi ph n m m Arduino IDE đ c s d ng đ tƠi có th l p trình thêm ph n m m có th l p trình cho kit Intel Galileo Gen nh Linux ho c Mac OS X - M r ng thêm nhi u port đ t ng s thi t b ngo i vi nh m t ng tính ng d ng cho b thí nghi m - Trong đ tƠi nƠy, s d ng ph n m m Arduino IDE đ l p trình kit Intel Galileo Gen 2, th ngoƠi kit mƠ đ tƠi s d ng có th dùng kit Arduino UNO R3 đ l p trình thay th t B MƠN I N T CÔNG NGHI P ậ Y SINH ng ng 58 TẨI LI U THAM KH O TẨI LI U THAM KH O [1] Nguy n ình Phú, “Giáo trình vi u n PIC 16F887”, Xu t b n H SPKT TP.HCM, n m 2014 [2] Ph m V n Khích, “Thi t k b thí nghi m PIC 18F2455/2550/5555/4550”, NCKH c p tr ng, tr ng HSPKT, TP.HCM, tháng 10 n m 2008 [3] Nguy n V n Bình, “Thi t k nhà thơng minh dùng vi u n PIC án t t nghi p, tr 16F887”, [4] Tr n Anh ng HSPKT, TP.HCM, n m 2014 , Tr n S n LƠnh, “H th ng m danh b ng vân tay ng d ng vi u n ARM”, án t t nghi p, tr ng HSPKT, TP.HCM, tháng n m 2016 [5] Hu nh Công ThƠnh, Nguy n Trung Vinh, “ ng d ng kit Raspberry nh n d ng m t ng [6] án t t nghi p, tr i”, ng HSPKT, TP.HCM, tháng n m 2016 Ti n Anh, Lâm Thanh Sang, “Thi t k h th ng u n giám sát thi t b qua webserver s d ng kit Intel Edison”, án t t nghi p, tr ng HSPKT, TP.HCM, tháng 07 n m 2018 [7] Nguy n ình Phú, “Giáo trình th c hành vi u n PIC”, Xu t b n H SPKT TP.HCM, tháng 08 n m 2016 [8] Tr n Thu HƠ (ch biên), Tr Th Tuy t ng Th Bích NgƠ, Nguy n Th L an, Phù Th Ng c Hi u, D b n”, NXB ng, Bùi ng Th C m Tú, “Giáo trình i n t c i h c Qu c gia TP.HCM, 2014 [9] Lê Hi u, “Vi u n, Vi x lý ?”, thegioiic.com/forums/vi-dieukhien-vi-xu-ly-la-gi, 19 tháng 03 n m 2012 [10] MSP430, “Gi i thi u giao th c SPI”, electronicctu.net/Thread-Chuangiao-tiep-SPI.html, 26 tháng n m 2012 [11] ụ t ng nhanh, “Chu n giao ti p 1-Wire”, ytuongnhanh.vn/chi-tiet/chuan- giao-tiep-1-wire-156.html, n m 2017 B MÔN I N T CÔNG NGHI P ậ Y SINH 59 PH L C PH L C Các bƠi t p thí nghi m giao ti p đ n gi n vƠ k t qu thu đ Bài 1: o vƠ hi n th nhi t đ bên trái hƠng c a LCD HƠng hi n th ch “NHIET DO PHONG:”.Có nút nh n l n l BTN1: nh n l n nhi t đ hi n th đ hi n th c t v i ch c n ng nh sau: bên ph i hƠng c a LCD, nh n l n nhi t bên trái hƠng c a LCD vƠ l p l i BTN2: Nh n l n sáng led bên ph i, nh n l n sáng led bên trái, nh n l n led sáng xen k , nh n l n led t t vƠ l p l i BTN3: Nh n l n đ ng c ho t đ ng, nh n l n đ ng c ng ng vƠ l p l i BTN4: Thay đ i c p t c đ đ ng c (2 c p) Code ch ng trình: //DIEU KHIEN LED DON int SHCP_LEDDON = 0; int STCP_LEDDON = 8; int G_3M =6; int DS_LEDDON = 1; //DIEU KHIEN NUT NHAN DON const int nutnhan4 = A3; const int nutnhan3 = A2; const int nutnhan2 = 2; const int nutnhan1 = 3; //DIEU KHIEN DONG CO int input1 = 5;//PWM int input2 = 4; int E_L298 = A1; //DIEU KHIEN LCD VA CAM BIEN NHIET DO #include #include LiquidCrystal lcd(7); int cambien = A0; void setup() { //KHOI TAO DONG CO pinMode(input1,OUTPUT); B MÔN I N T CÔNG NGHI P ậ Y SINH 60 PH L C pinMode(input2,OUTPUT); pinMode(E_L298,OUTPUT); digitalWrite(E_L298,LOW); digitalWrite(input1,LOW); digitalWrite(input2,LOW); digitalWrite(E_L298,HIGH); //KHOI TAO LCD VA CAM BIEN NHIET DO analogReadResolution(12); Wire.begin(); lcd.initSPI(7); pinMode(G_3M,OUTPUT); digitalWrite(G_3M,LOW); lcd.begin(16, 2); lcd.clear(); lcd.print(" NHIET DO PHONG:"); //KHOI TAO LED DON pinMode(DS_LEDDON,OUTPUT); pinMode(STCP_LEDDON,OUTPUT); pinMode(SHCP_LEDDON,OUTPUT); pinMode(G_3M,OUTPUT); digitalWrite(G_3M,LOW); xuat_8led(0x00); //KHOI TAO NUT NHAN DON pinMode(nutnhan4,INPUT); pinMode(nutnhan1,INPUT); pinMode(nutnhan2,INPUT); pinMode(nutnhan3,INPUT); digitalWrite(nutnhan4,HIGH); digitalWrite(nutnhan1,HIGH); digitalWrite(nutnhan2,HIGH); digitalWrite(nutnhan3,HIGH); delay(100);} //KIEM TRA VA CHONG DOI NUT NHAN DON int ktnutnhan(int chan){ if(!digitalRead(chan)){ delay(20); if(!digitalRead(chan)){ B MÔN I N T CÔNG NGHI P ậ Y SINH 61 PH L C while(!digitalRead(chan)); return 0;}} return 1;} //XUAT DU LIEU LED DON void xuat_byte( byte bytexuat) {shiftOut(DS_LEDDON, SHCP_LEDDON, MSBFIRST, bytexuat); } void xuat_8led( byte y0) { xuat_byte(y0); digitalWrite(STCP_LEDDON,LOW); digitalWrite(STCP_LEDDON,HIGH);} //XUAT DU LIEU DONG CO void dongco_quaythuan(){ digitalWrite(input1,HIGH); digitalWrite(input2,LOW);} void dongco_quaynghich(){ digitalWrite(input1,LOW); digitalWrite(input2,HIGH);} void dongco_dungquay(){ digitalWrite(input1,LOW); digitalWrite(input2,LOW);} void dongco_thaydoi_tocdo(int speed) { speed = constrain(speed, 0, 255); analogWrite(input1, speed); digitalWrite(input2, LOW);} int tt1=0,tt2=0,tt3=0,tt4=0; void loop() { //DOC GIA TRI CAM BIEN NHIET DO int giatri = analogRead(cambien); float nhietdo = giatri * ((5.0*100/4096)); //KIEM TRA TRANG THAI NUT NHAN DON int buttonStatus1 = ktnutnhan(nutnhan1); int buttonStatus2 = ktnutnhan(nutnhan2); int buttonStatus3 = ktnutnhan(nutnhan3); int buttonStatus4 = ktnutnhan(nutnhan4); //TANG CAP TOC DO DONG CO if (buttonStatus4 == LOW) { B MÔN I N T CÔNG NGHI P ậ Y SINH 62 PH L C tt4=tt4+30; if(tt4>50){tt4=0;}} //TAT/MO DONG CO if (buttonStatus3 == LOW) {tt3=tt3+1;if(tt3>1) {tt3=0;}} if(tt3==0){dongco_dungquay();tt4=0;} if(tt3==1){dongco_thaydoi_tocdo(20+tt4);} //HIEN THI LED if (buttonStatus2 == LOW) { tt2=tt2+1; if(tt2>3) {tt2=0;}} if(tt2==0){xuat_8led(0x00);} if(tt2==1){xuat_8led(0x0f);} if(tt2==2){xuat_8led(0xf0);} if(tt2==3){xuat_8led(0xaa);} //HIEN THI NHIET DO RA LCD if (buttonStatus1 == LOW) { tt1=tt1+1; if(tt1>1) {tt1=0;}} if(tt1==0){ lcd.setCursor(0, 1); lcd.print(nhietdo,2); lcd.write(223); lcd.print("C"); lcd.setCursor(7, 1); lcd.print(" "); } else { lcd.setCursor(8, 1); lcd.print(nhietdo,2); lcd.write(223); lcd.print("C"); lcd.setCursor(0, 1); lcd.print(" B MÔN I N T "); }} CÔNG NGHI P ậ Y SINH 63 PH L C Quan sát k t qu b thí nghi m: B K t qu thu đ c b thí nghi m nh n BTN1 l n nh hình d i K t qu thu đ c b thí nghi m nh n BTN1 l n nh hình d i K t qu thu đ c b thí nghi m nh n BTN2 l n nh hình d i MÔN I N T CÔNG NGHI P ậ Y SINH 64 PH L C K t qu thu đ c b thí nghi m nh n BTN2 l n nh hình d i K t qu thu đ c b thí nghi m nh n BTN2 l n nh hình d i Bài 2: Code ch ng h th i gian th c hi n th led đo n ng trình: #include const int DS_7DOAN = 10; const int STCP_7DOAN = 9; const int SHCP_7DOAN = 12; const int G_3M = 6; int ma7doan[10]= {0XC0,0XF9,0xA4,0XB0,0X99,0X92,0X82,0XF8, 0X80,0X90}; int thutuled[6]={0xfd,0xfb,0xf7,0xef,0xdf,0xbf}; int led7[6]={0xff,0xff,0xff,0xff,0xff,0xff}; B MÔN I N T CÔNG NGHI P ậ Y SINH 65 PH L C // int giay, phut, gio, thu, ngay, thang, nam; int bcd2dec(byte num) { return ((num/16 * 10) + (num % 16)); } int dec2bcd(byte num) { return ((num/10 * 16) + (num % 10)); } void nap_thoi_gian_ds1307(byte hr,byte min,byte sec,byte wd,byte d,byte mth,byte yr){ Wire.beginTransmission(0x68); Wire.write(byte(0x00)); // đ t l i pointer Wire.write(dec2bcd(sec)); Wire.write(dec2bcd(min)); Wire.write(dec2bcd(hr)); Wire.write(dec2bcd(wd)); // day of week: Sunday = 1, Saturday = Wire.write(dec2bcd(d)); Wire.write(dec2bcd(mth)); Wire.write(dec2bcd(yr)); Wire.endTransmission(); } void doc_thoi_gian_ds1307() { Wire.beginTransmission(0x68); Wire.write((byte)0x00); Wire.endTransmission(); Wire.requestFrom(0x68, 7); giay = bcd2dec(Wire.read() & 0x7f); phut = bcd2dec(Wire.read() ); gio = bcd2dec(Wire.read() & 0x3f); // ch đ 24h thu = bcd2dec(Wire.read() ); = bcd2dec(Wire.read() ); thang = bcd2dec(Wire.read() ); B MÔN I N T CÔNG NGHI P ậ Y SINH 66 PH L C nam = bcd2dec(Wire.read() ); nam += 2000;} // void setup() { Wire.begin(); pinMode(DS_7DOAN,OUTPUT); pinMode(STCP_7DOAN,OUTPUT); pinMode(SHCP_7DOAN,OUTPUT); pinMode(G_3M,OUTPUT); digitalWrite(G_3M, LOW); delay(100); //nap_thoi_gian_ds1307(16,21,00,3,18,12,18); } void xuat_1byte(unsigned int bytexuat) { shiftOut(DS_7DOAN, SHCP_7DOAN, MSBFIRST, bytexuat); } void xuat_led_7doan_quet_1( int y1,int y0) { xuat_1byte(y1); xuat_1byte(y0); digitalWrite(STCP_7DOAN,LOW); digitalWrite(STCP_7DOAN,HIGH); } void xuat_led_7doan_quet_tat() { xuat_led_7doan_quet_1( 0xff,0xff); } void xuat_led_7doan_quet_2( int y1,int y0) { xuat_1byte(thutuled[y1]); xuat_1byte(y0); digitalWrite(STCP_7DOAN,LOW); digitalWrite(STCP_7DOAN,HIGH); } void xuat_led_quet_tatca(){ for(int i =0;i

Ngày đăng: 16/11/2019, 15:06

Từ khóa liên quan

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

Tài liệu liên quan