*(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)

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)

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 SOLDERAND 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**
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.

Ouch! It just bit my finger off!!!