# Title Team Members TA Documents Sponsor
17 Arduino-Powered Network Flow Visualization Toolbox
Bolin Zhang
Jiahao Fang
Yiyang Huang
Ziyuan Chen
Pavel Loskot

Many real-world systems involve flows over networks. Our team aims to build a **modular, reconfigurable hardware emulator** to visualize network flows under capacity constraints on links. Each node can be configured to act as a sink, a source, or a "transfer station" that holds zero flux. This toolset will facilitate the understanding of flow optimization algorithms in a classroom setting.


We use a scalable design where components are easily replaceable to account for network expansion. The emulator should have a central Arduino controller that talks to each node and link to display the capacities and actual flow amounts.

*Tentative: It may be desirable to have a software GUI to display the network alongside the physical model due to space (# LEDs) and protocol (# pins) constraints in each node/link.*


### Subsystem 1: Physical Network Model

- We should build a fully functional physical model where pipes represent network links and the LEDs within show the maximal capacity and real-time flow of "data packets."
- Each node should be configurable as sink, source, or neither ("transfer station") with a user-friendly interface such as buttons or switches.

### Subsystem 2: Software Flow Computer

- We should build an intuitive software interface that allows the user to easily configure nodes (3 modes) and links (capacity) while controlling the LED flow display.
- We should implement a robust and *lightweight* optimization algorithm that efficiently computes network flows on an embedded Arduino board while considering all constraints (node configurations, link capacities).
- Alongside the design process, we should write comprehensive documentation detailing the manuals for software setup, operation, troubleshooting, and our development process.


- The physical model should be modular, i.e., each node has a certain number of "slots" reserved for installing new links (pipes).
- The Arduino software should communicate with all nodes and pipes and update the flows in real-time in response to changes in setup. At the current stage, we aim to serve 4~6 fully connected nodes.
- The algorithm should handle (and report) edge cases such as a network with zero or multiple feasible flows.


- Ziyuan Chen (ECE) - software developer: maintain the code for flow optimization and Arduino-hardware communication protocol
- Bolin, Jiahao (EE) - hardware developer: handle the physical layout of peripherals (pipes and LEDs), design user interface
- Yiyang Huang (ME) - integration and testing specialist: design the protocol for node configuration and conduct stress tests in edge cases

Fountain show

Dingyi Feng, Tianli Ling, Zhelun Lu, Shibo Zhang

Featured Project

## Team

- Dingyi Feng(dingyif2)

- Tianli Ling(tling3)

- Zhelun Lu(zhelunl2)

- Shibo Zhang(shiboz2)

## Problem:

A fountain show on campus can make students feel more relaxed after class. However, some fountain shows only have monotonous, stiff, and single actions. Besides, they cannot automatically generate action and light effects. Compared with large fountain shows, small and medium-sized fountain shows have the advantage of time and space. In most cases, a large fountain show only has preloaded music which cannot be decided by audiences. Large fountain shows also require people to design the action and light effects for each music, which takes lots of time and effort. Compared with the large fountain show, our small fountain show will be more energy-efficient and environmentally friendly. During the COVID-19 pandemic, large fountain shows might result in large crowds gathering, but a small fountain show can reduce the risk of infection.

## Solution Overview:

Our fountain show would be built at a pool on the sourthwest of the main lake on campus. By manually programing, the fountain show could realize changing lighting effects and movements. Besides, our fountain show could also identify the music which was imported into our system, and automatically generate the lighting effects and movements with the music. If time permits, we will strengthen the human-computer interaction of our product. To be specific, people could scan the QR code or use our online system to choose the music they want, so that they can enjoy the fountain show at any time.

## Solution Components:

### Control Subsystem:

- Music colleccting and analyzing subsystem: Computer that can import music signals and analyze them.

- Converting subsystem: After music signal is analyzed, we need computer to convert useful signals into digital signals. Digital signals will be used to control LEDs and other mechanical subsystems.

### Mechanical Subsystem:

- Pump Subsystem: Water pump that can pump water from the lake. Valves will be used to control water’s flow rate of each nozzle.

- Lighting Subsystem: LEDs are needed to light our fountains. They are controlled by microprocessor on PCB. Their brightness and color can be changed with music.

- Motor Subsystem: Two motors are needed for each fountain nozzle to control the movements. The motors are controlled by microprocessor on PCB.

### Power subsystem:

- The pump is drived by DC power (12V 20~30A). PCB and computer will be drived by USB (5V 1A). Full module power supply with 12V and 5V output is needed.

## Criterion for Success:

- If it can successfully identify a piece of music and convert it to electrical signals that we need in controlling LED’s lighting and nozzle’s moving.

- If the whole system can work stably for a long time and whether it is safe to use without electric leakage or other problems.

- If music playing, fountain movements and LED lights are synchronized.

- If the fountain system is neat and whether the fountain performance is ornamental enough.