This project is made by a loving father, Vedat Ozan Oner, who have a daughter at primary school. His daughter’s endless math study sessions, 2+2, 5+6, 4+3, and then subtraction: 5-4, 10-4, again and again, really drives him crazy sometimes, and made him want to build a small Arduino application to do the job for him. It should not be just a simple calculator, Vedat Ozan Oner thought about use a buzzer and some LED to make it interesting. When he started to consider elaborate it with all the UI management, then content management stuff, this Arduino application changed into something that had to be handled more seriously, and followed are his project Requirements. Project Requirements
System shall show a menu on a display for the basic operations: addition, subtraction, multiplication, division
User (my daughter) can select an arithmetic operation to study from the menu with a keypad.
There shall be some difficulty levels. After operation selection, difficulty level selection will appear on the display.
According to difficulty level, random questions shall be shown on the display and user can answer the question with the keypad.
User can correct her answer before entering it.
A message shall be displayed according to the correctness after entering an answer.
The correct answer shall be displayed after 3 wrong answers.
User can browse menu (menu-up or selecting menu items)
The system shall have audio and visual warning infrastructure. Messages will be accompanied by that infrastructure.
Each operation will have a time-limited quiz section.
Quiz section shall start to randomize questions beginning with the easiest level and goes up to higher difficulty levels.
Statistics will be displayed at the end of the quiz (how many questions asked, how many of them answered correctly)
System can take attention when she comes around.
There shall be some fun part out of math which directs user to do something like 'sing a song', 'kiss your daddy' etc. :) Else the user acceptance test is absolutely going to fail!
Warning infrastructure can be used as fun material in the fun part.
Notes for mismatching parts: 1. LCD is a serial LCD. 2. Arduino UNO should be replaced with Mega. “I started this project with an Arduino UNO, but decided to continue with Arduino Mega because of more memory need. At the beginning, everything was good with the Arduino UNO. However, when the code started to get bigger, after a point, I couldn't manage to hold the RAM usage below the capacity of the Arduino UNO and as you expect, it ended up with Arduino Mega, which has 8K of SRAM.”