20

Memoria

Embed Size (px)

DESCRIPTION

TEMPDUINO

Citation preview

Pablo Barranco RodríguezValentina Boschetto Cinello

Antonio Pérez de Juan

ÍNDICE

1. Introducción2. Fases de funcionamiento3. Materiales4. Esquema5. Pasos realizados montaje6. Software

6.1. Código Arduino 6.2. Código Android

7. Problemas software y componentes8. Problemas mecánicos9. Mejoras a implementar

10. Conclusiones

2

INTRODUCCIÓN

Un climatizador, es el aparato fundamental en el tratamiento del aire en las instalaciones de climatización, en cuanto a los caudales correctos de ventilación y temperatura (calentamiento o enfriamiento).

Por sí mismos no producen calor ni frío, que les llega de fuentes externas (caldera o máquinas frigoríficas) por tuberías de agua o gas refrigerante. Puede, no obstante, haber un aporte propio de calor mediante resistencias eléctricas de apoyo incorporadas en algunos equipos.

Nuestro proyecto: Se trata de un dispositivo que es capaz de distribuir el aire en diferentes direcciones, una vez transformado a frío o calor, mediante una resistencia de calor y una fuente de refrigeración.

Todo ello controlado por el usuario a través de una aplicación Android, la cual muestra temperatura exterior.

3

FASES DE FUNCIONAMIENTO

FASE1: Enlace bluetooth entre la aplicación Android y el climatizador.

FASE2: El sistema mostrará la temperatura ambiente en la aplicación.

4

FASE3: El usuario enciende el climatizador, y, según la temperatura deseada comandada por este, Arduino gestionará la velocidad de salida del aire y la temperatura a la que sale del aparato.

Arduino gestiona el apagado del aparato una vez que se haya alcanzado la temperatura deseada. El usuario también dispone de la capacidad para apagar el aparato.

5

MATERIALES

Módulo Arduino UNO (0€)

Protoboard (0€)

Módulo motor DC (ventilador) (0€)- Transistor de tipo NPN (0,80€)- Diodo 1N4001 (0,80€) - Resistencia de 330 Ohms (2€)

Módulo Bluetooth HC-06 (5€)

Sensor temperatura DHT11 (3€)

Pila 4,5V (0€)

LED verde (0€)

Servomotor (0€)

Una resistencia de 1 KOhm (2€)

Resistencia de calor (6€) - Transistor de tipo NPN (0,80€)- Resistencia de 330 Ohms (2€)

Caja climatizador - Pintura blanca (9€)- Bisagras (2€)- Bandeja de hielos (0€)

6

ESQUEMA

7

PASOS REALIZADOS MONTAJE

Primero, hicimos los cortes necesarios en la caja para la ubicación correcta de los componentes. El siguiente paso fue pintar la caja con pintura para madera y su correspondiente secado. Después, colocamos las aspas de distribución de aire con bisagras y, por último, colocamos los componentes dentro.

8

9

Montaje final:

10

SOFTWARE

Código Arduino

#include <Servo.h>Servo servox; // librería y declaración servomotor

int motorPin = 5; //pin motor dc

#include <DHT.h>#include <SoftwareSerial.h>#define DHTPIN 8#define DHTTYPE DHT11SoftwareSerial BT(6,9);DHT dht(DHTPIN, DHTTYPE); //librerías y declaraciones bluetooth y sensor temperatura

int estado=2; //estado inicial apagado

int tobj=0; //var temperatura objetivoint t=21; //var temperatura recogida del sensorboolean on=false; //boolean encendido

void setup() { servox.attach(3);servox.write(130);delay(1000); //Inicialización servo para rendijas.

pinMode(motorPin, OUTPUT);//pin motor dc modo out

pinMode(4,OUTPUT); //pin resistencia calor modo out

BT.begin(9600);BT.flush();delay(500); //Iniciamos comunicación con bluetooth

Serial.begin(9600); // para depurar con el serial

pinMode(13,OUTPUT); // pin led encendido modo out

dht.begin(); //inicializamos sensor temp.}

11

void loop() { if(BT.available()){ estado=BT.read(); Serial.println(estado); if (estado==3){ tobj=20; BT.print(tobj); BT.flush(); on=true; } if (estado==7){ t=dht.readTemperature(); BT.print(t); Serial.print("Temperatura "); Serial.println(t); } if (estado==4){ if (tobj>=18){ tobj-=1;} BT.print(tobj); Serial.println(tobj); on=true; } if (estado==5){ if (tobj<=30){ tobj+=1;} BT.print(tobj); on=true; } } if ((estado==2) || (tobj==t)){ //Se para el sistema si se llega a la temperatura objetivo servox.detach(); analogWrite(motorPin, 0); BT.flush();

12

on=false; digitalWrite(13,LOW); digitalWrite(4,LOW); } if((on==true)&&(t!=tobj)){ //funciones encendido servox.attach(3); if((t-tobj)>=5){analogWrite(motorPin,240);}//intensidad motor segun diferencia de temperatura. else if((t-tobj>0)&&(t-tobj<5)){analogWrite(motorPin,170);} else if((t-tobj>-5)&&(t-tobj<0)){analogWrite(motorPin,170);} else if ((t-tobj)<-5) {(motorPin,240);} if(tobj>t){digitalWrite(4,HIGH); //Encendido resistencia de calor } else{digitalWrite(4,LOW);} digitalWrite(13,HIGH); } servox.write(0); delay(1000); servox.write(130); delay(1000); }//end loop

13

Código Android

14

15

PROBLEMAS SOFTWARE Y COMPONENTES

- Elección Rx, Tx dispositivo bluetooth. Conflicto Rx, Tx estándar Arduino.- Motor DC ¿analógico o digital?.- Fuerza electromotriz de vuelta cuando el motor se para.- Potencia para todos los dispositivos.- Sincronización BT y tipo de datos.- Recepción cambiante de temperatura desde DHT11.

PROBLEMAS MECÁNICOS

-Distribución movimiento desde el servomotor a las aspas de distribución de aire.

MEJORAS A IMPLEMENTAR

- Incluir una fuente de refrigeración basada en gas o corriente de agua.- Mejora potencia para hacer más efectivo el climatizador en situaciones reales.- Incluir una recepción continua y más estable de la temperatura exterior.

16

CONCLUSIONES

- Nos hubiera gustado tener más tiempo y presupuesto para sumergirnos en el mundo Arduino, ya que lo encontramos muy interesante y aplicable a muchos problemas cotidianos.

- También, la falta de tiempo hizo ajustarnos a una idea más básica de lo que nos hubiera gustado. La innovación es muy factible con este dispositivo.

- Es destacable, la absorción de conocimientos mediante esta forma de evaluación práctica de la asignatura, que con la ‘pelea’ con la práctica hemos aprendido mucho más que preparándonos un examen.

17