Nghiên cứu phát triển hệ thống dẫn hướng cho người khiếm thị

97 316 0
Nghiên cứu phát triển hệ thống dẫn hướng cho người khiếm thị

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - NGUYỄN THỊ HUẾ NGHIÊN CỨU PHÁT TRIỂN HỆ THỐNG DẪN HƢỚNG CHO NGƢỜI KHIẾM THỊ Chuyên ngành: Đo lường hệ thống điều khiển LUẬN VĂN THẠC SĨ KHOA HỌC ĐO LƯỜNG VÀ CÁC HỆ THỐNG ĐIỀU KHIỂN NGƯỜI HƯỚNG DẪN KHOA HỌC: GS.TS PHẠM THỊ NGỌC YẾN Hà nội – Năm 2013 Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị 2013 LỜI CẢM ƠN Trong thời gian học tập trang bị sâu rộng kiến thức chuyên ngành, phương pháp học tập, đồng thời trưởng thành Đầu tiên tác giả xin chân thành cảm ơn GS.TS Phạm Thị Ngọc Yến hướng dẫn giúp đỡ tạo điều kiện để tác giả nghiên cứu hoàn thành luận văn thạc sĩ Tôi xin chân thành cảm ơn thầy cô môn Kĩ thuật đo Tin học công nghiệp, người dạy cho kiến thức giúp nâng cao kiến thức chuyên môn Tôi xin chân thành cám ơn ban lãnh đạo thầy cô viên nghiên cứu quốc tế MICA – trường đại học Bách Khoa Hà Nội, viện nghiên cứu IMEP-LAHC, France tạo điều kiện để việc nghiên cứu hoàn thành luận văn Tôi xin cảm ơn tập thể lớp cao học Đo lường hệ thống điều khiển hệ khoa học khóa 2011B, người thường xuyên động viên, đóng góp trao đổi ý kiến kiến thức suốt thời gian học tập hoàn thành luận văn Hà Nội, Ngày… tháng… năm…… Học viên thực Nguyễn Thị Huế I Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị 2013 LỜI CAM ĐOAN Tôi Nguyễn Thị Huế, học viên cao học lớp 11B-ĐLĐK.KH khóa 2011B 2013 Giảng viên hướng dẫn GS.TS Phạm Thị Ngọc Yến Tôi xin cam đoan toàn nội dung trình bày luận văn “Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị” công trình nghiên cứu tôi, hướng dẫn trực tiếp GS.TS Phạm Thị Ngọc Yến – trường Đại học Bách Khoa Hà Nội, thiết kế, kết nghiên cứu luận văn trung thực chưa công bố công trình nghiên cứu Mọi thông tin trích dẫn tuân theo luật sở hữu trí tuệ, liệt kê rõ ràng tài liệu tham khảo Tôi xin chịu hoàn toàn trách nhiệm với nội dung viết luận văn Hà Nội, Ngày… tháng… năm…… Học viên thực Nguyễn Thị Huế II Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị 2013 MỤC LỤC MỞ ĐẦU .1 a Tính cấp thiết đề tài/lý chọn đề tài b Mục đích nghiên cứu luận văn, đối tượng, phạm vi nghiên cứu .2 c Phương pháp nghiên cứu d Nội dung thực e Đóng góp đề tài Chương 1: TỔNG QUAN VỀ NGHIÊN CỨU 1.1 Tổng quan công nghệ trợ giúp người khiếm thị 1.1.1 Tình hình nghiên cứu nước .6 1.1.1.1 Thiết kế mô hình gậy thông minh 1.1.1.2 Mô hình gậy có gắn đèn âm dành cho người khiếm thị 1.1.1.3 Chiếc nón kì diệu .7 1.1.2 Tình hình nghiên cứu giới 1.1.2.1 Các thiết bị xác định tránh vật cản : 1.1.2.2 Các thiết bị hiển thị ảnh ma trận vỏ não võng mạc : 10 1.1.2.3 Các thiết bị thông qua xúc giác : 11 1.1.2.4 Các thiết bị sử dụng âm .19 1.2 Tổng quan phương pháp truyền tin không dây 19 1.2.1 Hồng ngoại (Infrared) .20 1.2.2 Wifi 21 1.2.3 Zigbee 23 1.2.4 Bluetooth 25 Chương 2: NGHIÊN CỨU THIẾT KẾ VÀ CHẾ TẠO MA TRẬN ĐIỆN CỰC 28 2.1 Vai trò điện cực trợ giúp người 28 2.1.1 Điện cực kích thích lên da .28 III Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị 2013 2.1.2 Điện cực kích thích lên lưỡi 29 2.2 Cấu tạocủa TDU .30 2.3 Hoạt động TDU .31 2.4 Các dạng ma trận điện cực .34 Chương 3: THIẾT KẾ VÀ LÂP TRÌNH HỆ THỐNG .38 3.1 Bài toán, phân tích yêu cầu .38 3.1.1 Bài toán 38 3.1.2 Phân tích yêu cầu 38 3.2 Lựa chọn giải pháp, thiết bị 39 3.2.1 Lựa chọn giải pháp 39 3.2.1.1 Lựa chọn phương pháp dẫn hướng người khiếm thị 39 3.2.1.2 Lựa chọn phương thức truyền tin không dây 40 3.2.2 Lựa chọn thiết bị .41 3.2.2.1 Vi xử lý trung tâm 41 3.2.2.1 Mô đun thu phát không dây Bluetooth HC-06 .43 3.3.1 Khối nguồn cung cấp điện áp .47 3.3.2 Khối chuyển đổi mức điện áp 47 3.3.3 Khối mạch điều khiển điện cực .48 3.3.3.1 Điều khiển trực tiếp 48 3.3.3.2 Điều khiển Electrode mạch DAC DEMUX .48 3.3.4 Khối truyền nhận tín hiều Bluetooth .49 3.3.5 Khối Electrode .51 3.3.5 Khối sạc không dây 52 3.3.7 Khối CPU 53 3.4 Lập trình thiết bị .54 3.4.1 Lập trình vi điều khiển 54 IV Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị 2013 3.4.1 Lập trình giao diện máy tính 57 Chương 4: THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 59 4.1 Thử nghiệm thiết bị 59 4.1.1 Thử nghiệm 59 4.1.2 Thử nghiệm 61 4.2 Kết đánh giá thiết bị 66 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 69 TÀI LIỆU THAM KHẢO 70 V Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị 2013 DANH MỤC VIẾT TẮT ETAs Electronic Travel Aids Thiết bị điện tử trợ giúp lại NOD Nottingham Obstacle Detector Đầu chướng ngại vật TDU Tongue Display Unit Thiết bị hiển thị lưỡi IR Infrared Hồng ngoại RF Radio Frequency Tần số vô tuyến TVSS Tactile vision substitution systems Hệ thống xúc giác thay HMI Human Machine Interface Giao diện người máy FHSS Frequency-Hopping Spread Spectrum Tần số nhảy lan truyền phổ VI Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị 2013 DANH MỤC HÌNH VẼ Hình 1.1: Cây gậy có gắn âm đèn Hình 1.2: Chiếc nón kì diệu Hình 1.3: Các cộng nghệ thích hợp gắn lên người sử dụng cho người Hình 1.4: Thiết bị Tacit xác định vật cản siêu âm 10 Hình 1.5: Thiết bị cấy vào võng mạc 11 Hình 1.6: Xúc giác thông qua ngón tay 12 Hình 1.7: Thiết bị trợ giúp cho người khiếm thị đặt cổ tay .13 Hình 1.8: Thiết bị trợ giúp áo vest 14 Hình 1.9: Thiết bị trợ giúp đeo thắt lưng 15 Hình 1.10: Thiết bị trợ giúp đeo bàn chân 16 Hình 1.11: Thiết bị trợ giúp đặt miệng 17 Hình 1.12: Thiết bị mô tả hình ảnh qua xúc giác 18 Hình 1.13: Xử lý hình ảnh đưa dạng ma trận điểm .18 Hình 1.14: Thiết bị trợ giúp The Voice 19 Hình 1.15: Công nghệ hồng ngoại tích hợp Xbox 360 21 Hình 1.16: Ứng dụng Wifi 22 Hình 1.17: Ứng dụng Zigbee 24 Hình 1.18: Ứng dụng Bluetooth 26 Hình 2.1: Hình ảnh loại điện cực kích thích lên da 29 Hình 2.2: Ma trận điện cực đặt miệng 30 Hình 2.3: Hình ảnh ma trận điện cực 30 Hình 2.4: Tiếp xúc ma trận điện cực lưỡi .31 Hình 2.5: Xung điều khiển điện cực .32 Hình 2.6: Hình ảnh đóng gói ma trận điện cực đặt miệng 33 VII Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị 2013 Hình 2.7: Vị trí đặt Electrode miệng 34 Hình 2.8: Dẫn hướng mà trân Electrode 34 Hình 2.9: Biểu diễn hướng ma trận tròn 35 Hình 2.10 : Biểu diễn hướng ma 64 Electrode .36 Hình 2.11: Biểu diễn tín hiệu thẳng tiến lùi 37 Hình 2.12: Biểu diễn tín hiệu rẽ phải trái 37 Hình 3.1: Sơ đồ mô hình lớp học 38 Hình 3.2: a) sơ đồ chân b) hình ảnh PIC23FJ128GA010 .42 Hình 3.3: Hình ảnh thực tế mô đun Bluetooth .43 Hình 3.4: Sơ đồ tổng thể hệ thống 45 Hình 3.5: Hình ảnh pin cung cấp 47 Hình 3.7: Xung điều khiển Electrode 48 Hình 3.8: Khối điều khiển Electrode 49 Hình 3.9: Khối truyền tin không dây RF 51 Hình 3.10: Khối sơ đồ nguyên lý 33 electrode .51 Hình 3.11: Khối sơ đồ hình ảnh thực điện cực tròn 52 Hình 3.12: Khối sạc không dây .53 Hình 3.13: Sơ đồ khối CPU 54 Hình 3.14: Lưu đồ thuật toán chương trình .55 Hình 3.15: Biểu diễn hướng ma trận tròn .56 Hình 3.16: Giao diện điều khiển máy tính .57 Hình 4.1: Sơ đồ xung điều khiển điện cực 59 Hình 4.2: Hình ảnh ma trận điện cực tròn .62 Hình 4.3: Vị trí đặt điện cực lưỡi hướng 62 Hình 4.4: Sơ đồ mạch điều khiển điệc cực 67 Hình 4.5: Kết thử nghiệm .68 VIII Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị 2013 DANH MỤC BẢNG BIỂU Bảng 3.1: Bảng so sánh phương thức truyền truyền tin không dây 40 Bảng 3.2: Bảng lựa chọn chân DEMUX .49 Bảng 4.1: Kết thử nghiệm cảm nhận thời gian kích thích điện cực 58 Bảng 4.2: Kết thử nghiệm với ma trận điện cực tròn 33 điện cực 63 IX Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị { char temp1 = 0; temp1 = U1RXREG; // Doc ky tu da nhan duoc vao temp UART1PutChar(temp1); if (temp1 == '1') // di thang { Di_Thang(); LED_1_IO = 1; } if (temp1 == '2') // di lui { Di_Lui(); LED_2_IO = 1; } if (temp1 == '3') // re trai { Re_Trai(); LED_3_IO = 1; } if (temp1 == '4') // re phai { Re_Phai(); LED_4_IO = 1; } if (temp1 == '5') // re 45 tien phai { Re_45_Phai_Tien(); LED_5_IO = 1; } if (temp1 == '6') // re 45 tien trai { Re_45_Trai_Tien(); LED_6_IO = 1; } if (temp1 == '7') // re 45 lui phai { Re_45_Phai_Lui(); LED_7_IO = 1; } if (temp1 == '8') // re 45 lui trai { Re_45_Trai_Lui(); LED_8_IO = 1; } DelayMs(10); Tat_LED(); DataAvailable1 = 0; } iii 2013 Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị if(DataAvailable2 == 1) { char DATA_blue2 = 0; DATA_blue2 = U2RXREG; // Doc ky tu da nhan duoc vao temp UART2PutChar(DATA_blue2); if (DATA_blue2 == '1') // di thang { Di_Thang(); LED_1_IO = 1; } if (DATA_blue2 == '2') // di lui { Di_Lui(); LED_2_IO = 1; } if (DATA_blue2 == '3') // re trai { Re_Trai(); LED_3_IO = 1; } if (DATA_blue2 == '4') // re phai { Re_Phai(); LED_4_IO = 1; } if (DATA_blue2 == '5') // re 45 tien phai { Re_45_Phai_Tien(); LED_5_IO = 1; } if (DATA_blue2 == '6') // re 45 tien trai { Re_45_Trai_Tien(); LED_6_IO = 1; } if (DATA_blue2 == '7') // re 45 lui phai { Re_45_Phai_Lui(); LED_7_IO = 1; } if (DATA_blue2 == '8') // re 45 lui trai { Re_45_Trai_Lui(); LED_8_IO = 1; } DelayMs(10); iv 2013 Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị Tat_LED(); DataAvailable2 = 0; } } } Các thiết lập cho vi điều khiển chương trình /********************************************************************* * * General Delay rouines * ********************************************************************* * FileName: Delay.c * Dependencies: Compiler.h * Processor: PIC18, PIC24F, PIC24H, dsPIC30F, dsPIC33F, PIC32 * Compiler: Microchip C32 v1.05 or higher * Microchip C30 v3.12 or higher * Microchip C18 v3.30 or higher * HI-TECH PICC-18 PRO 9.63PL2 or higher * Company: FRD * Developer: huent *********************************************************************/ #include "main.h" #include "Driver\Timer.h" #include "Delay.h" // // init LED // void LEDInit() { LED_1_TRIS = 0; LED_2_TRIS = 0; LED_3_TRIS = 0; LED_4_TRIS = 0; LED_5_TRIS = 0; LED_6_TRIS = 0; LED_7_TRIS = 0; LED_8_TRIS = 0; } // // init electrode // void ELECTRODEInit(void) { v 2013 Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị ELEC_1_TRIS = 0; ELEC_2_TRIS = 0; ELEC_3_TRIS = 0; ELEC_4_TRIS = 0; ELEC_5_TRIS = 0; ELEC_6_TRIS = 0; ELEC_7_TRIS = 0; ELEC_8_TRIS = 0; } void Bat_LED(void) { LED_1_IO = 1; LED_2_IO = 1; LED_3_IO = 1; LED_4_IO = 1; LED_5_IO = 1; LED_6_IO = 1; LED_7_IO = 1; LED_8_IO = 1; } // tat het ta ca ca led void Tat_LED(void) { LED_1_IO = 0; LED_2_IO = 0; LED_3_IO = 0; LED_4_IO = 0; LED_5_IO = 0; LED_6_IO = 0; LED_7_IO = 0; LED_8_IO = 0; } void ADDInit(void) { V1_TRIS = 0; V2_TRIS = 0; V3_TRIS = 0; V4_TRIS = 0; V5_TRIS = 0; V6_TRIS = 0; V7_TRIS = 0; V8_TRIS = 0; } vi 2013 Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị void MUXInit(void) { A0_TRIS = 0; A0_TRIS = 0; A0_TRIS = 0; A0_TRIS = 0; EN1_TRIS = 0; ANA_TRIS = 0; } // // electrode direction // -// di thang void Di_Thang(void) { ELEC_4_BIT = 1; DelayMs(5); ELEC_4_BIT = 0; DelayMs(80); ELEC_5_BIT = 1; ELEC_5_BIT = 0; DelayMs(5); DelayMs(80); ELEC_6_BIT = 1; ELEC_6_BIT = 0; DelayMs(5); DelayMs(80); } // Di lui void Di_Lui(void) { ELEC_6_BIT = 1; ELEC_6_BIT = 0; DelayMs(5); DelayMs(80); ELEC_5_BIT = 1; ELEC_5_BIT = 0; DelayMs(5); DelayMs(80); ELEC_4_BIT = 1; ELEC_4_BIT = 0; DelayMs(5); DelayMs(80); } // Re trai void Re_Trai(void) { ELEC_8_BIT = 1; ELEC_8_BIT = 0; DelayMs(5); DelayMs(50); ELEC_5_BIT = 1; ELEC_5_BIT = 0; DelayMs(5); DelayMs(50); vii 2013 Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị ELEC_2_BIT = 1; ELEC_2_BIT = 0; DelayMs(5); DelayMs(50); } // Re phai void Re_Phai(void) { ELEC_2_BIT = 1; ELEC_2_BIT = 0; DelayMs(5); DelayMs(80); ELEC_5_BIT = 1; ELEC_5_BIT = 0; DelayMs(5); DelayMs(80); ELEC_8_BIT = 1; ELEC_8_BIT = 0; DelayMs(5); DelayMs(80); } // Re 45 phai tien void Re_45_Phai_Tien(void) { ELEC_3_BIT = 1; ELEC_3_BIT = 0; DelayMs(5); DelayMs(80); ELEC_5_BIT = 1; ELEC_5_BIT = 0; DelayMs(5); DelayMs(80); ELEC_7_BIT = 1; ELEC_7_BIT = 0; DelayMs(5); DelayMs(80); } // Re 45 trai tien void Re_45_Trai_Tien(void) { ELEC_9_BIT = 1; ELEC_9_BIT = 0; DelayMs(5); DelayMs(80); ELEC_5_BIT = 1; ELEC_5_BIT = 0; DelayMs(5); DelayMs(80); ELEC_1_BIT = 1; ELEC_1_BIT = 0; DelayMs(5); DelayMs(80); } // Re 45 phai tien viii 2013 Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị void Re_45_Phai_Lui(void) { ELEC_1_BIT = 1; ELEC_1_BIT = 0; DelayMs(5); DelayMs(80); ELEC_5_BIT = 1; ELEC_5_BIT = 0; DelayMs(5); DelayMs(80); ELEC_9_BIT = 1; ELEC_9_BIT = 0; DelayMs(10); DelayMs(80); 2013 } // Re 45 phai tien void Re_45_Trai_Lui(void) { ELEC_7_BIT = 1; ELEC_7_BIT = 0; DelayMs(5); DelayMs(80); ELEC_5_BIT = 1; ELEC_5_BIT = 0; DelayMs(5); DelayMs(80); ELEC_3_BIT = 1; ELEC_3_BIT = 0; DelayMs(5); DelayMs(80); } // // uart configuration // -void UART_1_Init(void) { TXD1_TRIS = 0; RXD1_TRIS = 1; LATFbits.LATF3 = 1; //Set up registers U1BRG = 25; //set baud speed 9600 U1MODE = 0x8000; //turn on module U1STA = 0x0440; //set interrupts // bit 15 13 UTXISEL = 10: Interrupt when a character is transferred to the Transmit Shift Register and as a result, the transmit buffer becomes empty // bit 10 UTXEN: =1 Transmit is enabled, UxTX pin controlled by UARTx //reset RX interrupt flag IFS0bits.U1RXIF = 0; // khong cho phep ngat nhan IEC0bits.U1RXIE = 1; // IFS0bits.U1TXIF = 0; // cho phep ngat truyen // IEC0bits.U1TXIE = 1; ix Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị 2013 } void UART1PutChar(char Ch) { U1TXREG = Ch; // Truyen ky tu "#" bao frame bat dau while (!U1STAbits.TRMT); // Cho den truyen xong ky tu } char UART1GetChar() { char Temp; //wait for buffer to fill up, wait for interrupt // while(IFS0bits.U1RXIF == 0); while(!U1STAbits.URXDA); Temp = U1RXREG; //reset interrupt IFS0bits.U1RXIF = 0; //return my received byte return Temp; } // // bluetooth configuration // -void UART_2_Init(void) { TXD2_TRIS = 0; RXD2_TRIS = 1; LATFbits.LATF5 = 1; //Set up registers U2BRG = 25; //set baud speed U2MODE = 0x8000; //turn on module U2STA = 0x0440; //set interrupts IEC1bits.U2RXIE = 1; IFS1bits.U2RXIF = 0; } void UART2PutChar(char Ch) { x Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị 2013 U2TXREG = Ch; // Truyen ky tu "#" bao frame bat dau while (!U2STAbits.TRMT); // Cho den truyen xong ky tu } char UART2GetChar() { char Temp1; //wait for buffer to fill up, wait for interrupt // while(IFS0bits.U1RXIF == 0); while(!U2STAbits.URXDA); Temp1 = U2RXREG; //reset interrupt IFS1bits.U2RXIF = 0; //return my received byte return Temp1; } void INTx_IO_Init(void) { INTCON2 = 0x0011; /*Setup INT1, INT2, INT3 & INT4 pins to interupt */ /*on falling edge and set up INT0 pin to interupt */ /*on rising edge */ IFS3bits.INT3IF = 0; /*Reset INT1 interrupt flag */ IEC3bits.INT3IE = 1; /*Enable INT1 Interrupt Service Routine */ IFS3bits.INT4IF = 0; /*Reset INT1 interrupt flag */ IEC3bits.INT4IE = 1; /*Enable INT1 Interrupt Service Routine */ } void init_SPI2_IO (void) { SDI2_TRIS = 1; // set SDI2 as an input SD02_TRIS = 0; // set SD02 as and output SCK2_TRIS = 0; // set SCK as an output CE2_TRIS = 0; // set SS as an output CSN_TRIS = 0; // set CSN as and output } void init_SPI2(void) { // IFS2bits.SPI2IF = 0; // xoa co ngat // IEC2bits.SPI2IE =1; // cho phep ngat SPI // IPC8bits.SPI2IP = 3; // uu tien ngat so SPI2STATbits.SPIEN = 0; // disable SPI port xi Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị //SPI2CON1 setting SPI2CON1bits.DISSCK = 0; // Internal SPI clock enable SPI2CON1bits.DISSDO = 0; // SDO pins is controlled by the module SPI2CON1bits.MODE16=1; // bits wide SPI2CON1bits.SMP = 0; // input data sampled at the middle of data ouput time SPI2CON1bits.CKE = 0; // from idle clock to active clock SPI2CON1bits.SSEN = 1; // SSx pin used by the module SPI2CON1bits.CKP = 1; // idle state clock is hight level SPI2CON1bits.MSTEN= 1; // Master mode SPI2CON1bits.SPRE = 4; // secondary prescale 1:1 SPI2CON1bits.PPRE = 2; // primary prescale 1:1 //SPI2CON2 setting SPI2CON2 = 0; // non-framed mode // SPI2STAT setting SPI2STATbits.SPIEN = 0; //inititally disable SPI2STATbits.SPISIDL = 0; //continue module operation in idle mode SPI2STATbits.SPIROV = 0;//no overflow SPI2BUF = 0; SPI2STATbits.SPIEN } // clear SPI buffer = 1; // enable SPI port, clear status void writeSPI2( unsigned short data ) { // CSN_IO = 0; DelayUs(1); // CSN_IO = 1; DelayUs(1); // CSN_IO = 0; DelayUs(1); SPI2BUF = data; // write to buffer for TX while(!SPI2STATbits.SPIRBF); // wait for transfer to complete CSN_IO = 0; }//writeSPI1 void DK_MUX1(void) { ANA_IO = 1; EN1_IO = 1; A0_IO = 1; xii 2013 Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị A1_IO = 0; A2_IO = 0; A3_IO = 0; } void DK_MUX2(void) { ANA_IO = 1; EN1_IO = 1; A0_IO = 0; A1_IO = 1; A2_IO = 0; A3_IO = 0; } void DK_MUX3(void) { ANA_IO = 1; EN1_IO = 1; A0_IO = 1; A1_IO = 1; A2_IO = 0; A3_IO = 0; } void DK_MUX4(void) { ANA_IO = 1; EN1_IO = 1; A0_IO = 0; A1_IO = 0; A2_IO = 1; A3_IO = 0; } void DK_MUX5(void) { ANA_IO = 1; EN1_IO = 1; A0_IO = 1; A1_IO = 0; A2_IO = 1; A3_IO = 0; } void DK_MUX6(void) { xiii 2013 Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị ANA_IO = 1; EN1_IO = 1; A0_IO = 0; A1_IO = 1; A2_IO = 1; A3_IO = 0; } void DK_MUX7(void) { ANA_IO = 1; EN1_IO = 1; A0_IO = 1; A1_IO = 1; A2_IO = 1; A3_IO = 0; } void DK_MUX8(void) { ANA_IO = 1; EN1_IO = 1; A0_IO = 0; A1_IO = 0; A2_IO = 0; A3_IO = 1; } void DK_MUX9(void) { ANA_IO = 1; EN1_IO = 1; A0_IO = 1; A1_IO = 0; A2_IO = 0; A3_IO = 1; } void DK_MUX10(void) { ANA_IO = 1; EN1_IO = 1; A0_IO = 0; A1_IO = 1; A2_IO = 0; xiv 2013 Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị A3_IO = 1; } void DK_MUX11(void) { ANA_IO = 1; EN1_IO = 1; A0_IO = 1; A1_IO = 1; A2_IO = 0; A3_IO = 1; } void DK_MUX12(void) { ANA_IO = 1; EN1_IO = 1; A0_IO = 0; A1_IO = 0; A2_IO = 1; A3_IO = 1; } Các chương trình tạo trễ thời gian /********************************************************************* * * General Delay rouines * ********************************************************************* * FileName: Delay.c * Dependencies: Compiler.h * Processor: PIC18, PIC24F, PIC24H, dsPIC30F, dsPIC33F, PIC32 * Compiler: Microchip C32 v1.05 or higher * Microchip C30 v3.12 or higher * Microchip C18 v3.30 or higher * HI-TECH PICC-18 PRO 9.63PL2 or higher * Company: FRD * Developer: Trangdld *********************************************************************/ #include "main.h" #include "Driver\Timer.h" #include "Delay.h" /************ Delay seconds ******************************* xv 2013 Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị using Timer1 ***********************************************************/ void DelayS (int iS) { int iCount = 0; T1CONbits.TCKPS = 0b10;// Select 1:64 Prescaler IEC0bits.T1IE = 0;// Disable Timer1 interrupt PR1 = PRIOD_0_1s; // Load the period value T1CONbits.TON = 1;// Start Timer for(iCount = 0; iCount < iS*10; iCount++) { while (IFS0bits.T1IF == ) { // for debug } IFS0bits.T1IF = 0; //Clear Timer1 interrupt flag } T1CONbits.TON = 0;// Stop Timer } /************ Delay mini seconds ************************** using Timer1 ***********************************************************/ void DelayMs(int iMs) { int iCount = 0; T1CONbits.TCKPS = 0b01;// Select 1:1 Prescaler IEC0bits.T1IE = 0;// Disable Timer1 interrupt PR1 = PRIOD_1ms; // Load the period value T1CONbits.TON = 1;// Start Timer for(iCount = 0; iCount < iMs; iCount++) { while (IFS0bits.T1IF == ) { //LATE = 0xff - 7; // for debuge } IFS0bits.T1IF = 0; //Clear Timer1 interrupt flag } T1CONbits.TON = 0;// Stop Timer } /************ Delay micro seconds ************************* using Timer1 with sysclock = MHz ***********************************************************/ void DelayUs(int iUs) { int iCount = iUs; xvi 2013 Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị T1CONbits.TCKPS = 0b00;// Select 1:1 Prescaler IEC0bits.T1IE = 0;// Disable Timer1 interrupt PR1 = PRIOD_1us; // Load the period value T1CONbits.TON = 1;// Start Timer for(iCount = 0; iCount < iUs; iCount++) { while (IFS0bits.T1IF == ) { //LATE = 0xff - 7; } IFS0bits.T1IF = 0; //Clear Timer1 interrupt flag } T1CONbits.TON = 0;// Stop Timer } xvii 2013 ... dụng - Hệ thống kế thừa nghiên cứu có nước giới - Hệ thống có tiền phát triển hoàn thiện mặt phương pháp khả ứng dụng Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị 2013 - Nghiên cứu phương... cho thấy, Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị 2013 có khoảng 400.000 người mù hai mắt, số người khiếm thị nước có tới triệu người, chưa kể hàng năm số người khiếm thị mắc hàng... giải quyết: - Nghiên cứu phương pháp trợ giúp người mù - Đề xuất phương pháp tương tác với người khiếm thị Nghiên cứu phát triển hệ thống dẫn hướng người khiếm thị 2013 - Nghiên cứu ma trận điện

Ngày đăng: 16/07/2017, 08:42

Từ khóa liên quan

Mục lục

  • Untitled

  • MỞ ĐẦU

  • Chương 1: TỔNG QUAN VỀ NGHIÊN CỨU

  • Chương 2: NGHIÊN CỨU THIẾT KẾ VÀ CHẾ TẠO MA TRẬN ĐIỆN CỰC

  • Chương 3: THIẾT KẾ VÀ LÂP TRÌNH HỆ THỐNG

  • Chương 4: THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ

  • KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

  • TÀI LIỆU THAM KHẢO

  • PHỤ LỤC A

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

Tài liệu liên quan