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

Ares Renar - Final

The document outlines the development of an IoT-based Water Dispenser Vending Machine with an integrated coin change dispensing system aimed at improving water accessibility in Barangay Esperanza, Poro, Cebu. It details the system's components, including an Arduino Uno and NodeMCU ESP8266 for real-time monitoring and control, as well as the methodology for its operation and data processing. The project seeks to automate water dispensing and coin exchange, enhancing user convenience and operational efficiency in local communities.

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)
46 views46 pages

Ares Renar - Final

The document outlines the development of an IoT-based Water Dispenser Vending Machine with an integrated coin change dispensing system aimed at improving water accessibility in Barangay Esperanza, Poro, Cebu. It details the system's components, including an Arduino Uno and NodeMCU ESP8266 for real-time monitoring and control, as well as the methodology for its operation and data processing. The project seeks to automate water dispensing and coin exchange, enhancing user convenience and operational efficiency in local communities.

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:

Ares, Renar F.

A Final Course Requirements for CompTech 326 – Embedded

Systems

2025
Acknowledgement

ii
Abstract

The creation of an IoT-based Water Dispenser Vending

Machine with an Integrated Coin Change Dispensing System

aims to deliver an automated, efficient water dispensing

solution, particularly in areas lacking reliable water

dispensers and coin exchange services. This project

presents a smart, self-operating vending system that

integrates Internet of Things (IoT) technology, enabling

remote monitoring and control through a web interface.

The system comprises essential components such as a coin

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

hopper to dispense change, and a water pump for precise

water delivery. The IoT functionality, facilitated by the

NodeMCU ESP8266, allows for real-time monitoring of water

usage, machine status, and operational data. The Arduino

Uno microcontroller ensures accurate coin validation,

water dispensing, and change handling. This solution

seeks to improve user convenience by automating the coin

exchange process, reducing manual interventions, and

boosting operational efficiency through remote

monitoring. By addressing the growing demand for

accessible water, the proposed system introduces an

innovative approach to vending services, driving the

modernization and automation of daily transactions in

local communities.

iii
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...............................

Context Diagram.........................................

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

iv
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 responds to a growing demand for

convenient water dispensing solutions in Barangay Esperanza,

Poro, Cebu. The surrounding community has issues due to a

shortage of dependable water vending machines and coin

exchange services, resulting in inefficiency and

inconvenience for customers. Residents have difficulty using

available water dispensers, which normally demand exact 1-

peso coins, because there aren't enough businesses who can

exchange currency.

This idea avoids the burden of manual currency exchanges by

integrating an automated water dispenser with coin change

capability, resulting in a more seamless user experience.

The system's incorporation of IoT technology enables real-

time monitoring of water use, sales data, and system

condition via a web interface, easing operations for the

machine owner.

This innovation increases both customer convenience and

business efficiency. As a result, this project not only

addresses an immediate need, but also prepares the community

to benefit from modern, sustainable technology that

1
streamlines day-to-day work. The completion of this project will

improve the usability and reliability of water dispensing

services in the area.

Purpose and Description of the project

The goal of this project is to design a smart, user-

friendly, and efficient IoT-based water dispenser vending

machine with an integrated coin change dispensing system.

This method is intended to address the issue of inadequate

water dispensers and a shortage of coin exchange businesses

in Barangay Esperanza, Poro, Cebu. The solution creates a

seamless and accessible water dispensing experience by

automating the currency change procedure and allowing

customers to pay with 5- and 10-peso coins. The goal of this

project is to make it easier for local inhabitants to

acquire water while also providing machine operators with an

intuitive online interface for real-time data monitoring and

management. The project's focus is on merging mechanical and

digital technology to develop a sustainable solution that is

both practical and easy to use. Finally, this system

attempts to update water dispensing services, improving both

consumer 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;

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

utilize operations,

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 seeks to solve the low availability of coin-

compatible water dispensers in Barangay Esperanza, Poro,

Cebu, where inhabitants suffer difficulties due to a

shortage of retailers that can exchange 5- and 10-peso coins

into 1-peso denominations. Traditional vending machines need

exact coinage, which creates inconvenience for both

customers and operators.

This project creates an embedded IoT-based system that

combines coin change functionality with real-time monitoring

via a web application. The project's scope focuses on

developing a prototype system administered by BIT-CT 3G

students and excludes commercial deployment, other academic

levels, and unrelated departments.

It is intended for end users in the local community,

particularly those who commonly utilize coin-based vending

services. This project has the potential to make a

substantial contribution to the field of embedded systems

and IoT by providing a smart, user-friendly solution that

5
bridges the gap between mechanical vending and digital

management, increasing convenience and operational

efficiency.

Details of the technologies to be used

To ensure optimal functionality, the system makes use of

both hardware and software components. The main

microcontroller in the hardware is an Arduino Uno, which

handles inputs from push buttons and sensors while also

operating the LCD and the water pump. The NodeMCU ESP8266 is

used to send wireless data to a web server. The system

includes a coin hopper for automatic change delivery and

ultrasonic sensors to check water levels.

6
he Arduino IDE is used for microcontroller programming in

C/C++, while the online interface is constructed with HTML,

CSS, PHP, and JavaScript. Serial connectivity is established

between Arduino and NodeMCU, and HTTP protocols are utilized

to transfer data to the web application. The entire system

is powered by a 12V DC energy source, with careful voltage

regulation and current delivery to enhance energy

utilization and system stability. This architecture allows

for seamless connections between all modules.How the project

will work

The system architecture of the IoT Water Dispenser Vending

Machine is made up of two main microcontrollers that: the

Arduino Uno for local hardware control and the NodeMCU, or

ESP8266 for wireless data transfer. The Arduino handles coin

detection, water dispensing, push button inputs, and LCD

display, while the NodeMCU is the part that sends data to

the web application. The technology allows users to insert

5- or 10-peso coins, which are recognized by the coin

acceptor. Users can select the required amount of water by

pressing a button. The system then operates the water pump,

which dispenses water, while the LCD displays the exchange

of information and system status. If the amount inserted

7
exceeds the cost, the coin hopper will automatically

dispense the change.

Sensors collect real-time data such as water level,

consumption, and total sales, which the Arduino then

processes. This data is subsequently communicated to the

cloud via serial connection from the NodeMCU. The web

application gathers and shows this data for monitoring and

alerting. Serial connection protocols are used to integrate

Arduino with NodeMCU, ensuring that data flows smoothly

between the hardware and cloud systems. To improve stability

and responsiveness, challenges in syncing real-time data and

hardware responses were overcome by employing scheduled data

buffers, voltage-level shifting, and rigorous sensor input

calibration.

Circuit diagram of the project

8
Image 1. Circuit Diagram
The circuit diagram for the IoT Water Dispenser Vending

Machine incorporates various important components to ensure

the system's operation. The main controller, an Arduino Uno,

is linked to a number of peripherals, including push

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

a water pump. The push buttons allow users to pick the water

volume and activate the system, while the LCD shows real-

time information such as water volume, transaction details,

and system status. The coin acceptor is hooked to the

Arduino to detect entered coins, and the coin hopper is

connected for automatic change delivery.

The NodeMCU ESP8266 interfaces with the Arduino via serial

communication, allowing data such as water consumption and

sales to be wirelessly transmitted to the web application.

The system is powered by a 12V DC power supply, with each

component's voltage requirements carefully considered.

Specific parameters, such as resistor ratings, sensor

thresholds, and power ratings, are specified to guarantee

9
that all components perform properly and that the system

remains stable.

CHAPTER III- METHODOLOGY

Data and Process Modeling

Data and process modeling are both basic system design and

analysis techniques. Data modeling is the process of

defining and structuring data pieces within a system,

demonstrating how data is stored, organized, and related.

Models such as Entity Relationship Diagrams (ERDs) are

10
created to depict entities, attributes, and their

relationships, allowing for better understanding and data

consistency management.

In contrast, process modeling is concerned with a

system's actions and workflows. It depicts the sequence

of operations, inputs, and outputs, providing a visual

representation of how processes collaborate and interact

with one another. Data Flow Diagrams (DFDs) and Business

Process Model and Nation (BPMN) are often used to model

these operations.

Process and data modeling work together to help

stakeholders understand system needs, communicate more

effectively, and make sound decisions, resulting in

better and more efficient information systems.

Context Diagram

11
Figure 1. Context Diagram
The Context Diagram for the IoT Water Dispenser Vending

Machine depicts the system as a single process with multiple

external entities. The system consists of three components:

the Customer (who inputs coins and presses buttons to select

water volume), the Owner/Admin (who receives notifications

and monitors sales), and the Cloud Database (which stores

data on water levels, consumption, and earnings).

Communication is bidirectional between the system and the

NodeMCU ESP8266, which serves as a bridge to the web

application. Coin values, water choices, and system usage are all inputs, with LCD

display updates, water delivery, and coin change return as outputs. The graphic aids in

the identification of system limits and clarifies data transfers between internal processes

and the external setting. This makes it easier to define the system's scope and focus on

the most important interactions.

Data Flow Diagram

12
Figure 2. Data Flow Diagram
The Data Flow Diagram, also known as the DFD, details way

data is processed within the IoT Water Dispenser system. It

consists of various procedures, including coin validation,

water selection, change dispensing, water dispensing, and

data monitoring. When an individual inserts a coin, the Coin

Verification procedure verifies the denomination. Then,

based on user input via the push button, the Water Selection

procedure determines how much water to dispens. If

necessary, the Change Dispensing procedure activates the

coin hopper and returns the right change.

The pump is turned on simultaneously throughout the Water

Dispensing operation. Finally, the Data Monitoring module

collects and transmits water usage data to the Cloud Server

via the NodeMCU ESP8266. This DFD demonstrates how data

13
flows between users, processes, and data stores, providing a

clear picture of system functionality.

System Flow chart


Figure 3. System Flow Chart Diagram

14
The System Flowchart depicts the sequence of operations and

decision-making logic for the entire water dispenser system.

The process begins with the consumer entering a coin, which

is read and validated by the coin acceptor. A decision point

determines if the coin is legitimate and identifies the

denomination.

If a coin is approved, the system shows the balance on the

LCD. The customer then presses a button to specify how much

water to dispense. Another judgment point determines whether

the balance is sufficient for the set amount. If so, the

mechanism activates the pump and starts dispensing water.

If there is an excess balance, the coin hopper is actuated

to dispense the appropriate change. Finally, water usage and

sales data are gathered and transmitted to the cloud. This

flowchart helps you visualize the system's logic, component

interactions, and how different conditions influence system

function.

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)

15
Connect to Wi-Fi via NodeMCU

Initialize Web App communication

// --- 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

16
Set Balance = 0

END IF

// --- 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 depicts the internal logic and control

structure of the software programmed into the Arduino Uno.

It begins by initializing all components, including the coin

acceptor, LCD, buttons, water pump, coin hopper, and NodeMCU

for communication. Once initialized, the application begins

a loop that continuously monitors for user interaction. When

a coin is entered, its value is saved and the balance is

shown.

17
To determine the volume of water, the application waits for

the user to press the button. A conditional check determines

whether the balance is sufficient. If it is, the water pump

is operated for a predetermined length dependent on volume,

and the change is calculated. If too much money is detected,

the coin hopper dispenses change. All transaction data is

transmitted to the NodeMCU for cloud update. This flowchart

clearly depicts how each function is called and how

decisions are made, serving as a guide for understanding and

debugging the program logic.

System Architecture
Network Topology

Figure 4. Network Topology of Temperature and Humidity


Readings with Fan

18
To enable optimal communication between components, the IoT

Water Dispenser Vending Machine's network topology

incorporates a star topology into IoT architecture. The

Arduino Uno is at the heart of the system, controlling

physical components like the coin acceptor, coin hopper,

water pump, LCD display, and push buttons.

The Arduino communicates with the NodeMCU V3 ESP8266 via

serial communication (UART), allowing seamless data

transmission. The NodeMCU serves as a bridge to the web

application, utilizing Wi-Fi connectivity to transmit real-

time data such as water consumption, coin transactions, and

system status. This setup ensures that each device is

directly connected to a central hub (Arduino), enhancing

maintainability and scalability. The web application gathers

data for monitoring and notification, and users and system

administrators can access it remotely. This topology is

perfect for IoT-based vending systems, as it provides

centralized control and cloud-based data access. Growth

Parts and Equipment Needed:

Collaborate to automate water dispensing and coin exchange.

To function properly, the IoT Water Dispenser Vending

Machine with Integrated Coin Change System requires a

variety of electronic and mechanical components. The Arduino

19
Uno is the primary microcontroller, managing inputs and

outputs, while the NodeMCU ESP8266 manages IoT connectivity

for real-time monitoring. A coin acceptor validates inserted

coins, while a coin hopper provides change. The LCD display

reveals transaction details, and push buttons allow the user

to make selections. A water pump and a solenoid valve

control water flow. In addition, an ultrasonic sensor

monitors water levels, and a relay module regulates power

activation. These components

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

20
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
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 use software tools,

frameworks, and libraries to seamlessly integrate hardware

and software. The Arduino IDE for the Arduino Uno will be

used to program the microcontrollers. It supports C/C++

programming and is compatible with numerous sensors, pumps,

and coin mechanisms. PlatformIO will be used in Visual

Studio Code for the NodeMCU V3 ESP8266, facilitating code

administration, debugging, and managing Wi-Fi capabilities

more efficiently.

The project will utilize C++ on the Arduino Uno to manage

coin change, pump control, and sensor data processing. The

21
online application will be developed using JavaScript, HTML,

and CSS to ensure mobile and desktop compatibility. The

backend will use Node.js for real-time data processing and

online connectivity. Firebase will be used to store and

retrieve water use information, as well as to deliver

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

22
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.

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 shows the wooden enclosure of the IoT Water

Dispenser Vending Machine from the front. The structure,

which has a white-painted top and a bold design, appears to

be in the assembling process. The graphic shows its

electrical components and wiring. Inside, you can see

important components such as the coin mechanism, coin

hopper, and electronic control boards, which appear to

24
comprise an Arduino and a power supply module. The wiring

configuration indicates that the system's operations, such

as coin validation, change dispensing, and water dispensing

control, are seamlessly linked.

25
Image 3. During the Creation of the Device
We started creating our device in the image above. We built

our equipment out of plywood. Everyone's attitude toward

cooperation is apparent, guaranteeing that the result we

desired is created properly. This photograph also portrays

the collaborative attitude and the hard work that goes into

creating something great.

Image 4. Testing the Components

26
As demonstrated above, we test the components as soon as

they arrive to ensure they work properly. Water pump

motors, coin acceptors, and other components are also being

studied. Even if the components and code are not yet

complete, we write code after ensuring that all of the

parts function properly.

Image 5. Revising Research Paper

27
In this image, we began to prepare the papers for our

research, ensuring that the panelists' recommendations and

comments were considered. Some of my teammates are not in

the image since they are working on their assigned jobs,

which include creating the gadget and writing the code for

it. Everyone is attempting to accomplish the work more

rapidly.

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

28
}

if (totalInserted >= waterPrice) {


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

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:

29
Users Guide
Introduction:

The existing water dispensers only perform the most basic

functions, lacking innovative technology that improves user

experience and could meet their modern needs. This project

aims to bridge this gap by developing an existing dispenser

with new features such as a coin changer, a web application,

and IoT capabilities.

This proposed gadget will be implemented in the Brgy.

Esperanza, Poro, Cebu, where users can conveniently purchase

water without the need for manual transactions. The proposed

study on Coin Change Dispensing System aims to alleviate

user dissatisfaction.

System Overview:

The goal of the IoT Water Dispenser Vending Machine with

Integrated Coin Change Dispensing System is to give users

with a convenient, automated way to buy water while assuring

accurate monetary transactions. The system's integration of

IoT technology allows for real-time monitoring of water

levels and equipment status. The Arduino Uno, which controls

critical functions like as cash confirmation and water

delivery, is fundamental to the system.

30
The NodeMCU V3 ESP8266 allows for remote monitoring and

notifications by parsing bytecode commands and connecting to

a web application. The coin change system, operated by a

coin hopper, enables accurate change dispensing, reducing

transaction errors and increasing customer comfort. The

vending machine combines cutting-edge hardware and software

components to create a creative, effective, and user-

friendly solution for automated water distribution while

decreasing maintenance requirements and operating downtime.

Hardware Setup:

The Internet of Things Water Dispenser Vending Machine with

Integrated Coin Change Dispensing System is made up of

several key hardware components that work together to ensure

efficient and automated operation. The system's central

microprocessor, the Arduino Uno, controls inputs and outputs

such as coin validation and water dispense. These are

supplemented by the NodeMCU V3 ESP8266, which manages

wireless communication and connects the system to a web

application for notifications and real-time monitoring. To

ensure accurate transactions, the machine includes a coin

acceptor that identifies and validates 5 and 10-peso coins.

The coin hopper is in charge of supplying the necessary

change when a coin has been confirmed. Following a

31
successful payment, the water pump in the water distribution

system is activated, and water level sensors monitor the

water storage tank and alert the system when water is

accessible.

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

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

make sure everything is working properly.

System Operation:

The IoT Water Dispenser Vending Machine with Integrated Coin

Change Dispensing System runs using embedded hardware and

IoT-enabled software, resulting in an automated and user-

friendly experience. A user inserts a 5 or 10-peso coin into

the coin acceptor, which checks the coin's validity and

sends the data to the Arduino Uno, initiating the process.

When the user hits the dispense button after accumulating

the required amount of water, the water pump will release

the appropriate volume. Water level sensors monitor the tank

to ensure that there is enough water for dispensing. If the

amount entered exceeds the required amount, the coin hopper

will automatically produce the correct change.

The system features IoT capability with the NodeMCU ESP8266,

which allows for real-time monitoring and notifications via

a web application, as well as water pouring. This ensures

that administrators can remotely check machine

functionality, coin availability, and water levels. If the

water level falls below a certain level, the system alerts

33
maintenance staff to replace the supply. The system requires

little human involvement because it is designed to be

dependable and efficient. It is a practical and efficient

solution for automated water vending because to its accurate

water dispensing, automatic coin validation, regular

monitoring, and real-time IoT updates, which ensure smooth

operation.

System Maintenance:

Monitoring your system is critical for achieving peak

performance and lifetime. To prevent filth and bacteria from

accumulating, the owner must clean the exterior and interior

surfaces on a regular basis. Wipe down surfaces with a soft,

dry cloth. Avoid applying liquids directly to electronic

components. Set a timetable for checking and installing

firmware upgrades to improve the system's operation and

security. If coin rejection fails, look for jams or

misalignment in the coin slot. If water is not distributing

properly, look for blockages in the water line or a broken

water pump. Also, if the web app isn't receiving alerts,

check your Wi-Fi connection.

The system also has limitations and constraints, such as

network reliance, which implies that the device need a

stable internet connection for mobile notifications and

34
updates. Poor connectivity can impede functionality. To

maximize performance, we recommend monitoring the device

performance data using the mobile app to detect any

abnormalities early. Also, be modest when receiving comments

from customers or users, as this can assist discover areas

for development and improve the user experience.

Safety Considerations:

When developing this type of system or equipment, safety

must be prioritized throughout the design, installation, and

operation stages. These are the most critical safety

considerations to remember. To avoid electrical fires or

short circuits, ensure that all electrical components are

properly wired in compliance with safety rules. Handling

fragile electronic components to prevent statistical

electrical injury. Furthermore, exercise caution when

assembling all parts to avoid damaging sensitive areas,

notably circuit boards and sensors. Additionally, schedule

routine maintenance to ensure that all parts are running

securely and properly. This may include an examination of

the water system, software performance, and internal

electrical connections.

35
Frequently Asked Questions (FAQs):

Support and Contact Information:

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

[email protected], [email protected]. 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.

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

Karthick. (2019). 1. Smart computerized vending

machine enhanced with iot technology.

[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

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

automatic, unbottled mineral water vending machine in

domestic form, using beakers.

[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

38
System for Self-Service Water Vending Machines Based

on Internet of Things Technology

CURRICULUM VITAE

PERSONAL INFORMATION
Name : Renar F. Ares

Address : Cabonga-an, San Francisco, Cebu

Date of Birth : February 21, 2002

Place of Birth : Cabonga-an, San Francisco, Cebu

Citizenship : Filipino

Gender : male

Civil Status : Single

EDUCATIONAL BACKGROUND
Primary : Cabonga-an Elementary
School
: Cabonga-an National High
Secondary
School

39
Undergraduate :San Francisco, Cebu

40

You might also like