Filtering by
- All Subjects: Arduinos
- All Subjects: Finite-State Automata
- Creators: Burger, Kevin
- Creators: Janis, William Edward
- Creators: Liu, Deming
- Resource Type: Text
This work details the process of designing and implementing an embedded system
utilized to take measurements from a water cooler and post that data onto a publicly accessible web server. It embraces the Web 4.0, Internet of Things, mindset of making everyday appliances web accessible. The project was designed to satisfy the needs of a local faculty member who wished to know the water levels available in his office water cooler, potentially saving him the disappointment of discovering an empty container.
This project utilizes an Arduino microprocessor, an ESP 8266 Wi-Fi module, and a variety of sensors to detect water levels in filtered water unit located on the fourth floor of the the Brickyard Building, BYENG, at Arizona State University. This implementation will not interfere with the system already set in place to store and transfer water. The level of accuracy in water levels is expected to give the ability to discern +/- 1.5 liters of water. This system will send will send information to a created web service from which anyone with internet capabilities can gain access. The interface will display current water levels and attempt to predict at what time the water levels will be depleted. In the short term, this information will be useful for individuals on the floor to discern when they are able to extract water from the system. Overtime, the information this system gathers will map the drinking trends of the floor and can allow for a scheduling of water delivery that is more consistent with the demand of those working on the floor.
Among classes in the Computer Science curriculum at Arizona State University, Automata Theory is widely considered to be one of the most difficult. Many Computer Science concepts have strong visual components that make them easier to understand. Binary trees, Dijkstra's algorithm, pointers, and even more basic concepts such as arrays all have very strong visual components. Not only that, but resources for them are abundantly available online. Automata Theory, on the other hand, is the first Computer Science course students encounter that has a significant focus on deep theory. Many
of the concepts can be difficult to visualize, or at least take a lot of effort to do so. Furthermore, visualizers for finite state machines are hard to come by. Because I thoroughly enjoyed learning about Automata Theory and parsers, I wanted to create a program that involved the two. Additionally, I thought creating a program for visualizing automata would help students who struggle with Automata Theory develop a stronger understanding of it.