0% found this document useful (0 votes)
64 views46 pages

Radin Jofel - Final

The document outlines the development of an IoT-enabled Water Dispenser Vending Machine with an Integrated Coin Change Dispensing System aimed at improving water accessibility in Barangay Esperanza, Poro, Cebu. The system utilizes IoT technology for remote monitoring, automates coin validation and change dispensing, and enhances user convenience through a web interface. Key components include an Arduino Uno for local management and a NodeMCU ESP8266 for wireless data transmission, ensuring efficient operation and real-time data tracking.

Uploaded by

Clark Sumalinog
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
64 views46 pages

Radin Jofel - Final

The document outlines the development of an IoT-enabled Water Dispenser Vending Machine with an Integrated Coin Change Dispensing System aimed at improving water accessibility in Barangay Esperanza, Poro, Cebu. The system utilizes IoT technology for remote monitoring, automates coin validation and change dispensing, and enhances user convenience through a web interface. Key components include an Arduino Uno for local management and a NodeMCU ESP8266 for wireless data transmission, ensuring efficient operation and real-time data tracking.

Uploaded by

Clark Sumalinog
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 46

Development of IoT Water Dispenser Vending Machine with

Integrated Coin Change Dispensing System

An Embedded Systems Device with Manuscript

Submitted by:

Radin, Jofel

A Final Course Requirements for CompTech 326 – Embedded

Systems

2025
Acknowledgement

ii
Abstract

The development of an IoT-enabled Water Dispenser Vending

Machine with an Integrated Coin Change Dispensing System

aims to provide an automated and efficient water

dispensing solution, especially in areas where reliable

water dispensers and coin exchange services are scarce.

This project introduces an intelligent, self-operating

vending system that incorporates Internet of Things (IoT)

technology for remote monitoring and management via a web

interface. The system includes critical components such

as a coin acceptor for validating 5- and 10-peso coins, a

coin hopper for providing change, and a water pump for

controlled dispensing of water. Powered by a NodeMCU

ESP8266, the IoT feature enables real-time tracking of

water usage, machine performance, and operational data.

The Arduino Uno microcontroller ensures that the water

dispensing, coin validation, and change delivery

functions are executed precisely. This solution aims to

enhance user convenience by automating the coin exchange

process, reducing the need for manual interactions, and

improving operational efficiency through remote

monitoring. The proposed system addresses the increasing

need for accessible water and offers a forward-thinking

approach to vending, fostering the modernization and

iii
automation of routine transactions within local

communities.

Table of Contents

Tittle Page...............................................

Acknowledgement..........................................

Abstract................................................iii

Table of Contents........................................

List of Figure...........................................

List of Image............................................

List of Table............................................

Chapter I-Introduction....................................

Purpose and Description of the project...................

Objectives of the Project................................

CHAPTER II – TECHNICAL BACKGROUND.........................

Technicality of the project..............................

Details of the technologies to be used...................

How the project will work................................

Circuit diagram of the project...........................

CHAPTER III- METHODOLOGY.................................

Data and Process Modeling...............................

iv
Context Diagram.........................................

Data Flow Diagram.......................................

System Flow chart.......................................

Program Flowchart.......................................

System Architecture.....................................

Network Topology.....................................................................................................

Parts and Equipment Needed...........................................................................

Software specification.....................................................................................

Installation Process..........................................................................................

Users Guide.............................................

Introduction...............................................................................................................

System Overview.......................................................................................................

Hardware Setup..........................................................................................................

Software Installation and Configuration.........................................

System Operation.....................................................................................................

Safety Considerations........................................................................................

Frequently Asked Questions (FAQs).........................................................

Support and Contact Information..............................................................

REFERENCES..............................................

v
List of Figure

Figure 1. Context Diagram..............................................................................

Figure 2. Data Flow Diagram.........................................................................

Figure 3. System Flow Chart Diagram......................................................

Figure 4. Network Topology of Temperature and Humidity

Readings with Fan.................................................................................................

List of Image

Image 1. Circuit Diagram..................................................................................

Image 2. Actual Image of the device......................................................

Image 3. During the Creation of the Device......................................

Image 4. Testing the Components................................................................

Image 5. Revising Research Paper.............................................................

List of Table

Table 1. Parts and Equipment Needed...................................................................

vi
Chapter I-Introduction

Project Context
The IoT Water Dispenser Vending Machine with Integrated Coin

Change Dispensing System addresses the growing need for

convenient water dispensing solutions in Barangay Esperanza,

Poro, Cebu. The local community faces challenges due to a

lack of reliable water vending machines and coin exchange

services, leading to inefficiencies and inconvenience for

customers. Residents often struggle to use existing

dispensers, which typically require exact 1-peso coins, as

there are limited businesses offering currency exchange.

This solution eliminates the hassle of manual coin exchanges

by combining an automated water dispenser with a coin change

system, creating a smoother user experience. The integration

of IoT technology allows for real-time monitoring of water

usage, sales, and system status through a web interface,

simplifying operations for the machine owner.

This innovation not only enhances customer convenience but

also improves business efficiency. As a result, the project

not only addresses an immediate need but also prepares the

community for the benefits of modern, sustainable technology

that streamlines daily operations. The successful completion

1
of this project will improve the accessibility and

reliability of water dispensing services in the area.

Purpose and Description of the project

The objective of this project is to create a smart, user-

friendly, and efficient IoT-based water dispenser vending

machine with an integrated coin change dispensing system.

This solution aims to address the lack of adequate water

dispensers and limited coin exchange services in Barangay

Esperanza, Poro, Cebu. By automating the coin change process

and enabling customers to pay with 5- and 10-peso coins, the

system provides a seamless and convenient water dispensing

experience. The project aims to simplify water access for

local residents while offering machine operators an

intuitive online platform for real-time data monitoring and

management. The focus is on integrating mechanical and

digital technologies to create a practical, sustainable, and

easy-to-use solution. Ultimately, this system seeks to

modernize water dispensing services, enhancing both customer

convenience and operational efficiency.

2
Objectives of the Project
General Objectives

This study aims to develop of IoT Water Dispenser Vending

Machine with Integrated Coin Change Dispensing System

this research study a line with 17th SDG goals in the

Philippines (6# Clean Water and Sanitation, 1# No

Poverty, 17# Partnerships for the Goals), while

supporting Ambisyom Natin 2040 goals of every Filipino

the future will be a great help to people. Matatag,

Maginhawa, Panatag

Specifically, it aims to;

1. develop a system that change coins such as 5 and 10-

peso coins and uses coin hopper to change coins;

2. develop a system that uses LCD to display the coin

inserted and the status of the system;

3. develop a system that uses 2 push button to trigger the

water pump and coin hopper to dispense and to press on

how much the costumer want to dispense water;

4. develop a system with real time water capacity

detection and water consumption and water sales. And

uses Web application for receiving notification and

displaying the output and value of water;

5. develop a system that uses Arduino Uno to manage and

utilize operations,

3
6. design a system that uses NodeMCU V3 ESP8266 to

interpret the bytecodes and executes the commands, and

for serial communication to the Arduino Uno the store

the data to the web application;

7. Create a Graphical User Interface GUI for monitoring

the inventory system, and;

8. determine the quality of the developed system using

ISO/IEC 25010 Systems and Software Quality Requirements

and Evaluation (SQuaRE).

4
CHAPTER II – TECHNICAL BACKGROUND

Technicality of the project

This project aims to address the limited availability of

coin-compatible water dispensers in Barangay Esperanza,

Poro, Cebu, where residents face difficulties due to a lack

of businesses that can exchange 5- and 10-peso coins for 1-

peso coins. Traditional vending machines require exact coin

denominations, causing inconvenience for both customers and

operators.

The project develops an embedded IoT-based system that

combines coin change functionality with real-time monitoring

through a web application. The scope of the project focuses

on creating a prototype system managed by BIT-CT 3G

students, excluding commercial deployment, other academic

levels, and unrelated departments.

Targeted at end users in the local community, particularly

those who frequently use coin-operated vending services,

this project has the potential to make a significant

contribution to the field of embedded systems and IoT. It

offers a smart, user-friendly solution that integrates

mechanical vending with digital management, enhancing both

convenience and operational efficiency.

5
Details of the technologies to be used

To ensure optimal performance, the system integrates both

hardware and software components. The central

microcontroller is an Arduino Uno, which manages inputs from

push buttons and sensors, while also controlling the LCD

display and the water pump. The NodeMCU ESP8266 is

responsible for transmitting wireless data to a web server.

The system also features a coin hopper for automatic change

dispensing and ultrasonic sensors to monitor water levels.

The Arduino IDE is used to program the microcontroller in

C/C++, while the web interface is built using HTML, CSS,

PHP, and JavaScript. Serial communication is established

between the Arduino and NodeMCU, and HTTP protocols are used

to send data to the web application. The entire system is

powered by a 12V DC power supply, with careful regulation of

voltage and current to optimize energy efficiency and

maintain system stability. This design ensures smooth

connectivity between all system modules.

How the project will work

The IoT Water Dispenser Vending Machine's system

architecture consists of two primary microcontrollers: the

Arduino Uno for local hardware management and the NodeMCU

(ESP8266) for wireless data transmission. The Arduino is

6
responsible for tasks such as coin detection, water

dispensing, handling push button inputs, and controlling the

LCD display, while the NodeMCU transmits data to the web

application. This technology enables users to insert 5- or

10-peso coins, which are identified by the coin acceptor.

Users can then select the desired amount of water by

pressing a button. The system activates the water pump to

dispense the water, and the LCD displays relevant

information and the system's status. If the inserted amount

exceeds the required cost, the coin hopper automatically

dispenses the correct change.

Real-time data such as water levels, consumption, and total

sales are collected by sensors, which are processed by the

Arduino. This data is then sent to the cloud via the NodeMCU

through a serial connection. The web application receives

and displays this information for monitoring and

notifications. The Arduino and NodeMCU communicate via

serial connection protocols, ensuring seamless data flow

between the hardware and cloud systems. To enhance stability

and responsiveness, challenges in synchronizing real-time

data with hardware responses were addressed by implementing

scheduled data buffering, voltage-level shifting, and

precise sensor calibration.

7
Circuit diagram of the project

Image 1. Circuit Diagram


The circuit diagram for the IoT Water Dispenser Vending

Machine includes several key components to ensure the system

functions smoothly. The central controller, an Arduino Uno,

is connected to various peripherals, such as push buttons,

an LCD screen, a coin acceptor, a coin hopper, and a water

pump. The push buttons enable users to select the desired

water volume and activate the system, while the LCD displays

real-time information, including water levels, transaction

details, and system status. The coin acceptor is connected

8
to the Arduino to detect inserted coins, and the coin hopper

is linked to provide automatic change dispensing.

The NodeMCU ESP8266 communicates with the Arduino through

serial communication, allowing data like water consumption

and sales information to be transmitted wirelessly to the

web application. The system is powered by a 12V DC power

supply, with careful attention given to the voltage

requirements of each component. Specific parameters, such as

resistor values, sensor thresholds, and power ratings, are

carefully defined to ensure all components operate correctly

and maintain system stability.

9
CHAPTER III- METHODOLOGY

Data and Process Modeling

Data and process modeling are essential techniques for

system design and analysis. Data modeling involves

defining and organizing data elements within a system,

showing how data is stored, structured, and

interconnected. Tools like Entity Relationship Diagrams

(ERDs) are used to represent entities, attributes, and

their relationships, facilitating better understanding

and management of data consistency.

On the other hand, process modeling focuses on a

system's operations and workflows. It visually

represents the sequence of tasks, inputs, and outputs,

illustrating how different processes interact and work

together. Data Flow Diagrams (DFDs) and Business Process

Model and Notation (BPMN) are commonly used for this

purpose.

Together, data and process modeling help stakeholders

gain a clearer understanding of system requirements,

improve communication, and make informed decisions,

leading to more effective and efficient information

systems.

10
Context Diagram

Figure 1. Context Diagram


The Context Diagram for the IoT Water Dispenser Vending

Machine illustrates the system as a single process

interacting with several external entities. The system

includes three key components: the Customer (who inserts

coins and selects the water volume), the Owner/Admin (who

receives notifications and monitors sales), and the Cloud

Database (which stores information about water levels,

usage, and profits). Communication between the system and

the NodeMCU ESP8266 is bidirectional, with the NodeMCU

11
serving as a link to the web application. Inputs include

coin values, water selection, and system usage, while

outputs include LCD display updates, water dispensing, and

coin change. The diagram helps identify system boundaries

and clarifies data exchanges between internal processes and

external entities, aiding in defining the system's scope and

focusing on key interactions.

Data Flow Diagram

Figure 2. Data Flow Diagram


The Data Flow Diagram (DFD) outlines how data is processed

within the IoT Water Dispenser system. It includes several

processes, such as coin validation, water selection, change

12
dispensing, water dispensing, and data monitoring. When a

coin is inserted, the Coin Validation process checks the

coin’s denomination. Then, the Water Selection process

determines the appropriate amount of water to dispense based

on the user’s input through the push button. If necessary,

the Change Dispensing process activates the coin hopper to

return the correct amount of change. The Water Dispensing

process turns on the pump to release the water. Lastly, the

Data Monitoring process gathers water usage data and sends

it to the Cloud Server via the NodeMCU ESP8266. This DFD

provides a clear view of how data flows between users,

processes, and data stores, illustrating the system’s

functionality.

13
System Flow chart

Figure 3. System Flow Chart Diagram


The System Flowchart illustrates the series of steps and

decision-making logic for the water dispenser system. The

14
process starts when the customer inserts a coin, which is

read and validated by the coin acceptor. A decision point

checks if the coin is valid and identifies its denomination.

If the coin is accepted, the system displays the balance on

the LCD. The customer then selects the desired water amount

by pressing a button. Another decision point evaluates

whether the balance is enough for the selected quantity. If

it is, the system activates the pump to dispense the water.

If there is an excess amount, the coin hopper is triggered

to provide the correct change. Lastly, data on water usage

and sales are collected and sent to the cloud. This

flowchart provides a clear understanding of the system's

logic, how the components interact, and how different

conditions affect its operation.

Program Flowchart
Start

// --- Initialization Phase ---

Initialize Arduino Uno

Initialize NodeMCU (ESP8266)

Initialize LCD display

Initialize Coin Acceptor

Initialize Coin Hopper

Initialize Water Pump

Initialize Push Buttons (for water selection)

Connect to Wi-Fi via NodeMCU

Initialize Web App communication

15
// --- Main Operational Loop ---

Loop Forever:

Display "Insert Coin" on LCD

// --- Coin Handling ---

IF Coin Inserted THEN

Read and validate coin

IF Coin is valid (1, 5, or 10 peso) THEN

Add coin value to balance

Display updated balance on LCD

ELSE

Reject coin

END IF

END IF

// --- User Input for Water Dispensing ---

IF Button 1 (small amount) Pressed THEN

RequiredAmount ← 1 peso

ELSE IF Button 2 (large amount) Pressed THEN

RequiredAmount ← 5 pesos

ELSE

Continue Loop

END IF

// --- Balance Verification ---

IF Balance ≥ RequiredAmount THEN

Activate Water Pump

Dispense water based on RequiredAmount

Deduct RequiredAmount from Balance

// --- Change Dispensing ---

IF Balance > 0 THEN

Calculate Change = Balance

Activate Coin Hopper

Dispense appropriate change

Set Balance = 0

END IF

16
// --- Data Transmission to Web App ---

Send water usage, balance, and sales data to Web Application via NodeMCU

// --- Display Updated Info ---

Display "Thank you!" on LCD

ELSE

Display "Insufficient Balance" on LCD

Delay for 3 seconds

END IF

End Loop Program Flowchart

The Program Flowchart outlines the internal logic and

control structure of the software running on the Arduino

Uno. The process starts with the initialization of all

components, such as the coin acceptor, LCD, buttons, water

pump, coin hopper, and NodeMCU for communication. After

initialization, the system enters a loop that constantly

checks for user input. When a coin is inserted, its value is

recorded, and the balance is displayed.

To determine how much water to dispense, the system waits

for the user to press a button. A conditional check verifies

if the balance is sufficient for the selected volume. If the

balance is adequate, the water pump is activated for the

appropriate duration based on the volume, and change is

calculated. If too much money is entered, the coin hopper

dispenses the excess amount. All transaction details are

then sent to the NodeMCU for cloud synchronization. This

flowchart provides a clear view of how each function is

17
triggered and the decision-making process, making it a

useful tool for understanding and troubleshooting the

program logic.

System Architecture
Network Topology

Figure 4. Network Topology of Temperature and Humidity


Readings with Fan

To facilitate smooth communication between the components,

the IoT Water Dispenser Vending Machine uses a star topology

within its IoT architecture. At the core of the system is

the Arduino Uno, which manages the physical elements such as

the coin acceptor, coin hopper, water pump, LCD display, and

push buttons.

18
The Arduino communicates with the NodeMCU V3 ESP8266 through

serial communication (UART), enabling seamless data

transfer. The NodeMCU acts as a bridge to the web

application, using Wi-Fi to transmit real-time information

such as water usage, coin transactions, and system status.

This design ensures that all devices are connected directly

to a central hub (Arduino), improving scalability and ease

of maintenance. The web application collects data for

monitoring and notifications, accessible remotely by users

and system administrators. This network topology is ideal

for IoT-powered vending systems, offering centralized

control and cloud-based data accessibility.

Parts and Equipment Needed:

To automate water dispensing and coin exchange, the IoT

Water Dispenser Vending Machine with Integrated Coin Change

System relies on various electronic and mechanical

components. The Arduino Uno serves as the main

microcontroller, handling both inputs and outputs, while the

NodeMCU ESP8266 facilitates IoT connectivity for real-time

monitoring. A coin acceptor ensures coins are validated, and

a coin hopper dispenses the correct change. The LCD display

shows transaction information, and push buttons allow users

to make selections. Water flow is managed by a water pump

19
and a solenoid valve. Additionally, an ultrasonic sensor

tracks water levels, and a relay module controls power

activation.

Parts and Equipment Quantity Description

1 Microcontroller that
Arduino manages input/output
Uno operations such as coin
validation, water
dispensing, and change
dispensing.
NodeMCU 1 Wi-Fi-enabled
ESP8266 microcontroller
responsible for IoT
connectivity, enabling
real-time data
transmission to the web
application.
Coin 1 Detects and validates
Acceptor inserted coins, ensuring
secure and accurate
payment processing.
Coin Hopper 1 Dispenses change for
users who insert higher-
value coins, making
transactions more
convenient.
LCD 1

Provides stable
electrical power to the
system components.
Web Application 1 for real-time monitoring,
(Software) transaction tracking, and
system management.

Relay Module 1 Controls high-power


components such as the
water pump and solenoid
valve, ensuring safe
operation.
Water pump 1 water pump and solenoid

20
valve regulate water flow.

Table 1. Parts and Equipment Needed

Software specification

The "IoT Water Dispenser Vending Machine with Integrated

Coin Change Dispensing System" will employ a combination of

software tools, frameworks, and libraries to ensure seamless

integration between hardware and software. The Arduino IDE

will be used to program the Arduino Uno microcontrollers,

supporting C/C++ programming and working with a variety of

sensors, pumps, and coin mechanisms. For the NodeMCU V3

ESP8266, PlatformIO within Visual Studio Code will be used

to manage code, facilitate debugging, and enhance Wi-Fi

capability management.

C++ will be used on the Arduino Uno to handle coin change

logic, pump control, and sensor data processing. The web

application will be developed using JavaScript, HTML, and

CSS to ensure compatibility across both mobile and desktop

platforms. On the backend, Node.js will handle real-time

data processing and web connectivity, while Firebase will be

21
utilized to store water usage data, as well as to send

notifications.

Installation Process:

Here’s a more detailed breakdown of how to install the

Arduino

IDE: First, go to the Arduino Software official page

(https://www.arduino.cc/en/software). Second, choose the

version suitable for your operating system such as Windows,

macOS, Linux. For Windows, run the download .exe file and

follow the installation prompts. For macOS, open the .dmg

file and drag the Arduino IDE into your application folder.

And for Linux, extract the downloaded file and run the

install.sh script. Once the installation is complete, you

can choose to launch the Arduino IDE immediately or find it

later in the Start Menu (Windows) or applications folder

(macOS).

Fourth, open the IDE from your application or program list.

Fifth, go to Tools > Board, and select the model of your

Arduino board (e.g., Arduino UNO). Then install additional

libraries if needed, if your project requires specific

libraries, go to Sketch > Include Library > Manage Libraries

to install them. Lastly, you can code now such as creating a

22
new sketch and upload a simple code to make sure everything

is working properly.

How to download:

Choose Arduino software in the site Choose compatible software .


.

Just download for free Installation Update Arduino IDE if needed .

23
Building Circuits:

Image 2. Actual Image of the device


This image displays the front view of the wooden enclosure

for the IoT Water Dispenser Vending Machine. The structure,

featuring a white-painted top and a striking design, seems

24
to be in the process of assembly. The image highlights the

electrical components and wiring inside. Key components such

as the coin mechanism, coin hopper, and electronic control

boards, including an Arduino and a power supply module, are

visible. The wiring setup suggests that the system's

functions, including coin validation, change dispensing, and

water dispensing, are efficiently integrated.

25
Image 3. During the Creation of the Device
In the image above, we began constructing our device using

plywood. The team's collaborative spirit is evident,

ensuring that the desired outcome is achieved correctly.

This photo also reflects the teamwork and effort involved in

creating something exceptional.

26
Image 4. Testing the Components
As shown above, we test the components as soon as they

arrive to confirm they are functioning correctly. We are

also evaluating other components like water pump motors and

coin acceptors. Although the components and code may not be

fully finished, we begin writing the code once we have

verified that all parts are operational.

Image 5. Revising Research Paper

27
In this image, we began organizing the documents for our
research, making sure to incorporate the panelists' feedback
and suggestions. Some of my teammates are not pictured as
they are focused on their tasks, such as building the device
and writing the code. Everyone is working efficiently to
complete the task more quickly.

Program/Sketch
const int coinSlotPin = 2; // Coin slot signal
const int hopper5Pin = 12; // ₱5 coin hopper
const int hopper1Pin = 13; // ₱1 coin hopper
const int waterValvePin = 8; // Water valve

const int hopper5PinSensor = 11; // Coin slot signal


const int hopper1PinSensor = 10;

volatile unsigned long lastPulseTime = 0;


volatile unsigned long pulseWidth = 0;
int totalInserted = 0;
const int waterPrice = 1; // ₱1 per dispense

void setup() {
Serial.begin(9600);

pinMode(coinSlotPin, INPUT_PULLUP);

pinMode(hopper5Pin, OUTPUT);
pinMode(hopper1Pin, OUTPUT);
pinMode(hopper5PinSensor, INPUT);
pinMode(hopper1PinSensor, INPUT);
pinMode(waterValvePin, OUTPUT);

digitalWrite(hopper5Pin, LOW);
digitalWrite(hopper1Pin, LOW);
digitalWrite(waterValvePin, LOW);

attachInterrupt(digitalPinToInterrupt(coinSlotPin), detectPulse, CHANGE);


}

void loop() {
if (pulseWidth > 0) {
Serial.print("Pulse Width Detected: ");
Serial.println(pulseWidth);

int coinValue = classifyCoin(pulseWidth);


if (coinValue > 0) {
totalInserted += coinValue;
Serial.print("Coin inserted: ₱");
Serial.println(coinValue);
}
// Reset for next detection
}

if (totalInserted >= waterPrice) {


dispenseWater();
int change = totalInserted - waterPrice;
giveChange(change);
totalInserted = 0;
}
pulseWidth = 0;
}

28
void detectPulse() {
unsigned long currentTime = micros();

if (digitalRead(coinSlotPin) == LOW) {
lastPulseTime = currentTime; // Start timing
} else {
pulseWidth = currentTime - lastPulseTime; // Measure width
}
}

int classifyCoin(unsigned long width) {


Serial.println("width:");
Serial.println(width);
Serial.print("sensor 5:");
Serial.println(digitalRead(hopper5PinSensor));
Serial.print("sensor 1:");
Serial.println(digitalRead(hopper1PinSensor));
if (width > 77148) return 10; // ₱10 coin (adjust threshold)
if (width > 68092) return 5; // ₱5 coin
if (width > 10) return 1; // ₱1 coin
return 0; // Invalid
}

void dispenseWater() {
Serial.println("Dispensing Water...");
digitalWrite(waterValvePin, HIGH);
delay(5000);
digitalWrite(waterValvePin, LOW);
}

void giveChange(int change) {


Serial.print("Giving Change: ₱");
Serial.println(change);

while (change >= 5) {


Serial.println("Dispensing ₱5 coin...");
digitalWrite(hopper5Pin, HIGH);
delay(5000);
digitalWrite(hopper5Pin, LOW);
change -= 5;
}
while (change >= 1) {
Serial.println("Dispensing ₱1 coin...");
digitalWrite(hopper1Pin, HIGH);
delay(5000);
digitalWrite(hopper1Pin, LOW);
change -= 1;
}
}void setup() {
// put your setup code here, to run once:

void loop() {
// put your main code here, to run repeatedly:

Users Guide
Introduction:

29
Current water dispensers offer only basic functions and lack

advanced technology that could enhance the user experience

and meet modern demands. This project seeks to address this

gap by upgrading an existing dispenser with innovative

features like a coin changer, web application, and IoT

integration.

The proposed device will be deployed in Brgy. Esperanza,

Poro, Cebu, enabling users to easily purchase water without

requiring manual transactions. The study on the Coin Change

Dispensing System aims to reduce user frustration and

improve convenience.

System Overview:

The IoT Water Dispenser Vending Machine with an Integrated

Coin Change Dispensing System aims to provide users with a

convenient, automated method for purchasing water while

ensuring accurate monetary transactions. By incorporating

IoT technology, the system enables real-time monitoring of

water levels and equipment status. Central to the system is

the Arduino Uno, which manages essential functions such as

coin validation and water dispensing.

The NodeMCU V3 ESP8266 facilitates remote monitoring and

notifications by processing bytecode commands and connecting

30
to a web application. The coin change system, driven by a

coin hopper, ensures accurate change dispensing, minimizing

transaction errors and enhancing customer convenience. This

vending machine combines advanced hardware and software

components to deliver an innovative, efficient, and user-

friendly solution for automated water dispensing while

reducing maintenance needs and minimizing downtime.

Hardware Setup:

The IoT Water Dispenser Vending Machine with Integrated Coin

Change Dispensing System consists of several essential

hardware components that collaborate to ensure smooth and

automated operation. The system's main controller, the

Arduino Uno, oversees functions like coin validation and

water dispensing. It is complemented by the NodeMCU V3

ESP8266, which handles wireless communication and links the

system to a web application for real-time monitoring and

notifications. To facilitate accurate transactions, the

machine is equipped with a coin acceptor that validates 5

and 10-peso coins. The coin hopper is responsible for

dispensing the correct change once a coin is validated.

After a successful payment, the water pump is activated to

31
dispense water, while water level sensors monitor the

storage tank and notify the system when water is available.

Software Installation and Configuration:

Here is the step-by-step and more detailed of how to install

the Arduino IDE: First, go to the Arduino Software official

page (https://www.arduino.cc/en/software). Second, choose

the version suitable for your operating system such as

Windows, macOS, Linux. For Windows, run the download .exe

file and follow the installation prompts. For macOS, open

the .dmg file and drag the Arduino IDE into your application

folder. And for Linux, extract the downloaded file and run

the install.sh script. Once the installation is complete,

you can choose to launch the Arduino IDE immediately or find

it later in the Start Menu (Windows) or applications folder

(macOS). Fourth, open the IDE from your application or

program list. Fifth, go to Tools > Board, and select the

model of your Arduino board (e.g., Arduino UNO). Then

install additional libraries if needed, if your project

requires specific libraries, go to Sketch > Include Library

> Manage Libraries to install them. Lastly, you can code now

such as creating a new sketch and upload a simple code to

make sure everything is working properly.

32
System Operation:

The IoT Water Dispenser Vending Machine with Integrated Coin

Change Dispensing System operates through a combination of

embedded hardware and IoT-enabled software, providing an

automated and user-friendly experience. Users insert a 5 or

10-peso coin into the coin acceptor, which verifies the

coin's authenticity and sends the data to the Arduino Uno to

initiate the process. Once the user presses the dispense

button after inserting the required amount, the water pump

dispenses the appropriate amount of water. Water level

sensors track the tank's water levels to ensure enough water

is available for dispensing. If the inserted amount exceeds

the required payment, the coin hopper will automatically

provide the correct change.

The system incorporates IoT functionality through the

NodeMCU ESP8266, which enables real-time monitoring and

notifications via a web application, along with water

dispensing. This allows administrators to remotely monitor

the machine's status, coin inventory, and water levels. If

the water level falls below a certain threshold, the system

33
notifies maintenance staff to refill it. Designed for

minimal human intervention, the system ensures reliability

and efficiency, making it an effective and practical

solution for automated water dispensing with precise water

control, automatic coin validation, ongoing monitoring, and

real-time IoT updates that guarantee smooth operations.

System Maintenance:

Monitoring your system is essential for maintaining optimal

performance and extending its lifespan. Regular cleaning of

both the interior and exterior surfaces is necessary to

prevent dirt and bacteria buildup. Use a soft, dry cloth to

wipe down surfaces and avoid applying liquids directly to

electronic components. Establish a routine for checking and

updating the firmware to enhance the system's performance

and security. If the coin acceptor is not working correctly,

check for jams or misalignment in the coin slot. If the

water isn't dispensing properly, inspect the water line for

blockages or a malfunctioning pump. Additionally, if the web

app is not receiving notifications, verify the Wi-Fi

connection.

The system does have limitations, such as its reliance on a

stable network connection for mobile alerts and updates.

34
Weak connectivity can disrupt functionality. To ensure

optimal performance, it's recommended to regularly monitor

device performance through the mobile app to detect any

issues early. Additionally, be open to feedback from users,

as it can help identify areas for improvement and enhance

the overall user experience.

Safety Considerations:

When creating this type of system or equipment, it is

essential to prioritize safety throughout the design,

installation, and operation phases. Key safety

considerations include ensuring all electrical components

are correctly wired according to safety standards to prevent

electrical fires or short circuits. Handle delicate

electronic components carefully to avoid electrical damage.

Additionally, take care when assembling parts to prevent

harm to sensitive areas such as circuit boards and sensors.

Regular maintenance is also crucial to ensure all components

are functioning safely and effectively. This maintenance

should include inspecting the water system, evaluating

software performance, and checking internal electrical

connections.

Frequently Asked Questions (FAQs):

35
Support and Contact Information:

For quarries and questions, you can contact us on our email

analisaalbesamaratas@gmail.com, aurlodaro08@gmail.com. On

the other hand, you can message or call us on this phone

numbers 09309468716, 09812929843. For support, feedback, and

clarifications.

REFERENCES
[1] Chen, Mingzhong. (2017). 3. IoT (internet of things)-

based smart vending machine and vending system based

on IoT-based smart vending machine.

[2] Gu, Desheng. (2007). 4. Coin-feed water-vending

machine.

[3] James, M., Padilla. (1987). 1. Water vending system.

[4] Li, Jun. (2013). 13. Purified water liquid beverage

automatically producing and vending multimedia all-in-

one machine.

[5] Saito, Taiyu. (2016).Coin collector provided with

auxiliary coin dispenser, vending machine and coin

dispensing method.

[6] V.Karthika., S.Jagadeesh., Kogili.Sai, Teja., Ashwin,

Karthick. (2019). 1. Smart computerized vending

machine enhanced with iot technology.

36
[7] Wiedjaja, Atmadja., Hansel, Pringgiady., K., Lie.

(2023). 1. IoT Based Beverage Dispenser Machine. doi:

10.1007/978-3-031-29078-7_75

[8] Wahidul, Alam., Dhiman, Sarma., Rana, Joyti, Chakma.,

Mohammad, Jahangir, Alam., Sohrab, Hossain. (2021). 1.

Internet of things based smart vending machine using

digital payment system. Indonesian Journal of

Electrical Engineering and Informatics, doi:

10.52549/.V9I3.3133

[9] Wang, Weidi., Wan, Lingzhi., Dang, Xinbo., Yu,

Junchao. (2019). 1. Purified water vending machine

based on Internet of Things.

[10] Zuo, Zhiyu., Yi, Pengping., Dong, Weiwei., Ding,

Zhenxing. (2015). 2. Paper money and coin integrated

change machine.

[11] Aniruddha, Badodkar., Abhishek, Pindoriya., Himanshu,

Mukati., Rishabh, Darwai., Mrs., Varsha, Khule. (2024)

Smart Water Dispensing: Enhancing Convenience Through

App-Controlled Vending Machines

[12] (Abellan, Vivo, Juan, Pedro. (2002) Coin-operated

automatic, unbottled mineral water vending machine in

domestic form, using beakers.

37
[13] (Ali, Ali., Athir, Jaafar. (2020) Smart vending

machine counter using IOT

[14] (Huang, Yiping., Nong, Liping., Huang, Kun., Zhang,

Kexiang., Zhou, Runchang., Liang, Zichen. (2019)

Internet-of-Things water dispenser system with APP

identity authentication and encryption functions and

control method thereof

[15] (James, M., Padilla. (1987) Water Vending System

[16] (Jnr, Sam, B, Norris. (1970) Coin Operated Water

Vending Machine

[17] (Lin, Zongde., Xu, Shuyan., Chen, Bixia., Lin,

Xinying. (2016) Coin Change Machine

[18] (Seng, Kheau, Chung., Hoe, Tung, Yew., Aroland,

Kiring. (2024) IoT-Based Vending Machine(Matsuda,

Eiji., Kabasawa, Shigeo., Mannen, Hiroaki. (1989)

Change dispenser for vending machine

[19] (Xiufang, Zhang., Lei, Yang., Shaobo, He., Miaoqi,

Wang. (2024) Design of a Water Quality Monitoring

System for Self-Service Water Vending Machines Based

on Internet of Things Technology

38
CURRICULUM VITAE

PERSONAL INFORMATION
Name : Jofel L. Radin
: Unidos, San
Address
Francisco Cebu
Date of : November 28,
Birth 2001
Place of : Unidos, San
Birth Francisco, Cebu
Citizenship : Filipino

Gender : Male

Civil Status : Single

EDUCATIONAL BACKGROUND
Primary : Unidos Elementary

39
School
: Santiago National
Secondary
High School
: Cebu Technological
Undergraduate University San
Francisco Campus
Citizenship : Filipino
Gender : Male

40

You might also like