KEMBAR78
Project - Final Report | PDF | Input/Output | Microcontroller
0% found this document useful (0 votes)
118 views19 pages

Project - Final Report

The document outlines a project to build a calculator interfacing with a keypad that takes in two 2-digit numbers as input, performs addition on those numbers, and displays the output on an LCD screen or LEDs. It describes the components needed, discusses testing of the code created for the project, and considers limitations faced in fully implementing the project. While code was developed, the group was unable to load and test it on the hardware due to limited time and experience with the components.

Uploaded by

Belinda Lee
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
118 views19 pages

Project - Final Report

The document outlines a project to build a calculator interfacing with a keypad that takes in two 2-digit numbers as input, performs addition on those numbers, and displays the output on an LCD screen or LEDs. It describes the components needed, discusses testing of the code created for the project, and considers limitations faced in fully implementing the project. While code was developed, the group was unable to load and test it on the hardware due to limited time and experience with the components.

Uploaded by

Belinda Lee
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 19

1

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.

Contents
INTRODUCTION.........................................................................4
AIM.......................................................................................... 4
EQUIPMENT & MATERIALS..........................................................4
DISCUSSION (RESULTS & TESTING).............................................5
CONSIDERATIONS......................................................................5
DIAGRAMS................................................................................ 6
CONCLUSIONS........................................................................... 7
REFERENCES............................................................................. 8
APPENDIX A CODE...................................................................9
APPENDIX B TERISSA FORMS...................................................1
Figure 1 Equipment Used..........................................................................4
Figure 2 - Hardware Diagram.......................................................................6
Figure 3 - Software Diagram............................................6YIntroduction
The 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 1 st 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.

Aim
To 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 & Materials


The project we propose to build will consist of the following system
components:

1.
2.
3.
4.
5.

ATMEGA 32 OUSB Board


LCD Display or LEDs in Binary Format
4x3 Keypad
Serial Cable
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 microcontroller.

Considerations
The 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
5

represented by 11000110, where the 1s would be an LED ON and the 0s


being an LED OFF.

Diagrams

Figure 1 - Hardware Diagram

Figure 1 - Software Diagram

Conclusions

As 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 Code

Appendix B Terissa Forms


PRO 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 indepth 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.

You might also like