
An Automated Teller Machine is a self-service banking outlet that allows one to withdraw money, check balance and deposit funds. This project depicts all these functions using simple modules that are cheap and easier to work with. The project uses a servo motor for moving the money in and out during a transanction, an RC522 module to read the ATM cards, an OLED display used to display all the information and processes conducted by the Raspberry Pi pico and also used as an interface for the user. The Raspberry Pi pico acts as the central brain of the system where all processes and information about the ATM cards are stored while the LEDs are used as indicators. When a customer places their card, the card is scanned by the RFID module and the information about the card number is sent to the Raspberry Pi Pico which compares the card number with the numbers stored in it. If the card number does not match any of the numbers stored, a "Card Invalid" message is displayed on the OLED. If the card number matches one of the numbers stored then information such as the name of the user is retrieved and the user is prompted to enter the pin of the card. If the pin is correct, the user is then prompted to choose the type of service they want, either deposit, withdraw or check balance. If the user tries to withdraw an amount that is greater than the balance then an error message saying "Insufficient balance" is displayed on the OLED. When the user chooses to withdraw or deposit money, then the servo motor is used to turn the slot where money is placed
Automated Teller Machine
COMPONENTS
SAMPLE PROGRAM CODE
WORLDWIDE
from mfrc522 import MFRC522
import utime
from machine import Pin, SPI, PWM
from ssd1306 import SSD1306_SPI
import framebuf
from time import sleep
'''
RSP Pico | RC522
0 | RST
1 | SDA
2 | SCK
3 | MOSI
4 | MISO
RSP Pico | OLED
16 | CS
17 | DC
18 | SCK
19 | MOSI
20 | RST
Above is a sample of the program code. Click Here to view the full code