+ All Categories
Home > Documents > Project - Final Report

Project - Final Report

Date post: 16-Nov-2015
Category:
Upload: belinda-lee
View: 219 times
Download: 1 times
Share this document with a friend
Description:
embeded
20
1
Transcript

Summary

The basis of this report outlines a Keypad/Calculator interfacing and the components required to build it and also how to use these components to construct the product and thus test it to see if it meets all of the requirements.In the following report, the possible outcomes are discussed relative to the components that are needed and they are then minimised. This is done not just for simplicity, but to reduce the costs required to build such a system.ContentsIntroduction4Aim4Equipment & Materials4Discussion (Results & Testing)5Considerations5Diagrams6Conclusions7References8Appendix A Code9Appendix B Terissa Forms1Figure 1 Equipment Used4Figure 2 - Hardware Diagram6Figure 3 - Software Diagram6YIntroductionThe objective is to program the ATMEGA 32 chip in such a way that it reads any combination of two, 2-digit numbers (decimal) from the keypad and then using the remaining keys from the keypad to compute (in this case, add) these two numbers, and then finally display them on the LCD screen as an output. The process involved will be a reverse polish system that takes two input numbers first, followed by the command input of which we choose to combine these two numbers. For example, the sum of 40+20 = (display out) 60. This will be entered as input 1st number 40 (store number/press enter), input 2nd number 20 and then add the two together. Once added, the total will be sent to the LCD display/8 bit LEDs as an output.The following report outlines a design that was created to allow the OUSB Board to function in a way that would satisfy the objectives of the project.AimTo design a calculator that detects a pair of numbers from an input device, in this case a 12 key/4x3 keypad. In detecting the key presses by the user, the micro controller will then store these numbers in its registers, once a total of two 2-digit numbers have been entered, it will then proceed to combine (add) them in such a way that it will replicate that of a reverse polish calculator.Equipment & MaterialsThe project we propose to build will consist of the following system components:1. ATMEGA 32 OUSB Board2. LCD Display or LEDs in Binary Format3. 4x3 Keypad4. Serial Cable5. Some form of power supply via USB.

Figure 1 Equipment Used

Discussion (Results & Testing)The outline of our issue was to design and construct a Micro-Controller (ATMEGA 32 OUSB Board), which included a set number of inputs that become operative when a user was to interface with it. Upon doing so, it would yield a result and output to our desired device. The input for this particular project was the keypad discussed earlier. Detection of this input was via set ports on the OUSB board that would correspond to a signal that would set relative to the row and column combination of the pins on the keypad.Our initial problem was first to understand what the requirements of the project were. This was all relatively straight-forward, however with our particular groups limited knowledge of this particular subject along with limited exposure to the relative resources, we were unable to yield a fully working system.The code that we created to satisfy the project outline managed to be compiled and built in the simulation software. However, it was at this stage that we were unable to go any further and have it loaded to the board for further testing and to see that it would actually function correctly. All other testing was carried out in VM Lab and such was done in stages that cannot be shown. This was done by constructing our code in steps and then compiling it to confirm that it would build successfully. It should be noted though, that although proving successful in the compiler, this does not mean that it would function as desired on the micro-controller.ConsiderationsThe project itself was in fact, quite descriptive in its requirements. Its main requirement was that it had to involve the ATMega 32 micro-controller and either 1 or more input devices. Our initial idea was to choose the thermostat, figuring that it would have the least amount of considerations as it is just a sole sensor and not a different number of variables.After realising that we were going to struggle with the project as a whole, we decided to go with the calculator as it closely represented that of the in-class Lab 3 Keypad. Constructing such code didnt seem to be too much of a hurdle, however getting it all to relate to the other installed components was hard as the product description sheets were very vague. As we realised that we only had limited access to the components in the lab rooms, we decided to minimise our overall project by implementing our own OUSB boards and just the keypad, eliminating the need for an LCD. By using just the OUSB board, our aim was to utilise the on-board LEDs in an 8-bit binary configuration. The total of an 8-bit binary system is capable of yielding a highest digit of 255. This was more than enough as our largest possible 2 + 2-digit number combination would/could have been, was 99 + 99 which is equal to 198. In binary this would be represented by 11000110, where the 1s would be an LED ON and the 0s being an LED OFF.Diagrams

Figure 2 - Hardware Diagram

Figure 3 - Software DiagramConclusionsAs has been previously discussed, the final results that we desired to achieve for this project were not entirely possible. We can only put this down to the lack of time available to spend on the actual project in-class. We also put a lot of this down to the fact that we need to improve our overall knowledge of the components used and how they all interface together.We would have liked to have spent more class time on this and also had a better/more in-depth insight from previous classes on how a similar idea can be presented in a similar manner to the project. There would also be a lot more to conclude if we were able to get the software downloaded onto our micro-controller. If this was the case, we would have had far more testing to do, and thus a better solution to the problem would have more than likely to have been produced.

Appendix A CodeAppendix B Terissa FormsPRO FORMA{Daniel Briglia}{Question No.1}What did I expect to be the hardest part of this project?Before starting this project, I suspected the hardest part(s) to work out would be solving how the software and hardware is linked together, and also how to original code this particular software/hardware.My initial evaluation of this step is a: 5 Very Difficult. I have given it this rating as per the above and not having any prior knowledge on how/where to start such a project.My final evaluation of this step is a: 4 I have given this 1 less mark of difficulty, as I did manage to construct a set of code that would successfully compile. I did manage to attach the keypad to my OUSB board and get A RESULT, however it was not a 100% result that represented the desired outcome.{Question No.2}Is there ample amounts of readily available equipment to be able to complete the project to the fullest?Yes and no. There is equipment available, but it is only available during lab sessions. On top of this, the given data sheets are very brief and in the case of the LCD, very vague. I believe this leaves too much open to personal selection and would prefer better initial information along with specific equipment that has been tried and tested before. It is already hard enough having to complete the project steps, let alone having to choose your own components when you dont know what you should be using to behin with! My initial evaluation of this step is a: 3-4. There is SOME guidance, but it is a little vague and too open-spec for a first project that we have no experience in previously.My final evaluation of this step is a: 3 Again I didnt see much change in my rating of this step as the same problem was still evident throughout the whole course of the project. I did however manage to gain a slightly better understanding of the components being used and also made them available to myself by simply purchasing my own.

{Question No.3}Is/was there enough information leading up to the project in order to help complete it?I believe there wasnt enough information that would help us complete such a project. Not having worked with any of the material or components prior to this class, I have found it hard to grasp how any/all of the components come together to work as one. I was also told there were no pre-requisites to the course which I believe there should be. I am fairly confident with the working of Quartus, but not with the coding in VM Lab, but not so sure on how the 2 are used together and then transferred to the Hardware (OUSB Board).My initial evaluation of this step is a: 4. I didnt rate this as a 5 because I do have some idea on how to use the tools provided. If shown, I will then know what/how to apply what needs to be done!My final evaluation of this step is a: 3 I did rate this 1 difficulty mark lower as after a lot of internet searching, I did come across some useful information that made it possible to at the very least, complete a large part of this project.

PRO FORMA

{Question No.1}

Where there any aspects in which you think you could have improved in, before attempting the assignment?

I do believe that the programming side with VM Lab could have been improved immensely. Although I have been quite comfortable with my progress and understanding of programming in most of the labs, this project required a lot more dedication and effort and a little more time for this project could have been extremely helpful. As I had no previous knowledge of programming before taking up this subject, I was amazed by the progress that I was able to accomplish in the given time- yet I feel that the this task was still very difficult and was indeed a major ask.

My initial evaluation for this step is 4. Since VM Lab is an area that I was uncomfortable with, this task seemed difficult to begin with but not implausible. However I feel that with a good understanding and extra support -this task could have been done much better.

My final evaluation is still 4. I realize the problems that we faced were insurmountable and the finesse required understanding the programming techniques were absent. My Internet search revealed many useful websites including the user manuals for the atmeag32 by AVR.

{Question No.2}

Where you confident that with the information provided, this project could be accomplished successfully?

I believe in working towards this project, there was not enough information given to the students for them to finish this project. An in-depth task such as this, needed a strong understanding in all the material prior to this assessment; such as the knowledge of using VM Lab and Quartus. And having no background of neither programs, it does become a challenge for a student to tackle such a problem. In essence, it was extremely difficult to understand and master the skills required, in such a short time and with such little help given.

My initial evaluation for this step is a 4. Had I rated this as a 5, then it would of meant that I did not gain any understanding of the programs. I did have a basic grasp on the concepts of the programs.

My final evaluation is also 4. I feel that the information required essentially was sufficient but the support that was needed to accomplish the task successfully was not. The background knowledge that would have been exceedingly beneficial for me to complete this task, to a higher degree of satisfaction, was lacking. I feel that extra help was required at various stages of the project which would have helped to not only complete the desired outcomes but also would have been a confidence builder during the time given. As problems were being faced, the project became overwhelmingly difficult especially in the last week.

{Question No.3}

Was there any areas of this project in which I thought would be the hardest to tackle? Prior to the project I knew that the programming section would be the biggest challenge for me. Throughout all the labs that required programming, I struggled in them continuously. Even though I eventually managed to solve them, but the amount of time taken to do so was an extremely long process.

My initial evaluation for this step is 4. I expect that programming for me to be difficult, especially since I have no previous knowledge. I did hope that I could be able to apply my understanding of programming that I gained during the labs.

My final evaluation for this step is still 4. Although programming for me was initially difficult, I was satisfied with the amount of knowledge I gained. I was however disappointed to realize that the project was not a success. I realize that greater knowledge of programming was vital and that this task could have been accomplished had I been more apt in this field.

19


Recommended