I needed a small calculator to convert any whole number into another number system without any problem.
For this reason, I chose to create this project. This project consists of DIY based keypad that works perfectly, an Arduino programmed 328p controller, LCD with I2C module, 3.3v to 5v boost circuit and perf-boards.
Let's start with the keypad, I have used 8 push buttons which are arranged in such a way that they look like a real Arduino keypad, I have used some stapler pins that act as a jumper and also it acts as a conductor.
These pins are connected to the Atmega 328p microcontroller with the help of L-shaped male headers. As you can see in the above photos that four pins act as rows pins while the other four pins act as columns.
Now, let's discuss the mainboard. The mainboard consists of a micro-controller, a 16Mhz crystal oscillator, few buttons (they are dummy, but they can be configured as your requirement), two 22pF non-polar capacitors, an I2C connector for LCD and a boost circuit as shown in the circuit below.
As for the LCD, the I2C module is directly soldered on the LCD PCB, and there is no gap between them. The mainboard is powered by the 3.3v LiPo battery, the boost circuit converts the low voltage to the high voltage since there is the potentiometer connected on the boost circuit which varies the voltage at the output. So by varying it, the voltage can be changed, this micro-controller only requires about 5V, so the voltage is varied to 5V on the output. This voltage is also supplied on the I2C module this turns on the LCD.
The I2C module on the LCD consists of four pins which are connected in the following ways:5V -------- 5V (output of boost circuit)
GND ---- GND (output of the boost circuit)
SCL ------ A5 (SCL of Atmega 328p) Arduino
SDA ----- A4 (SDA of Atmega 328p) Arduino
The programming of this project is simple and easy.
#include <LiquidCrystal_I2C.h>
#include <Keypad.h>
Above these two libraries are included for this project.
The coding attached, please see it and you will understand it easily.
Comments