Está en la página 1de 14

ANDRÉS SALAZAR ARIAS

AIDA TERAN ARMAS

COLEGIO POLITÉCNICO

MEDIDOR DE CONDIONES AMBIENTALES

DEPARTAMENTO DE INGENIERIA QUÍMICA

Supervisado por:
Luis Caiza Chicaiza
Índice
1 Descripción del proyecto 2

2 Propuesta del proyecto 2


2.1 Objetivos a alcanzar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

3 Diseño mecánico 3

4 Diseño eléctrico 4

5 Diseño electrónico 6

6 Lista de piezas y materiales 6

7 Presupuesto real y detalle de lo gastado 8

8 Manual de operación y mantenimiento 8


8.1 Operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
8.2 Mantenimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

9 Código fuente del proyecto 10

1
1. Descripción del proyecto
El presente proyecto se refiere al componente práctico del curso de Electrónica para In-
genierı́as. El trabajo consiste en plantear una propuesta a interés de cada pareja, pero cuyo
resultado final conste de los siguientes elementos:

Pantalla LCD

Teclado

Arduino

Actuador

Para esto el proyecto propuesto debe funcionar con una fuente de voltaje, diseñada y cons-
truida por los mismos estudiantes. Ası́ como el circuito electrónico y programa en Arduino
necesario para su correcta ejecución. Para esto a lo largo del semestre cada grupo de presentar
una serie de avances, que en conjunto al final constituyen el producto final. Estos son como
siguen:

Avance 1: Definición del proyecto

Avance 2: Fuente de poder

Avance 3: Parte mecánica

Avance 4: Circuitos electrónicos

Avance 5: Software del proyecto

2. Propuesta del proyecto


La propuesta de este proyecto es un medidor de condiciones ambientales, temperatura y
humedad, para un laboratorio de ciencias experimentales. La idea de dicho aparato es medir
dichas condiciones durante cierto tiempo, elegido por el operador. Se optó por dicho proyecto
pues en un laboratorio la recolección de datos es sumamente importante, en cuanto a precisión
y frecuencia.
De esta manera, el sistema consta de un menú en el que se permite al operador escoger
el lapso del tiempo por el que se requiere realizar las mediciones. Además, se incorporó una
bocina, que funciona como actuador, pues esta suena cada vez que detecta un cambio en
cualquiera de las dos condiciones medidas. La idea es lograr un aparato que pueda ser fácilmente
implementado o utilizado dentro de un laboratorio, y ası́ otorgarle una utilidad.

2.1. Objetivos a alcanzar


Los siguientes objetivos son los que se establecieron al plantear la propuesta del proyecto:

2
Construir un sistema aplicando los conceptos de electrónica.

Diseñar un sistema apto para medir condiciones ambientales. (Temperatura y Humedad)

Diseñar dicho medidor de tal manera que pueda ser empleado en un laboratorio experi-
mental.

3. Diseño mecánico
El medidor de condiciones ambientales propuesto anteriormente consiste de una caja de
acrı́lico como sigue:
La figura 1, muestra la caja vista desde el frente.

Figura 1: Vista Frontal de la caja

Las vistas laterales en la figura 2 y figura 3 de la caja varian ligeramente entre un lado y
otro, pues en él un lado se encuentra el sensor DHT11 y al otro está el switch.

3
Figura 2: Lado de la caja donde se encuentra el sensor

4. Diseño eléctrico
Nuestro proyecto utiliza una fuente de voltaje que tiene la capacidad de transformar 120
[V] AC a 12, 9 o 5 [V] en DC debido a que es más sencillo transportar ondas que lı́neas rectas.
Nuestro diseño permite utilizar diferentes voltajes para facilitar su uso en cualquier aplicación,
además posee el adaptador que permite el paso de corriente directamente de la pared al arduino,
permitiendo que funcione en cualquier lugar que se pueda conectar, además posee un switch
para asegurar que el usuario pueda controlar cuando desea encender o apagar el equipo.
Con ayuda del software Proteus 8 se realizó el diseño de las placas que se presentara a
continuación:
La figura 4 es un esquema donde se usan los componentes que son utilizados en el diseño de
la fuente, este esquema podrı́a ser realizado en papel sin embargo nosotros decidimos hacerlo
aquı́ para simplificar el trabajo al hacer la placa además gracias a Proteus es mas sencillo
observar lo que se conecta y se puede simular y saber que las conexiones realizadas son las
adecuadas. Algo importante de la Figura 1 es que puede ser reproducida por cualquier persona
con conocimientos básicos ya que esta muy sencillo de entender.
En la figura 5 se usa el esquema de la figura 1 para que el programa genere el diseño
automático de la placa, la facilidad de usar Proteus es que al realizar el schematic capture
seleccionando todos los componentes permite que en el PBC Layout se cree gracias al autoroute

4
Figura 3: Lugar donde se encuentra el switch

Figura 4: Esquema de la fuente

5
Figura 5: Diseño para la placa

dejando lista la placa para imprimir, recordar que para imprimir la placa se hace en modo espejo
para que quede bien (recordar cómo hacer una placa en baquelita).

5. Diseño electrónico
El diseño electrónico desarrollado a lo largo del proyecto involucra un sensor de temperatura
y humedad DHT11, Arduino Uno, bocina, LCD Keypad Shield, resistencias y la fuente de
voltaje diseñado en el circuito eléctrico. La idea de usar todos estos componentes es realizar un
sensor que pueda ser utilizado dentro de un laboratorio de ingenierı́a quı́mica o de ingenierı́a
en alimentos pues es muy importantes las condiciones bajo las cuales se trabaja.
Para la realización del esquema de la figura 6 se investigó sobre el funcionamiento de los
aparatos electrónicos que se utilizaron adecuando todos a la plataforma arduino y para que
funcionen a 5 [V] en DC. Además, se añadió en Proteus algunas librerı́as y aparatos que no
estaban incluidos para poder realizar el diseño, además antes de elaborarlo como sugerencia se
debe probar en un protoboar para asegurar que el sistema funciona.
La placa es diseñada de manera similar que la que se hizo en la figura 3, se trabaja en
baquelita y se suelda con estaño.

6. Lista de piezas y materiales


A continuación, se muestra una lista de las piezas y materiales empleados en el diseño y
elaboración del medidor de condiciones ambientales, antes descrito.

Transformador (1)

Condensador (1)

Capacitor (1)

6
Figura 6: Esquema del circuito realizado en Proteus

Figura 7: Diseño para la placa del sensor

Resistencias Varias
Arduino Genuino UNO (1)
Keypad Shield LCD (1)
Bocina (1)
DHT11 Sensor Temperatura y Humedad (1)
Cables para Arduino
Baquelita (2)
Ácido
Papel Fototérmico (3)

7
Caja de Acrı́lico

7. Presupuesto real y detalle de lo gastado


A continuación, se muestra una lista de los materiales empleados junto con su valor corres-
pondiente.

Tabla 1: Presupuesto
Material (cantidad) Valor [$]
Transformador (1) 12.00
Condensador (1) 1.50
Capacitor (1) 2.30
Resistencias Varias 1.00
Arduino Genuino UNO (1) 35.00
Keypad Shield LCD (1) 13.50
Bocina (1) 1.00
DHT11 Sensor Temp. y Hum (1) 6.50
Cables para Arduino 4.00
Baquelita (2) 3.00
Ácido 3.50
Papel Fototérmico (3) 6.00
Sistema Mecánico 60

8. Manual de operación y mantenimiento


Para el uso del equipo es importante que los usuarios revisen las normas estipuladas por
el diseñador, este manual incluye la información necesaria para el mantenimiento del mismo.
Siempre y cuando se respete la información del documento el equipo no presentara ningún
problema. Si el equipo va a ser utilizado por estudiantes es importante que los tutores encargados
provean una copia de este documento a quienes van a usar el equipo.

8.1. Operación
Para el correcto uso y operación del medidor de condiciones ambientales se recomienda leer el
manual de operación y mantenimiento presentado a continuación. Las indicaciones presentadas
brindarán una guı́a al usuario para evitar problemas con el equipo.

1. El usuario debe asegurarse que el tomacorriente emita 120 [V] para que la fuente logre la
transformación de 9 [V] de corriente continua.

2. Existen tres fuentes en el equipo, de 5 [V], 9 [V] y 12 [V]. Cada una cuenta con un foco
LED, que al encenderse indica el funcionamiento de la misma. Los focos se asignaron a
las fuentes como sigue:
Rojo: 12 [V]

8
Verde: 9 [V]
Azul: 5 [V]
Una luz LED apagada indica averı́a en dicha fuente.

3. A continuación se procede a conectar el adaptador al Arduino Genuino UNO. Se enciende


a fuente y la LCD Keypad Shield se encenderá.

4. La pantalla mostrará el mensaje: “Cond. Ambientales”. Después de unos segundos se


desplegará la primera opción que corresponde a “10 segundos”, lo que implica que se
medirá temperatura y humedad durante 10 segundos.

5. Si se desea dicha opción se presiona el botón ‘SELECT’ del teclado, caso contrario se
presiona el botón ‘DOWN’ el cual dirige a la siguiente opción del menú. Las opciones son:
‘10 Segundos’
‘20 Segundos’
‘30 Segundos’
‘40 Segundos’

6. Para regresar al menú principal se presiona el botón ‘LEFT’.

7. El actuador, en este caso la bocina, suena cada segundo. Esto se modifica con el código en
Arduino, de acuerdo a la necesidad del usuario, pero por efectos de prueba se seleccionó
el intervalo mı́nimo de tiempo.

8. Para apagar el medidor, se apaga la fuente con el SWITCH ubicado en la parte lateral
de la caja y luego se desconecta a esta del Arduino

8.2. Mantenimiento
Para el mantenimiento del equipo se deberı́a tomar en cuenta las siguientes recomendaciones:

1. El lector de temperatura no debe tener contacto con el agua porque al estar conectado a
una red por la que atraviesa corriente puede provocar un cortocircuito.

2. El sensor de temperatura puede verse afectado por el polvo ya que puede interferir en
la medición de temperatura a causa de que este ingresa al sensor y puede dañarlo desde
adentro.

3. Para asegurarse que el sensor está funcionando de manera adecuada se enciende el equipo
y se deja que haga lecturas por unos 2 minutos aproximadamente.

4. Cuando el sensor realice lecturas estables se puede usar un secador de cabello para verificar
que ocurre un aumento o disminución de temperatura y comprobar que está funcionando,
una vez que observamos un cambio retiramos el secador y deberı́a volver a la temperatura
originalmente.

5. El momento de manipular los objetos que se encuentran en el interior de la caja es impor-


tante que el switch este OFF y que el aparato se encuentre desconectado del tomacorriente
para evitar cualquier tipo de accidente.

9
6. En ningún momento el usuario deberá abrir la caja de la fuente al menos que necesite algún
tipo de mantenimiento. Si se llega a abrir la caja, esperar un tiempo para manipularla ya
que existen piezas que se calientan y esto puede causar heridas en quien las manipula ya
que estamos trabajando con voltajes.

7. Limpiar con un trapo cada cierto tiempo el cuarto de máquinas. El polvo puede dañar
los circuitos.

9. Código fuente del proyecto


A continuación se muestra el código que implementa el sistema del medidor de condiciones
ambientales
1 #include ”DHT11 . h”
2 #include <Arduino . h>
3

4
5 // I n i t i a l i z e t h e l i b r a r y with t h e numbers o f t h e i n t e r f a c e p i n s
6 LiquidCrystal lcd (8 , 9 , 4 , 5 , 6 , 7) ;
7
8 // S t a t e s f o r t h e menu .
9 i nt currentMenuItem = 0 ;
10 i nt l a s t S t a t e = 0 ;
11 i nt p i n=A2 ;
12 i nt boz=A1 ;
13 i nt f r e c =4800;
14 DHT11 dht11 ( p i n ) ;
15
16 i nt tiempo ;
17

18 void s e t u p ( ) {
19 // S e t t h e c h a r a c t e r s and column numbers .
20 lcd . begin (16 , 2) ;
21 // P r i n t d e f a u l t t i t l e .
22 clearPrintTitle () ;
23 tiempo = 0 ;
24 }
25

26 void l o o p ( ) {
27 // C a l l t h e main menu .
28 mainMenu ( ) ;
29 }
30

31 i nt p r e s i o n B o t o n ( ) {
32 i nt x = analogRead ( 0 ) ;
33 i nt btn = 1 0 0 0 ;
34 // Check a n a l o g v a l u e s from LCD Keypad S h i e l d
35 i f ( x < 100) {
36 // Right
37 } else i f ( x < 200) {
38 //Up
39 btn = 1 ;
40 } else i f ( x < 400) {
41 //Down

10
42 btn = 2 ;
43 } else i f ( x < 600) {
44 // L e f t
45 } else i f ( x < 800) {
46 // S e l e c t
47 btn = 3 ;
48 }
49 return btn ;
50 }
51

52 // P r i n t a b a s i c hea der on Row 1 .


53 void c l e a r P r i n t T i t l e ( ) {
54 lcd . clear () ;
55 lcd . setCursor (0 ,0) ;
56 l c d . p r i n t ( ”Cond . Ambienta les ” ) ;
57 lcd . setCursor (0 ,1) ;
58 }
59

60 void mainMenu ( ) {
61 // S t a t e = 0 e v e r y l o o p c y c l e .
62 i nt s t a t e = 0 ;
63 // S e t t h e Row 0 , Col 0 p o s i t i o n .
64 lcd . setCursor (0 ,0) ;
65 s t a t e = presionBoton ( ) ;
66 // I f we a r e out o f bounds on th menu then r e s e t i t .
67 i f ( currentMenuItem < 0 | | currentMenuItem > 4 ) {
68 currentMenuItem = 0 ;
69 }
70
71 // I f we have changed Index , s a v e s r e−draws .
72 i f ( s t a t e != l a s t S t a t e ) {
73 i f ( s t a t e == 1 ) {
74 // I f Up
75 currentMenuItem = currentMenuItem − 1 ;
76 displayMenu ( currentMenuItem ) ;
77 } e l s e i f ( s t a t e == 2 ) {
78 // I f Down
79 currentMenuItem = currentMenuItem + 1 ;
80 displayMenu ( currentMenuItem ) ;
81 } e l s e i f ( s t a t e == 3 ) {
82 // I f S e l e c t e d
83 s e l e c t M e n u ( currentMenuItem ) ;
84
85 // E j e c u t a r l a medicio n de temp
86 i nt t = tiempo ;
87 i nt b = 1 0 0 0 0 ;
88

89 lcd . clear () ;
90 while ( t r u e ) {
91 tempK ( ) ;
92 t = t − 1;
93 i f ( t <= 0 ) {
94 break ;
95 }
96 i f ( b == 1 0 0 0 ) {
97 break ;

11
98 }
99 }
100 tiempo = 0 ;
101 // Fin e j e c u c i o n
102
103 displayMenu ( currentMenuItem ) ;
104 }
105 // Save t h e l a s t S t a t e t o compare .
106 lastState = state ;
107 }
108 // Sma ll d e l a y
109 // d e l a y ( 5 ) ;
110 }
111

112 // D i s p l a y Menu Option ba sed on Index .


113 void displayMenu ( i nt x ) {
114 switch ( x ) {
115 case 1 :
116 clearPrintTitle () ;
117 l c d . p r i n t ( ” 10 Segundos ” ) ;
118 break ;
119 case 2 :
120 clearPrintTitle () ;
121 l c d . p r i n t ( ” 20 Segundos ” ) ;
122 break ;
123 case 3 :
124 clearPrintTitle () ;
125 l c d . p r i n t ( ” 30 Segundos ” ) ;
126 break ;
127 case 4 :
128 clearPrintTitle () ;
129 l c d . p r i n t ( ” 40 Segundos ” ) ;
130 break ;
131 }
132 }
133

134 f l o a t tempK ( ) {
135 i nt e r r ;
136 f l o a t temp , hum ;
137 i nt a = 1 ;
138 // i f ( pr evVa lue != v a l u e ) {
139

140 f l o a t tempk= temp + 2 7 3 . 1 5 ;


141 f l o a t k e l v i n =tempk ; // temper a tur a en k e l v i n
142 Ser ia l . print ( kelvin ) ;
143 S e r i a l . p r i n t l n ( ” degrees Kelvin” ) ;
144 lcd . setCursor (0 , 0) ;
145 i f ( ( e r r=dht11 . r ea d (hum, temp ) ) ==0)
146 {
147 // e n v i a d a t o s s e r i a l
148 // S e r i a l . p r i n t ( ” Temperatura : ” ) ;
149 // S e r i a l . p r i n t ( temp ) ;
150 // S e r i a l . p r i n t ( ” Humedad : ” ) ;
151 // S e r i a l . p r i n t (hum) ;
152 // S e r i a l . p r i n t l n ( ) ;
153 // e n v i a d a t o s l c d

12
154 // l c d . s e t C u r s o r ( 0 , 0 ) ;
155 // p r i n t t h e number o f s e c o n d s s i n c e r e s e t :
156 // l c d . p r i n t ( m i l l i s ( ) / 1 0 0 0 ) ;
157 l c d . p r i n t ( ”Tempera : ” ) ;
158 l c d . p r i n t ( tempk ) ;
159 lcd . setCursor (0 , 1) ;
160 l c d . p r i n t ( ”Humedad : ” ) ;
161 l c d . p r i n t (hum) ;
162 to ne ( boz , f r e c ) ;
163 delay (500) ;
164 noTone ( boz ) ;
165 }
166 else
167 {
168 Serial . println () ;
169 S e r i a l . p r i n t ( ” E r r o r Num : ” ) ;
170 Ser ia l . print ( err ) ;
171 Serial . println () ;
172 }
173 delay (1000) ;
174 // s e t t h e c u r s o r t o column 0 , l i n e 1
175 // ( no te : l i n e 1 i s t h e seco nd row , s i n c e c o u n t i n g b e g i n s with 0 ) :
176 }
177
178 //Show t h e s e l e c t i o n on S c r e e n .
179 void s e l e c t M e n u ( i nt x ) {
180 switch ( x ) {
181 case 1 :
182 tiempo = 1 0 ;
183 break ;
184 case 2 :
185 tiempo = 2 0 ;
186 break ;
187 case 3 :
188 tiempo = 3 0 ;
189 break ;
190 case 4 :
191 tiempo = 4 0 ;
192 break ;
193 }
194 }
Código 1: Código Fuente Arduino

13

También podría gustarte