Thiết kế mạch điều khiển led matrix 8x16, led đơn, phím bấm sử dụng bộ vi xử lý intel galileo 2 0

69 512 0
Thiết kế mạch điều khiển led matrix 8x16, led đơn, phím bấm sử dụng bộ vi xử lý intel galileo 2 0

Đ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

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ỀU KHIỂ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 Intel Galileo Gen2 .17 1.3 Giới thiệu phần cứng Intel Galileo Gen2 18 1.4 Khối xử 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ều khiền LED matrix 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ều khiển LED đơ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ều khiển phím bấ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ều khiển chân led matrix 8x8 42 Hình 2.2: sơ đồ nguyên điều khiển led matrix 8x16 .45 Hình 2.3: nguyên 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 vi xử 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ều khiể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ều khiển từ xa tinh vi đạt suất, kinh tế thật cao Một công nghệ Vi Điều Khiển Intel Galileo Gen2 nên em định “Thiết kế mạch điều khiển Led matrix 8x16, led đơn, phím bấm sử dụng vi xử Intel Galileo 2.0.” ứng dụng Intel Galileo Gen2 2.0 Đề tài giúp em hiểu rõ Intel Galileo Gen2 với ứng dụng ngoại vi vô đa dạng tính ưu việt Intel Galileo Gen2 so với Vi Điều Khiển trước Mục tiêu yêu cầu đề tài : - Giới thiệu VĐK Intel Galileo Gen2, IC 74HC595, công dụng chúng - Tìm hiểu nghiên cứu nguyên hoạt động điều khiển ngoại vi Intel Galileo Gen2 - Ứng dụng thiết kế mạch điều khiển Led matrix 8x16, led đơn, phím bấm Nội dung đề tài - Tìm hiểu Intel Galileo Gen2 ứng dụng điều khiển ngoại vi Led matrix 8x16, led đơn, phím bấm - Tính toán thiết kế xây dựng mạch sử dụng Intel Galileo Gen2 điều khiển Led matrix 8x16, led đơn, phím bấ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ều khiể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ỀU KHIỂ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ều khiể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ều khiể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ều khiển phím bấm 2.3.1 Phần cứng Intel Galileo 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) phải giá trị điện trở khác nhau? Bởi điện trở giống => điểm dừng trùng 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ấm led 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ết kế mạch điều khiển Led matrix 8x16, led đơn, phím bấm sử dụng vi xử Intel Galileo 2.0 Hệ thống chạy thử hoạt động ổn định - Hệ thống gồm có kít Intel Galileo 2.0, mạch điều khiển LED matrix 8x16 sử dụng đệm gồm IC 74HC595 để ghi dịch LED đơn màu đỏ siêu sáng, phím bấ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ều khiển hiệu ứng LED matrix LED đơn, điều khiể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ử tín hiệu nhanh Tiếp nhận code điều khiển từ máy tính điều khiể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ạch LED matrix tín hiệu truyền đến intel tiếp thu xử 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ị LED matrix 8x16 - Hệ thống có dung lượng lớn chưa đựng dung lượng lớn khối xử 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 Intel Galileo 2.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ử 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.0dừ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ều khiển biên quang báo từ xa thông qua mạng điện thoại di đông - Thiết kế hệ thống cảm biến, điều khiển tự động - Xây dựng hệ thống điều khiển thiế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ều khiể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 Intel Galileo 2.0 tốc độ xử 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ều khiển led matrix 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

Ngày đăng: 23/04/2017, 16:34

Từ khóa liên quan

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

Tài liệu liên quan