Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 69 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
69
Dung lượng
2,73 MB
Nội dung
MỤC LỤC MỤC LỤC DANH MỤC HÌNH ẢNH DANH MỤC CÁC TỪ VIẾT TẮT LỜI CẢM ƠN .5 LỜI CAM ĐOAN LỜI MỞ ĐẦU .7 Chương 1: TỔNG QUAN VỀ VIĐIỀUKHIỂN 1.1 Lịch sử phát triển ARDIUNO 1.1.1 Mạch nạp (2005) 1.1.2 Mạch Ardiuno 2006 11 1.1.3 Ardiuno 2007 12 1.1.4 Ardiuno 2008 - 2009 13 1.1.5 Ardiuno từ 2010 đến 14 1.1.6 Một số dòng Ardiuno khác .16 1.2 Giới thiệu IntelGalileo Gen2 .17 1.3 Giới thiệu phần cứng IntelGalileo Gen2 18 1.4 Khối xửlý trung tâm Quark SoC X1000 21 1.4.1 SoC gì? 21 1.5 Lập trình cho IntelGalileo Gen2 cài đặt hệ điều hành 23 1.5.1 Lập trình 23 1.5.2 Cài đặt hệ điều hành Linux cho IntelGalileo Gen2 30 1.5.3 Ứng dụng Board IntelGalileo Gen2 31 1.6 IC 74HC595 37 2.1 MạchđiềukhiềnLEDmatrix 8x16 42 2.1.1 Phần cứng 42 2.1.2 Giới thiệu 42 2.1.2 Lắp mạch cách nối chân intel .44 2.1.3 Chương trình code .46 2.1.4 Chú thích 48 2.1.5 Sơ đồ khối lưu đồ thuật toán 50 2.2 ĐiềukhiểnLED đơn .51 2.2.1 Phần cứng 51 2.2.2 Chương trình code 52 2.2.3 Sơ đồ khối lưu đồ thuật toán 55 2.3 Điềukhiểnphímbấm .56 2.3.1 Phần cứng 56 2.3.2 Sơ đồ khối 59 Chương 3: KẾT QUẢ THỰC NGHIỆM 60 3.1 Về phần cứng 60 3.2 Về phần mềm 61 3.3 Ưu nhược điểm đề tài 61 3.4 Hướng phát triển đề tài ứng dụng đề tài vào thực tê 62 3.4.1 Hướng phát triển 62 3.4.2 Khả ứng dụng vào thực tế 62 KẾT LUẬN: 63 TÀI LIỆU THAM KHẢO 64 PHỤ LỤC 65 NHẠN XÉT CỦA GIÁO VIÊN .69 DANH MỤC HÌNH ẢNH Hình 1.1: Ardiuno Hình 1.2: ATMEL Programmer A96021000C 10 Hình 1.3: Mạch Arduino USB chưa gắn linh kiện 11 Hình 1.4: Mạch Arduino USB gắn linh kiện 11 Hình 1.5: Arduino NG .11 Hình 1.6: Arduino Diecimila .12 Hình 1.7: Arduino Duemilanove 13 Hình 1.8: Arduino UNO 14 Hình 1.9: Arduino UNO SMD 15 Hình 1.10: Arduino Leonardo 15 Hình 1.11: Arduino MEGA 16 Hình 1.12: Arduino MEGA 2560 .16 Hình 1.13: Ardiuno DUE 2012 17 Hình 1.14: Kết nối ngoại vi 18 Hình 1.15: Cổng kết nối LAN 19 Hình 1.16: IC 74HC595 37 Hình 1.17: sơ đồ chân IC 74HC595 38 Hình 1.18: sơ đồ chức chân 39 Hình 2.1: sơ đồ điềukhiển chân ledmatrix 8x8 42 Hình 2.2: sơ đồ nguyên lýđiềukhiểnledmatrix 8x16 .45 Hình 2.3: nguyên lý cách nối chân với intel 52 Hình 2.4: ảnh lắp mạch 57 Hình 3.1: Mạch thực hoàn thành thị modunle 60 DANH MỤC CÁC TỪ VIẾT TẮT Từ viết tắt CSE Từ viết đầy đủ Consumer Electronics Show Nghĩa từ Chương trình thiết bị điện tử tiêu dùng SOC System on a chip ARM Advanced RISC Machine RX Receiver Máy thu sóng TX Transmitter Máy phát sóng Integrated Development Phần mềm cung cấp cho lập trình Environment viên IDE SPI Serial Peripheral Interface I/O Input/Output ADSL CMOS Asymmetric Digital Subscriber Line Complementary MetalOxide-Semiconductor Cả hệ thống chip Một loại cấu trúc vixửlý 32 bit 64 bit kiểu RISC Một chuẩn truyền thông nối tiếp tốc độ cao Vào/ra Đường dây thuê bao số bất đối xứng Công nghệ mách tích hợp LỜI CẢM ƠN Em xin gửi lời cảm ơn sâu sắc ban giám hiệu nhà trường, tới Thầy Th.s Nguyễn Anh Tuấn, Bộ môn thực hành, Khoa Công nghệ điện tử truyền thông, Trường Đại học Công nghệ thông tin Truyền thông Thái Nguyên trực tiếp hướng dẫn giúp đỡ em hoàn thành tốt đề tài Em xin gửi lời cảm ơn đến thầy, cô thuộc Bộ môn thực hành, Công nghệ điện tử - Khoa Công nghệ điện tử truyền thông - Đại học Công nghệ thông tin truyền thông trang bị kiến thức tạo điều kiện thuận lợi để em hoàn thành đề tài cách tốt Cuối cùng, em xin cảm ơn gia đình, bạn bè, thầy cô tạo điều kiện thuận lợi sở vật chất động viên tinh thần, giúp đỡ em trình nghiên cứu thực đề tài LỜI CAM ĐOAN Trong trình làm đồ án, em có tham khảo số tài liệu mạng tài liệu thực tế thu làm việc Em sửdụng kiến thức thân mình, tự tìm hiểu, tiếp thu tổng hợp kiến thức để xây dựng nên đồ án Bản thân em cố gắng nghiên cứu, học tập làm việc thời gian vừa qua để hoàn thành đồ án thời gian quy định Em xin cam đoan nội dung đồ án không chép từ đồ án hay luận văn khác, thông tin sai lệch em xin chịu hoàn toàn trách nhiệm trước pháp luật trường Đại học công nghệ thông tin truyền thông Thái Nguyên, tháng năm 2016 Sinh viên Giàng Mìn Giáo LỜI MỞ ĐẦU Ngày nay, người với ứng dụng khoa học kỹ thuật tiên tiến giới, ngày thay đổi, văn minh đại Sự phát triển kỹ thuật điện tử tạo hàng loạt thiết bị với đặc điểm bậc độ xác cao, tốc độ nhanh, gọn nhẹ,… yếu tố cần thiết góp phần cho hoạt động người đạt hiệu ngày cao Điện tử trở thành ngành khoa học đa nhiệm vụ Điện tử đáp ứng đòi hỏi không ngừng ngành, lĩnh vực khác nhu cầu thiết yếu người sống ngày Một ứng dụng quan trọng ngành công nghệ điện tử kỹ thuật điềukhiển từ xa hồng ngoại Sửdụng hồng ngoại ứng dụng nhiều công nghiệp lĩnh vực khác sống với thiết bị điềukhiển từ xa tinh vi đạt suất, kinh tế thật cao Một công nghệ ViĐiềuKhiểnIntelGalileo Gen2 nên em định “Thiết kếmạchđiềukhiểnLedmatrix8x16,ledđơn,phímbấmsửdụngvixửlýIntelGalileo 2.0.” ứng dụngIntelGalileo Gen2 2.0 Đề tài giúp em hiểu rõ IntelGalileo Gen2 với ứng dụng ngoại vi vô đa dạng tính ưu việt IntelGalileo Gen2 so với ViĐiềuKhiển trước Mục tiêu yêu cầu đề tài : - Giới thiệu VĐK IntelGalileo Gen2, IC 74HC595, công dụng chúng - Tìm hiểu nghiên cứu nguyên lý hoạt động điềukhiển ngoại viIntelGalileo Gen2 - Ứng dụngthiếtkếmạchđiềukhiểnLedmatrix8x16,ledđơn,phímbấm Nội dung đề tài - Tìm hiểu IntelGalileo Gen2 ứng dụngđiềukhiển ngoại viLedmatrix8x16,ledđơn,phímbấm - Tính toán thiếtkế xây dựngmạchsửdụngIntelGalileo Gen2 điềukhiểnLedmatrix8x16,ledđơn,phímbấm Quy mô ứng dụng đề tài: - Ứng dụng kiến thức học thông qua ta làm sản phẩm có quy mô lớn, có khả thương mại hóa ứng dụng vào thực tế - Cũng qua đề tài ta ứng dụngđiềukhiển từ xa, thay đổi nội dung, hiệu ứng cho biển quang báo sửdụng ma trận led, thiết bị gia dụng gia đình… Chương 1: TỔNG QUAN VỀ VIĐIỀUKHIỂN 1.1 Lịch sử phát triển ARDIUNO 1.1.1 Mạch nạp (2005) Khi nhìn lại lịch sử này, mạch lập trình viđiềukhiển ATmega8 đặt tên Arduino Serial Và Arduino Serial có thuật ngữ để tất mạch Arduino kế nhà phát triển Arduino người phát triển tự do, mà đó, mạch Arduino sửdụng cổng kết nối RS-232 (Serial) thay cổng USB (TTL) Khi mạch lập trình xây dựng, Arduino chịu ảnh hưởng mạch lập trình AVR lúc bây giờ, sửdụng cổng RS-232 (cổng máy in dòng máy tính cũ) Điều với lịch sử lúc giờ, dòng máy tính để bàn sản xuất cổng RS-232 Hình 1.1: Ardiuno Hình 1.2: ATMEL Programmer A96021000C Những mạch Ardiuno thương mại hóa (2005) Dòng mạch định hình thương hiệu Arduino cộng đồng phần cứng nguồn mở bạn thấy đấy, người bình thường lập trình điện tử bạn, người khác Kể từ dòng mạch này, so sánh với dòng mạch trước với phép sáng tạo SCAMPER để có nhìn khoa học sáng tạo dòng mạch Arduino Dòng mạch Arduino USB phát triển qua phiên (Arduino USB Arduino USB v2.0) Ở phiên khác lắm, khác địa trang web sửa lỗi nhỏ phần pinout chỗ đầu USB Phần lớn mạch Arduino USB bán dạng mạch phát triển chưa gắn linh kiện, bạn vừa phải mua mạch vừa phải có sẵn (mua thêm) linh kiện để hoàn thiện cho mạch Arduino Tuy nhiên, có số chỗ người ta bán mạch Arduino USB gắn sẵn linh kiện Dưới số hình ảnh mạch Arduino USB v2.0 10 2.2.3 Sơ đồ khối lưu đồ thuật toán 2.2.3.1 Sơ đồ khối - Khối điềukhiển thực nhận lệnh lập trình xuất giá trị tương ứng khối ngoại vi để thị giá trị tương ứng Khối nguồn cung cấp ngồn 12V cho mạch 55 2.2.3.2 Lưu đồ thuật toán 2.3 Điềukhiểnphímbấm 2.3.1 Phần cứng IntelGalileo Gen2 04 nút bấm 04 điện trở trị số khác (trong nên có điện trở 10kOhm) 56 Lắp mạch Hình 2.4:Ảnh lắp mạch 2.3.1.1 Giải thích quy trình Như bạn biết chân analog intel Glalileo 2.0 Mặc định, đọc giá trị điện từ => 5V phân thành giá trị từ => 1023 Nói cách khác, chân analog có 1024 mức liệu Nếu ta vận dụng cách linh hoạt, xem lân cận mức điểm giữ, giá trị điện chân analog rơi vào điểm giữ làm việc Mở rộng xe, ta có nhiều điểm giữ vậy, ta làm kiện khác (bật tắt đèn kiểu) với chân analog Vấn đề đặt là: Làm để tạo điểm giữ, nói cách khác làm để xác định điểm giữ button? Vậy tạo điểm giữ làm để bảo Arduino chạy kiện (một hàm) đó? 57 Làm để tạo điểm giữ, nói cách khác làm để xác định điểm giữ button? Chắc hẳn bạn biết hàm analogRead Đó hàm đọc giá trị điện chuyển thành mức liệu từ => 1023 (tượng chưng cho 0V 5V) Như vậy, ta việc thay đổi mức điện áp cấp vào chân analog xác định điểm dừng, để làm điều đó, ta dùng điện trở tạo cầu phân áp (Xem hình lắp mạch trên) Vì phải giá trị điện trở khác nhau? Bởi điện trở giống => điểm dừng trùng Vì vậy, muốn điểm dừng khác => giá trị điện trở phải khác Để xác định mức điểm dừng, ta việc dùng hàm analogRead đọc giá trị A0 xong Tuy nhiên, để làm quen với thư viện, xin chia sẻ đoạn code để bạn xác định điểm dừng include "AnalogButton.h" 2.3.1.2 chương trình code const int buttonPin = 2; const int ledPin = 13; // the number of the pushbutton pin // the number of the LED pin // variables will change: int buttonState = 0; // variable for reading the pushbutton status void setup() { // initialize the LED pin as an output: pinMode(ledPin, OUTPUT); // initialize the pushbutton pin as an input: pinMode(buttonPin, INPUT); } void loop() { // read the state of the pushbutton value: buttonState = digitalRead(buttonPin); 58 // check if the pushbutton is pressed // if it is, the buttonState is HIGH: if (buttonState == HIGH) { // turn LED on: digitalWrite(ledPin, HIGH); } else { // turn LED off: digitalWrite(ledPin, LOW); } } Khi bạn nhấn nút bấmled sáng 2.3.2 Sơ đồ khối 2.3.2.1 Sơ đồ khối 59 Chương 3: KẾT QUẢ THỰC NGHIỆM 3.1 Về phần cứng Sau gần tháng thực đề tài, em hoàn thành việc ThiếtkếmạchđiềukhiểnLedmatrix8x16,ledđơn,phímbấmsửdụngvixửlýIntelGalileo2.0 Hệ thống chạy thử hoạt động ổn định - Hệ thống gồm có kít IntelGalileo 2.0, mạchđiềukhiểnLEDmatrix 8x16 sửdụng đệm gồm IC 74HC595 để ghi dịch LED đơn màu đỏ siêu sáng, phímbấm tất nối âm chung Mạch kết nối trực tiếp với intel qua cổng com1 để điềukhiển hiệu ứng LEDmatrixLEDđơn,điềukhiển nhận diện tín hiệu từ nút bấm Hình 3.1: Mạch thực hoàn thành thị modunle 60 3.2 Về phần mềm - Hệ thống phần mềm intel cài đạt Hệ Điều Hành hãng intel thẻ nhớ galsy S10 16GB có nhớ dung lượng lớn xửlý tín hiệu nhanh Tiếp nhận code điềukhiển từ máy tính điềukhiển trực tiếp hiệu ứng cho LED đơn theo yêu cầu tùy ý người lập trình Về mạchLEDmatrix tín hiệu truyền đến intel tiếp thu xửlý tín hiệu truyền đến đêm IC 74HC595 để thực yêu cầu người lập trình mong muốn với hiệu ứng tùy ý thị LEDmatrix 8x16 - Hệ thống có dung lượng lớn chưa đựngdung lượng lớn khối xửlý yêu cầu người lập trình đưa - Hệ thống có tính phổ thông thông dụng triển khai nhanh chóng thực tế với hệ thống biển LED biển quang báo - Với ưu vượt trội dòng IntelGalileo2.0 hệ thống có khả cạnh tranh cao thị trường 3.3 Ưu nhược điểm đề tài + Ưu điểm: - Hệ thống mạch đơn giản nên dễ triển khai thực tế nhanh gọn - Ứng dụng hệ thống đa dang ngành quảng cáo, biển báo nên có tính phổ thông cao - Với tốc độ xửlý nhanh, độ xác cao, công suất lớn với tính ưu việt intei Glalileo 2.0 thu hút công trình, dự án đòi hỏi tính xác cao + Nhược điểm: - Hệ thống nhiều hạn chế ứng dụng chưa có tính đột phá cao với công nghệ - So với mức giá thị trường Intel Glalileo 2.0 có giá cao nên với mạch thông dụng khó triển khai với mức kinh phí - Hệ thống chưa khai thác triệt để tính ưu việt intel Glalileo 2.0 mà dừng lại mức tìm hiểu 61 3.4 Hướng phát triển đề tài ứng dụng đề tài vào thực tê 3.4.1 Hướng phát triển - Đây đề tài mẻ với Intel Glalileo 2.0 nên có nhiều hướng phát triển tương lai - Xây dựng hệ thống điềukhiển biên quang báo từ xa thông qua mạng điện thoại di đông - Thiếtkế hệ thống cảm biến, điềukhiển tự động - Xây dựng hệ thống điềukhiểnthiết bị điện thông qua ứng dụng wifi, Rf, Labview 3.4.2 Khả ứng dụng vào thực tế - Hệ dễ dàng điềukhiển biển báo, thiết bị điện quạt, bơm nước, đèn điện, điều hòa, tủ lạnh Camera cách tự động tùy theo yêu cầu người sửdụng người lập trình nên dẽ triển khai sống - Với nhu cầu sống xã hội ngày cao ứng dụng đa dạng Intel trở nên phổ biến thị trường sửdụng nhiều tiện ích ứng dụng để cạnh tranh nên quảng cáo thu hút khách phổ biến 62 KẾT LUẬN: - Qua trình thực đề tài giúp em tìm hiểu sâu ứng dụng tính ưu việt IntelGalileo2.0 tốc độ xửlý nhanh xắc, công suất dung lượng nhớ lớn - Em nghiên cứu mô minh họa chức Intel Glalileo 2.0 ứng dụng cho em sinh viên khóa sau học môn - Đặc biệt em tích lũy kiến thức ứng dụng triển khai thực tế cạnh tranh với thị trường nhu cầu người tiêu dùng - Một lần em xin chân thành cảm ơn ban giám hiệu nhà trường Đại học Công Nghệ Thông Tin Truyền Thông Đại học thái nguyên, quý thầy cô môn thực hành Khoa công nghệ điẹn tử truyền thông, đặc biệt thầy Th.s Nguyễn Anh Tuấn tận tình giúp đỡ em thực tốt đề tài Em xin chân thành cảm ơn! 63 TÀI LIỆU THAM KHẢO http://arduino.vn http://arduino360.com http://hoiquandientu.com http://codientu.org 64 PHỤ LỤC - code điềukhiểnledmatrix 8x16 const byte ROWS[8] = {1, 2, 4, 8, 16, 32, 64, 128}; const byte CL[] = { 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0x00,0x7e,0xff,0x81,0x81,0x89,0x4e,0x00, 0x00,0x81,0x81,0xff,0xff,0x81,0x81,0x00, 0x00,0x3f,0x7f,0xc8,0xc8,0x7f,0x3f,0x00, 0x00,0x7e,0xff,0x81,0x81,0xff,0x7e,0x00, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 }; byte d,v; void setup() { pinMode(7, OUTPUT); pinMode(6, OUTPUT); pinMode(5, OUTPUT); pinMode(4, OUTPUT); pinMode(3, OUTPUT); } void hienthir(byte x) { //x=~x; for( byte i=0;i>1; if(d==1) digitalWrite(7, HIGH); if(d==0) digitalWrite(7, LOW); digitalWrite(5, HIGH); 65 digitalWrite(5, LOW); } } void hienthic(byte c) { //x=~x; for( byte i=0;i>1; if(v==1) digitalWrite(4, HIGH); if(v==0) digitalWrite(4, LOW); digitalWrite(3, HIGH); digitalWrite(3, LOW); } } void loop() { for (byte k = 0; k 8 Bạn thêm LED cách thêm chân digital vào mảng byte pinCount; // Khai báo biến pinCount dùng cho việc lưu tổng số chân LED void setup() { pinMode(8, INPUT); pinMode(9, INPUT); pinMode(10, INPUT); pinMode(11, INPUT); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,HIGH); pinCount = sizeof(ledPin); for (int i=0;i