Skip to content
This repository has been archived by the owner on Dec 20, 2022. It is now read-only.

4.April progress

isacg5 edited this page May 11, 2022 · 1 revision

First week

  • Creation the model of sensors with fritzing and write the use of all of them.
  • Join all the sensors that work with I2C connection by connecting as in previous scheme, since they have different addresses. It can be seen that now I2C recognises two sensors.

  • Try if all the sensors together work properly.
    • Problems:
      • The sensors that work with I2C (AMG8833, BME680 and AM2315) didn't appear in the I2C scan. After some reboots, modifications on configuration files and some time, AMG8833 and BME680 have been detected. Don't really now where the problem is.
      • AM2315 doesn't appear. Found the same problem in this forum but the solution with the exception doesn't work. If is connected to 5V, sometimes works, but sometimes I2C keeps not detecting.

Second week

  • Keep trying to solve the problem with the videos recorded. Tried different cameras and different devices, but the problem appears in all the records.
  • Trying to change the range values of the water level sensor to a percentaje, but the sensor is not precise enough.
    • Also observed that after some time measuring water, it starts to rust.
  • Starting to write the paper.
  • Create a view of the connections using fritzing.
  • Get a first diagram of the classes of the sensor with UMLet. 1-UMLet

Third/Fourth week

  • Try to approximate the behavior of the water level sensor to an equation to better get the values. As can be observed is u = 5.7*e^(0.0183x) equation_waterlev

    • Observed that is valid for some reads, but not for all.
  • Improve the UMLet diagram. 2-UMLet

  • Convert all the python files created into classes following the UMLet diagram.

    • Add one thread for each sensor to have a main file working for each sensor and save all the information in a csv file.
  • Integrate all the sensors in Node-Red.

    • Adding a button to start/stop the system. Also added a led in the board that is on or off depending on the state of the system.
    • Using a exec node to execute the main file.
    • Using multiple node functions (one per sensor) to process the output given by the exec node to obtain the value of the sensor that has to be processed.
    • Adding different widgets to let the user understand easily the state of each sensor.
  • Since the problem of the water level sensor persists, added in Node-Red a calibration button to calculate the ranges each time basing on the maximum level of water value.

  • BME680: Added a function to calculate the air quality, after a preheat of 50 readings, based on the gas resistence and the humidity of the environment. The air quality is measured in %.

https://www.youtube.com/watch?v=R-hkzqjRMwM