Skip to content

kpe03/capstone-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Building Ventilation Software

Project Description

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.

Contributions and Practices

If contributing:

  • Follow the coding style and conventions
  • Write variable, method, and class names to be descriptive
  • Write comments

Project Structure

  • arduino_code/ – Main components of the Arduino code
  • intitial_logic_framework/ – Mock algorithm developed in Python
  • testing/ – Unit testing files
  • initialGUI.py – Code for the graphical user interface (GUI)

Arduino_code directory

  • Working_temp_hum_co2_smoke/ – Versions of Arduino code (multiple sensors)
  • Working_temp_hum_in_out/ – Arduino code handling indoor and outdoor sensors
  • Working_temp_hum_in_out_and_comfort/ – Arduino code integrating comfort algorithm
  • old version/ – Archived and outdated Arduino code versions
  • CO2.ino – Sketch generated by read_serial.py displaying sensor outputs
  • arduino_data.csv – CSV file generated by read_serial.py containing sensor readings
  • final_code.ino – Finalized Arduino code integrating sensors and comfort algorithm
  • read_serial.py – Python script for reading and saving Arduino Serial Monitor data

Branching and Merging

  • For new features create a branch such as: git checkout -b feature-name

Requirements To Run Code

This code requires several different applications and software:

Arduino IDE 2.3.4

Libraries

  • Adafruit Unified Sensor by Adafruit
  • DHT sensor library by Adafruit
  • Mhz19 by Eduard Malokhvi

To Run Code

Arduino

  • Make sure all libraries are installed
  • Connect the Arduino
  • Verify and Upload the final_code.ino in the Arduino IDE To output results:
  • Run read_serial.py

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

GUI

To run the GUI:

  • Install PySide6 using: pip install pyside6
  • Configure Pathname to the file generated from PLX-DAQ (update variable file_path on line 26)
  • To run the code use the command python initalGUI.py

Technologies

Languages

C++

  • Version: C++ 23
  • Arduino language based on C++

Python

  • Version: Python 3.12.0
  • PySide 6

Environment

Arduino IDE

  • Version: 2.3.4

Hardware

Arduino

  • Model: unknown
  • Temperature and Humidity sensor
  • Light sensor
  • Sound sensor
  • CO2 sensor
  • Smoke sensor

Team Roles

Product Owner: Mason Quality Assurance: David Scrum Master 1: Kaitlyn Scrum Master 2: Landon Scrum Master 3: Kazi Scrum Master 4: Gerry

Group Goals / Future Plans

  • 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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6