This project is a reverse calculator: the user is presented a random math problem to solve. The number of right and wrong answers is presented on the screen.
Step 1: Needed Parts
The parts you will need are:
- Arduino Nano, or another micro-controller.
- Keypad. I used a 4x4 membrane keypad.
- Display. I used an 128x64 OLED display.
For the power part I plan using a Li-Po battery with a charger-protector board.
Step 2: Schematic
The schematic is simple: the OLED is connected via I2C, the keypad is connected to 8 digital pins.
Step 3: Coding
The code uses the u8glib library for the OLED display. I tried using the newer u8g2 library, but the memory usage was too high.
Two random numbers are generated for the math problem, and a random mathematical operation (addition or multiplication).
The code is available on github: KidMathGame.
Step 4: Epilogue
This is only a demo project, it is missing some essential parts:
- A battery, to make it portable, and an optional Li-Po charger board.
- A case.
I also plan moving to ESP8266. The issue is with the keypad: it requires 8 digital pins, and the ESP8266 is low on them. I'll try using an I2C expander, such that the keypad and the oled will be on the same I2C bus.
Such an IOT device will have many traits:
- The kids' math level can be tracked, and all data can be logged remotely.
- The level of quizzes can be adjusted OTA.