39

Índice de contenido - 148.206.53.84148.206.53.84/tesiuami/UAMI16764.pdf · Fue entonces cuando se le ocurrió hacer una tarjeta que ... como pantallas LCD y un sinfín de proyectos

  • Upload
    ngotu

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

  

2  

Índice de contenido Resumen                                                                                                                                               4 

Introducción                                                                                                                                         5 

Objetivos                                                                                                                                               5 

 

CAPITULO I – LAS PLATAFORMAS BASE 

I.I Arduino                                                                                                                                                            6 

I.II Android                                                                                                                                                           7 

 

CAPITULO II – LOS SENSORES 

II.I Sensor de luz                                                                                                                                                 8 

II.II Sensor de proximidad infrarrojo                                                                                                            11 

II.III Sensor de gas                                                                                                                                            13 

II.IV Sensor de movimiento                                                                                                                            15 

 

CAPITULO III – LA APLICACIÓN ANDROID 

III.I Conceptos básicos 

III.I.I La Plataforma de Desarrollo de Android                                                                                             17 

III.I.II Tipos de componentes de una aplicación                                                                                          17 

III.I.III Recursos en una aplicación                                                                                                                 18 

 

III.II Desarrollando la aplicación 

III.II.I Etapa 1: Obteniendo todo lo necesario para la programación                                                      19 

III.II.II Etapa 2: Desarrollando la interfaz                                                                                                      20 

III.II.III Etapa 3: Conexión con Arduino                                                                                                         28 

3  

CAPITULO IV – EL PROYECTO APLICADO 

IV.I El Internet de las cosas                                                                                                              29 

 

CONCLUSIONES                                                                                                                                 30 

 

APÉNDICES 

APENDICE A – La tarjeta Arduino UNO                                                                                        32 

APENDICE B – El Tiristor                                                                                                                  34 

APENDICE C – El Triac                                                                                                                      36 

APENDICE D – El Optoacoplador                                                                                                   37 

 

BIBLIOGRAFÍA                                                                                                                                    39 

 

 

 

 

 

 

 

 

 

 

 

4  

RESUMEN 

En el presente reporte se hablará sobre el desarrollo de una casa inteligente, es decir, una casa que pueda enviar y recibir información sobre lo que sucede dentro de ella. La idea es crear una aplicación para Android que  pueda  obtener  y mostrar  esta  información,  y  además  poder  controlar  eventos  como  la  apertura  de alguna puerta o el cierre de una ventana. Para esto nos basamos principalmente en las plataformas Arduino (hardware)  y  Android  (software),  sobre  los  cuales  mencionamos  algunos  elementos  básicos.  Para  el monitoreo de la casa utilizamos sensores de luz, de movimiento, de gas y de proximidad. La forma de utilizar estos  sensores  es  en  conjunto  con  tarjetas  Arduino.  La manera  de  programarlos  y  utilizarlos  también  se incluye en el presente reporte. Con estos sensores es posible conocer los niveles de gas en un tanque, si hay movimiento en cualquier parte de la casa, o qué tan iluminada está. Para obtener estos datos es necesario que Arduino y sus shields (o módulos) funcionen como intermediarios para poder transmitir señales entre la aplicación Android y los sensores. En cuanto a la parte de control, utilizaremos motores para la apertura y cierre de los elementos ya mencionados, y además, utilizando triacs y optoacopladores, podemos controlar la el encendido de las luces. Para que la aplicación se comunique con estos dispositivos también se auxilia de Arduino. El desarrollo de cada etapa de este proyecto se describe y detalla en este reporte. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5  

INTRODUCCIÓN 

Desde el principio de nuestra carrera hemos creído que todo  lo que desarrolla un  ingeniero siempre debe tener  como  objetivo  facilitar  en  algún  aspecto  la  vida  de  las  personas,  por  lo  que  para  nuestro  Proyecto Terminal tratamos de realizar algo que cumpliera lo mejor posible con este propósito. Después de analizar una  gran  cantidad  de  ideas,  elegimos  diseñar  una  casa  inteligente  que  hiciera  uso  de  varios  sensores distintos  para  controlar  elementos  como  la  apertura  de  puertas,  la  intensidad  de  las  luces  o  incluso  la cantidad  de  gas  en  un  tanque.  Decidimos  también  desarrollar  una  aplicación  para  Android  que  pudiera controlar todos estos movimientos y a la vez mantenernos notificados de lo que ocurriera en la casa. 

Para  manejar  los  sensores  y  los  sistemas  de  control  (por  ejemplo  motores  para  la  apertura  de  puertas) utilizamos  tarjetas  Arduino UNO  (información  sobre  esta  tarjeta  en  el  Apéndice  A),  y mediante  shields  o módulos enviamos y recibimos información hacia y desde la aplicación Android. Los sensores que utilizamos fueron de movimiento, de luz, de proximidad y de gas. 

Para  desarrollar  la  aplicación  Android  utilizamos  el  software  de  desarrollo  que  Google  brinda  gratuita  y libremente a los programadores, así como todos sus manuales y guías de desarrollo. 

A continuación presentaremos toda la información relacionada a este emocionante y útil Proyecto Terminal. 

 

OBJETIVO 

Desarrollar una casa inteligente que pueda, por medio de sensores y la tarjeta Arduino UNO, enviar y recibir información hacia una aplicación Android con el fin de mantener informado al usuario sobre el estado de la casa, y que además con dicha aplicación pueda controlar elementos como la apertura y el cierre de puertas y ventanas o el encendido o apagado de las luces. 

 

 

 

 

 

 

 

 

 

6  

CAPITULO I – LAS PLATAFORMAS BASE 

I.I Arduino  

Arduino es una plataforma de desarrollo abierta que incluye tanto software como hardware, y cuya principal característica es que se creó para desarrollar prototipos de proyectos de una manera extraordinariamente sencilla.  

Arduino fue creado en 2005 por un grupo de 5 estudiantes (David Cuartielles, Gianluca Martino, Tom Igoe, David Mellis, y Massimo Banzi) del Interaction Design Institute Ivrea que se encuentra en Ivrea, una comuna de Italia. El nombre viene del bar favorito de Massimo Barsi, el Bar di Re Arduino, llamado así en honor al rey de Italia que gobernó en el año 1002. 

La  historia  de  Arduino  comienza  en  2002,  año  en  el  que Massimo  Banzi  conoce  a  un  profesor  que  solía alentar a sus alumnos a crear nuevas formas de diseño interactivo, cosa que se le complicaba  a Banzi por falta de recursos. En ese tiempo se acostumbraba usar la tarjeta BASIC Stamp desarrollada por la compañía Parallax, pero Banzi encontró dos problemas con ella: no  tenía el poder de procesamiento computacional que requerían algunos de sus proyectos, y además era muy cara. Fue entonces cuando se le ocurrió hacer una tarjeta que cumpliera con sus necesidades. 

Banzi  tenía un amigo del MIT que había desarrollado un  lenguaje de programación  llamado Processing, el cual  era  sumamente  sencillo  de  manejar  y  que  contaba  con  un  ambiente  de  programación  propio igualmente  fácil  de  dominar.  Banzi  se  propuso  hacer  un  lenguaje  de  programación  y  un  ambiente  de desarrollo  similarmente  sencillos  para  su  tarjeta,  y  para  esto  le  pidió  ayuda  a  otro  estudiante,  Hernando Barragán,  quien  logró  crear  la  plataforma  de  desarrollo  Wiring  (la  cual  era  igual  de  sencilla  que  la  de Processing) y además armó una tarjeta simple pero muy fácil de usar. 

A Banzi no le bastó lo que ya se había logrado, él quería algo incluso más simple, más barato y sobre todo más fácil de usar. Fue entonces cuando Banzi reunió a un equipo de estudiantes de élite, quienes decidieron abrir  su  proyecto  de manera  que mucha  gente  pudiera  ayudar  en  el  desarrollo,  es  decir,  lo  hicieron  de código abierto. 

Después de meses de desarrollo, finalmente pudieron armar una tarjeta barata, muy fácil de usar y con un diseño  que  destacaba  frente  a  las  demás,  por  lo  que  rápidamente  se  convirtió  en  la  favorita  de  los estudiantes de su escuela. 

Las  tarjetas  seguían mejorando  con  el  paso  del  tiempo  y  por  ende  ganando  fama,    lo  cual  permitió  una rápida difusión  incluso  fuera de  Italia, al  tal grado de que hoy es  la plataforma de código abierto número uno, ésta se comercializa a una gran cantidad de países gracias a sus más de 200 distribuidores oficiales. 

Actualmente Arduino cuenta con su propio lenguaje de programación, su propio ambiente de programación, 20  diferentes  diseños  de  tarjetas,  7  diferentes módulos  para  comunicación  inalámbrica,  accesorios  extra como pantallas LCD y un sinfín de proyectos basados en esta plataforma. 

 

 

7  

I.II Android 

Android  es  un  sistema  operativo  de  código  abierto  enfocado  en  dispositivos  móviles.  Es  propiedad  de Google y actualmente es el  sistema operativo más utilizado por Smartphones y  tablets, pues  su amigable diseño y únicas y prácticas características, lo hacen un sistema muy poderoso y fácil de manejar. 

Este proyecto empezó en octubre de 2003, año en que se fundó ANDROID INC, empresa fundada por Andy Rubin,  Rich  Miner,  Nick  Sears  y  Chris  White.  El  nombre  de  la  empresa  se  debe  a  que  a  Andy  Rubin  le llamaban Android, por su fascinación con los robots. El objetivo original de ANDROID INC era el desarrollo de cámaras digitales e interfaces y aplicaciones para ellas, pero cuando se dieron cuenta de que el mercado de las    cámaras  digitales  no  era  suficientemente  grande,  decidieron  cambiar  su  enfoque  al  desarrollo  de Smartphones. 

El 17 de agosto de 2005, en un esfuerzo por ganar  terreno en el mercado móvil, Google se  fija en ellos y decide  comprar  ANDROID  INC  por  50  millones  de  dólares.  Al  respecto,  un  vocero  de  Google  declara: “Adquirimos  Android  porque  tiene  ingenieros  con  mucho  talento  y  poseen  gran  tecnología.  Estábamos ansiosos por tenerlos con nosotros”. 

El 5 de noviembre Google anuncia el desarrollo del sistema operativo Android por parte de ANDROID INC. También declaran que Android OS sería software 100% libre y abierto, a diferencia del iOS de Apple. 

El 22 de octubre de 2008 Google lanza al mercado el T‐MOBILE G1, Smartphone en donde debuta el Sistema Operativo Android en  su  versión 1.0.  Este dispositivo,  a pesar de  su  feo diseño y  la pequeña  cantidad de aplicaciones que ofrecía, logró hacer despegar el Andriod OS. 

A partir de su  lanzamiento, se han publicado nuevas versiones con sus respectivas mejoras. En febrero de 2009 se publicó Android 1.1,  versión que principalmente corregía algunos bugs de  su versión anterior. En abril de 2009 sale  la versión 1.5, también  llamada “Cupcake”; en septiembre de 2009,  la 1.6, “Donut”.   En octubre de 2009 sale a la venta el MOTOROLA DROID con Android 2.0 (Eclair), tratando de competir con el entonces  líder  iPhone.  Este  Smartphone  logra  vender  525,000  unidades  en  su  primer mes  de  ventas.  La versión 2.2, Froyo, se lanza al mercado en mayo de 2010; la versión 2.3, Gingerbread, se lanzó en diciembre de 2010; en febrero de 2011 sale la versión 3.0, Honeycomb; en octubre de 2011 sale Ice Cream Sándwich, la versión 4.0. En julio de 2012 se publica la versión 4.1, llamada Jelly Bean; y en octubre de 2013, se lanza Android 4.4,  también  llamada KitKat. Con cada versión el  sistema mejora en gran medida y el número de dispositivos que lo utilizan crece, al igual que el aprecio de los usuarios. 

En 2014, Google  anunció que  la nueva  versión,  llamada  tentativamente Android  L,  estará disponible para usarse no sólo en Smartphones y tablets, sino también en relojes, televisiones y carros. 

Actualmente Android está presente en millones de dispositivos móviles en más de 190 países alrededor del mundo.  Es  la  base  más  utilizada  de  cualquier  plataforma  móvil  y  tiene  la  capacidad  de  evolucionar rápidamente. Android brinda una plataforma de clase mundial para crear aplicaciones y juegos para usuarios de  cualquier  parte  del mundo,  además  es  una  plataforma  libre  y  abierta  en  la  que  es  relativamente  fácil diseñar y publicar, pues cuenta con mucho material de apoyo para el programador.  

 

 

8  

CAPITULO II – LOS SENSORES 

II.I Sensor de luz 

Se utilizó un sensor LDR  (Light Dependant Resistor) o  resistencia dependiente de  la  luz), el  cual  tiene una resistencia  cuyo  valor  varía  en  función  de  la  luz  recibida,  pues  cuanta  más  luz  recibe,  menor  es  su resistencia. 

Un  sensor  LDR  está  fabricado  con  un  semiconductor  de  alta  resistencia  como  puede  ser  el  sulfuro  de cadmio.  Si  la  luz  que  incide  en  el  dispositivo  es  de  alta  frecuencia,  los  fotones  son  absorbidos  por  la elasticidad  del  semiconductor  dando  a  los  electrones  la  suficiente  energía  para  saltar  la  banda  de conducción.  El  electrón  libre  que  resulta  (y  su  hueco  asociado)  conduce  electricidad,  de  tal  modo  que disminuye la resistencia. 

Las  células  de  sulfuro  del  cadmio  se  basan  en  la  capacidad  del  cadmio  de  variar  su  resistencia  según  la cantidad de luz que incide la célula. Cuanta más luz incide, más baja es la resistencia. Las células son también capaces de reaccionar a una amplia gama de frecuencias, incluyendo infrarrojo (IR), luz visible, y ultravioleta (UV). 

 

          

 

                 

Figura 2.1 Sensor de luz (Visto desde arriba)                                    Figura 2.2 Sensor de luz (Visto desde abajo) 

 

Programa de prueba para el sensor LDR 

int sense01 = 0;//Pin analógico 0 

int led01 = 13;//Pin digital 13 

int val01 = 0;//Valor del sensor de luz 

int light=150;//Intervalo de luz.  

void setup(){ 

  Serial.begin(9600);//Iniciamos el puerto serie 

  pinMode(led01,OUTPUT);//Definimos el led 13 como salida 

9  

   

void loop(){ 

  val01 = analogRead(sense01); 

  if (val01<=45){ 

  Serial.println(val01); 

  Serial.println("ENCENDIDA"); 

  Serial.println("LED APAGADO"); 

  digitalWrite(13, LOW); 

  } 

  else{ 

  Serial.println(val01); 

  Serial.println("LUZ APAGADA"); 

  Serial.println("LED ENCENDIDO"); 

  digitalWrite(13, HIGH); 

  } 

   delay(100); 

  } 

Conexiones para probar el sensor LDR con la tarjeta Arduino UNO 

El sensor sólo tiene tres terminales, tal como se puede observar en la imagen 2 la terminal etiquetada como VCC se conectó a la terminal de 5V de la tarjeta Arduino, la terminal etiquetada como GND se conectó a una de  las  terminales  de  la  tarjeta  Arduino  etiquetada  como  GND  y  por  último  la  terminal  del  sensor  LDR etiquetada como DO se conectó a la terminal de la tarjeta Arduino etiquetada como A0. 

Además de conectar el sensor LDR a  la  tarjeta Arduino, conectamos un LED con su terminal positiva en  la terminal  etiquetada  como  13  de  la  tarjeta  Arduino  y  la  terminal  negativa  del  LED  fue  conectada  a  otra terminal GND de la tarjeta Arduino. 

 

Resultados con el sensor LDR 

Con  la  conexión  anterior  y  con  la  tarjeta Arduino  conectada mediante  un  cable USB  a  una  computadora, abrimos en el monitor serial y mientras había luz en donde se encontraba el sensor LDR el LED se mantenía apagado y en el monitor serial se podía leer “ENCENDIDA LED APAGADO”. Una vez que apagábamos la luz de 

10  

donde  se  encontraba  el  sensor  LDR  el  LED  encendía  y  en  el  monitor  serial  se  leía  “LUZ  APAGADA  LED ENCENDIDO”. 

Circuito para encender una lámpara utilizando el sensor de luz 

Anteriormente  se mostró  cómo  funcionaba  el  programa  y  se  pudo  observar  que  a  la  salida  de  la  tarjeta Arduino UNO teníamos 0V cuando había luz en la habitación en donde se había colocado el sensor de luz, y teníamos  5V  a  la  salida  de  la  tarjeta  cuando  el  nivel  de  luz  era menor  al  que  se  había  estipulado  en  el programa para este sensor.  

Utilizando  el  voltaje  a  la  salida  de  la  tarjeta  podemos  controlar  el  encendido  de  un  foco  conectado  a  la conexión  eléctrica  de  una  casa,  esto  por medio  de  un  circuito  que  contiene  un  optoacoplador  y  un  triac (información sobre estos dispositivos en los apéndices D y C respectivamente). 

Este circuito es una interface entre la etapa digital que en nuestro caso es la tarjeta Arduino UNO y la etapa de potencia, o alto voltaje que será en donde estará conectado el foco. 

Figura 2.3 Circuito completo para el control del encendido de una lámpara con un sensor de luz 

En  la  imagen  la  señal  que  está  del  lado  izquierdo  es  el  voltaje  a  la  salida  de  la  tarjeta  Arduino UNO  y  la entrada AC es la conexión eléctrica de la casa. 

Entonces por medio del  circuito anterior  cuando hay presencia de  luz  y el  voltaje a  la  salida de  la  tarjeta Arduino UNO es  0V el  optoacoplador  actúa  como un  interruptor  abierto  y  entonces  el  foco  se  encuentra apagado,  y  cuando  el  voltaje  a  la  salida  de  la  tarjeta  Arduino  UNO  es  de  5V  el  optoacoplador  es  un interruptor cerrado y el foco se enciende mientras la señal esté en 5V. 

Este circuito es muy útil si se coloca el sensor en el exterior de una casa, ya que cuando empieza a oscurecer las  luces  del  jardín  y  del  exterior  de  la  casa  se  prenderán  y  mientras  la  luz  esté  por  debajo  del  nivel programado las luces estarán encendidas. Al otro día cuando empieza a amanecer y el nivel de luz supera al programado las luces se apagarán y así se mantendrán hasta que de nuevo empiece a oscurecer y se repita el proceso. 

 

11  

II.II Sensor de proximidad infrarrojo 

El receptor de rayos infrarrojos suele ser un fototransistor o un fotodiodo. El circuito de salida utiliza la señal del receptor para amplificarla y adaptarla a una salida que el sistema pueda entender. 

 

 Figura 2.4 Sensor de proximidad infrarrojo 

Programa de prueba para el sensor de proximidad infrarrojo 

int sense01 = 0;  //Pin analógico 0 

int led01 = 13;  //Pin digital 13 

int val01 = 0;  //Valor del sensor de proximidad 

int light=150;  //Intervalo de proximidad 

 

void setup(){ 

  Serial.begin(9600);//Iniciamos el puerto serie 

  pinMode(led01,OUTPUT);//Definimos el led 13 como salida 

   

void loop(){ 

   

  val01 = analogRead(sense01); 

  if (val01>=40){ 

  Serial.println(val01); 

  Serial.println("LEJOS"); 

  Serial.println("PUERTA CERRADA"); 

12  

  digitalWrite(13, LOW); 

  } 

  else{ 

  Serial.println(val01); 

  Serial.println("CERCA"); 

  Serial.println("PUERTA ABIERTA"); 

  digitalWrite(13, HIGH); 

  } 

     

  delay(100); 

  } 

 

Conexiones para probar el sensor de proximidad infrarrojo con la tarjeta Arduino UNO 

El sensor sólo tiene tres terminales, tal como se puede observar en la imagen 3 la terminal roja es VCC y se conectó  a  la  terminal  de  5V  de  la  tarjeta  Arduino,  la  terminal  verde  es  GND  se  conectó  a  una  de  las terminales  de  la  tarjeta  Arduino  etiquetada  como GND  y  por  último  la  terminal  amarilla  del  sensor  es  la salida de la señal y se conectó a la terminal de la tarjeta Arduino etiquetada como A0. 

Además  de  conectar  el  sensor  a  la  tarjeta  Arduino,  conectamos  un  LED  con  su  terminal  positiva  en  la terminal  etiquetada  como  13  de  la  tarjeta  Arduino  y  la  terminal  negativa  del  LED  fue  conectada  a  otra terminal GND de la tarjeta Arduino. 

 

Resultados con el sensor de proximidad infrarrojo 

Con  la  conexión  anterior  y  con  la  tarjeta Arduino  conectada mediante  un  cable USB  a  una  computadora, abrimos en el monitor serial y mientras estaba alguien parado a más de un metro de distancia del sensor el LED se mantenía apagado y en el monitor  serial  se podía  leer  “LEJOS PUERTA CERRADA”. Una vez que  se acercaba a un metro o menos de donde se encontraba el sensor el LED encendía y en el monitor serial se leía “CERCA PUERTA ABIERTA”. 

 

 

 

13  

II.III Sensor de gas 

El módulo está formado por un sensor MQ‐2 montado en pcb de 32 x 22 x 24 mm con conexión de 4 pines macho acodados para su fácil integración en Arduino. Esta conexión proporciona tanto la alimentación para el módulo como 2 salidas, analógica y digital. 

El módulo consta de un CI operacional LM393 y ajuste de sensibilidad mediante potenciómetro. 

El  sensor  es  útil  para  la  detección de  fugas  o  concentraciones  de  i‐butano, metano,  alcohol,  hidrógeno  y humo entre otros,  lo que permite utilizarlo como sensor de amplio espectro para detectar  la presencia de estos gases. 

 

                            

 

 

 

Figura 2.5 Sensor de gas (Visto desde arriba)                                    Figura 2.6 Sensor de gas (Visto desde abajo) 

 

Programa de prueba para el módulo MQ‐2, sensor de gas para Arduino 

void setup() 

  Serial.begin(9600);  

void loop() 

int val; 

val=analogRead(0); 

Serial.println(val,DEC); 

delay(100); 

14  

Conexiones para probar el módulo MQ‐2 sensor de gas para Arduino con la tarjeta Arduino UNO El  sensor  sólo  tiene  cuatro  terminales,  de  las  cuales  sólo  utilizamos  tres.  En  la  imagen  4  la  terminal etiquetada como VCC se conectó a la terminal de 5V de la tarjeta Arduino, la terminal etiquetada como GND se conectó a una de las terminales de la tarjeta Arduino etiquetada como GND y por último la terminal del sensor LDR etiquetada como DO se conectó a la terminal de la tarjeta Arduino etiquetada como A0. 

 Resultados con el sensor LDR Con  la  conexión  anterior  y  con  la  tarjeta Arduino  conectada mediante  un  cable USB  a  una  computadora, abrimos en el monitor  serial  y nos mostraba el nivel de gas que detectaba y eran números de  valor muy bajos, pero cuando acercábamos un encendedor y dejábamos salir el gas del encendedor cerca del módulo el valor del nivel de gas incrementaba y al quitar el encendedor del módulo el nivel de gas iba disminuyendo poco a poco. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15  

II.IV Sensor de movimiento 

Se utilizó  un  sensor  PIR  (Passive  Infra Red o  Infrarrojo  Pasivo),  el  cual  funciona  gracias  a  unos materiales cristalinos  capaces  de  generar  carga  eléctrica  cuando  son  estimulados  por  luz  infrarroja,  por  lo  que dependiendo de la luz infrarroja recibida, se produce un determinado voltaje. Cuando se detecta un cambio de voltaje repentino (es decir, cuando la luz infrarroja cambia rápidamente) se produce un cambio en el pin de salida del sensor, ya sea de alto a bajo y viceversa. 

 

 

Figura 2.7 Sensor de movimiento (Visto desde arriba) 

 

Programa de prueba para el módulo MQ‐2 sensor de gas para Arduino 

const int interruptor = 12;              //Pin 12 para que se conecte el LED que indica si el código funciona (LED A)         

 const int sensorPIR = 4;    //Pin 4 a donde se conecta la salida del sensor 

 long tiempoEncendido = 120000;          // Tiempo en milisegundos (2 minutos) 

 int PIRactivo=0;                   //Variable para indicar si el pin 4 es HIGH o LOW 

 long contador = 0;                     //Entero long que indica 

 

 void setup (){ 

  pinMode(interruptor, OUTPUT);  //pin 12 declarado como salida 

  pinMode(sensorPIR, INPUT);    //pin 4 declarado como entrada 

 } 

 void loop (){ 

   PIRactivo=digitalRead(sensorPIR);   // Lee el sensor PIR 

   if (PIRactivo==HIGH){                      // Si está activo reinicia el contador de tiempo  

     contador=tiempoEncendido;         // al tiempo de encendido total. 

16  

   } 

   if (contador > 0) {                          // Si el contador de tiempo es positivo, mantiene encendido el LED A 

     contador = contador ‐ 200;        // Si no hay movimiento, puede entrar 600 veces antes de apagar el LED A  

     digitalWrite(interruptor,HIGH);    //REVISAR SI DEBE SER HIGH O LOW 

   } else {                             

     digitalWrite(interruptor,LOW);  //El LED A se queda apagado mientras no haya movimiento 

   } 

   delay (200);      //pausa de 200 milisegundos 

 } 

Conexiones para probar el sensor de movimiento con la tarjeta Arduino UNO Similarmente  a  los  sensores  anteriores,  el  objetivo  es  simplemente  detectar  el  cambio  en  la  terminal  de salida del sensor. El pin de voltaje Vcc se conectó a  los 5V de la tarjeta Arduino y  la tierra a  la tierra de  la tarjeta. El pin de salida del sensor se conectó en el pin 4 de la tarjeta. También se agregó un LED a la tarjeta para indicar que ésta estaba funcionando correctamente (este LED se conectó en los pines 12 y tierra de la tarjeta). También se agregó un LED que prende cuando se detecta movimiento, este LED se conectó en  la salida del sensor y a la tierra de la tarjeta. 

Resultados con el sensor de movimiento El sensor funciona adecuadamente, es decir, el LED enciende cuando hay movimiento dentro de su rango, pero  a  veces  lo  hace  con  un  notable  retraso  entre  el  movimiento  y  el  encendido  del  LED;  aún  se  debe trabajar en eso. Otro problema es que el LED que señala el correcto funcionamiento del código, no hace lo que debe, lo cual es quedarse encendido por un tiempo después de haber detectado movimiento y después, si ya no detectó movimiento, se apaga. Esto también hay que revisarlo con cuidado. 

 

 

 

 

 

 

17  

CAPITULO III – LA APLICACIÓN ANDROID 

III.I Conceptos básicos 

III.I.I La Plataforma de Desarrollo de Android 

La API (Application Programming Interface) de Android está enfocada en brindar un ambiente amigable y muy práctico para el programador. Esta plataforma se puede descargar sin ningún costo desde  internet, y contiene una gran cantidad de herramientas de apoyo para el desarrollador. También tiene acceso a un gran número de proyectos  que pueden  servir  como ejemplos  o  como base para  proyectos más  grandes.  Todo esto  es  de  libre  acceso,  y  cualquier  información  necesaria  se  encuentra  en  la  página http://developer.android.com/ 

También aquí se puede descargar el entorno de desarrollo o SDK (Software Development Kit) de Android, necesario  para  crear  la  aplicación,  junto  con  una  versión  del  entorno  de  desarrollo Eclipse  personalizada para  Android  y  emuladores  para  poder  probar  la  aplicación.  También  debemos  mencionar  que  para desarrollar aplicaciones en Android se necesitan conocimientos del  lenguaje de programación orientado a objetos, Java. 

También es conveniente mencionar que ésta no es la única forma de crear aplicaciones para Android, pues actualmente  hay muchas  páginas web  especializadas  para  este  fin,  en  las  que  no  es  necesario  descargar ningún programa. Todo el desarrollo se lleva a cabo por internet, pero esto tiene la gran desventaja de ser muy limitado en cuanto a las funciones que puede desempeñar la aplicación. 

 

III.I.II Tipos de componentes de una aplicación  

Una aplicación de Android puede contener los siguientes tipos de componentes: 

a) Activity: Se refiere a una sola pantalla con interfaz de usuario. Es posible conectar varias pantallas entre sí y pasar información entre ellas. 

Este es el principal tipo de componente que usaremos en nuestra aplicación, como se verá más adelante. 

b) Service: Este tipo de elementos se ejecutan en segundo plano para hacer operaciones de larga duración o trabajo en procesos remotos. No disponen de una interfaz gráfica. 

c)  Content  Provider:  Son  datos  que  se  pueden  compartir  entre  varias  aplicaciones,  por  ejemplo,  los contactos guardados en el teléfono. 

d) Broadcast Receiver: Con estos  recursos podemos controlar  los “anuncios broadcast” del dispositivo, es decir, notificaciones generales del sistema como el aviso de que la batería está baja. 

También es posible hacer que una aplicación acceda a ciertos componentes de otra. 

 

18  

III.I.III Recursos en una aplicación  

Una aplicación puede utilizar  imágenes,  fotos, música, archivos de audio o de video, textos, entre muchos otros recursos. También, desde Eclipse, se puede especificar y cambiar muy fácilmente el formato de lo que se mostrará en pantalla dependiendo del tipo o modelo del dispositivo que correrá la aplicación. 

También es posible definir versiones específicas de cada recurso dependiendo de cierta configuración de la aplicación, como la resolución o su idioma. 

Algunos de los recursos principales que se usan en aplicaciones Android son: 

a) Layouts: Es la estructura visual de una interfaz de usuario. Es la zona en donde pueden agregarse cuadros de texto, botones, gráficas, etc.  

En nuestra aplicación utilizamos un layout para cada pantalla que utilizamos. 

b) Menús: Se utilizan para mostrar una serie de opciones entre las cuales se realizarán ciertas acciones. 

c) Estilos: Son formatos que se pueden utilizar en otros recursos. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

19  

III.II Desarrollando la aplicación 

El  objetivo  de  nuestra  aplicación  es  recibir  información  sobre  el  estado  de  la  casa  utilizando  los  datos obtenidos por los sensores y usando material de Arduino como intermediario. También queremos que sea posible  enviar  señales  a motores  y  demás  dispositivos  que  nos  permitan,  por medio  de  comandos  en  la aplicación, controlar elementos como el cierre de puertas o ventanas, o el encendido y apagado de las luces. 

 

III.II.I Etapa 1: Obteniendo todo lo necesario para la programación 

Lo  primero  que  se  debe  hacer  para  desarrollar  una  aplicación  desde  0  es  descargar  el  SDK  de  Android  y todos sus componentes directamente desde la página web ya mencionada. El entorno Eclipse en su versión para Android tiene la interfaz que se muestra en la Figura 3.1. 

También  se  pueden  descargar  complementos  como  las  herramientas  para  desarrollar  aplicaciones  para cualquier versión Android. Éstas se pueden obtener desde el Android SDK Manager, también incluido en la descarga. 

Para  probar  la  aplicación  mientras  la  desarrollamos,  es  posible  conectar  un  dispositivo  Android  a  la computadora por medio de USB y correr la aplicación en desarrollo en ese dispositivo, tal como se muestra en la Figura 3.4. 

 

 

 

 

 

 

 

 

 

 

 

 

Figura 3.1 Interfaz de la plataforma Eclipse en su versión para Android 

 

20  

III.II.II Etapa 2: Desarrollando la interfaz 

Al crear un nuevo proyecto, Eclipse nos mostrará cómo se programa el básico “Hello world“, tanto en forma gráfica como con líneas de comandos, tal como se muestra en las Figuras 3.2 y 3.3 respectivamente. Como se puede suponer al ver estas imágenes, la programación en Android se puede llevar a cabo de dos formas: de forma gráfica, es decir, agregando elementos y seleccionando y modificando sus características utilizando menús. La segunda, utilizando líneas de comando, lo cual es más recomendable porque cuando se tiene experiencia, es más fácil establecer qué queremos incluir o cambiar, y de qué manera. 

 

 

 

Figura 3.2 El programa “Hello world” en su versión gráfica 

21  

 

Figura 3.3 El programa “Hello world” en líneas de comando 

 

Figura 3.4 El programa “Hello world” visto en un Smartphone Android 

22  

Para nuestra interfaz decidimos empezar con un menú en donde se eligiera entre controlar elementos de la casa  o  recibir  información  de  ella.  Para  eso  primero  debemos  agregar  un  layout  en  donde  pudiéramos agregar dos botones para acceder a dichas opciones. Para esto debemos crear un documento en  formato xml con los comandos necesarios para esto. 

Primero, creamos el layout en un documento que llamaremos fragment_main.xml, que debe estar guardado en la carpeta res/ de nuestro proyecto. Las siguientes líneas de comando crean un layout: 

 

Los atributos android:layout_width y android:layout_height definen el tamaño del layout, en este caso se especificaron como “match_parent”, lo que quiere decir que va a ocupar toda la pantalla del dispositivo. El atributo android:orientation establece que cada elemento que se agregue al layout se acomodará de forma horizontal,  uno  al  lado  del  otro.  Aunque  debemos  mencionar  que  para  esta  primera  organización  de botones, nos decidimos por un layout vertical. 

Para agregar los dos botones hay que anidar al layout los siguientes comandos: 

 

En este caso, los atributos android:layout_width y android:layout_height están definidos para que entre los dos botones, ocupen casi toda la pantalla. El atributo android:text especifica el nombre de cada botón. En la versión  final decidimos cambiar el nombre del botón “Sensores” por “Estado”. El  resultado, ya visto en el teléfono, se muestra en la Figura 3.4. 

 

Ahora debemos hacer que dependiendo del botón que toquemos, nos envíe a otra pantalla, de manera que se cumpla el esquema de la Figura 3.5. 

23  

 

Figura 3.5 Mapa de las pantallas de la aplicación. Los cuadros con borde anaranjado representan los botones, los demás cuadros muestran hacia qué pantalla dirige el tocar el respectivo botón. 

Para esto hay que agregar a cada botón el comando: 

 

Seguido del nombre del método a implementar para cada botón. Ya con sus respectivos comandos, el xml que define el primer layout queda así: 

 

 

 

24  

Los métodos a_menu_control y a_menu_estado se deben definir en la clase principal de la aplicación. Estos métodos quedan así: 

 

En las primeras líneas de estos métodos se crea un objeto de la clase Intent, el cual sirve para hacer enlaces entre actividades. El segundo de sus parámetros establece  la actividad con  la que se enlazará. La segunda línea de cada método inicia la actividad utilizando el intent creado. 

Ahora debemos crear  las nuevas actividades con sus  respectivos  layouts y hacer que se enlacen cada una con  la que debe. Para esto  simplemente, al  crearlas, definimos  su actividad padre y establecemos que  se debe obtener un intent de ella, con el comando: 

 

Se debe seguir el mismo procedimiento para crear todas las pantallas necesarias y enlazarlas de acuerdo al esquema anterior. Para las pantallas finales, a continuación se describe lo muestran y para lo que deben de funcionar: 

a) Pantalla Puertas: Se muestra un plano de la casa y al tocar una puerta, se envía una señal a un motor para abrirla o cerrarla. Esta pantalla se muestra en la Figura 3.9 

b) Pantalla Ventanas: Se utiliza un plano de la casa para que cuando el usuario toque una de las ventanas, se envíe una señal a un motor que la abra o la cierre. Esta pantalla se muestra en la Figura 3.10 

c) Pantalla  Luces: Se muestra un plano de  la  casa  y  al  tocar un  lugar donde haya una  lámpara,  se puede elegir su intensidad de luz. Esta pantalla se muestra en la figura Figura 3.11 

d) Pantalla Luz: Esta pantalla muestra los niveles de luz en cada punto de la casa, también con ayuda de un plano. Esta pantalla se muestra en la Figura 3.12 

e) Pantalla Seguridad: Se pude enviar un mensaje de alerta al teléfono cuando alguien se acerque a un área privada de la casa o a algún objeto que el usuario quiere mantener fuera del alcance de ciertos individuos. En esta pantalla se mostrará el lugar de dicho evento. Esta pantalla se muestra en la Figura 3.13 

f) Pantalla Gas: Muestra los niveles de gas en un tanque o en algún área de la casa. Esta pantalla se muestra en la Figura 3.14 

g) Pantalla Movimiento: Puede funcionar como la pantalla de Seguridad, y además para hacer un monitoreo continuo de cualquier movimiento en la casa. Esta pantalla se muestra en la Figura 3.15 

 

25  

Para poner el plano como una imagen, debemos tenerla guardada en una de las carpetas res/drawable… Y utilizar el siguiente comando, anidado al correspondiente layout: 

 

A continuación se presentan las imágenes que muestran, ya en el teléfono, todas las diferentes pantallas de la aplicación. 

 

 

 

 

 

 

 

 

 

Figura 3.6 Menú principal de la aplicación 

 

 

 

 

 

 

 

 

 

 Figura 3.7 Imagen del Menú de Control                                                      Figura 3.8 Imagen del Menú de Estado 

26  

 

 

 

 

 

 

 

 

 

 

Figura 3.9 Imagen de la Pantalla Puertas                                            Figura 3.10 Imagen de la Pantalla Ventanas 

 

 

 

 

 

 

 

 

 

 

 

Figura 3.11 Imagen de la Pantalla Luces                                                        Figura 3.12 Imagen de la Pantalla Luz  

 

 

 

 

27  

 

  

 

 

 

 

 

 

 

Figura 3.13 Imagen de la Pantalla Seguridad                                               Figura 3.14 Imagen de la Pantalla Gas 

 

 

 

 

 

 

 

 

 

 

 

 

 

Figura 3.15 Imagen de la Pantalla Movimiento 

 

 

 

28  

I.II.I Etapa 3: Conexión con Arduino 

Como  ya  se mencionó  anteriormente,  para  recibir  información  de  los  sensores  y  enviar  señales  hacia  los motores  y  demás  dispositivos,  debemos  utilizar  las  tarjetas  Arduino  como  intermediarios.  Para  que  la aplicación  se  conecte  con  Arduino  se  necesitan  “shields”,  que  son  tarjetas  con  la  capacidad  de  recibir  y enviar información usando  diferentes tecnologías como Wi‐Fi  o Bluetooth, y que se conectan a las tarjetas básicas de Arduino. 

Para  nuestra  aplicación  lo  ideal  sería  utilizar  el  sistema  de  envío  de  mensajes  de  la  red  telefónica  para transmitir las señales necesarias sin necesidad de estar conectados permanentemente a internet, pero esto probablemente sería muy complicado y costoso, por lo que decidimos utilizar Wi‐Fi, utilizando un shield de Wi‐Fi de Arduino. 

Por falta de tiempo no pudimos realizar esta etapa del proyecto, pero sabemos que éste es un punto clave de nuestra aplicación, así que seguramente la desarrollaremos próximamente. 

 

 

Figura 3.16 La Arduino GSM Shield, utilizada para transmisión de señales con GSM, para telefonía celular 

 

 

 

Figura 3.17 La Arduino Wi‐Fi Shield, utilizada para transmisión de señales en Wi‐Fi 

 

 

29  

CAPITULO IV – EL PROYECTO APLICADO 

IV.I El Internet de las Cosas  

El  término “El  Internet de  las Cosas”  se  refiere a  la  conexión a una  red global de  cada aparato de  la  vida cotidiana, empresarial, médica o industrial, creando un mega sistema de interconexión en la nube en el que se pueden controlar todo tipo de mecanismos con ayuda de sensores, así como conocer el estado de cierto ambiente  e  incluso  poder  cooperar  entre  dispositivos  para,  en  base  al  análisis  de  toda  la  información recopilada, se tomen decisiones inteligentes.  

Esta  red  podría  ser  aplicada  en  casas  inteligentes,  en  monitoreo  médico  en  casa,  en  la  mejora  de  la administración  de  recursos  en  una  oficina,  en  ventas  por  internet  y  en  un  sin  fin  de  diversas  áreas.  El potencial que tiene el conectar todo tipo de dispositivos a la red es enorme y muy prometedor. 

Se  pretende  que  este  tipo  de  red  esté  funcionando  dentro  de  5  o  7  años,  pues  aún  existen  problemas importantes  que  deben  resolverse  como  riesgos  en  cuanto  a  la  seguridad,  pues  actualmente  es relativamente fácil interceptar señales y con ello accesar a información privada o controlar sistemas. 

Otro problema es la energía necesaria para hacer trabajar cada elemento de la red, pues cada uno necesita cierta  energía  que  individualmente  podría  ser  poca,  pero  el  gran  número  de  componentes  que  pueden formar el sistema puede, en conjunto, requerir enormes cantidades de energía. El reto es lograr un consumo de energía lo más bajo posible pero sin perder eficiencia.  Como  fácilmente  se  puede  apreciar,  nuestro  proyecto  se  basa  en  esta  idea,  pues  lo  que  hicimos  tiene  el mismo objetivo de interconexión para obtener control e información sobre cierto ambiente (en nuestro caso sólo  una  casa).  Lo  único  que  haría  falta  para  que  nuestro  proyecto  formara  parte  de  “El  internet  de  las Cosas” sería enlazar a  internet  todos  los sensores  (que podría ser con ayuda de una tarjeta Arduino Wi‐Fi Shield) y adaptar la aplicación Android para que también se pueda conectar a Internet. De esta manera se podría controlar la casa y conocer su estado desde cualquier parte del mundo. 

 Figura 4.1 “El Internet de las Cosas”, una red global en la que se interconectan toda clase de dispositivos  

30  

CONCLUSIONES Lo que nosotros pudimos lograr al término de este proyecto se divide en tres secciones principales: 

 1.  Utilizar  sensores  para  obtener  información  sobre  ciertos  elementos  de  una  casa.  Específicamente utilizamos sensores de luz para conocer el nivel de iluminación en algún área; sensores de movimiento para detectar  cuando  alguien  esté  en  alguna  habitación;  sensores  de  gas  para medir  los  niveles  de  gas  en  un tanque, y sensores de proximidad para saber cuando una persona se está acercando a una zona prohibida.  

Respecto a este punto, nos dimos cuenta de que utilizar estos sensores es muy sencillo porque  la  idea de todos  es  mostrar  cierta  salida  cuando  se  detecta  para  lo  que  fueron  hechos  (cierta  cantidad  de  luz, movimiento, gas, presencia), y otra salida para cuando no se detecta nada, es decir, son digitales. El único con un  funcionamiento un poco diferente  fue el  sensor de gas, pues éste era capaz de brindar una salida continua  (analógica) que señalaba  la  cantidad de gas detectada.  La  forma de programarlos y utilizarlos es muy similar entre sí, por lo que al saber cómo hacerlo con uno, prácticamente se sabe hacerlo con todos. 

2. Aprender a utilizar el software y hardware de Arduino, pues para usar y hacer funcionar los sensores nos auxiliamos de la tarjeta Arduino UNO. Aprender a utilizar esta tarjeta fue extremadamente sencillo. Hacerlo nos demostró porqué Arduino está ganando tanto terreno y tan buena fama en el campo de la electrónica, pues su principal atractivo (aparte de su gran variedad de productos, lo bien que funcionan, lo visualmente atractivos que son y su costo relativamente bajo) es que funciona con software abierto muy fácil de dominar y  con  grandes  posibilidades  de  desarrollo.  Sólo  basta  con  bajar  el  entorno  de  desarrollo  (gratis  desde  su página web)  y aprender algunos comandos para ya empezar a desarrollar. Otra gran ventaja de Arduino es que  por  ser  una  plataforma  abierta,  en  Internet  se  pueden  encontrar  una  gran  cantidad  de manuales  y proyectos muy bien explicados que pueden ser referencia y una gran ayuda para el desarrollador. 

3. Desarrollar una aplicación en Android para poder  recibir  la  información de  los  sensores  y poder enviar señales  a  los  motores  con  el  fin  de  abrir  o  cerrar  puertas  y  ventanas.  Desarrollar  esta  aplicación  (hasta donde se pudo llegar) no fue tan difícil como pensamos, pues Android es parecido a Arduino en que por ser software libre y abierto, la información sobre ellas es abundante. Nosotros utilizamos casi exclusivamente la página  de  Android  como  guía,  ya  que  ahí  se  explica  todo  paso  a  paso  de  una  manera  muy  clara,  y empezando desde lo más básico. 

Android es sin duda una plataforma poderosísima por la facilidad de desarrollar y publicar y el gran número de  fieles  seguidores  que  ha  logrado  obtener,  por  lo  que  aprender  a  desarrollar  bien  en  ella  es extremadamente conveniente y provechoso. 

El proyecto es sin duda muy prometedor. Aunque nosotros hayamos apenas tocado la superficie de lo que esto puede  llegar a  ser, nos damos cuenta de  la gran utilidad que puede alcanzar. Ahora sólo  falta  seguir introduciendo sensores para poder detectar otras cosas como la cantidad de agua en algún contenedor, el nivel de temperatura en alguna zona, o si hay humo en una habitación. Y también añadir más sistemas de control a la casa como algún sistema de riego o de apertura de llaves de agua o gas. También la aplicación debe  ser  mejorada  para  poder  controlar  todo  esto,  y  como  ya  se  mencionó,  agregarle  la  posibilidad  de conectarse a internet. 

 

31  

Este  fue un proyecto  terminal en el que aplicamos muchos de  los conocimientos que adquirimos durante toda  la  carrera,  no  sólo  de  electrónica  digital  sino  también  de  electrónica  analógica  y  un  poco  de comunicaciones. También con este proyecto  logramos adentrarnos un poco en plataformas grandes como Arduino y Android, las cuales gozan de muy buena fama en estas áreas, y aunque sabemos que no son las únicas, son muy buenas para ya adentrarnos en cosas más serias y con mayores posibilidades de aplicación en el mundo real y profesional, y que seguramente serán un excelente y entretenido reto para estos nuevos Ingenieros en Electrónica. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

32  

APÉNDICES  

APÉNDICE A – LA TARJETA ARDUINO UNO 

 

 Figura A1. La tarjeta Arduino UNO (Vista desde arriba) 

 

 

Figura A2. La tarjeta Arduino UNO (Vista desde abajo) 

 

 

33  

Especificaciones 

Microcontrolador  ATmega328 Voltaje de operación  5V Voltaje de entrada (recomendado)  7 – 12V Voltaje de entrada (límite)  6 – 20V Pins digitales de entrada/salida  14 Pins digitales PWM de entrada/salida  6 Pins análogos de entrada  6 Corriente DC por pin de entrada/salida  40 mA Corriente DC por pin de 3.3V  50 mA Memoria Flash  32 KB Memoria Flash para el cargador de arranque  0.5 KB SRAM  2 KB EEPROM  1 KB Velocidad de reloj  16 MHz Largo  68.6 mm Ancho  53.4 mm  

 

 

 

 

 

 

 

 

 

34  

APÉNDICE B – EL TIRISTOR El tiristor es un componente electrónico constituido por elementos semiconductores, es decir, dependiendo de  la  temperatura  actúa  como  conductor  o  aislante.  Posee  tres  terminales:  Ánodo  (A),  Cátodo(K)  y Compuerta (G). 

 

Figura B1. Símbolo del tiristor 

Como se mencionó anteriormente el  tiristor está compuesto por elementos semiconductores, distribuidos de la siguiente manera. 

 

                Figura B2. Estructura interna del tiristor 

 

La conducción entre ánodo y cátodo es controlada por la terminal de puerta. Se dice que es un dispositivo unidireccional, debido a que el sentido de la corriente es único. 

35  

Figura B3. Curva característica del tiristor 

La interpretación directa de la curva característica del tiristor nos dice lo siguiente: cuando la tensión entre ánodo  y  cátodo  es  cero  la  intensidad  de  ánodo  también  lo  es.  Hasta  que  no  se  alcance  la  tensión  de  bloqueo  (VBO)  el  tiristor  no  se  dispara. Cuando  se  alcanza  dicha  tensión,  se  percibe  un  aumento  de  la  intensidad  en  el  ánodo  (IA),  disminuye  la tensión entre ánodo y cátodo, comportándose así como un diodo polarizado directamente. 

Si se quiere disparar el tiristor antes de llegar a la tensión de bloqueo será necesario aumentar la intensidad de puerta (IG1, IG2, IG3, IG4...), ya que de esta forma se modifica la tensión de cebado de este. 

Este  sería  el  funcionamiento  del  tiristor  cuando  se  polariza  directamente,  esto  sólo  ocurre  en  el  primer cuadrante de la curva. 

Cuando se polariza inversamente se observa una débil corriente inversa (de fuga) hasta que alcanza el punto de tensión inversa máxima que provoca la destrucción del mismo. 

 

36  

APÉNDICE C – EL TRIAC 

El triac es  un dispositivo semiconductor que  pertenece  a la  familia  de los  dispositivos  de control: los tiristores.  El triac es  en  esencia  la  conexión  de  dos  tiristores en  paralelo  pero  conectados  en  sentido opuesto y compartiendo la misma compuerta.  

Figura C1. Símbolo del triac 

A1: Ánodo 1, A2: Ánodo 2, G: Compuerta. 

El triac sólo  se  utiliza  en corriente  alterna y  al  igual  que  el tiristor,  se  dispara  por  la compuerta.  Como el triac funciona en corriente alterna, habrá una parte de la onda que será positiva y otra negativa. 

La parte positiva de la onda (semiciclo positivo) pasará por el triac siempre y cuando haya habido una señal de disparo  en  la compuerta,  de  esta  manera  la corriente circulará  de  arriba  hacia  abajo  (pasará  por el tiristor que apunta hacia abajo).  

De igual manera, la parte negativa de la onda (semiciclo negativo) pasará por el triac siempre y cuando haya habido una  señal  de disparo en  la compuerta,  de esta manera  la  corriente  circulará de  abajo hacia  arriba (pasará por el tiristor que apunta hacia arriba) 

Para ambos semiciclos la señal de disparo se obtiene de la misma pata (la puerta o compuerta). 

Lo interesante es que se puede controlar el momento de disparo de esta pata, y así controlar el tiempo que cada tiristor estará en conducción. Debemos recordar que un tiristor sólo conduce cuando ha sido disparada (activada) la compuerta y entre sus terminales hay un voltaje positivo de un valor mínimo para cada tiristor. 

Entonces, si se controla el tiempo que cada tiristor está en conducción, se puede controlar la corriente que se entrega a una carga y por consiguiente la potencia que consume. 

37  

APÉNDICE D – EL OPTOACOPLADOR 

Un optoacoplador es un componente electrónico que se utiliza como transmisor y receptor óptico (de luz), es decir, pueden transmitir de un punto a otro una señal eléctrica sin necesidad de conexión física ni cables (por el aire), mediante una señal luminosa. Por eso también se llaman optointerruptores. 

Activamos una luz y esta luz llega a un detector que genera una tensión de salida y actúa como interruptor cerrado. Si no se activa  la  luz o no  le  llega  la  luz al detector, este no genera ninguna tensión de salida, es decir interruptor abierto. 

Si combinamos una fuente óptica (generalmente un LED) con algún tipo de detector óptico (generalmente un semiconductor de silicio  llamado fototransistor) en un sólo encapsulado, el dispositivo resultante es un optoacoplador o interruptor óptico. 

Suelen ser elementos que sustituyen a los relés tradicionales. Se suelen utilizar para aislar dos circuitos, uno que trabaja a poco tensión (el del LED), llamado de control y otro a mucha tensión o a una tensión diferente (el del detector) llamado de potencia. 

Imagina que con una pequeña tensión activamos el LED del optoacoplador (por ejemplo a 5V) y  la  luz que emite el LED llega al detector del optoacoplador y activa el detector creando una tensión de salida a 220V. Podemos activar a la salida motores, lámparas, etc. a 220V desde otro sitio en el que solo tenemos 5V, sin riesgo apenas para el que lo activa. 

La  aplicación  principal  es  en  aislamiento  entre  los  circuitos  de  control  y  los  de  potencia.  Esto evita que la parte de trabajo (la del LED) no tenga casi riesgos para el que opera en ella, al no tener que trabajar con la parte de alta tensión o intensidad, que estaría separada. 

El funcionamiento de estos dispositivos es el siguiente: 

Tiene una salida de  luz  (LED) y una entrada de  luz, que detecta cuando recibe  la  luz del LED, cuando esta rebota contra alguna superficie (fotodetector). Como se puede mirar es similar al transistor, pero en  lugar de corriente con luz. 

Cuando le llega una señal eléctrica a los dos extremos del LED (emisor) este emite una señal luminosa, que recibe el receptor o detector. Este al recibir esta señal luminosa genera en sus bornes (patillas) una tensión eléctrica, que será la tensión de salida. 

Como se observa cuando le  llega una tensión a  la entrada se genera una   luz y al recibirla el detector este genera una tensión de salida, es como un interruptor. Si no llega luz al detector el interruptor estará abierto, si le llega luz del LED el interruptor sería cerrado. 

38  

Figura D.1 Esquema eléctrico de un optoacoplador 

Figura D2. Encapsulado más común de un optoacoplador 

Como se puede observar,  las patas 1 y 2  son el emisor de  luz y  la 6 y 4 el  receptor de  la  luz para que se active. 

Hay muchos  tipos  diferentes  de  optoacopladores,  pero  todos  tienen  un  foco  emisor  de  luz  LED.  Lo  que pueden cambiar es el receptor de luz que puede ser un fotodiodo, fototransistor, LASCR, etc. 

Un parámetro muy importante en estos elementos es la eficiencia, este parámetro define qué cantidad de corriente necesitamos en el LED para obtener  la salida deseada. En el transistor y en el darlington esto se llama  Radio  de  transferencia  de  corriente  (CTR),  esto  se  calcula  simplemente  dividiendo  la  corriente  de salida entre la corriente de entrada requerida. La mayoría de los optoacopladores trabajan a un CTR entre 10 y 50 por ciento. 

El  otro  parámetro  importante  en  optoacopladores  es  el  voltaje  de  aislamiento  el  cual  es  de  7500  Volts durante 1 segundo. 

 

 

 

39  

BIBLIOGRAFÍA ARDUINO 

• http://arduino.cc/ • Ruiz Gutierrez, José Manuel, Manual de Programación Arduino, 2007 • http://www.robotshop.com/ca/en/arduino‐uno‐usb‐microcontroller‐rev‐3.html • http://www.josematm.com/controla‐tu‐arduino‐desde‐el‐movil/ • http://www.extremadura‐web.es/Blog/2013/09/25/aplicacion‐android‐para‐controlar‐arduino/ • http://forum.arduino.cc/index.php?topic=124302.0 • http://spectrum.ieee.org/geek‐life/hands‐on/the‐making‐of‐arduino 

ANDROID 

• http://www.android.com/ • http://developer.android.com/about/index.html • http://developer.android.com/training/basics/firstapp/creating‐project.html  • http://www.elandroidelibre.com/tag/20conceptos • http://venturebeat.com/2010/10/27/google‐exec‐android‐was‐best‐deal‐ever/ • http://startapp.com/infographics/history‐of‐android.aspx • http://en.wikipedia.org/wiki/List_of_mergers_and_acquisitions_by_Google • http://www.theverge.com/2011/12/7/2585779/android‐history • http://www.cnet.com/news/history‐of‐android/ • http://appinventor.mit.edu/explore/ 

SENSORES 

• http://portal.tectijuana.edu.mx/arquitectura2009/6‐distance‐sensor‐lcd‐display • http://ww2.pictronico.com/?folio=7POYGN0G2 • http://forum.arduino.cc/index.php?topic=97130.0 • http://www.slideshare.net/benjapreller/sensor‐de‐movimiento‐pir • http://en.wikipedia.org/wiki/Passive_infrared_sensor • https://www.youtube.com/watch?v=gDQiFFIuAzA • http://www.dfrobot.com/wiki/index.php/Analog_Gas_Sensor(MQ2)_(SKU:SEN0127) • http://www.seeedstudio.com/depot/datasheet/MQ‐2.pdf 

EL INTERNET DE LAS COSAS 

• http://www.freescale.com/webapp/sps/site/overview.jsp?code=INTERNET_OF_THINGS&tid=elq_cam1097&elq_mid=3312&elq_cid=1130905 

• http://cache.freescale.com/files/32bit/doc/white_paper/INTOTHNGSWP.pdf?elq_mid=3312&elq_cid=1130905&tid=elq_cam1097&elq=832c0e82431843a0a73d8297a9c46ba3&elqCampaignId=1369