An automatic control system for a building's ventilation, where a software base platform will analyze several environmental factors (e.g. temperature, humidity, carbon monoxide levels) and decide whether to send a signal to turn the system on or off.
Some environmental conditions will have higher priority than others so our software will aim to maintain comfort as best as possible.
As of now we are uncertain of all the hardware that we will be working with but we for sure know that we will have Arduino sensors to track indoor and outdoor environments.
We have also begun discussing whether we would like to create a UI that would allow users to set their preferences. It could potentially be used to set the priority levels for each condition.
If contributing:
- Follow the coding style and conventions
- Write variable, method, and class names to be descriptive
- Write comments
arduino_code/– Main components of the Arduino codeintitial_logic_framework/– Mock algorithm developed in Pythontesting/– Unit testing filesinitialGUI.py– Code for the graphical user interface (GUI)
Working_temp_hum_co2_smoke/– Versions of Arduino code (multiple sensors)Working_temp_hum_in_out/– Arduino code handling indoor and outdoor sensorsWorking_temp_hum_in_out_and_comfort/– Arduino code integrating comfort algorithmold version/– Archived and outdated Arduino code versionsCO2.ino– Sketch generated by read_serial.py displaying sensor outputsarduino_data.csv– CSV file generated by read_serial.py containing sensor readingsfinal_code.ino– Finalized Arduino code integrating sensors and comfort algorithmread_serial.py– Python script for reading and saving Arduino Serial Monitor data
- For new features create a branch such as:
git checkout -b feature-name
This code requires several different applications and software:
- Adafruit Unified Sensor by Adafruit
- DHT sensor library by Adafruit
- Mhz19 by Eduard Malokhvi
- Make sure all libraries are installed
- Connect the Arduino
- Verify and Upload the
final_code.inoin the Arduino IDE To output results: - Run
read_serial.py
- This file reads the data from the arduino sensors and prints to a .csv file
- The arduino must be running before running the script To run:
python .\arduino_code\read_serial.py
To run the GUI:
- Install PySide6 using:
pip install pyside6 - Configure Pathname to the file generated from PLX-DAQ (update variable
file_pathon line 26) - To run the code use the command
python initalGUI.py
C++
- Version: C++ 23
- Arduino language based on C++
Python
- Version: Python 3.12.0
- PySide 6
Arduino IDE
- Version: 2.3.4
Arduino
- Model: unknown
- Temperature and Humidity sensor
- Light sensor
- Sound sensor
- CO2 sensor
- Smoke sensor
Product Owner: Mason Quality Assurance: David Scrum Master 1: Kaitlyn Scrum Master 2: Landon Scrum Master 3: Kazi Scrum Master 4: Gerry
- We are planning to see what technology is readily available so we can find a starting point for the software.
- Further discussions regarding UI implementation.
- We want to figure out how to optimize comfort first and then a plan to optimize energy if feasible.