top of page
Search

How to Make ATM machine at home






Circuit:




Download Programming:


#include <Servo.h>

#include <MFRC522.h>

#include <LiquidCrystal_I2C.h>

#include <Keypad.h>

#include <SPI.h>


// Create instances

LiquidCrystal_I2C lcd(0x27,16,2);

MFRC522 mfrc522(10, 9); // MFRC522 mfrc522(SS_PIN, RST_PIN)

Servo myservo1;



char initial_password[4] = {'0', '8', '0', '6'}; // Variable to store initial password

String tagUID = "43 19 8A 1A"; // String to store UID of tag. Change it with your tag's UID

char password[4]; // Variable to store users password

boolean RFIDMode = true; // boolean to change modes

char key_pressed = 0; // Variable to store incoming keys

uint8_t i = 0; // Variable used for counter

const int buzzer= 5;

const int motor= 7;


// defining how many rows and columns our keypad have

const byte rows = 4;

const byte columns = 4;


int val = 0;

int myval = 0;


// Keypad pin map

char hexaKeys[rows][columns] = {

{'1', '2', '3', 'A'},

{'4', '5', '6', 'B'},

{'7', '8', '9', 'C'},

{'*', '0', '#', 'D'}

};


// Initializing pins for keypad

byte row_pins[rows] = {A0, A1, A2, A3};

byte column_pins[columns] = {2, 1, 0};


// Create instance for keypad

Keypad keypad_key = Keypad( makeKeymap(hexaKeys), row_pins, column_pins, rows, columns);


void setup() {

lcd.init(); // initialize the lcd

lcd.init();

// Print a message to the LCD.

lcd.backlight();

SPI.begin(); // Init SPI bus

mfrc522.PCD_Init(); // Init MFRC522

pinMode(buzzer, OUTPUT);

pinMode(motor, OUTPUT);

myservo1.attach(3);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("-----ATM------");

lcd.setCursor(0, 1);

lcd.print("BeyonD Payment's");

delay(5000);

}


void loop() {

// System will first look for mode

if (RFIDMode == true) {

;


lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Tap Your Card!");


// Look for new cards

if ( ! mfrc522.PICC_IsNewCardPresent()) {

return;

}


// Select one of the cards

if ( ! mfrc522.PICC_ReadCardSerial()) {

return;

}


//Reading from the card

String tag = "";

for (byte j = 0; j < mfrc522.uid.size; j++)

{

tag.concat(String(mfrc522.uid.uidByte[j] < 0x10 ? " 0" : " "));

tag.concat(String(mfrc522.uid.uidByte[j], HEX));

}

tag.toUpperCase();


//Checking the card

if (tag.substring(1) == tagUID)

{

// If UID of tag is matched.

lcd.clear();

tone(buzzer,2000);

delay(200);

noTone(buzzer);