ECE 476 Final Project, Spring 2003
Jeannette Lukito :: Jonathan Wang
A major challenge of the design was to
graph an entire function to the screen without causing flicker. We decided
that storing all the points to an array and printing them to the TV at once
would not be possible within the refresh rate, so we decided to calculate
the points on the fly and print them out one by one to the screen. Although
this worked well, we were not able to include as many extensions of the Taylor
series expansions as we would have liked. As a result, our accuracy suffered
a little. Thus we added a precision mode that uses math.h in case the user
wants to insure accuracy. We also had trouble graphing certain functions that
required too much computation per point. An example of this is graphing
5 tan(3x + 2). We started getting flicker because the processor could not
finish the computation in time for the next screen refresh.
We only printed results of calculations out to the
second decimal point. When in normal mode of operation, all the basic numerical
functions(add, multiply, divide, subtract) and sine and cosine were accurate
for all legal input. The other functions’ accuracy suffered because of the
limitations of using the Taylor expansions.
Below are the functions and their approximate range of accuracy:
- Tangent: -1 < x < 1
- ex : -2 < x < 3
- arcsin: -.8 < x < .8
- arccos: -.9 < x < .9
- arctan: -.9 < x < .9
- ln: 0 < x < 1.5
This graphing calculator has a very high safety rating. It
does not have many moving parts and those not use large amounts of power or generate large
amounts of heat.
Our calculator does not interfere with other designs in any way.
The calculator is very user-friendly once one has familiarized themselves with how the keypads work. We implemented lots of error checking and bound checking for the user’s convenience. We have clear screen and delete functions in case the user makes a mistake. We clearly show which mode the user is currently in, as well as any parameters that a user may have to input. We clearly show if the user is in precision mode or normal mode, and if the user is graphing using dots or lines. The viewing window of the graphs has been tailored to each specific function for maximum visibility.