This is an old revision of the document!
Designed by: Marius-Tudor Zaharia, 333CA, May 2025
Contact: marius.zaharia2305@stud.acs.upb.ro
What is BankApp?
Purpose
Why this idea?
ATMega328P microprocessor.engine of the system, controls the whole behind-the-scenes logic of the app.I2C with the microcontroller.SPI with the microcontroller.analog input from the user, which is then converted to digital data.OK/Confirm button.debouncing.No debouncing needed.10 is used as 011 is used as backspaceBack/Cancel button.debouncing.PWM.
Created using Cirkit designer.
| Component | Link to Vendor | Datasheet Link |
|---|---|---|
| Arduino Uno (ATmega328P) | Vendor Link | Datasheet |
| Capacitive touch (TTP229) | Vendor Link | Datasheet |
| LCD I2C 16×2 | Vendor Link | Datasheet |
| Card scanner (MFRC522) | Vendor Link | Datasheet |
| Dual-axis Joystick | Vendor Link | Datasheet |
| Passive buzzer | Vendor Link | Datasheet |
| Red Push-button module | Vendor Link | Datasheet |
| RGB LED module | Vendor Link | Datasheet |
LOGOUT menu can be reached by pressing the red button from any menu of the LOGGED IN state (i.e. the yellow menus).NOTIFICATIONS_SEE, SEE_FRIENDS and ADD_FRIENDS menus offer interfaces where the user can navigate between entries.0 key, so 10 is used as a 0, while 11 is used as backspace.Start menu
Welcome menu. By flicking the joystick to the left/right, the user can navigate between menus and choose the next action, Login or Register, by clicking the joystick button. A Debug menu is also available.Register menu
register, a card should be placed next to the card reader, and then a 4-digit PIN code is required. If the user is already registered, an error message is displayed, else, the user's home menu is accessed.Login menu
login, the same steps as for register should be followed, with the exception that the validity of the PIN code is checked. Also, if the user has not previously registered, an error message is displayed.Logged-in menu
Hello menu.Main account, Economies account, Friends, Change PIN.Notifications menu can be found.Logout menu is accessed, where the user is asked to confirm the logout.Main account menu
add cash, make a payment, transfer money to the economies account and send money to a friend.add cash), the existing sum is first checked. If the balance is insufficient, an error message is displayed, and the transaction is aborted.Economies account menu
transfer money to the main account, in a similar way as described above.Friends menu
See friends and the Add friends menus.Notifications menu
Friend request, Accepted friend request, Received money from friend.LiquidCrystal_I2C - GitHubLiquidCrystal_I2C class, which offers methods for initialization, cursor placing and writing characters.MFRC522 - GitHubMFRC522 class, which offers methods for initialization, card detection and UID reading.TTP229 - GitHubTTP229 class, which offers a non-blocking method for key reading.