You are on page 1of 14

Robòtica amb arduino

Controlem la temperatura de l’hivernacle

Control automàtic de la temperatura diürna en hivernacles mitjançant ventilació natural


Extret de:
https://www.interempresas.net/Horticola/Articulos/346612-Control-automatico-de-la-temperatura-diurna-en-inve
rnaderos-mediante-ventilacion-natural.html

Francisco García Mañas, Francisco Rodríguez Díaz, José Luis Guzmán Sánchez, Manuel Berenguel Soria. Grup d'Automàtica, Robòtica i
Mecatrònica (TEP-197, arm.ual.es), Departament d'Informàtica, Universitat d'Almeria, CIESOL, ceiA3, 04120, Almeria.

La ventilació natural és el sistema que tradicionalment es fa servir als hivernacles del sud-est d'Espanya per
controlar la temperatura a l'interior, regulant l'obertura de les finestres en funció d'una temperatura òptima
per al cultiu. En els darrers anys s'estan incorporant solucions d'automatització com són els controladors
comercials, que eviten que els agricultors hagin de fer el maneig de la ventilació manualment. En l'àmbit de la
investigació, s'han desenvolupat noves tècniques de control, de senzilla implantació i que aporten excel·lents
resultats. Aquest fet confirma que el control automàtic és una contribució fonamental per millorar les
condicions de creixement del cultiu i, per tant, per millorar el rendiment de les explotacions agrícoles.

El creixement d'un cultiu depèn de les variables climàtiques de l'entorn on es troba. La temperatura és una
variable climàtica que influeix directament sobre el creixement del cultiu i que se sol controlar als hivernacles. El
problema de control de la temperatura diürna és evitar que la temperatura de l'aire a l'interior de l'hivernacle
superi un valor en què el seu efecte sigui perjudicial per al cultiu. Tradicionalment, la ventilació natural és el
sistema d'actuació que s'utilitza més per regular la temperatura als hivernacles, sobretot en clima mediterrani.

La ventilació natural proporciona un intercanvi d'aire entre l'interior i l'exterior de l'hivernacle. L'aire exterior,
generalment més fred que l'aire interior, se situa a les capes inferiors del volum d'aire de l'hivernacle, desplaçant
l'aire calent que puja a les capes superiors i surt a l'exterior per la ventilació oberta.

El control automatitzat de la ventilació natural s'efectua normalment mitjançant motors elèctrics, encarregats de
tancar i obrir les finestres de l'hivernacle. Per a les finestres zenitals, se solen instal·lar motorreductors amb un
sistema de pinyó-cremallera, mentre que per a les finestres laterals s'utilitzen motors enrotllables, permetent que
el plàstic giri al voltant d'un eix connectat al motor.
Control amb sistemes comercials

El control de la temperatura diürna en un hivernacle es pot fer amb un controlador encarregat d'efectuar
automàticament l'obertura de la ventilació per assolir la consigna de temperatura desitjada. Actualment es
comercialitzen controladors no només enfocats al control de temperatura, sinó també a una gestió completa del
clima interior de l'hivernacle, tenint en compte sistemes de calefacció, humidificació, injecció de CO2, entre molts
altres. Per al problema de control de la temperatura mitjançant ventilació natural, la majoria dels controladors
comercials disposen d'una interfície que permet als agricultors establir la consigna de temperatura que desitgen al
seu hivernacle. Aquest tipus de controladors solen gestionar l'obertura i el tancament de les finestres segons
algorismes basats en regles. El controlador rep informació contínuament d'un conjunt de sensors i actua segons les
regles que tingui programades. Per exemple, si la temperatura a l'interior de l'hivernacle ultrapassa el valor de
consigna indicat pels agricultors, el controlador obrirà la ventilació; si la temperatura és inferior a la consigna,
aleshores tancarà les finestres. Com més gran sigui la diferència entre la temperatura interior i el valor de consigna
desitjat, més gran serà el percentatge d'obertura o tancament de les finestres. Aquests controladors també poden
tenir en compte el clima a l'exterior de l'hivernacle i prendre decisions com a accions de protecció, efectuant, per
exemple, el tancament de les finestres zenitals si la velocitat del vent a l'exterior assoleix valors molt elevats.

Els controladors comercials ofereixen un increment de productivitat, comoditat i seguretat davant la tradicional
operació manual de la ventilació, però presenten limitacions degut a la complexitat dels fenòmens que tenen lloc a
l'interior d'un hivernacle i a les variacions del clima exterior que actuen com a pertorbacions. (variables exògenes
que provoquen que la temperatura interior variï de forma permanent).

Sistema de control

El control automàtic de la ventilació natural amb sistemes comercials s'està implantant progressivament en més
hivernacles a causa dels avantatges que ofereix en termes de comoditat, senzillesa, seguretat i increment de
productivitat. A continuació podeu veure un exemple basat en el control de la temperatura interior, la temperatura
exterior i la velocitat del vent.

Esquema de control per planificació de guanys aplicat per controlar la temperatura diürna de
I en el nostre hivernacle, com controlarem la temperatura interior mitjançant un sistema de
ventilació? Per poder programar el control de les finestres caldrà que primer realitzis els
següents 4 reptes…

Utilitzarem un simulador de circuits, el Tinkercad. Pots entrar a l’activitat a través del següent
enllaç:https://www.tinkercad.com/joinclass/4BIGTFGWM

AVALUACIÓ DE L’ACTIVITAT
Introdueix l’enllaç de totes les activitats que facis amb Tinkercad al Classroom i fes una
fotografia de tots els projectes que provis amb la placa Arduino. Adjunta aquesta
fotografia a l’activitat.

Encenem un led
Encenem un led utilitzant el port 13.

https://youtu.be/dnPPoetX0uw

Material: 1 tarja Arduino UNO, 1 LED.

Programació amb Arduino IDE:

void setup() {
pinMode(13, OUTPUT); }

void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}

Repte:
Cal variar la freqüència en la intermitència
del LED.

https://serveiseducatius.xtec.cat/tarragones/programes/robotica/encendre-un-led/

Polsadors i leds
Utilitzarem un botó de membrana de 4 potes com un polsador, de manera que en prémer el polsador el
LED s’encengui un determinat temps i s’apagui automàticament.

https://youtu.be/u7JrOoQ3OxI

Material:
1 tarja Arduino UNO, 1 polsador de membrana de 4 potes, 1 LED, 1 resistència 100KOhms (pel
polsador), 1 resistència 220Ohms (pel LED), 1 breadboard, 7 cables Dupont.

Utilitza els ports 2 (polsador) i 3 (led)

Programació amb Arduino IDE:

void setup() {
pinMode(2, INPUT);
pinMode(3, OUTPUT);
}

void loop() {
if(digitalRead(2)==HIGH){
digitalWrite(3, HIGH);
delay(500);
digitalWrite(3, LOW);
}
}
https://serveiseducatius.xtec.cat/tarragones/programes/robotica/polsadors-i-
leds/

Controlem un servo

El servomotor es va movent de 30 en 30 graus fins arribar a 180 graus i torna a reiniciar.

https://youtu.be/QqYAP2gCqFQ

Material:
1 tarja Arduino UNO, 1 servomotor SG90, 3 cables Dupont.

Descripció:
Utilitza el port 3 perquè té característiques PWM.
Programació amb Arduino IDE:

#include <Servo.h>
Servo servo1;
int graus = 0;

void setup() {
servo1.attach(3);
}

void loop() {
servo1.write(graus);
delay(500);
graus = graus + 30;
if(graus > 180){
graus = 0;}
} https://serveiseducatius.xtec.cat/tarragones/programes/robotica/controlant-un-servo/
}

Sensor de temperatura

Mesurant temperatura amb Arduino i LM35


Programem la lectura de la temperatura utilitzant un LM35

Per al mesurament de la temperatura utilitzarem el sensor de temperatura LM35.

Materials: Sensor de temperatura LM35, cables de protoboard, protoboard


Aquest sensor té una sortida anàlogica proporcional a la temperatura que registra (pin del centre),
d'acord amb la fotografia d'esquerra a dreta els pins són +Vcc, Vout o Analog Out i GND (com a
referència a la fotografia i al diagrama utilitzarem els colors vermell per a +5V, verd per a l’entrada
analògica A0 i negre per a GND (Ground o Terra).

Programació amb Arduino IDE:

float T;

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

void loop()
{
T= analogRead(0);
T = (5.0 * T * 100.0)/1024.0;
Serial.print(T);
Serial.print("graus Celsius\n");
delay(5000);
}

El nostre projecte s'ha de veure així

https://www.internetdelascosas.cl/2012/05/04/midiendo-temperatura-con-arduino-y-lm35/
Per utilitzar plaques Arduino a Chromebook heu d’instal·lar Arduino Cloud per a Choromebook (Google Play).

https://support.arduino.cc/hc/en-us/articles/360016495639-Use-Arduino-with-Chromebook

Com enviem les dades a l’Arduino?

Pots programar directament a l’IDE d’Arduino(Windows) o a l’Arduino Cloud (Windows/Chromebook) o bé copiar i


enganxar el codi que has treballat amb Tinkercad. Així és com es veu l’sketch (programa) a l’IDE (entorrn integrat
de desenvolupament) de l’Arduino, a continuació el descarregarem a la placa. En el procés de compilació (traducció
a un altre llenguatge de programació) l’IDE revisa que el programa no tingui errors..
Un cop carregat a l'Arduino, aquest començarà immediatament a sensar i enviarà les dades per la porta serial que
podem monitoritzar amb el «Monitor Serial» que és una de les eines que té la Interfície de Desenvolupament
d'Arduino al menú Eines

Al meu ordinador la porta serial (o de comunicacions COM) on tinc connectat l'Arduino és la 28, per això la finestra
diu COM28. La sortida que s'obté és la següent

L'Arduino ja està enviant les dades de temperatura al port serial.

PROJECTE: CONTROLEM L’OBERTURA DE LA FINESTRA DE L’HIVERNACLE

Enllaç per instal·lar Arduino Cloud Chromebook:


https://play.google.com/store/apps/details?id=cc.arduino.create_editor
Ara que ja has après a programar la placa Arduino pots fer el programa per controlar l’obertura de les finestres i
aconseguir una ventilació adequada a l’hivernacle a partir de les dades del sensor de temperatura. El sistema
disposarà també d’un polsador que permetrà obrir les finestres uns segons amb la finalitat de renovar l’aire
(reduir els nivells de CO2) encara que la temperatura sigui baixa.

Fes-ne primer la simulació a Tinkercad i copia l’Sketch a l’Arduino Cloud (Chromebook) o a l’Arduino IDE
(Windows) per baixar-lo a la placa.

Codi de la classe de l'activitat de Tinkercad:


https://www.tinkercad.com/joinclass/4BIGTFGWM

Activitat d’ampliació: comandem l’obertura manual de les finestres mitjançant un


comandament a distància.

IR amb comandament (comandament per infrarojos)

Descripció:
Exemple de funcionament d’un receptor IR KY-022 amb un comandament a distància
CarMP3.

https://youtu.be/CJu_yueT2GI

En l’Arduino IDE inclourem la llibreria <IRremote.h>, que no està inclosa entre les
llibreries de l’Arduino IDE i caldrà descaregar-la d’aquí.

Els codis són els següents:


Material:
1 tarja Arduino UNO, 1 receptor infraroig KY-022, 3 cables Dupont, un comandament
infraroig Car MP3.

Programació amb Arduino IDE:

#include <IRremote.h>

const int receptor = 11;


IRrecv detectaIR(receptor);
decode_results resultats;

void setup(){
Serial.begin(9600);
detectaIR.enableIRIn();
detectaIR.blink13(true);
}

void loop() {
if (detectaIR.decode(&resultats)){
decodificaIR();
delay(1000);
detectaIR.resume();
}
}
void decodificaIR()
{
// descomentar per veure els valors en DEC i HEX
/* Serial.print("Valor del comandament (dec):
");
Serial.println(resultats.value, DEC);
Serial.print("Valor del comandament (hex): ");
Serial.println(resultats.value, HEX); */
switch(resultats.value)
{
case 0xFFA25D:
Serial.println("Has premut CH-");
break;
case 0xFF629D:
Serial.println("Has premut CH");
break;
case 0xFFE21D:
Serial.println("Has premut CH+");
break;
case 0xFF22DD:
Serial.println("Has premut <<");
break;
case 0xFF02FD:
Serial.println("Has premut >>");
break;
case 0xFFC23D:
Serial.println("Has premut >||");
break;
case 0xFFE01F:
Serial.println("Has premut -");
break ;
case 0xFFA857:
Serial.println("Has premut +");
break;
case 0xFF906F:
Serial.println("Has premut EQ");
break;
case 0xFF6897:
Serial.println("Has premut 0");
break;
case 0xFF9867:
Serial.println("Has premut 100+");
break ;
case 0xFFB04F:
Serial.println("Has premut 200+");
break ;
case 0xFF30CF:
Serial.println("Has premut 1");
break;
case 0xFF18E7:
Serial.println("Has premut 2");
break;
case 0xFF7A85:
Serial.println("Has premut 3");
break;
case 0xFF10EF: Repte: encén un led amb un comandament IR
Serial.println("Has premut 4");
break;
case 0xFF38C7:
Serial.println("Has premut 5");
break;
case 0xFF5AA5:
Serial.println("Has premut 6");
break ;
case 0xFF42BD:
Serial.println("Has premut 7");
break;
case 0xFF4AB5:
Serial.println("Has premut 8");
break;
case 0xFF52AD:
Serial.println("Has premut 9");
break ;
default:
break;
}
}

Assoliment excel·lent Assoliment notable Assoliment satisfactori No assolit

Control del sistema Analitza els circuits Analitza els circuits Analitza els circuits Manca completar
de ventilació d’un bàsics de la placa bàsics de la placa bàsics de la placa les activitats.
hivernacle Arduino (control Arduino (control d’un Arduino (control d’un
d’un led, polsadors i led, polsadors i led, polsadors i
sensor de sensor de sensor de
Tecnologia 4t temperatura) i temperatura) i temperatura).
simula, dissenya i simula, dissenya i
4.1 Dissenyar, construir,
construeix el construeix el sistema
controlar i/o simular
sistema de de ventilació
sistemes automàtics
programables i robots ventilació automàtic automàtic de
que siguin capaços de de l’hivernacle l’hivernacle.
fer tasques de forma de forma autònoma.
autònoma, aplicant
coneixements de
mecànica, electrònica,
pneumàtica i
components dels
sistemes de control, així
com altres
coneixements
interdisciplinaris.
Digitalització 4t
2.2 Dissenyar solucions
possibles a problemes
plantejats aplicant
diferents formes de
raonament, com el
pensament de disseny i
el pensament
computacional, tenint
en compte les
tecnologies emergents,
la realitat virtual,
augmentada i mixta

100 punts 75 punts 50 punts 25 punts

You might also like