element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Arduino Projects
  • Products
  • Arduino
  • Arduino Projects
  • More
  • Cancel
Arduino Projects
Blog Scientific Calculator with evive (arduino powered embedded product)
  • Blog
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Arduino Projects to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: Former Member
  • Date Created: 3 Jul 2016 8:32 PM Date Created
  • Views 1314 views
  • Likes 6 likes
  • Comments 1 comment
  • keypad
  • tft
  • calculator
  • arduino
  • evive
Related
Recommended

Scientific Calculator with evive (arduino powered embedded product)

Former Member
Former Member
3 Jul 2016

We all may have used the calculators, and if you are being involved in the scientific field then the scientific one too. What about building your own scientific calculator and showing it to your friends. You can do it by evive, it is an arduino powered embedded product. For more information you can watch this video. We have built a Scientific calculator having lots of functions like basic algebraic functions (addition, subtraction, multiplication and division), trigonometric functions, logarithmic function, square root and inverse trigonometric function.

 

An arduino sketch is made to implement this. It calculates accurately upto six decimal places and display upto four decimal place and it can be increased too.

 

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

 

For making this scientific calculator, you need to have this stuffs evive, keypad , breadboard and pushbuttons. After you get this stuffs, you are ready to make your own calculator. At first you should build a simple calculator, which can apply simple algebraic functions.

image

So for this we have take help from this link. It has built this simple calculator very effectively for crystal LCD but we have tweeked it for run on ST7735 which evive uses as its screen, you can read about more components of evive from this link. Run this code snippet and see your simple code running.

 

Now, as your simple calculator is working perfectly, if not then type in comment section or email us about your problem.

 

Now we will go step by step about journey of this simple calculator to scientific calculator.

 

Firstly we made it run for the decimal numbers also as it was for whole numbers only. We added the decimal button and we did this simple stuff.

For both our input numbers the algorithm is basically the same.

Let the first number be a double named 'first'. We initialize it to be zero.

We make a Boolean 'isDecimal' and initialize it as false. This means that unless the decimal point is given as an input, the number is not a decimal.

Last, declare a float 'decimals' and set it as 10.0. We will use it for keeping a counter of our place after the decimal point.

Now if isDecimal is false, it means the number is not yet a decimal. Suppose you are storing your input number from the keypad as key.

You just need to update first=first*10+key.

But if isDecimal is true, the number is a decimal. You need to now update as

first=first+key/decimals, and decimals=decimals*10.

We keep repeating the above steps until the input for some operation is detected. Then we similarly detect the second number. Using the knowledge of the operation called, we operate the numbers and print the result when '=' is detected.

Remember to restate the values of decimals=10.0 and isDecimal=false after detection for a number is complete.You can see this code snippet too.

 

image

 

For other functions you need to prepare the breadboard having different pushbuttons and if you have pushbuttons of different type then use, of course it will make your calculator look more beautiful.

image

Now, we have more buttons for the scientific functionality. We have used some colorful buttons as shown in figure. Now assign them accordingly. Take care to assign similar buttons to similar functions.

Since evive uses Arduino Mega, we have used following pins:

  • sine=Pin25
  • cosine=Pin27
  • tangent=Pin23
  • log=Pin22
  • arcsin=Pin24
  • arccos=Pin26
  • arctan=Pin14
  • root=Pin15

 

First try making the code for any one function (for example, sine function) using the inbuilt function 'sin(val)' of the arduino ide. Arduino ide also has pre-installed functions of cos, tan, inverse sin, inverse cos, inverse tan, log, square root.

You can view the following image for reference for making different functions.

image

All the codes can be downloaded from GitHub. The code is well documented and self explanatory.

 

The calculator works well!! We have also used evive's inbuilt buzzer to provide audio feedback in form of a beep while someone presses any button or switch. You can design the calculator which prints the results on the tft screen of the evive. Use different colors and sizes of text to decorate it. We can align the operants and the functions to make the appearance better.

image

Add more functions and dig harder to make it more complex image

You can check more features and techSpecs of evive to make it more advanced calculator.


Watch the video of evive here.image

To see more evive projects click here.

  • Sign in to reply
  • areejeman
    areejeman over 2 years ago

    its a best  scientific calculator  which provides you best result and giva a 100% accurate result in short span of time

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube