The circuit in question is designed to interface an Arduino UNO with multiple peripherals including an RFID-RC522 module, an I2C LCD 16x2 screen, a buzzer module, HC-05 Bluetooth module, nRF24L01 wireless communication module, and three pushbuttons with associated resistors. The circuit is powered by a 9V battery and includes connections for both 5V and 3.3V components. The primary function of the circuit is to create a smart trolley billing system, utilizing the RFID module for item identification and the LCD for user interaction and feedback.
/****************************************************
* Code Designed By : Rahul Jadhav Youtube Channel
****************************************************/
/******************RFID Connection:*********************
RFID PIN ARDUINO PIN
SDA 10
SCK 13
MOSI 11
MISO 12
GND GND
RST 9
3.3v 3.3v
******************************************************/
/***** LCD Connection ***********************************
LCD PIN ARDUINO PI
SCL SCL (Arduino Last pin)
SDA SDA (Arduino Secon last pin)
VCC 5v
GND GND
******************************************************/
/***** Buzzer Connection ***********************************
Buzzer PIN ARDUINO PI
Positive 5
GND GND
*****************************************************/
/***** Button Connection ***********************************
Button PIN ARDUINO PI
Remove_Button 2
Add_button 3
Reset_button 4
VCC 5v
GND GND
*****************************************************/
#include <SPI.h>
#include <MFRC522.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int remove_button = 2;
const int add_button = 3;
const int reset_button = 4;
// const int buzzer_Pin = 5;
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.
// Rest of the code is omitted for brevity
The provided code snippet is part of a larger program that runs on the Arduino UNO. It initializes the RFID-RC522 module, the I2C LCD screen, and sets up the pushbuttons for user input. The code includes a structure for items with their names, RFID numbers, and prices, and contains logic for adding or removing items from a bill, which is displayed on the LCD. The code also handles the reset functionality to clear the trolley data.