top of page

Grow Box

Purpose of the Project: Pinoo Control Card temperature-humidity sensor, buzzer module, led module and  using a soil moisture sensor to make a system in which our grow box will indicate that the soil needs water and give a warning when there is any high temperature.

Duration:  2 lessons

Pinoo Set:  Invented Set, Full Set.

Age group:  7 years and older


  • Learns to code Pinoo control board.

  • Learns to use temperature sensor.

  • Learns to use the buzzer module.

  • Develops algorithmic skills.

  • Coding skills develop.



Materials to be used:  Mblock 3 program, pinoo control card, temperature-humidity sensor, buzzer module, soil-humidity sensor, green and red led module, connection cables.



Materials Required for Design:  Decota, brown eva, scissors, utility knife, glue gun and silicone.



Project Construction:


  1. For our project, we first set our decota material.



We combine the decota pieces with the help of a silicone gun as in the picture.


We cover the bottom of our feed box with brown eva.



With our buzzer module, we fix our temperature-humidity sensor with the help of a silicone gun.


Then we fix our red and green led to the front of our box.


We fix our soil-moisture sensor inside our box so that the soil touches it, as in the picture.


Then we connect our green LED to 2, our red LED to 5, our temperature-humidity sensor to 4, our buzzer module to number 3 and our soil-humidity sensor to number 7.


  1. Adding Pinoo extension:



From the Extensions tab, click "Manage Extensions".


In the window that opens, we write “Pinoo” in the search engine and it is enough to say download to the result.

Installed on our computer.


  1. Connecting the Pinoo control board to the computer:




In Mblock 3, we click on the "Connect" tab in the upper left.



In the window that opens, we click on the "Serial Port" section and select the "COM6" option from the page that opens.

NOTE: As each computer has different port entries, the numbers next to COM may change.


Click on the Cards tab.



From the window that opens, we select the "Arduino Nano" card option used by the Pinoo control card.


Click on the Extensions tab.


In the window that opens, we select "Pinoo", the extension of the control card we use.




Click on the Connect tab.


Click "Firmware Update" from the window that opens.


  1. Coding part:









First, we place our temperature-humidity sensor identification code under the 'Pinoo Program' code to check whether the temperature-humidity sensor is working. Then we print the values of the temperature-humidity sensor to the serial port and upload it to the arduino. Then we change the 'recv encode mode' option to 'har state' at the bottom right of our mblock program. In this way, we see our temperature-humidity sensor values on the serial port. After uploading our codes to Arduino, let's not forget to connect it again from the program connection section.


We check our Buzzer module by running the code below with the code that makes a sound when the green flag is clicked.


In order to check whether our soil-moisture sensor is working or not, we read the values of our sensor with the code of soil moisture value arrow inside the hello code in a continuous repeat loop under the green flag code.



To check whether our red and green led module is working, we check the status of our led by saying high and low by using the code change led status under the code when the key is pressed.


We cannot operate our temperature-humidity sensor under the code when the green flag is clicked. That's why we introduce our temperature-humidity sensor to our program with our code under the Pinoo Program code.


If the value we get from the soil-moisture sensor is less than 400, that is, if our soil is dry, our red led will turn on and we will turn off our green led. If not, that is, if the water in my soil is at a sufficient level, we turn on our green LED.


Then our second condition, if the temperature in the environment is greater than 35 degrees, our buzzer module becomes active. If not, we deactivate our buzzer module.



Right-click on the “Pinoo Program” command and select the “Install to Arduino” option in the window that opens.



On the page that opens, we click on the "Upload to Arduino" button, which is selected in red.

Our codes are uploaded to our pinoo control card.

After the “Installation Finished” message comes, click the “Close” button. After the installation is finished, the battery holder is inserted and the project is run.




  1. Working Status of the Project:




#include <dht11.h> // We included the dht11 library in our codes. int dhtPin=2; // We specified that our temperature-humidity sensor is connected to pin 2. dht11 temperaturesensor; // We created a DHT11 object named temperaturesensor. int soil moisturePin=A0;//We introduced the pin on which we attach our soil-moisture sensor. int yesilLed=2;//We specified which pin we put the green led on. int redLed=5;//We specified which pin we put the red led on. int buzzerPin=4;//We have specified which pin we have attached our buzzer module to. void setup() {  pinMode(soil moisturePin,INPUT);//We specified that our soil-moisture sensor is the input unit.  pinMode(yesilLed,OUTPUT);//We specified that our green LED is the output unit.  pinMode(redLed,OUTPUT);//We specified that our red LED is the output unit.  pinMode(buzzerPin,OUTPUT);//We specified that our buzzeer module is the output unit. } void loop() {  float sicaklik =;//We transferred the value we got from our temperature-humidity sensor to the variable we created called temp.  int data=analogRead(soil moisturePin);//We transferred the analog values we received from our soil-moisture sensor to the variable named data that we created in numerical data type.  if(data<400)//If the value we get from our soil-moisture sensor is less than 400, that is, we have created the condition if our soil is dry.  {   digitalWrite(redLed,HIGH);//We lit our red led.   digitalWrite(yesilLed,LOW);//We turned off our green led just in case.  }  else//If the above mentioned condition is not met, we have created the condition.  {   digitalWrite(yesilLed,HIGH);//We lit our green led.   digitalWrite(redLed,LOW);//We turned off our red led just in case.  }  if(temp>35) // If the temperature value is greater than 35 degrees, we created the condition.  {   digitalWrite(buzzerPin, HIGH);//We have activated our Buzzer module.  }  else//If the condition we created above is not met, we have created the condition.  {   digitalWrite(buzzerPin, LOW);//We have disabled our buzzer module.  } }

bottom of page