Date: 30/05/2023 to 08/06/2023

From 30th June to 8th July, Suhas Sir called me and assigned me the task of repairing the ” Grocubator ” They told me to read all the previous blogs related to the Grocubator. I read through all the blogs and gained a clear understanding of what the Grocubator is.

The Grocubator is an incubator developed at Vigyan Ashram with the specific purpose of sprouting legumes. Its primary objective is to produce good quality sprouts in large quantities. Although it offers various advantages over conventional methods, it follows similar steps for the growth process.

The system comprises a water pump that cyclically supplies water to a metal container equipped with holes on one side for drainage. The container rotates due to an assembly driven by a viper motor. The rotation is precisely 180 degrees, facilitated by an IR feedback system that detects black lines on the container. These black lines act as switches or triggers to start and stop the system. They are strategically positioned to control whether the holes face upwards to flood the system with water or downwards to drain it.

The process involves an initial soaking step, followed by multiple cycles of rotation and rinsing. More detailed information about the Grocubator can be found in the provided blogs:

  1. https://vadic.vigyanashram.blog/2023/04/04/assignments-5/
  2. https://vadic.vigyanashram.blog/2022/08/02/grocubator-cad/
  3. https://vadic.vigyanashram.blog/2022/02/11/__trashed-2/
  4. https://vadic.vigyanashram.blog/2021/09/17/grocubator-v2/

The Grocubator is facing issues with its code, causing problems with the container rotation. Consequently, the rotation mechanism is malfunctioning, leading to improper functioning of the system.

Initially, I switched on the Grocubator and observed that the water was filling for 2 minutes instead of the intended 50 seconds, and the container rotation was malfunctioning. Realizing there might be code errors, I opened the code on my laptop with Suhas Sir’s assistance. We created a flowchart to visualize the code logic and then made necessary changes to the code before uploading it back into the system.

New Code:

int cycle;

int timer;

int pump = 26;

int motor = 27;

#define IR 34

bool irval = 0;

#define on LOW

#define off HIGH

void hup()

{

  irval = digitalRead(IR);

  Serial.println(“down”);

  while(irval == LOW)

  {

    digitalWrite(motor, on);

    delay(200);

    irval = digitalRead(IR);

  }

  digitalWrite(motor, off);

}

void hdown()

{

  irval = digitalRead(IR);

  Serial.println(“up”);

  while(irval == HIGH)

  {

    digitalWrite(motor, on);

    delay(200);

    irval = digitalRead(IR);

  }

  digitalWrite(motor, off);

}

void fill_water()

{

  Serial.println(“Fill water”);

  digitalWrite(pump, on);

  delay(50*1000);

  digitalWrite(pump, off);

}

void setup()

{

  Serial.begin(9600);

  pinMode(pump, OUTPUT);

  pinMode(motor, OUTPUT);

  pinMode(IR, INPUT);

  irval = digitalRead(IR);

  //********Test**********

  hup();

  digitalWrite(pump, on);

  delay(2000);

  digitalWrite(pump, off);

  hdown();

  delay(3000);

  Serial.println(“Test complete”);

  //*******Begin cycle*********

  hup(); //Get system ready to fill water

  //Soaking

  fill_water();

  Serial.println(“Undistured for 2 hours”);

  delay(2*60*60*1000);//undistured for 2 hours

  //Draining

  hdown();

  Serial.println(“Drain for 5 minutes”);

  delay(5*60*1000);

  hup();

  //Start repetetive cycles

  for(cycle = 1; cycle <25; cycle++)

  {

    Serial.print(“Cycle  “);

    Serial.print(cycle);

    Serial.println(” begins”);

    //Undisturbed for 15 minutes

    delay(15*60*1000);

    //Rotate 180 deg

    hdown();

    //Undisturbed for 15 minutes

    delay(15*60*1000);

    //Rotate 180 deg

    hup();

    //Undisturbed for 15 minutes

    delay(15*60*1000);

    //Rotate 180 deg

    hdown();

    //Undisturbed for 15 minutes

    delay(15*60*1000);

    //Rotate 180 deg

    hup();

    //Flood the system with water

    fill_water();

  }

  Serial.println(“Cycles complete!”); 

}

void loop()

{

}

Flowchart

[Start] -> [Setup] -> [Test] -> [Get ready to fill water] -> [Fill water] -> [Wait for 2 hours] -> [Drain for 5 minutes] -> [Get ready to fill water again] -> [Repeat Cycle for 25 times] -> [End]


After uploading and testing the modified code, the Grocubator started functioning properly. However, during testing, I noticed some issues with the motor and chain components. To address this, I decided to dismantle the Grocubator and disassemble its mechanical parts. My objective was to identify and rectify the problem with the motor and chain. With careful examination and troubleshooting, I worked on fixing the mechanical issues. Once the repairs were completed, I reassembled the Grocubator and tested it again to ensure all the components were functioning smoothly. The Grocubator was now fully operational.