Hydroplant Subsystems – Week 9


Welcome back! more testing of the system, i bet we have tested some of the functionalities more than 100 times this week! We are able to test the system faster and faster and adding more fucntionalities from our requirements!

See you next week!

Shahin Ostadahmadi

I have been travelling for work for the majority of the week. However, I’ve begun adding some additional logic to the Water Node. Given that we’re using a single set of sensors for three nutrition reservoirs, I need to devise logic to control sensor measurements and adjust nutrition levels for each stage. I also have conceptualized a design for a “nutrition regulation box”. This design outlines our approach to measuring the reservoirs and adjusting the nutrition and pH levels centrally for different reservoirs.

The diagram below illustrates how we can utilize electrical valves, paired with water pumps, to control the water flow into the regulation box. By adopting this method, we can streamline our equipment needs, requiring only a single set of sensors, vacuum pumps, and other equipment, insted of three sets (one for each reservoir). The Water Node will be resposible for the logic.

For the upcoming week, i will order the necessary equipment to bring this design to life, aiming to implement it within the next week. I’ve identified several potential challenges associated with this design, as well as some potential solutions. I intend to discuss these with my team members and evaluate various solutions. Our design might need additional sensors and logic to address issues like water overflow. I’ll provide an update on the outcomes and challenges once we’ve tested the design.

GUI release

I have also released new version of the GUI with some monior changes, the GUI is importent for other group members to test thier solotions without me and Oscar been there, so every small issues should be fixed and released as soon as possible.

Other stuff

Some new changes in the library and other physical work also such as addind light reflectors to the system with other group members.

Commits

Commits are only visible to members of the organization.

Some small changes after testing last weeks commit. Only two lines, but very importent lines!

https://github.com/hydroplantno/library/commit/f467e05c8a25fdb91fe1384bad0905a99a311a67Connect your Github account

https://github.com/hydroplantno/library/commit/7169d521ea8705080711351ea6492718da0d87c9Connect your Github account

New release
https://github.com/hydroplantno/gui-node/releases/tag/v1.0.2

Oscar Melby

This week I’ve prioritized other things, but still got some stuff done on Friday.

Master-controller

Testing the lights again this week, Shahin noticed that the GUI only got state updates from master when value went from low to high, not when going high to low (e.g. when turning lights off). After a bit of debugging turns out I had implemented an if-test to temporarily mitigate plant-information-node not sending “value”, which messed things up. So I fixed this, took a bit of time with testing and other things as we were unsure if the error was due to some software issue or hardware issue. Turns out it was a good combination of both, and managed to fix them both.

Snap-on-command node

Shahin and I used way more time than we thought we would need to setup the camera on our Pi. First we started setting up a new fresh install of Raspbian. Turns out the newest versions only support venvs (virtual environments) for Python packages by default, so tried to bypass this for sake of time. But OpenCV would not want to install for some reason, it would freeze when “building wheels for opencv”. Thought this was due to the Pi overheating (since it was really hot), but this was not the issue. After some research I found that a couple of other people also had this problem, so I specified the opencv pypi package version to the one they recommended. It worked, but after installing the package was missing multiple files, probably due to some issue building from C files or something. There were only some super basic py files and yml.

After so many issues and not making any progress for a while, we decided to use our other SD card with an older version of Raspbian on it. Also had a lot of issues installing the required packages and needed libraries here, but we got it to work in the end.

We have to cameras, a basic one and a HQ one. We could only get the basic one to work sadly, we still don’t know why the HQ one does not work. Should be plug and play, but doesn’t seem like things are as simple as they are intended to be.

Commits

Commits are only visible to members of the organization.

https://github.com/hydroplantno/master-controller/commit/c36854b15516272972105a1e2af24a88fb69d34bConnect your Github account

Aditi Deshpande

On Monday, I figured it was time to adapt my code to the Plant Info Node, as I was all this time writing code for the plant mover as we had put the switches in place, and it was convenient to test. So, the code that was working (95 %) I kept in the main branch of the Plant Information Node repository, and I created a dev branch. I figured since we were thinking about not using switches at all in the PIN, and instead just using steps, I could use the calibration function that I created to count the steps it takes to reach each plant holder, a.k.a the next switch, and move the PIN. So, I did exactly that and it was pretty accurate but there was a bit of an offset, and as there were no front or back switches, I had to physically move the PIN all the way to the front. Hopefully, by next week we can get that fixed. But there was more to do on my side.

On Friday, I worked out the algorithm to make it move to the correct place when the command is sent by the master controller/GUI as the boys worked on fixing the camera. The algorithm turned out to not be that complicated and when I tested it, it worked perfectly. I even got precise calibration results from the plant mover as I programmed it to move only one step at a time. So, it turned out that using steps instead of switches was so much easier. There is still a bit left to do, and they are:

  1. Add front and end switch to the PIN, so that it doesn’t crash, and it always moves back to the right place.
  2. Figure out some sort of calibration that works together with the plant mover, as counting the exact no. of steps is done by the plant mover.
  3. Add the camera to the PIN and receive pictures for image analysis.

Here is a little video where I send a command from GUI to the Plant Information Node:

 

Theo Magnor

This week i have worked on the MoveToRow function through testing and making modifications accordingly. The progress have been quite slow as i have encountered tons of unforeseen problems, and the outcomes of tests have been unconsistent and varied. This week we also did some physical work on the system, this was fun and felt great. Next week i will keep working on the function, and hopefully getting it to working properly so i can move on to the raiseArm/lowerArm and attach/detach functions.

Changes made to the code this week:
https://github.com/hydroplantno/plant-mover-node/commit/a381e3c1b8d11be278400cd637361a53d614d9f3?diff=unifiedConnect your Github account

Ivan Bergmann Maronsen

Not much electrical work has been done or altered on the product this week. This week has been used on troubleshooting errors I received while Pspice-simulating. I have now finished the PCB Pspice simulations and everything needed in general. Now I just have to talk to Steven and Zoran to check my design, and if they approve of my board, so that we can order it.


Leave a Reply