Using this simulation workflow saves significant time by letting you optimize your debouncing logic, scaling coefficients, and display code entirely on your computer before testing your physical plumbing connections.
When all else fails, these community resources can provide assistance:
is a Hall Effect-based sensor used to measure water flow and volume. It consists of a plastic valve body, a magnetic rotor, and a Hall Effect sensor. As water passes through, the rotor spins, triggering the Hall sensor to output digital pulses proportional to the flow rate. 1 to 30 Liters/Minute.
if (currentMillis - previousMillis >= interval) detachInterrupt(digitalPinToInterrupt(flowSensorPin));
This article provides a comprehensive guide to acquiring, installing, and simulating the YF-S201 water flow sensor within Proteus. Understanding the YF-S201 Working Principle yfs201 proteus library
Unzip the downloaded archive to a temporary folder. You should see files with extensions such as:
If you are using a DCLOCK for emulation, double-click it and set its frequency (e.g., 37.5 Hz should yield exactly 5.0 L/Min on your LCD display).
in Proteus that outputs a pulse train (such as a pulse generator or signal source)
: In simulation, calculations involving decimals (floats) can sometimes lag the CPU. If your simulation runs slow, consider using integer math (multiplying by 100) to keep the processing light [3]. Visualizing Results Virtual Terminal Using this simulation workflow saves significant time by
Use this Arduino sketch to drive your Proteus simulation:
from another installation to replace your own. This will overwrite any existing custom components you've already added and can cause irreversible library corruption. Use the proper import procedures instead.
No matter which path you choose, the key insight remains the same: . Simulate the frequency, and you simulate the sensor.
Proteus also offers a built-in import mechanism: As water passes through, the rotor spins, triggering
If you're interested in learning more or contributing to the project, you can find the library on:
However, before soldering a single component or writing a line of code for a physical microcontroller (like an Arduino or PIC), smart engineers simulate. This is where the becomes indispensable.
void flow() // Interrupt function flow_frequency++;