The Flower Power Project – Talos robotics – 1 Δημοτικό Σχολείο Μουρνιών

The Flower Power Project – Talos robotics – 1 Δημοτικό Σχολείο Μουρνιών

The Flower Power project
A.I. Greenhouse

GITHUB LINK : https://github.com/talos-robotics/The-Flower-Power-Project

 

 

Το project αναφέρεται στη δημιουργία ενός έξυπνου και ενεργειακά αυτόνομου θερμοκηπίου. Το θερμοκήπιο αυτό θα γίνει υπό κλίμακα. Οι μαθητές θα ασχοληθούν και θα εντρυφήσουν αρχικά στο θέμα των αναγκών των φυτών στη φάση της ανάπτυξης τους και σε δεύτερο χρόνο θα αναπτύξουν τεχνικές για την κάλυψη των αναγκών αυτών, ανάλογα το φυτό, με τεχνητό και αυτόνομο τρόπο. Θα προσθέσουν αισθητήρες για μέτρηση θερμοκρασίας, υγρασίας του αέρα, υγρασίας του χώματος, ηλιακό πάνελ για αυτονομία ενέργειας, συλλέκτη βρόχινου νερού για την αποθήκευσή του σε δεξαμενή, αισθητήρα για τη στάθμη του νερού της δεξαμενής, αντλία νερού για το πότισμα του φυτού με σταλακτίρα, νεφελοποιητή για ύγρανση της ατμόσφαιρας στο χώρο του θερμοκηπίου, Ανεμιστήρα για την εισαγωγή αέρα και σερβομηχανισμούς για το άνοιγμα και κλείσιμο της οροφής. Η παραμετροποίηση θα γίνεται με βάση το φυτό που θα φιλοξενείται μέσα στο θερμοκήπιο. Θα υπάρχουν προεπιλογές με τις παραμέτρους και ο χρήστης θα κάνει την επιλογή. Κατά τη φάση την ανάπτυξης θα υπάρξουν επισκέψεις στο Μεσογειακό Αγρονομικό Ινστιτούτο Χανίων (ΜΑΙΧ) όπου επιστήμονες του χώρου θα μας βοηθήσουν στο θεωρητικό κομμάτι του project για την καλύτερη κατανόηση. Η φιλοδοξία του project είναι να κατασκευαστεί ένα πλήρως λειτουργικό αποτέλεσμα.

Συμμετέχοντες

Υπεύθυνος εκπαιδευτικός
Μανούσακας Μανούσος – Εκπαιδευτικός Πληροφορικής ΠΕ86

Μαθητές
Μανούσακας Κωνσταντίνος
Μοχάμαντ Φαϊσάλ
Μπαλή Ελένη
Μπεκιάρης Βασίλης
Παναγιωτάκη Σοφία
Σαμιώτη Ελένη
Στραβοπόδης Ιωάννης
Φραντζεσκάκης Νίκος

Γενικά στοιχεία σεναρίου

Σενάριο δραστηριότητας

Αριθμός μαθητών: 8
Αριθμός Ομάδων: 4
Αριθμός ατόμων ανά ομάδα: 2
Είδος δραστηριότητας: Ομαδοσυνεργατική
Ρόλοι: Δεν υπάρχουν διακριτοί ρόλοι στην ομάδα.
Ηλικιακή ομάδα: 12-15

Φάση προετοιμασίας

Οι μαθητές θα πρέπει να:
• Διερευνήσουν στο διαδίκτυο σχετικά.
• Συντάξουν ένα έντυπο όπου θα περιγράφουν τις προδιαγραφές του project.
• Να αναζητήσουν στο διαδίκτυο πληροφορίες για τους αισθητήρες που θα χρησιμοποιήσουμε.

Φάση σχεδιασμού

Οι μαθητές θα πρέπει να:
• Να αναζητήσουν στο διαδίκτυο πληροφορίες για τη συνδεσμολογία των αισθητήρων με το Arduino.
• Να αναζητήσουν στο διαδίκτυο πληροφορίες για τις προδιαγραφές των αισθητήρων.
• Να δημιουργήσουν στο Fritzing τις παραπάνω συνδεσμολογίες.

Φάση υλοποίησης

Οι μαθητές θα πρέπει να:
• Δημιουργήσουν τις φυσικές συνδέσεις των υλικών τους με τους αισθητήρες.
• Να προγραμματίσουν το Arduino χρησιμοποιώντας το περιβάλλον Arduino IDE έτσι ώστε να παίρνουν τιμές από τους αισθητήρες.

Φάση Δοκιμών

Οι μαθητές θα πρέπει να:
• Δοκιμάσουν τον εξοπλισμό τους και να επιβεβαιώσουν τη σωστή λειτουργία του.

 

Open Educational Resources

Υλικά ηλεκτρονικά

Είδος Ποσότητα Τιμή Μονάδας Σύνολο Περιγραφή

Waveshare Αισθητήρας Θερμοκρασίας-Υγρασίας DHT22
1 12.40 12.40 https://grobotronics.com/waveshare-temperature-humidity-sensor-dht22.html

Waveshare Αισθητήρας Υγρασίας Εδάφους
1 3.50 3.50 https://grobotronics.com/waveshare-moisture-sensor.html

Αισθητήρας Υπερήχων 2 – 450cm HY-SRF05
1 3.60 3.60 https://grobotronics.com/ultrasonic-sensor-ranging-detector-2-450cm-hy-srf05.html

Βάση Στήριξης για Αισθητήρα Υπερήχων
1 0.60 0.60 https://grobotronics.com/mounting-bracket-for-ultrasonic-sensor.html
https://grobotronics.com/mounting-bracket-for-ultrasonic.html

Αισθητήρας Βροχής
1 1.80 1.80 https://grobotronics.com/rain-sensor-module.html

Servo Standard 35kg.cm Metal Gears (Feetech FT5330M)
2 19.90 39.80 https://grobotronics.com/servo-standard-35kg.cm-metal-gears-feetech-ft5330m.html

Μπαταρία Μολύβδου 12V 5Ah
1 12.40 12.40 https://grobotronics.com/lead-acid-battery-12v-4.5ah.html

Funduino Mega2560 Rev3 (Arduino Mega Compatible)
1 29.90 29.90 https://grobotronics.com/funduino-mega2560-rev3-arduino-mega-compatible.html

Φωτοβολταϊκή Κυψέλη 10W 33x29cm
1 19.90 19.90 https://grobotronics.com/fotoboltaiki-kypseli-10w-33x29cm.html

Solar Battery Charger Regulator 10A – Dual USB
1 13.00 13.00 https://grobotronics.com/solar-battery-charger-regulator-10a-dual-usb.html

Peristaltic Liquid Pump 12V DC
2 8.60 17.20 https://grobotronics.com/peristaltic-liquid-pump-12v-dc.html

Relay Module – 1 Channel 5V Low Level Trigger
2 1.50 3.00 https://grobotronics.com/relay-module-1-channel-5v-high-level-trigger.html

Waveshare MQ-135 Gas Sensor Module
1 6.50 6.50 https://grobotronics.com/relay-module-1-channel-5v-high-level-trigger.html
Σύνολο 163.6

Υλικά κατασκευής

Είδος Ποσότητα Περιγραφή

Πολυκαρβονικό πλέξιγκλας διαστάσεις
6 https://epigrafeschania.gr/

Μεντεσές
1

Μονταζόκολλα super ισχυρή Bison Montage KIT 66558 310ml
30

Γωνία PVC λευκή 2m
1

Καλώδια 1.2mm
1

Κανάλι καλωδίων με αυτοκόλλητο – πλαστικό
1

Σύρμα 2.7mm
1

Περιγραφή λειτουργίας συστήματος

Χρησιμοποιήσαμε ένα μικροελεγκτή arduino mega όπου πάνω του είναι συνδεδεμένοι αισθητήρες που διαχειρίζονται διαφορετικούς παράγοντες ανάπτυξης του φυτού.
Ανάλογα το φυτό ο κώδικας είναι παραμετροποιήσιμος στα ανώτερα και κατώτερα όρια των συνθηκών ανάπτυξης.
Οι παράγοντες τους οποίους ελέγξαμε είναι οι παρακάτω.
Η Θερμοκρασία εντός του θερμοκηπίου, όπου έχει ανώτερο όριο τους 35 C και κατώτερο τους 24.
Η Υγρασία εντός του θερμοκηπίου, όπου έχει ανώτερο όριο το 70% και κατώτερο το 50%.
Η Υγρασία του χώματος του φυτού, όπου έχει κατώτερο όριο το 40%.
Το CO2 εντός του θερμοκηπίου, όπου έχει ανώτερο όριο τα 14500 ppm.
Όλοι οι αισθητήρες και τα ηλεκτρονικά συστήματα τροφοδοτούνται από μία επαναφορτιζόμενη μπαταρία 12v, η οποία φορτίζει αποκλειστικά με ηλιακό πάνελ. Τρόπο πλήρως φιλικό προς το περιβάλλον.
Το θερμοκήπιο αντιδρά στους εξωτερικούς παράγοντες και χρησιμοποιεί τα κατάλληλα αντίμετρα όταν οι συνθήκες ανάπτυξης φύγουν από τα όρια.
Όταν η θερμοκρασία ή υγρασία ή το CO2 υπερβεί το όριο, τότε με ειδικούς σερβομηχανισμούς ανοίγει η οροφή του θερμοκηπίου και ενεργοποιείται ένας ανεμιστήρας που σπρώχνει των αέρα προς τα μέσα.
Όταν η υγρασία του χώματος μειωθεί, τότε ενεργοποιείται μια αντλία και στέλνει νερό στη ρίζα μέσω σταλακτήρα, από μία δεξαμενή νερού, μέχρι η υγρασία να φτάσει στα επιθυμητά όρια.
Αν η υγρασία μέσα στο θερμοκήπιο πέσει κάτω από τα όρια, ενεργοποιείται μία δεύτερη αντλία, που στέλνει νερό από τη δεξαμενή στο πάτωμα του θερμοκηπίου έτσι ώστε να ανεβάσει τα επίπεδα υγρασίας.
Ένα επιμέρους τμήμα του θερμοκηπίου είναι η δεξαμενή νερού.
Η δεξαμενή αυτή είναι κατασκευασμένη με ηλεκτρονικό συστήματα αειφορίας. Η δεξαμενή γεμίζει με βρόχινο νερό, και φροντίζει να το διατηρεί κλειστό έτσι ώστε να την εξατμίζεται.
Έχει αισθητήρα που αντιλαμβάνεται την παρουσία βροχής, και με ένα σερβομηχανισμό ανοίγει το καπάκι. Σε περίπτωση που η βροχή σταματήσει, το καπάκι κλείνει αυτόματα.
Άλλη μία δικλείδα ασφαλείας της δεξαμενής είναι ο αισθητήρας που μετρά την ποσότητα του νερού. Με αυτό τον τρόπο η δεξαμενή κλείνει έτσι ώστε να μην υπερχειλίσει.
Για να μπορέσουμε να αυξήσουμε τα επίπεδα CO2 στο θερμοκήπιο χρησιμοποιήσαμε λίγη χημεία.
Μια απλή λύση ήταν να βάλουμε μέσα, ένα μπολ με μαγιά, ζάχαρη και νερό. Η ζύμωση αυτή παράγει ποσοστά CO2.

Αισθητήρας βροχής

Υλικό για μελέτη και τρόπος σύνδεσης

https://circuitdigest.com/microcontroller-projects/interfacing-rain-sensor-with-arduino

Παράδειγμα κώδικα

// Sensor pins pin D6 LED output, pin A0 analog Input
#define ledPin 6
#define sensorPin A0

void setup() {
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
}

void loop() {
  Serial.print("Analog output: ");
  Serial.println(readSensor());
  delay(500);
}

int readSensor() {
  int sensorValue = analogRead(sensorPin);  // Read the analog value from sensor
  int outputValue = map(sensorValue, 0, 1023, 255, 0); // map the 10-bit data to 8-bit data
  analogWrite(ledPin, outputValue); // generate PWM signal
  return outputValue;             // Return analog moisture value
}

Αισθητήρας υγρασίας θερμοκρασίας

Παράδειγμα κώδικα

#include <DHT.h>;

//Constants
#define DHTPIN 7     // what pin we're connected to
#define DHTTYPE DHT22   // DHT 22  (AM2302)
DHT dht(DHTPIN, DHTTYPE); //// Initialize DHT sensor for normal 16mhz Arduino


//Variables
int chk;
float hum;  //Stores humidity value
float temp; //Stores temperature value

void setup()
{
  Serial.begin(9600);
  dht.begin();
}

void loop()
{
    delay(2000);
    //Read data and store it to variables hum and temp
    hum = dht.readHumidity();
    temp= dht.readTemperature();
    //Print temp and humidity values to serial monitor
    Serial.print("Humidity: ");
    Serial.print(hum);
    Serial.print(" %, Temp: ");
    Serial.print(temp);
    Serial.println(" Celsius");
    delay(10000); //Delay 2 sec.
}

Αισθητήρας Υγρασίας Εδάφους

Υλικό για μελέτη και τρόπος σύνδεσης

https://www.instructables.com/DHT11-With-Arduino/

https://www.waveshare.com/wiki/Moisture_Sensor

https://arduinogetstarted.com/tutorials/arduino-soil-moisture-sensor

VCC 2.0V ~ 5.0V
GND power supply ground
AOUT MCU.IO (analog output)

Παράδειγμα κώδικα

#define AOUT_PIN A0 // Arduino pin that connects to AOUT pin of moisture sensor
#define THRESHOLD 100 // CHANGE YOUR THRESHOLD HERE

void setup() {
  Serial.begin(9600);
}

void loop() {
  int value = analogRead(AOUT_PIN); // read the analog value from sensor

  if (value < THRESHOLD)
    Serial.print("The soil is DRY (");
  else
    Serial.print("The soil is WET (");

  Serial.print(value);
  Serial.println(")");


  delay(500);
}

Servo

Υλικό για μελέτη και τρόπος σύνδεσης

https://docs.arduino.cc/learn/electronics/servo-motors

https://www.instructables.com/Arduino-Servo-Motors/

Παράδειγμα κώδικα

#include <Servo.h> 
// Declare the Servo pin 
int servoPin = 3; 
// Create a servo object 
Servo Servo1; 
void setup() { 
   // We need to attach the servo to the used pin number 
   Servo1.attach(servoPin); 
}
void loop(){ 
   // Make servo go to 0 degrees 
   Servo1.write(0); 
   delay(1000); 
   // Make servo go to 90 degrees 
   Servo1.write(90); 
   delay(1000); 
   // Make servo go to 180 degrees 
   Servo1.write(180); 
   delay(1000); 
}

Παράδειγμα κώδικα

const unsigned int TRIG_PIN=13;
const unsigned int ECHO_PIN=12;
const unsigned int BAUD_RATE=9600;

void setup() {
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
  Serial.begin(BAUD_RATE);
}

void loop() {
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);
  

 const unsigned long duration= pulseIn(ECHO_PIN, HIGH);
 int distance= duration/29/2;
 if(duration==0){
   Serial.println("Warning: no pulse from sensor");
   } 
  else{
      Serial.print("distance to nearest object:");
      Serial.println(distance);
      Serial.println(" cm");
  }
 delay(100);
 }

Relay

Υλικό για μελέτη και τρόπος σύνδεσης

https://arduinogetstarted.com/tutorials/arduino-relay

https://arduinogetstarted.com/tutorials/arduino-relay

 

Παράδειγμα κώδικα

// constants won't change
const int RELAY_PIN = 3;  // the Arduino pin, which connects to the IN pin of relay

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin as an output.
  pinMode(RELAY_PIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(RELAY_PIN, HIGH);
  delay(500);
  digitalWrite(RELAY_PIN, LOW);
  delay(500);
}

Αισθητήρας CO2

Υλικό για μελέτη και τρόπος σύνδεσης

https://electronicsprojectshub.com/interfacing-mq-135-gas-sensor-with-arduino/

Παράδειγμα κώδικα

#define RLOAD 22.0
#include "MQ135.h"
//#include <SPI.h>

MQ135 gasSensor = MQ135(A0);
int val;
int sensorPin = A0;
//int sensorValue = 0;
void setup() {
  Serial.begin(9600);
  pinMode(sensorPin, INPUT);
}

void loop() {
  val = analogRead(A0);
  Serial.print ("raw = ");
  Serial.println (val);
 // float zero = gasSensor.getRZero();
 // Serial.print ("rzero: ");
  //Serial.println (zero);
  float ppm = gasSensor.getPPM();
  Serial.print ("ppm: ");
  Serial.println (ppm);
  
  delay(4000);
}

Πως να κατασκευάσετε μία αντλία νερού

Τη συγκεκριμένη τεχνική θα τη χρησιμοποιήσουμε για να κατασκευάσουμε μια δεύτερη αντλία η οποία θα εισάγει νερό στο θερμοκήπιο σε περίπτωση μειωμένης υγρασίας. Ουσιαστικά θα βρέχει το πάτωμα, ώστε να υπάρχει εξάτμιση του νερού απο τη ζέστη του θερμοκηπίου.

Τελικός κώδικας

Τελικός κώδικας ultrasonic – servo

#include <EasyUltrasonic.h>
#include <Servo.h>

#define TRIGPIN 5 // Digital pin connected to the trig pin of the ultrasonic sensor
#define ECHOPIN 6 // Digital pin connected to the echo pin of the ultrasonic sensor
Servo waterservo;

EasyUltrasonic ultrasonic; // Create the ultrasonic object

void setup() {
  Serial.begin(9600); // Open the serial port

  ultrasonic.attach(TRIGPIN, ECHOPIN); // Attaches the ultrasonic sensor on the specified pins on the ultrasonic object
  waterservo.attach(9);
}

void loop() {
  float distanceCM = ultrasonic.getDistanceCM(); // Read the distance in centimeters

  Serial.print(distanceCM);
  Serial.println(" cm");

  delay(2000);

  if (distanceCM>50){
    waterservo.write(90);


  }else
  {
    waterservo.write(0);
  }
}

Τελικός κώδικας HDT22 – FAN

#include <SimpleDHT.h>

int pinDHT22 = 2;
SimpleDHT22 dht22(pinDHT22);

byte temperature = 0;
byte humidity = 0;
int values = SimpleDHTErrSuccess;
//float hum =0;


void setup() {

  Serial.begin(115000);
   pinMode(2,INPUT);
   pinMode(7,OUTPUT);

  //digitalWrite(3,LOW);

 
}

void loop() {

  values = dht22.read(&temperature, &humidity, NULL);
  //hum = therm.getHumidity();

  Serial.print("Η θερμοκρασία είναι:");
  Serial.println(temperature);
  Serial.print("Η Υγρασία είναι:");
  Serial.println(humidity);

  if (humidity>80){
    digitalWrite(7,HIGH);


  }else
    {

          digitalWrite(7,LOW);

    }
  delay(2000);
    
}

Τελικός κώδικας RAIN SENSOR – SERVO

#include <Servo.h>

Servo waterservo;
int rain;

void setup() {
  Serial.begin(9600); // Open the serial port
  pinMode(A0,INPUT);
  waterservo.attach(9);
}

void loop() {
 
  rain = analogRead(A0);
  Serial.println(rain);
  
  delay(2000);

  if (rain>800){
    waterservo.write(90);


  }else
  {
    waterservo.write(0);
  }
}

Τελικός κώδικας SOIL SENSOR – RELAY – WATER PUMP

int soil;

void setup() {
  Serial.begin(9600); // Open the serial port
  pinMode(A1,INPUT);
  pinMode(10,OUTPUT);
  
}

void loop() {
 
  soil = analogRead(A1);
  Serial.println(soil);
  
  delay(2000);

  if (soil>800){
    digitalWrite(10,LOW);


  }else
  {
    digitalWrite(10,HIGH);
  }
}

Τελικός κώδικας MQ135 – CO2

#define RLOAD 22.0
#include "MQ135.h"
//#include <SPI.h>

MQ135 gasSensor = MQ135(A0);
int val;
int sensorPin = A0;
//int sensorValue = 0;
void setup() {
  Serial.begin(9600);
  pinMode(sensorPin, INPUT);
}

void loop() {
  val = analogRead(A0);
  Serial.print ("raw = ");
  Serial.println (val);
 // float zero = gasSensor.getRZero();
 // Serial.print ("rzero: ");
  //Serial.println (zero);
  float ppm = gasSensor.getPPM();
  Serial.print ("ppm: ");
  Serial.println (ppm);
  
  delay(4000);
}

Ερωτήσεις που θέσαμε στο επιστημονικό προσωπικό του ΜΑΙΧ 

ΕΡ: Σε τι θερμοκρασίες πρέπει να μεγαλώνουν τα φυτά μέσα σε ένα θερμοκήπιο;

ΑΠ: Ιδανικά δεν πρεπει να ξεπερνάμε τους 27 βαθμούς. Κάθε φυτό έχει διαφορετικό εύρος, οπότε απο 20 – 35. Υπάρχουν πινακες για τις ιδανικές θερμοκρασίες κάθε φυτού.

ΕΡ: Ποιο είναι το κατάλληλο ποσοστό υγρασίας που χρειάζεται ένα φυτό;

ΑΠ: Είναι πάρα πολύ σχετικό. Υπάρχουν πινακες για την ιδανική υγρασία κάθε φυτού.

ΕΡ: Για να μπορέσουμε να ρίξουμε τα ποσοστά θερμοκρασίας και υγρασίας μέσα σε ένα θερμοκήπιο ποιες ενέργειες απαιτείται να κάνουμε;

ΑΠ: Ο πιο απλός τρόπος για το καταφέρουμε αυτό είναι ανοίγοντας τα παράθυρα. Σε σύγχρονες εγκαταστάσεις χρησιμοποιούμε πιο εξελιγμένες τεχνικές. Για παράδειγμα στην μια πλευρά του θερμοκηπίου υπάρχουν κυψέλες με τρεχούμενο βρόχινο νερό και από την άλλη μεριά υπάρχουν ανεμιστήρες. Με τη λειτουργία των ανεμιστήρων δημιουργείται ροή αέρα διαμέσου των κυψελών με αποτέλεσμα να πέφτει η θερμοκρασία του θερμοκηπίου.

ΕΡ: Ποιο είναι το καταλληλότερο ποσοστό υγρασίας που πρέπει να έχει ένα φυτό στο χώμα του;

ΑΠ: Είναι πάρα πολύ σχετικό. Αυτό που παίζει ρόλο, είναι το ποσοστό υγρασίας ανα όγκο. Δεν πρέπει να είναι ούτε πάρα πολύ, ούτε λίγη. Υπάρχουν πινακες για την ιδανική υγρασία κάθε φυτού.

ΕΡ: Ποιο υλικό κατά τη γνώμη σας θα ήταν καλύτερο να χρησιμοποιήσουμε για την κατασκευή του θερμοκηπίου στο project μας;

ΑΠ: Το καλύτερο υλικό χωρίς να διατρέχετε κίνδυνο είναι τα πολυκαρμπονικά.

ΕΡ: Υπάρχει κάποια εξάρτηση η αναλογία μεταξύ των τιμών της θερμοκρασίας και της υγρασίας μέσα στο θερμοκήπιο;

ΑΠ: Ασφαλώς και υπάρχει. Με το φαινόμενο της διαπνοής του φυτού. Το φυτό τραβάει υγρασία από το χώμα για να δροσιστεί και την απελευθερώνει στην ατμόσφαιρα.

ΕΡ: Ποια είναι κατά τη γνώμη σας τα σημαντικότερα σημεία που πρέπει να δώσουμε προσοχή για να πετύχουμε το καλύτερο αποτέλεσμα στο project μας;

ΑΠ: Να προσέξετε να μην βάλετε πολλές καλλιέργειες στον ίδιο χώρο. Να επιλέξετε μία καλλιέργεια και να δείτε σε τι μέγεθος μπορεί να αναπτυχθεί.

ΕΡ: Ένα θερμοκήπιο πρέπει να βρίσκεται το μεγαλύτερο μέρος της μέρας κάτω από το δυνατό φως του ήλιου ή πρέπει να βρούμε μία χρυσή τομή έτσι ώστε να μην αναπτύσσονται πολύ υψηλές θερμοκρασίες;

ΑΠ: Αυτό είναι ένα πρόβλημα που έχει δύσκολη λύση γιατί όπως είπαμε τα φυτά θέλουν φως, Αυτό που πρέπει να προσέχουμε είναι οι θερμοκρασίες. Αν οι θερμοκρασίες είναι πολύ υψηλές πρέπει να κάνετε κάτι.

ΕΡ: Από τη γνώση και την εμπειρία σας, είναι κάποιος παράγοντας που δεν έχουμε λάβει υπόψη και είναι τόσο σημαντικός που θα έπρεπε;

ΑΠ: Το διοξείδιο του άνθρακα. Γενικά θεωρώ ότι τον δρόμο τον χαράζεις περπατώντας, Οπότε στην πορεία θα δείτε τις αδυναμίες, κι εγώ με μεγάλη μου χαρά θα σας βοηθήσω να τις επιλύσετε.

Χαρακτηριστικά πειράματος Κλιματικές συνθήκες για την τριανταφυλλιά

Κλιματικές συνθήκες

Θερμοκρασία

Οι άριστες τιμές θερμοκρασίας για την τριανταφυλλιά είναι 21oC σε συννεφιασμένο καιρό και 24oC σε ηλιόλουστη ημέρα. Τη νύχτα η θερμοκρασία θα πρέπει να κυμαίνεται από 15-18oC. Σε χαμηλότερες θερμοκρασίες αλλά όχι κάτω των 12oC η βλάστηση είναι μικρότερη, η παραγωγή μειώνεται, αλλά η ποιότητα των ανθέων είναι καλύτερη. Το αντίθετο συμβαίνει με τις υψηλότερες θερμοκρασίες. Για τη ρύθμιση της παραγωγής όπως συμβαίνει και με το κορυφολόγημα, γίνεται αύξηση ή μείωση της νυκτερινής θερμοκρασίας επειδή επιταχύνει ή επιβραδύνει τη βλάστηση. Λόγω των υψηλών θερμοκρασιών που επικρατούν κατά τους καλο-καιρινούς μήνες, η ποιότητα των ανθέων είναι σχετικά κακή. Αν μειώσουμε τη θερμοκρασία αυτή την περίοδο, μπορούμε να επιτύχουμε μακρύτερα και περισσότερα πέταλα στα άνθη. Η μείωση της θερμοκρασίας είναι εφικτή με εφαρμογή διαφόρων τεχνικών όπως είναι ο αερισμός, η σκίαση του θερμοκηπίου, ο δροσισμός των φυτών κ.λπ.

Φώς

Σπουδαίο παράγοντα για την ανάπτυξη των φυτών αποτελεί το φως. Το καλοκαίρι όμως σε μεγάλες εντάσεις φωτισμού, παράγονται κοντύτερα ανθικά στελέχη και το χρώμα στα άνθη ξεθωριάζει. Αντίθετα, σε μειωμένη ένταση φωτισμού, τα φύλλα αποκτούν σκούρο πράσινο χρωματισμό και τα στελέχη γίνονται μακρύτερα. Ετσι, τους θερινούς μήνες, η σκίαση του θερμοκηπίου είναι αναγκαία ώστε η ένταση φωτισμού να μειωθεί σε 60.000 – 80.000 Lux από 10.0000 έως 12.0000 Lux που έχουμε την ημέρα.

Υγρασία – Αερισμός

Η τριανταφυλλιά είναι φυτό με μεγάλες απαιτήσεις σε σχετική υγρασία ιδιαίτερα μετά τη φύτευση που πρέπει να είναι 80-90% και να μειώνεται σταδιακά μέχρι τους 70-75% και στην περίοδο της άνθηση στο 60-70%. Προκειμένου να προστατευθεί η καλλιέργεια από διάφορες ασθένειες (περονόσπορος, βοτρύτης κ.τ.λ.), που ευνοούνται από την υψηλή σχετική υγρασία, το φθινόπωρο είναι απαραίτητη η μείωσή της. Μείωση της σχετικής υγρασίας μπορεί να επιτευχθεί με τον αερισμό του θερμοκηπίου. Σε χαμηλή όμως σχετική υγρασία, έχουμε διάδοση εχθρών (τετράνυχος) και ασθενειών όπως, ωίδιο, τα φύλλα παθαίνουν οριστική παραμόρφωση ενώ η επίπτωση στα άνθη είναι πολλαπλή (αλλοίωση χρωματισμού, κύρτωση μίσχου κ.ά.). Για το λόγο αυτό αφενός μεν κάνουμε προληπτικούς ψεκασμούς και χρήση εξαχνωτήρων θείου, αφετέρου αποφεύγουμε τη χαμηλή υγρασία <60% που συν τοις άλλοις καθυστερεί την ανάπτυξη του φυτού.

Διοξείδιο του άνθρακα

Θετική επίδραση στην ποσότητα και ποιότητα των κομμένων λουλουδιών έχει ο εμπλουτισμός της ατμόσφαιρας του θερμοκηπίου με διοξείδιο του άνθρακα. Όταν η συγκέντρωση τού CO2 φτάσει στο επίπεδο των 1.000-2.0000 ppm, τα τριαντάφυλλα έχουν μεγαλύτερο βάρος, περισσότερα πέταλα, μεγαλύτερη διάμετρο και μακρύτερα ανθικά στελέχη, σε σύγκριση με τα κανονικά επίπεδα που είναι 150-300 ppm. Ο εμπλουτισμός της ατμόσφαιρας του θερμοκηπίου με CO2 γίνεται από τις αρχές Οκτωβρίου μέχρι το Μάρτιο – Απρίλιο. Ξεκινά μισή ώρα από την ανατολή του ήλιου και σταματά μιάμιση ώρα πριν από τη δύση. Στο χώρο του Θερμοκηπίου Θέλουμε η συγκέντρωση του διοξειδίου- του άνθρακα να είναι 1000 – 15000ρρm. Αυτή τη συγκέντρωση, Θεωρείται βλαβερή για τον άνθρωπο μιας και το όριο επιφυλακής είναι τα 1000 ppm. Για την παραγωγή του CO2 υπάρχουν διάφορα καυστικά υλικά που μπορούν να χρησιμοποιούν. Στην πράξη χρησιμοποιείται η παραφίνη που έχει το μικρότερο κόστος.

Εδαφικές συνθήκες

Κατάλληλο έδαφος για τη σωστή ανάπτυξη της τριανταφυλλιάς είναι το μέσης σύστασης έδαφος, που δεν είναι συνεκτικό αλλά ελαφρύ, με καλή αποστράγγιση και αερισμό. Τα εδάφη που δεν αερίζονται σωστά με μεγάλες ποσότητες ασβεστίου και αλάτων επιδρούν αρνητικά στην ανάπτυξη των φυτών. Για να μπορεί το έδαφος να έχει τα επιθυμητά χαρακτηριστικά σε βάθος 25-35cm, Θα πρέπει να γίνει βελτίωσή του, με προσθήκη 40-70% εδαφοβελτιωτικών υλικών όπως είναι η οργανική ουσία και τα αδρανή βελτιωτικά εδάφους. Το ρΗ του εδάφους θα πρέπει να κυμαίνεται μεταξύ 6,0-7,0. Οι ιδιότητες του εδάφους αποτελούν βασικό κριτήριο στην επιλογή του υποκειμένου, πάνω στο οποίο είναι εμβολιασμένες οι τριανταφυλλιές.

Άρα στο θερμοκήπιο μας θα πρέπει να επικρατούν οι παρακάτω συνθήκες

Θερμοκρασία: 21-24 C

Υγρασία – Αερισμός: 65-70 %

Διοξείδιο του άνθρακα: 1000 – 15000ρρm

Εδαφική υγρασία : < 500

Τρόποι παραγωγής CO2

  • Για ερασιτεχνική χρήση και μικρούς χώρους πολλοί καλλιεργητές χρησιμοποιούν την αποσύνθεση της οργανικής ύλης μέσω των μικροβιακής ζωής και έτσι εξάγεται διοξείδιο του άνθρακα. Όπως επίσης και μέσω της ζύμωσης έχουμε απελευθέρωση διοξειδίου του άνθρακα από την ζύμωση ζάχαρης με μαγιά.
  • Μία ακόμα ερασιτεχνική λύση είναι ο ξηρός πάγος που χρησιμοποιείται όμως για να ψύξει τον χώρο καλλιέργειας από πολύ μικρούς καλλιεργητές.
  • Τέλος μία ακόμα λύση για μικρούς καλλιεργητές είναι η χημική μέθοδος, δηλαδή η μίξη διττανθρακικής σόδας με οξικό οξύ έχουμε έκλυση διοξειδίου του άνθρακα.

Διάγραμμα ροής

 

Σύνδεση

Sensor side Arduino side
TMP22
Vcc -> 5V
Gnd -> GND
Data -> D2
FAN
Vcc -> 12V
Gnd -> GND
Data -> D10
SOIL SENSOR
Vcc -> 5V
Gnd -> GND
Data -> A1
SERVO ROOF 1
Vcc -> 5V
Gnd -> GND
Data -> D9
SERVO ROOF 2
Vcc -> 5V
Gnd -> GND
Data -> D11
SERVO WATER TANK
Vcc -> 5V
Gnd -> GND
Data -> D3
WATER PUMP PLANT
Vcc -> 12V
Gnd -> GND
Data -> D7
WATER PUMP GROUND
Vcc -> 5V
Gnd -> GND
Data -> D8
CO2
Vcc -> 5V
Gnd -> GND
Data -> A2
TANK DISTANCE SENSOR
Vcc -> 5V
Gnd -> GND
Trig -> D5
Echo -> D6
RAIN SENSOR
Vcc -> 5V
Gnd -> GND
Data -> A0

Τελικός κώδικας ενιαίο

Κώδικας mega

#include <SimpleDHT.h>
#include <EasyUltrasonic.h>
#include <Servo.h>
#define RLOAD 22.0
#include <MQ135.h>

SimpleDHT22 thetemp(2);
EasyUltrasonic thedistance;
Servo tankservo;
Servo roofservo1;
Servo roofservo2;

MQ135 gasSensor = MQ135(A2);
int val;

byte temperature = 0;
byte humidity = 0;
int values = SimpleDHTErrSuccess;
int rain;
int soil;

int plantSoil = 500;
int plantTemp = 25 ;
int plantMoistMin = 65;
int plantMoistMax = 70;
int plantPpm = 14500;

#define TRIGPIN 5 
#define ECHOPIN 6 

void setup() {
Serial.begin(9600);
pinMode(2,INPUT); //temp
pinMode(9,OUTPUT); //roofservo1
pinMode(10,OUTPUT);// relay fan
pinMode(11,OUTPUT); //roofservo2
pinMode(A0,INPUT);//rain
pinMode(3,OUTPUT);//tankservo
pinMode(A1,INPUT);//soil
pinMode(7,OUTPUT);//relay water pump soil
pinMode(8,OUTPUT);//relay water pump moist ground
pinMode(A2, INPUT);//mq135

thedistance.attach(TRIGPIN, ECHOPIN);

tankservo.attach(3);
roofservo1.attach(9);
roofservo2.attach(11);
}

void loop() {


val = analogRead(A2);
 // float zero = gasSensor.getRZero();
// Serial.print ("rzero: ");
//Serial.println (zero);
float ppm = gasSensor.getPPM();


values = thetemp.read(&temperature, &humidity, NULL);

rain = analogRead(A0);


float distanceCM = thedistance.getDistanceCM();


soil = analogRead(A1);

Serial.print ("raw = ");
Serial.println (val);
Serial.print ("ppm: ");
Serial.println (ppm);
Serial.print("Η θερμοκρασία είναι:");
Serial.println(temperature);
Serial.print("Η Υγρασία είναι:");
Serial.println(humidity);
Serial.print("Βροχή:");
Serial.println(rain);
Serial.print(distanceCM);
Serial.println(" cm");
Serial.print("Χώμα:");
Serial.println(soil);
//Serial.print("#," + String(ppm) + "," + String(temperature) + "," + String(humidity) + "," + String(rain) + "," + String(distanceCM) + "," + String(soil) + "," + ",\n");
Serial.print("#,1022,23,52,500,13,600,\n");
Serial.flush();


if (rain >= 500){
tankservo.write(180);
  }


if (distanceCM > 4 && rain < 500){
    tankservo.write(0);

  }else
  {
    tankservo.write(180);
  }

if (temperature > plantTemp || (humidity >= plantMoistMin && humidity <= plantMoistMax) || ppm > plantPpm){
digitalWrite(10 , HIGH);
roofservo1.write(70);
roofservo2.write(110);
}else
{
  digitalWrite(10 , LOW);
  roofservo1.write(0);
  roofservo2.write(180);
  }

if (soil > plantSoil ){
digitalWrite(7 , HIGH);
}else
{
  digitalWrite(7 , LOW);
  }

if (humidity < plantMoistMin){

  digitalWrite(8 , HIGH);
  delay(4000);
  digitalWrite(8 , LOW);

}


delay(4000);
//tankservo.write(90);
}

Τι να προσέξω – Αστοχίες και λάθη

  • Μετά την επίσκεψή μας στο ΜΑΙΧ διαπιστώσαμε ότι ήταν απαραίτητη η προσθήκη αισθητήρα διοξειδίου του άνθρακα. Έτσι προσθέσαμε στις απαιτήσεις ένα αισθητήρα MQ135.

  • Στην ενότητα Advanced programming θα πρέπει να συνδέσετε και το GND καλώδιο, όπως υπάρχει στο σχέδιο. Σε αντίθετη περίπτωση η επικοινωνία μεταξύ των μικροελεγκτών θα παρουσιάζει πολλούς χαρακτήρες “σκουπίδια”, και η επικοινωνία θα είναι πολύ ασταθής.

  • Ένα πολύ σημαντικό πρόβλημα που αντιμετωπίσαμε ήταν η τροφοδοσία του υλικού. Τα servo και οι αντλίες ήταν πολύ ενεργοβόρα με αποτέλεσμα να μην μπορεί να λειτουργήσει. Η λύση δόθηκε χρησιμοποιώντας step-down dc-dc έτσι ώστε να τα τροφοδοτήσουμε από την μπαταρία των 12v και να κατεβάσουμε την τάση στα 5v. Προσοχή στο step-down να είναι περίπου 5 Amp.

Advanced programming για τον εκπαιδευτικό πληροφορικής ή για ΕΠΑΛ

Nodemcu esp8266 – access point and web server (serial communication arduino uno to esp)

Σύνδεση


Μελλοντική αναβάθμιση με App Inventor Serial port programming

Θα μπορούσε να δημιουργηθεί μια εφαρμογή με το app inventor όπου θα συνδέεται με το arduino μέσο καλωδίου usb και θα επικοινωνεί με τη σειριακή θύρα του μικροελεγκτή. Με αυτό τον τρόπο θα έχουμε ένα πάνελ που θα περιέχει τις πληροφορίες του θερμοκηπίου και θα μπορούσαμε να έχουμε και κουμπιά ελέγχου για χειροκίνητη ενεργοποίηση αισθητήρων. Τέλος με αυτό τον τρόπο θα μπορούμε να έχουμε συναγερμούς που θα μπορούν να μας ειδοποιούν για τις ανάγκες του φυτού ή επικίνδυνες καταστάσεις για το φυτό αυτό, καθώς επίσης να δημιουργηθεί μία βάση δεδομένων με διαφορετικού είδους φυτά όπου το θερμοκήπιο θα παίρνει τις παραμέτρους για τις συνθήκες που πρέπει να έχει το φυτό αυτόματα.

Συνεργασία για το σχολικό έτος 23-24

Μετά από επικοινωνία με το ΕΠΑΛ Ελευθερίου Βενιζέλου, όπου έχουν ασχοληθεί με την κατασκευή θερμοκηπίου μέσω 3D εκτύπωσης το οποίο παρουσιάστηκε στο φεστιβάλ ψηφιακής δημιουργίας στα Χανιά (https://www.haniotika-nea.gr/entyposiakes-psifiakes-dimioyrgies-se-mathitiko-festival-sta-chania/), αποφασίσαμε την συνεργασία των δύο σχολικών μονάδων έτσι ώστε να παραχθεί ένα κοινό αποτέλεσμα. Το έργο επιθυμούμε να εμπλουτιστεί, με τη βοήθεια του τμήματος γεωπονίας του ΕΠΑΛ και με τη βοήθεια του ΜΑΙΧ, με συστήματα υδροπονίας.

Φωτογραφικό υλικό

Εργαστήριο πληροφορικής – Προγραμματισμός και σύνδεση αισθητήρων

Εκπαιδευτική επίσκεψη στο Μεσογειακό Αγρονομικό Ινστιτούτο Χανίων (ΜΑΙΧ)

Εργαστήριο πληροφορικής – Κατασκευή Θερμοκηπίου

Δοκιμές και παραμετροποίηση

Βίντεο παρουσίαση

Βίντεο παρουσίαση

ΕΥΧΑΡΙΣΤΙΕΣ

Ευχαριστούμε θερμά για την πολύτιμη βοήθεια και προσφορά τους.

Τον κύριο Πρεκατσάκη Γιώργο (Υπεύθυνο εργαστηρίου εδαφολογίας και διαγνωστικής φυτών στο Μεσογειακό Αγρονομικό Ινστιτούτο Χανίων)

https://epigrafeschania.gr/

Τον κύριο Βλαμάκη για την σχεδίαση και την κοπή των πολυκαρμπονικών τμημάτων.