Documentos de Académico
Documentos de Profesional
Documentos de Cultura
COLEGIO POLITÉCNICO
Supervisado por:
Luis Caiza Chicaiza
Índice
1 Descripción del proyecto 2
3 Diseño mecánico 3
4 Diseño eléctrico 4
5 Diseño electrónico 6
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:
2
Construir un sistema aplicando los conceptos de electrónica.
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.
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
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.
Transformador (1)
Condensador (1)
Capacitor (1)
6
Figura 6: Esquema del circuito realizado en Proteus
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
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.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.
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’
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.
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.
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
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
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
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