Instructables

DinoCalc Version 1.0

Featured
Picture of DinoCalc Version 1.0
(Arduino Pro Mini Protoboard Version)

Latest Release:  http://code.google.com/p/dinocalc/
Development:      https://github.com/WeaselJones/DinoCalc

This is a calculator without a LCD that tells you if your math answer is right or wrong, without giving you the answer.  This instructable will show you how to make this simple math checking calculator using "off-the-shelf" items.

[UPDATE:  A TUTORIAL SHOWING HOW TO CREATE YOUR OWN CUSTOM INLAY GRAPHIC IS NOW INCLUDED! ALONG WITH A NEW GRAPHIC FOR GIRLS TO USE INSTEAD OF THE DINOSAUR.  CHECK OUT APPENDIX A AND B AT THE END OF THIS INSTRUCABLE!]

When I was younger I had a calculator that did not have a LCD display but instead had two LED lights, one green and one red.  You would enter a math problem with what you thought the correct answer was.  If your math problem was for example, 12 + 12, you would enter on the keypad:  12+12 = 24, and then press the "?" key.  If your answer was right then the green LED would light up, if your answer was wrong, the red LED would light up.

This is my salute to that toy from my childhood, as well as a great way for me to engineer and program a neat little project that my preschool son can actually use to check his simple math.

This first version will document the prototype that I have built. My first objective was to create a calculator capable of just adding and subtracting using off the shelf items. I plan on starting with an Arduino Pro Mini for the developmental and prototype stage and  I will then move on to a final version that has a lower cost and device count (ATmega328P on a custom PCB).

The way the calculator will work is:

1) User enters:
      a Number, (for example, 12)
     then a math operator, (let's pick addition, +)
     then a Second Number, (let's add 13 to our first number)
     then press the equal sign, (=)
     then the user enters what he (or she) believes the answer to be, (let's guess 22)
     then press "?" to see if you're right or wrong!
  
2) Microprocessor then calculates the correct answer.
    In our case, 12 + 13 = 25. So the Calculated correct answer is 25.  This answer is just
    stored in memory and not shared with the user.

3) Microprocessor compares the calculated answer to the user's
   guessed answer. 
   If they are not equal then the microprocessor turns on the red LED. 
   If they are equal then the microprocessor turns on green LED.
   We guessed 22, so 22 is not equal to 25 so the RED LED LIGHTS UP!

Notes and Limitations: 
1) Only one math operation is currently supported (ie, 12+12 or 12 - 12 will work, but 12+12+12 or 12+12-12 will not)

2) Negative numbers will work (ie, -12 + -12 or -12 - -12 will work)
3) Large numbers will work (ie, 123456789 + 8765 will work)

4) Decimal Numbers will work (ie, 12.1 +12.2 will work)
5) I made this for my preschool son, so right now the only math operators currently supported is addition and subtraction.  Multiplication and Division will be easy to add in the near future.
6)  The last limitation is your imagination.  Just because I did something one way, don't be afraid to change it to work for you!

TIP:  TO COMPLETE THIS PROJECT THE BUILDER WILL NEED TO HAVE EXPERIENCE WITH SOLDERING AND USING THE ARDUINO IDE. THERE ARE MANY TUTORIALS ON USING THE ARDUINO IDE ON INSTRUCTABLES AND AT HTTP://ARDUINO.CC.  IF YOUR EXPERIENCE IS LIMITED, I RECOMMEND BUILDING THIS PROJECT FIRST ON A BREADBOARD, AS SHOWN IN THE OPTIONAL STEP 5, SO THAT THE BUILDER CAN BECOME MORE FAMILIAR WITH THE DINOCALC SOFTWARE AND PROGRAMMING OF THE ARDUINO PRO MINI. 
AND WHILE THIS PROJECT ISN'T COMPLICATED TO SOLDER
YOU MIGHT NOT WANT THIS TO BE YOUR FIRST SOLDERING EXPERIENCE.  IF YOU'VE NEVER SOLDERED BEFORE THERE ARE MANY "LEARN HOW TO SOLDER KITS" THAT YOU CAN PRACTICE AND LEARN ON FIRST.  SUCH AS:  Elenco AmeriKit Learn to Solder Kit.
 
Remove these adsRemove these ads by Signing Up
cmor21251 year ago
I want to modify this to do multiplucation/division. Any idea on where to get started?
weaseljones (author)  cmor21251 year ago
If all you need are two operands ( something like 5 x 5 = 25) it shouldn't be too hard. I added lots of comments to my code and I hope some of this makes some sense as you look through it. You'll need to get a bigger keypad or add two more buttons to represent multiplication and division. Then you'll need to add in the code what to do when those keys are pressed. Just follow what I did for addition as an example. In the software I used the variable "i" to store what math operation is being performed. When i=1, addition; when i=2, subtraction. You'll need to expand on that for multiplication/division, something like i=3 for multiplication when the multiply key is pressed. Then in the calcAnswer function of the code you'll need to expand your calculations to include multiplication/division. Just follow how I did the adding and subtraction in calcAnswer. Hopefully the comments will make sense when you start dissecting the code.

Also, on Github under the "Software: multiple operand" branch I was working on a way to allow multiple operands (like 1+2-3+4-5). I started using arrays to keep track of the calculations but I haven't placed anything for "order of operations" that you'll need when you multiply or divide. My job has been keeping me away from my hobbies so it isn't finished, but you're welcome to look at it.
mlauer21 year ago
this is brilliant. I'm not confident that I would be patient enough to do this, but I would definitely buy one for my youngest son. You should market this.
Agreed, check out https://www.sparkfun.com/tutorials/315
J-Five1 year ago
Cool!!!,

Ouch! It just bit my finger off!!!
Hey, this is a really well written instructable, good job!
weaseljones (author)  furrysalamander1 year ago
thank you