1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

ĐA Vi điều khiển Game trên LCD 5110

39 335 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

Thông tin cơ bản

Định dạng
Số trang 39
Dung lượng 14,29 MB

Nội dung

ĐỒ ÁN: VI ĐIỀU KHIỂN LỜI NÓI ĐẦU Ngày đại đa só lĩnh vực sản xuất, điều khiển, giám sát, đo lường, trang bị hệ thống tự động hóa Một số vi mạch sử dụng kỹ thuật vi điều khiển Nhờ tính ưu việt vi điều khiển như: khả lập trình phù hợp với thiết kế nhỏ lớn khả giao tiếp với thiết bị ngoại vi cà máy tính đem lại hoàn hảo, độ xác cao tính mềm dẻo cao thông qua giao tiếp người máy Vi điều khiển quản lý điều khiển hoạt động hệ thống thông qua phần mềm, nhờ mà mở rộng thay đổi hoạt động cách dễ dàng cách thay đổi số thông số chương trình Vi điều khiển hoạt động theo chương trình nạp sẵn, đọc tín hiệu từ bên vào sau lưu trữ xử lý, sở đưa thông báo, tín hiệu điều khiển thiết bị theo thông số yêu cầu hệ thống Với đồ án vi điểu khiển, đề tài em “game mini trên LCD Nokia 5110” sử dụng vi điều khiển atmega 328 tích hợp sẵn arduino nano Nội dung báo cáo đề tài gồm phần: Giới thiệt đề tài Giới thiệu vi điều khiển vi mạch liên quan Thiết kế thi công mạch Lập trình vi điều khiển Kết luận thời gian kiến thức hạn chế, tận tình hướng dẫn thầy Nguyễn Danh Ngọc em hoàn thành đề tài yêu cầu nhiên không tránh khỏi sai sót chưa tối ưu Kính mong thầy cô thông cảm, giúp đỡ bảo thêm để em có thêm kiến thức quý báu Em xin chân thành cảm ơn Đà Nẵng, 20 tháng năm 2017 Sinh viên thực Cáp Kim Thảo SVTH: CÁP KIM THẢO – 13CDT2 Trang ĐỒ ÁN: VI ĐIỀU KHIỂN MỤC LỤC LỜI NÓI ĐẦU MỤC LỤC CHƯƠNG 1: GIỚI THIỆU VỀ ĐỀ TÀI 1.1 Giới thiệu sơ lược đề tài 1.2 Sơ đồ khối hệ thống 1.3 Hình ảnh sản phẩm 1.4 Hoạt động hệ thống CHƯƠNG 2: GIỚI THIỆU VĐK VÀ CÁC VI MẠCH LIÊN QUAN 2.1 Giới thiệu mạch điều khiển arduino nano 2.1.1 Giới thiệu tổng quan arduino nano 2.1.2 Cấu tạo, sơ đồ chân arduino nano 2.1.3 Thông số kỹ thuật chi tiết 2.2 Giới thiệu LCD Nokia 5110 2.2.1 Giới thiệu tổng quan LCD Nokia 5110 2.2.2 Cấu tạo, sơ đồ chân LCD Nokia 5110 2.2.3 Giao tiếp với LCD Nokia 5110 CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG MẠCH 3.1 Sơ đồ mạch 3.2 Khối điều khiển trung tâm 3.3 Kết nối LCD Nokia 5110 3.4 Kết nối nút nhấn 3.5 Kết nối buzzer led tín hiệu 3.6 Khối nguồn 3.7 Một số hình ảnh trình thi công đề tài CHƯƠNG 4: LẬP TRÌNH VI ĐIỀU KHIỂN 4.1 Lưu đồ thuật toán 4.2 Các thư viện sử dụng chương trình 4.3 Code chương trình CHƯƠNG 5: KẾT LUẬN 5.1 Đánh giá đề tài 5.2 Hướng phát triển đề tài PHỤ LỤC TÀI LIỆU THAM KHẢO SVTH: CÁP KIM THẢO – 13CDT2 Trang 4 7 7 9 10 12 12 13 13 14 15 15 16 20 20 21 22 23 23 23 24 40 Trang ĐỒ ÁN: VI ĐIỀU KHIỂN GIỚI THIỆU VỀ ĐỀ TÀI CHƯƠNG 1: 1.1 Giới thiệu sơ lược đề tài - Đề tài: Làm game mini LCD Nokia 5110 Hiện nay, mạch ứng dụng sử dụng LCD để hiển thị phổ biến, bắt gặp máy in 3D, máy cắt lazer, mạch ứng dụng thực tế : đồng hồ, khóa điện tử, thiết bị quan trắc,… Các mạch ứng dụng sử dụng LCD để hiển thị tùy chọn thông số nhằm mục đích làm mạch nhỏ gọn hiển thị đầy đủ yêu cầu, chi phí rẻ dễ dàng giao tiếp Với đề tài làm game mini LCD Nokia 5110 giúp em học cách giao tiếp hiển thị LCD 5110 nói riêng LCD, GLCD nói chung để sau ứng dụng vào thực tiễn Đồng thời nâng cao khả lập trình, thiết kế mạch tạo sản phẩm nhằm mục đích giải trí 1.2 Sơ đồ khối hệ thống Hình 1: Sơ đồ khối mạch game mini LCD 5110 Thành phần chức khối: - Khối nguồn: + Thành phần: Pin 9V, led báo nguồn + Chức năng: cấp kiểm tra nguồn cho tất khối mạch SVTH: CÁP KIM THẢO – 13CDT2 Trang ĐỒ ÁN: VI ĐIỀU KHIỂN - Khối điều khiển: + Thành phần: gồm nút nhấn chân + Chức năng: điều khiển đối tượng game cách thay đổi trạng thái nút nhấn để đưa tín hiệu vào khối xử lý - Khối xử lý: + Thành phần: arduino nano sử dụng chíp atmega 328 + Chức năng: nhận tín hiệu từ khối điều khiển, xử lý liệu, xuất tín hiệu hiển thị game khối hiển thị tín hiệu thông báo đến khối tín hiệu báo - Khối hiển thị: + Thành phần: LCD Nokia 5110 + Chức năng: hiển thị đối tượng bối cảnh game - Khối tín hiệu báo: + Thành phần: buzzer, led báo + Chức năng: buzzer led thay đổi trạng thái điểm kết thúc game 1.3 Hình ảnh sản phẩm Hình 1.2: Các kí hiệu nút nhấn sản phẩm SVTH: CÁP KIM THẢO – 13CDT2 Trang ĐỒ ÁN: VI ĐIỀU KHIỂN Hình 1.3: Hình ảnh sản phẩm 1.4 Hoạt động đề tài: - Bắt đầu: Sau bật nguồn, hình hiển thị game icon để người chơi tùy chọn game Lựa chọn game muốn chơi cách nhấn nút (left), (right) để icon game thay đổi Chọn chơi game cách nhấn nút (B) - Chơi game: Dùng nút (left), (right), (up), (down) để di chuyển đối tượng tùy thuộc vào game Led nhấp nháy buzzer phát tiếng còi người chơi tăng điểm số Khi muốn trở lại hình chọn game ta nhấn nút (D) Dùng nút (A) muốn tạm dừng trò chơi (Pause) SVTH: CÁP KIM THẢO – 13CDT2 Trang ĐỒ ÁN: VI ĐIỀU KHIỂN Chương 2: GIỚI THIỆU VI ĐIỀU KHIỂN VÀ CÁC VI MẠCH LIÊN QUAN 2.1 Giới thiệu mạch điều khiển arduino nano: 2.1.1 Giới thiệu tổng quan arduino nano: Arduino Nano bo mạch thiết kế với xử lý trung tâm vi điều khiển AVR temega328 Cấu tạo Arduino Nano bao gồm phần sau: Hình 2.1: Board Arduino Nano + Cổng USB: cổng giao tiếp để upload code từ PC lên vi điều khiển Đồng thời giao tiếp serial để truyền liệu vi điều khiển máy tính + Có 14 chân vào/ra số đánh thứ tự từ đến 13, có chân nối đất GND chân điện áp tham chiếu AREF + Vi điều khiển AVR: xử lý trung tâm toàn board mạch Ở Arduino Nano sử dụng Atmega 328 2.1.2 Cấu tạo, sơ đồ chân arduino nano + Chân RX0, TX0: dùng để giao tiếp UART, sử dụng chân vào/ra dạng số + Chân Reset: dùng để reset vi điều khiển cần thiết, trạng thái bình thường mức cao, chân RST mức thấp vi điều khiển reset + Chân GND: nối đất + Chân D2-D13: ngõ vào/ra dạng số, có chân D3, D5, D6, D9, D10, D11 xuất tín hiệu PWM ngõ + Chân D2: INT0 ngắt + Chân D2: INT1 ngắt + Chân VIN: chân cấp nguồn cho arduino nano, điện áp giới hạn đầu vào 6-20V + Chân +5V: dùng để lấy nguồn 5V từ arduino nano cấp nguồn 5V cho arduino nano hoạt động SVTH: CÁP KIM THẢO – 13CDT2 Trang ĐỒ ÁN: VI ĐIỀU KHIỂN + Chân A0 – A7: chân ngõ vào dạng analog (tín hiệu tương tự) + Chân AREF: chân điện áp tham chiếu + Chân 3V3: chân lấy nguồn 3V3 từ arduino nano + Ngoài chân có chức nawg khác hỗ trợ giao tiếp I2C, SPI hình Hình 2.2: Chức chân arduino nano 2.1.3 Thông số kĩ thuật chi tiết: + Vi xử lý: + Điện áp hoạt động: + Điện áp đầu vào kiến nghị: + Điện áp đầu vào giới hạn: + Chân vào/ra số: + Chân vào tương tự: + Dòng điện chân vào/ra + Bộ nhớ: + SRAM: + EEPROM: + Kích thước: SVTH: CÁP KIM THẢO – 13CDT2 Atmega328 (phiên V3.0) 5V 7-12V 6-20V 14 (6 chân có khả xuất PWM) chân 40mA 32KB 2kb để nạp bootloader 2KB 1KB 0.73”x1.70” Trang ĐỒ ÁN: VI ĐIỀU KHIỂN 2.2 Giới thiệu LCD Nokia 5110 2.2.1 Giới thiệu tổng quan LCD Nokia 5110 LCD Nokia 5110 thuộc dòng sản phầm Graphic LCD 84x48 Hình 2.3: LCD Nokia 5110 LCD Nokia 5110 hình LCD Graphic đơn giản với nhiều ứng dụng khác Nguồn gốc hình thực chất từ hệ điện thoại di động trước Nó gắn bô PCB dễ dàng hàn gắn với board khác LCD Nokia 5110 sử dụng vi điều khiển PCD8544, sử dụng với Nokia 3310 LCD trước PCD8544 dạng low power CMOS controller/driver, thiết kế vơi chế độ hiển thị hình graphic 84 cột 48 hàng Tất chức tích hợp sẵn chip, từ cho ta hiệu thiết bị ngoại vi chiếm nguồn tiêu thụ PCD8544 giao tiếp với vi điều khiển qua loạt chân bus cung cấp sẵn 2.2.2 Cấu tạo, sơ đồ chân LCD Nokia 5110 Qua sơ đồ trên, ta thấy LCD Nokia 5110 điều khiển toàn cổng đầu vào, cổng nguồn, dạng giao tiếp SPI, gồm: SVTH: CÁP KIM THẢO – 13CDT2 Trang ĐỒ ÁN: VI ĐIỀU KHIỂN + RST – Tín hiệu Reset, giúp khởi động, reset hình + CE – Tín hiệu Chip Select, giúp đưa tín hiệu chọn chip hoạt động mức tích cực thấp + DC – Tín hiệu Data/Command giúp ta chọn chế độ đưa lệnh vào PCD8544 lệnh điều khiển, hay liệu hiển thị + DIN – Dữ liệu đầu vào lệnh điều khiển liệu hiển thị hình + CLK – Xung Clock điều khiển + VCC – Nguồn nuôi + LIGHT – Đất cho đèn LED Backlight + GND – Đất cho nguồn nuôi 2.2.3 Giao tiếp với LCD Nokia 5110 Quá trình gửi liệu từ vi điều khiển đến LCD NOKIA 5110 chia làm chế độ Chế độ gửi lệnh điiều khiển LCD chế độ gửi liệu hiển thị LCD Đường tín hiệu DC cho phép chọn chế độ - Nếu DC=0: liệu gửi đến LCD lưu vào ghi Command Thanh ghi Command lưu trữ thực thi lệnh dùng để điều khiển hoạt động Nokia LCD (dữ liệu không hiển thị hình) - Nếu DC=1: liệu gửi đến LCD lưu vào ghi Data Thanh ghi Data lưu trữ giá trị liệu hiển thị lên hình LCD Tín hiệu reset LCD tạo chân RST kéo xuống mức thâp (tức RST=0) Khi truyền liệu, có tín hiệu reset LCD trình truyền bị hủy Cho đến chân RST mức cao (tức RST=1), chu kì xung clock tiếp theo, SVTH: CÁP KIM THẢO – 13CDT2 Trang ĐỒ ÁN: VI ĐIỀU KHIỂN trinh truyền liệu byte vừa bị hủy thực lại Khi đường tín hiệu CE mức cao (tức CE=1), LCD không chấp nhận liệu từ VĐK gửi đến hay liệu lệnh lúc không ảnh hưởng đến LCD Khi đường tín hiệu CE mức thấp (tức CE=0) data gửi đến LCD chấp nhận Sau chu kì xung clock (xung cạnh lên) bit liệu dịch vào LCD chân DIN Chân CE phải giữ mức thấp(tức CE=0) việc gửi liệu đến LCD hoàn tất SVTH: CÁP KIM THẢO – 13CDT2 Trang 10 ĐỒ ÁN: VI ĐIỀU KHIỂN delay(300); display.drawBitmap(18, 0, mini6, 48 , 48, 1); display.display(); delay(300); display.clearDisplay(); display.drawBitmap(18, 0, mini5, 48 , 48, 1); display.display(); delay(300); display.clearDisplay(); display.drawBitmap(18, 0, mini4, 48 , 48, 1); display.display(); delay(300); display.clearDisplay(); display.drawBitmap(18, 0, mini3, 48 , 48, 1); display.display(); delay(300); display.clearDisplay(); display.drawBitmap(18, 0, mini2, 48 , 48, 1); display.display(); delay(300); display.clearDisplay(); display.drawBitmap(18, 0, mini1, 48 , 48, 1); display.display(); delay(300); display.clearDisplay(); display.drawBitmap(18, 0, mini0, 48 , 48, 1); display.display(); delay(3000); display.clearDisplay(); } void loop() { display.clearDisplay(); display.setCursor(0,20); display.print(""); DieuKhien(); SVTH: CÁP KIM THẢO – 13CDT2 Trang 25 ĐỒ ÁN: VI ĐIỀU KHIỂN switch(Game) // chon game { case 0: { display.drawBitmap(30,5,flappyicon,24,22,BLACK); display.setCursor(10,30); display.print("Flappy Bird"); if(buttonTrai==LOW) Game=1; if(buttonPhai==LOW) Game=2; if(switchB==LOW) flappyBird(); delay(150); break; } case 1:{ display.drawBitmap(30,5,biaicon,24,22,BLACK); display.setCursor(18,30); display.print("Hung bia"); if(buttonTrai==LOW) Game=2; if(buttonPhai==LOW) Game=0; if(switchB==LOW) ThungBiaHung(); delay(150); break; } case 2:{ display.drawBitmap(30,5,snakeicon,24,22,BLACK); display.setCursor(25,30); display.print("Snake"); if(buttonTrai==LOW) Game=0; if(buttonPhai==LOW) Game=1; if(switchB==LOW) Snake(); delay(150); break; } } display.display(); } //===================================== void DieuKhien(){ buttonTren=digitalRead(button1); SVTH: CÁP KIM THẢO – 13CDT2 Trang 26 ĐỒ ÁN: VI ĐIỀU KHIỂN buttonPhai=digitalRead(button2); buttonTrai=digitalRead(button3); buttonDuoi=digitalRead(button4); switchA=digitalRead(buttonA); switchB=digitalRead(buttonB); switchC=digitalRead(buttonC); switchD=digitalRead(buttonD); } //===================================== void ThungBiaHung() { Bia thungbia; ChaiBia chaibias[5]; bool Play=true; int mang=3; int diem=0; int lever=25; for(int i=0;i

Ngày đăng: 18/09/2017, 17:29

HÌNH ẢNH LIÊN QUAN

Hình 1. ờ1 ờ-6á7ờĐ9 fờfẽ+…ẩờ76) 9ờ7)…ẩờ …ẩờ7ĩờ(ờf6âặờẩ9âờ7âờ7ơ…ẩờ…ẩ6ờ9…ờpổ ậờ ộ“ẩ) …ãờ29ắắ9âặờwàờ5+Đ4ẽfụờ:ăủếMậờ - ĐA Vi điều khiển  Game trên LCD 5110
Hình 1. ờ1 ờ-6á7ờĐ9 fờfẽ+…ẩờ76) 9ờ7)…ẩờ …ẩờ7ĩờ(ờf6âặờẩ9âờ7âờ7ơ…ẩờ…ẩ6ờ9…ờpổ ậờ ộ“ẩ) …ãờ29ắắ9âặờwàờ5+Đ4ẽfụờ:ăủếMậờ (Trang 13)

TỪ KHÓA LIÊN QUAN

w