Difference between revisions of "S17: Interactive Snake and ladder"
Proj user2 (talk | contribs) (→Overall System Flow Chart) |
Proj user2 (talk | contribs) (→Overall System Flow Chart) |
||
Line 148: | Line 148: | ||
==== Overall System Flow Chart ==== | ==== Overall System Flow Chart ==== | ||
− | [[File:snake and ladder-remote.png|centre| | + | [[File:snake and ladder-remote.png|centre|300px|thumb|Remote side system flow]] |
=== Hardware Design === | === Hardware Design === |
Revision as of 19:11, 16 May 2017
Contents
- 1 Project Title
- 2 Abstract
- 3 Objectives & Introduction
- 4 Schedule
- 5 Parts List & Cost
- 6 Design & Implementation
- 7 Testing & Technical Challenges
- 8 Conclusion
- 9 References
Project Title
Snake and Ladder
Abstract
This project aims to bring the fun and simplicity of snake and ladder game with some new features. It is a snake and ladder game using SJONE board, LCD and 2 wireless remotes. LCD display is connected to the SJONE board will display the game grid. It will also have the multiplayer feature that will allow more than one players to play the game using wireless remotes simultaneously. This project explores a new dimension in the traditional snake game to make it more interesting and challenging.
Objectives & Introduction
This game aims to change the way people think of traditional snake game. It will offer the experience of commercial multilayer games to the player retaining the simplicity of traditional snake game.
- The major objectives of this project are:
- To create a snake and ladder game that will have all the functionality of traditional snake and ladder games.
- Introduce multiplayer functionality in the game that will allow several players to play a game simultaneously. It should be able to give the experience of a real time multiplayer game to the players.
- To introduce Speech output for events.
Roles & Responsibilities
- Hardware and PCB designing
- Speech Module Interface and Algorithm
- LCD Interface and Game board Algorithm
- Wireless Communication
Schedule
Week | Start Date | End Date | Task | Status | Actual Completion Date |
---|---|---|---|---|---|
1 | 3/21 | 3/25 |
|
Complete | 3/25 |
2 | 3/25 | 3/29 |
|
Complete | 3/29 |
3 | 3/29 | 4/9 |
|
Complete | 4/10 |
4 | 3/29 | 4/8 |
|
Complete | 4/8 |
5 | 3/30 | 4/14 |
|
Complete | 4/14 |
6 | 4/11 | 4/20 |
|
Complete | 4/20 |
7 | 4/20 | 4/22 |
|
Complete | 4/22 |
8 | 4/23 | 4/31 |
|
Complete | 4/31 |
9 | 4/26 | 5/5 |
|
Complete | 5/5 |
10 | 5/5 | 5/14 |
|
In Progress | |
11 | 5/15 | 5/23 |
|
Plan |
Parts List & Cost
Give a simple list of the cost of your project broken down by components. Do not write long stories here.
Design & Implementation
Overall System
- The overall system is divided into 3 parts:
- game image display(LCD): the snake and ladder image grid is mounted on the 7 inches LCD screen.
- wireless SJONE board: the antenna is connected to SJONE board to transmit and receive signal from master. The basic use of the SJONE board with antenna is to through dice.
- text to speech module: based on the actions performed the audio file gets executed. To make a game more effective and attractive.
All these functionalities work in parallel and have the same priorities.
Overall System Flow Chart
Hardware Design
Printed Circuit Board
Schematic Diagram
Below is the schematic diagram for the project. It includes the power supply, interface for LCD controller and text to speech module.
PCB Layout
Below is the PCB layout developed using Eagle PCB and Altium designer.
LCD display and RA8875 Driver Board
Hardware Interface
LCD Display
- This 7.0" TFT screen has 800x480 pixels, and an LED backlight.
- The display is supposed to be constantly refreshed, at 60Hz, with a pixel clock, V sync, H sync, etc.
- This display is operated by RA8875 Driver board.
RA8875 Driver Board
RA8875 is a text/graphic mixed display with 2 layers TFT LCD controller which is a powerful and cheap choice for color display application. It is designed to meet the requirement of middle size TFT module up to 800x480 pixels with characters or 2D graphic application. Embedded 768KB display RAM provides user a flexible solution for display buffer of almost application. RA8875 supports a 2D Block Transfer Engine(BTE) that is compatible with 2D BitBLT function for processing the mass data transfer.
- Features:
- Support Text/Graphic Mixed Display Mode.
- Embedded 768KB DDRAM.
- Color Depth TFT: 256/65K Colors.
- Supporting TFT 8/16 bpp Generic RGB Interface.
- Powerful Block Scrolling Function for Vertical or Horizontal Direction.
Software Design
Flowchart
Code snippet
Wireless SJONE remote
Hardware Interface
Here, in this project we have connected antenna to SJONE board for wireless functionality. Initially all the devices are in OFF state. Hence seven segment display of on the board will show “0” as master sends a command to any of the board, the seven-segment display will show “G0” then we can start to play the game.
This wireless remote functionality is introduced in our project is to roll a dice. Hence for this we have assigned an on-board switch. As soon a switch gets pressed a dice get rolled and random number gets displayed on the display. As Per that the player will move that many positions further.
Here, we have added a “enroll” function. In this, master will broadcast a packet to every user who wants to enter in game. Then user will press a switch and acknowledge master. Hence master will get to know the address of the user and now every user who gets enroll can play the game.
Software Design
Flowchart
Code snippet
Text to Speech Module
In Emic 2 Text-to-Speech(TTS) module we use UART protocol for communication with microcontroller. In this project, UART3 of the Sjone board is used for interface. This module has own commands for the text to speech conversion, voice selection, volume change.
- The pin configuration for Emic 2 TTS module is:
- SOUT – UART (RxD3)
- SIN – UART (TxD3)
- 5V – 3.3V (on board)
- GND - GND
- Its key features of Emic2 text-to-speech are as follows:
- High-quality speech synthesis for English and Spanish languages.
- Nine pre-defined voice styles comprising male, female, and child.
- Dynamic control of speech and voice characteristics, including pitch, speaking rate, and word emphasis.
- Industry-standard DEC talk text-to-speech synthesizer engine (5.0.E1).
- on board 3.5mm audio jack
Hardware Interface
Software Design
Algorithm:
- Initialize the emic2 TTS module to UART3.
- check function call for TTS module.
- Select text as per function call and play it on buzzer.
Flowchart
Code Snippet
Implementation
This section includes implementation, but again, not the details, just the high level. For example, you can list the steps it takes to communicate over a sensor, or the steps needed to write a page of memory onto SPI Flash. You can include sub-sections for each of your component implementation.
Testing & Technical Challenges
PCB
- Below is a list of challenges we faced during PCB designing:
- For designing the PCB, we use EAGLE software. Which is new for us and that was a challenging task to draw layout.
- We faced Assembly issues like dry solder on pins. So, we re-soldered the component pins.
- There was an insufficient bypassing on PCB hence we added required value of bypass capacitor on board.
- While testing PCB, we find a problem of shorting of a track so we use a multi meter to perform a continuity test and verification on the pins and fixed that.
LCD display
- The main challenged faced related to display is to print a snake and ladder picture grid. Also, to determine exact coordinates of snake and ladder on grid is one of the challenges. this a tough job but we manage to do that. Tried to achieved high refresh rate on LCD to get real time display effect.
Conclusion
We successfully completed our project of interactive snake and ladder by writing various modules and our mentioned overall objectives of it. We learned a lot about Sjone board and LPC1768 micro controller. we have added extra function in project so that multiple players (more than 2) can play the game simultaneously by just connecting antenna and flashing the code on SJone board. Hence this project increased our knowledge of software and hardware.
Project Video
Upload a video of your project and post the link here.
Project Source Code
References
Acknowledgement
We would like to Thank Preetpal Kang. We used his API's of free RTOS which help us a lot to write a code for each module. The knowledge he has given us about all the interfacing buses like SPI, UART, I2C helped us in using that in our project and will help in near future.
References Used
List any references used in project.
Appendix
You can list the references you used.