Goal:
OSU Engineering 1182 Design Project to produce a prototype for a project after doing market research, determining user needs, and evaluating how our idea meets those requirements.
Awards:
Chosen to represent our class at the OSU design showcase.
Components:
- Tkinter GUI
- Pyfirmata python library and Firmata Arduino firmware to connect GUI to hardware
- Data/schedule is stored and easily accessible
- JSON files contain all plant information and education modules for easy access to add or remove plants/modules
- MVC design pattern to easily change GUI view or have alternate forms of data collection
Overview:
- Scheduling
- Custom schedules for watering
- Load default schedules for selected plant types
- Toggle buttons on schedule allow for adding/removing times from schedule
- Manual controls for turning on and off watering
- Plant Information
- Select plant type from drop down menu
- Selected plant type determines information displayed on screen inclduing a description of the plant, its watering needs, and its nutrients needs
- Education Modules
- Display education modules including an overview of STEM, the applications of STEM, and how you can impact your community with STEM
- Arduino
- Turns water pump on and off based on current active schedule
- Gets water level of hydroponics reservoir, sends alert if water is low and prevents pump from turning on
- Protection against arduino disconnection
How to use:
- Run "pip install /your_path/config/requirements.txt" in command line
- Ensure config/arduino_config "active" set to FALSE (unless proper Arduino is connected)
- Run app.py
Screenshots:


