SlideShare ist ein Scribd-Unternehmen logo
1 von 6
Downloaden Sie, um offline zu lesen
AUTOMATIZACIÓN - CURSO: 2010-2011-
                   Fernando Torres Medina
                   Juan Antonio Corrales Ramón
                   Carlos Alberto Jara Bravo
                   Grupo de Innovación Educativa en Automática
                   Departamento de Física, Ingeniería de Sistemas y Teoría de la Señal
                   Universidad de Alicante




   Práctica 3: Automatización de una Puerta de Garaje
                   mediante Arduino

Objetivos
   •   Conocer la placa Arduino y su plataforma de desarrollo.
   •   Diseñar un programa sobre la placa Arduino que permita gobernar una
       puerta de garaje.
   •   Emplear relés, finales de carrera y otros dispositivos de automatización.
Realización de la práctica
Introducción a la placa Arduino
Arduino es una plataforma open-hardware basada en una sencilla placa con
entradas y salidas (E/S), analógicas y digitales. En las entradas analógicas y
digitales podemos conectar detectores y sensores. También podemos
configurar las salidas para accionar luces, motores u otro tipo de actuadores.

La placa Arduino se programa con un lenguaje propio, basado en Wiring, a
través de un entorno de desarrollo basado en Processing.

Al ser open-hardware tanto su diseño como su distribución es libre. Es decir,
puede utilizarse libremente para desarrollar cualquier tipo de proyecto sin tener
que adquirir ningún tipo de licencia.

Arduino puede utilizarse en el desarrollo de objetos interactivos autónomos o
puede conectarse a un PC.

Existen varias versiones de Arduino. En nuestro laboratorio disponemos de la
Arduino Diecimila.
La Arduino Diecimila tiene como microcrontolador el ATmega168. Posee un
total de 14 entradas-salidas digitales. 6 entradas analógicas, una conexión
USB, un jumper de selección de alimentación y un botón de reset. Para su
funcionamiento solamente es necesario un cable USB para alimentarla desde
el PC o una fuente de alimentación de 7-12 V.

Programación de la Placa Arduino
En primer lugar, debemos descargar el entorno de programación de la placa
Arduino.     Éste    se    puede   encontrar  en    la  siguiente   web:
http://arduino.cc/en/Main/Software

A continuación, deberemos descomprimir el fichero zip descargado. Este
fichero contiene diversos directorios entre los que destacan:
    • Directorio drivers: Este directorio contiene los drivers para la placa
       Arduino. La primera vez que conectemos la placa al PC mediante el
       cable USB, el sistema operativo nos pedirá instalar los drivers de la
       misma. En este momento, deberemos indicar al sistema operativo que
       los busque en este directorio.
    • Directorio examples: Este directorio contiene un gran número de
       ejemplos de proyectos de programación de la placa Arduino. Estos
       mismos proyectos serán accesibles directamente dentro del entorno de
       programación a través de un menú.
    • Directorio libraries: Este directorio contiene librerías adicionales al
       entorno de Arduino que se pueden añadir a los proyectos de
       programación para utilizar determinados dispositivos conectados a la
       placa. Por ejemplo, existe una librería (Servo) para controlar servo-
       motores, una librería (Wire) para comunicarse con dispositivos I2C y otra
       librería (LiquidCrystal) para escribir en pantallas LED.
    • Directorio reference: Este directorio contiene en formato HTML la
       referencia básica del lenguaje de programación utilizado para programar
       la placa Arduino. Además, contiene también una referencia de las
       librerías incluidas en el directorio libraries.




Para utilizar el entorno de
programación        de      Arduino,
tendremos que ejecutar el fichero
arduino.exe, contenido en el
fichero zip anterior. El entorno de
programación tiene el aspecto
mostrado en la siguiente figura:
Cuando deseemos desarrollar un programa para la placa Arduino con este
entorno, deberemos seguir los siguientes pasos (cuyos elementos en la interfaz
gráfica del entorno han sido marcados en la figura anterior):
   1. Configuración de la placa: En el menú Tools deberemos indicar el
       modelo de Arduino utilizado (opción Board) y el puerto COM del PC
       donde está conectada la placa (opción Serial Port). Si no estamos
       seguros del puerto utilizado, deberemos buscarlo en el Administrador de
       Dispositivos del sistema operativo.
   2. Edición del código fuente del programa: Utilizaremos el panel central del
       entorno para teclear el código fuente de nuestro programa. Podremos
       utilizar los botones centrales de la barra de herramientas para crear un
       nuevo fichero, abrir uno existente o guardar el actual.
   3. Verificación y compilación del programa: Después de escribir el código
       fuente de nuestro programa, podremos verificar su sintaxis y compilarlo
       pulsando el botón “Verify” de la barra de herramientas (situado a la
       izquierda de la misma). El resultado del proceso de compilación
       aparecerá en el panel de errores inferior. En caso de que haya algún
       error en el código, nos lo indicará la línea del código donde se encuentra
       para que lo podamos corregir.
   4. Cargar el programa en la placa Arduino: Después de compilar un
       programa correcto, tendremos que cargarlo en el microcontrolador de la
       placa Arduino para poder ejecutarlo. Para ello, pulsaremos el botón
       “Upload” (penúltimo botón situado a la derecha de la barra de
       herramientas). Si la placa Arduino está correctamente conectada a
       nuestro PC, observaremos cómo se iluminan los indicadores TX y RX de
       la placa mientras el programa se está transfiriendo del PC a la placa.
       Cuando termine este proceso, se apagarán estos indicadores y
       comenzará la ejecución de nuestro programa en el microcontrolador de
       la placa.

El lenguaje de programación de la placa Arduino utiliza una sintaxis muy
parecida al lenguaje C aunque tiene una serie de particularidades propias de la
programación de microcontroladores. En concreto, todo programa en Arduino
deberá contener al menos dos funciones: setup() y loop().
   • La función setup() será ejecutada por el microcontrolador de la placa
      Arduino sólo una única vez, justo después de la transferencia del
      programa del PC a la placa. Por ello, esta función se utiliza
      generalmente para establecer modo de funcionamiento de los pines del
      Arduino (definirlos como entradas o salidas digitales mediante la función
      pinMode) y para abrir las comunicaciones de la placa (por ejemplo, el
      puerto serie o la comunicación I2C).
   • La función loop() será ejecutada justo después de terminar la ejecución
      de la función setup(). Esta función implementará la lógica de nuestro
      programa. La función loop() se suele organizar realizando primero una
      lectura de los sensores conectados a las entradas de la placa (utilizando
      las funciones digitalRead() y analogRead()) y en la activación posterior
      de los actuadores correspondientes asociados a las salidas de la placa
      (utilizando las funciones digitalWrite() y analogWrite()) según la lógica
      del sistema desarrollado. Debemos tener en cuenta que la ejecución de
esta función será repetida indefinidamente por el microcontrolador, como
       si se encontrara dentro de un bucle infinito.

Para comprender mejor todos estos elementos, es recomendable abrir y probar
los distintos ejemplos de código presentes en el entorno Arduino (menú
File/Examples). Para conocer la sintaxis del lenguaje y de sus principales
funciones, se deberá consultar la documentación de referencia (directorio
reference).

Automatización de una puerta de garaje (Parte I)
Funcionamiento de la puerta de garaje
Se pretende diseñar un sistema de control que permita gobernar una puerta de
garaje automáticamente. La puerta se abrirá cuando se pulse un botón verde y
se cerrará cuando se pulse un botón rojo. La puerta dispondrá de dos sensores
final de carrera, uno para detectar la apertura total y otro para detectar el cierre
total. Adicionalmente, se podrá considerar de forma opcional una tercera señal
procedente de un sensor óptico paralelo a la puerta que detectara la presencia
o no de objeto. Cuando la señal del sensor se active, la puerta debe abrirse
obligatoriamente.

Para implementar el sistema de control de la puerta de garaje, utilizaremos la
placa Arduino. Se deberá desarrollar un programa que implemente la lógica del
sistema propuesto.


Tabla de Entradas/Salidas y Boceto de programa de control en
Arduino
En primer lugar, se deberá establecer una tabla donde se relacione cada uno
de los elementos de entrada del sistema (pulsadores y sensores de final de
carrera) con una entrada digital de la placa Arduino. Igualmente, se deberá
relacionar cada uno de los elementos de salida del sistema (señal de subir
puerta –voltaje positivo- y señal de bajar puerta –voltaje negativo- para el
motor) con una salida digital de la placa Arduino.

Después, se deberá escribir una versión inicial del algoritmo de control de la
puerta. En la función setup() del programa se configurarán los pines
correspondientes a la tabla de entradas/salidas. En la función loop() se
realizará la lectura de las entradas y la activación de la señal de salida de
control del motor según el comportamiento deseado.

Se podrá comprobar el funcionamiento de la versión inicial del algoritmo de
control utilizando pulsadores como elementos de entrada y LEDs como
elementos de salida.
Automatización de una puerta de garaje (Parte II)
El sistema de control diseñado de manera teórica en la parte I será aplicado a
un sistema real formado por una maqueta de una puerta de garaje que se
muestra en las siguientes fotografías:
Diseño y Montaje de los circuitos de las entradas del sistema
de control
Teniendo en cuenta la tabla de Entrada/Salidas de la parte I, se deberá
conectar cada elemento de entrada (pulsadores verde/rojo, sensores de fin de
carrera superior/inferior) al pin correspondiente de entrada de la placa Arduino.
Para ello, habrá que añadir las resistencias de pull-up o pull-down necesarias.

Diseño y Montaje de los circuitos de las salidas del sistema de
control
Utilizando dos relés de 5V interconectados, implementar la lógica de control del
motor. La configuración de relés desarrollada deberá permitir las siguientes
configuraciones:

   •   Configuración apertura de puerta: Los relés deberán suministrar +3V al
       motor; es decir, +3V en la patilla positiva del motor y 0V en la patilla
       negativa del motor.
   •   Configuración cierre de puerta: Los relés deberán suministrar -3V al
       motor; es decir, 0V en la patilla positiva del motor y +3V en la patilla
       negativa del motor.
   •   Configuración apagado del motor: Los relés deberán suministrar 0V al
       motor; es decir, 0V en ambas patillas del motor.

Las bobinas de ambos relés deberán ser controladas con dos salidas digitales
de la placa Arduino, planificadas en la tabla de Entradas/Salidas desarrollada
en la parte I de la práctica.

Adaptación y Comprobación del algoritmo de control en
Arduino
Terminar el algoritmo de control programado en el microcontrolador de la placa
Arduino durante la parte I de la práctica.

Verificar que los niveles lógicos para activar las entradas en el programa se
corresponden con los niveles de voltaje aplicados en cada elemento electrónico
(interruptores normalmente abiertos o normalmente cerrados, configurados
mediante resistencias de pull-up o pull-down).

Conectar los circuitos de entradas y de salida a la maqueta de la puerta de
garaje y comprobar su correcto funcionamiento.

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (14)

Trabajo02
Trabajo02Trabajo02
Trabajo02
 
Curso intensivo de arduino createc3 d marzo 2014
Curso intensivo de arduino createc3 d marzo 2014Curso intensivo de arduino createc3 d marzo 2014
Curso intensivo de arduino createc3 d marzo 2014
 
Arduino(Tipos y su Programacion)
Arduino(Tipos y su Programacion)Arduino(Tipos y su Programacion)
Arduino(Tipos y su Programacion)
 
Estructura programa arduino
Estructura programa arduinoEstructura programa arduino
Estructura programa arduino
 
Tutorial arduino 03 programación
Tutorial arduino 03   programaciónTutorial arduino 03   programación
Tutorial arduino 03 programación
 
Entrada digital con arduino y visual studio 2015
Entrada digital con arduino y visual studio 2015Entrada digital con arduino y visual studio 2015
Entrada digital con arduino y visual studio 2015
 
15. quispe coyla, juan
15. quispe coyla, juan15. quispe coyla, juan
15. quispe coyla, juan
 
Manual basico arduino
Manual basico arduinoManual basico arduino
Manual basico arduino
 
Arduino
ArduinoArduino
Arduino
 
Curso arduino basico bitbloq
Curso arduino basico bitbloqCurso arduino basico bitbloq
Curso arduino basico bitbloq
 
Curso de introducción a arduino
Curso de introducción a arduinoCurso de introducción a arduino
Curso de introducción a arduino
 
0
00
0
 
2. arduino y placa de prototipo
2.  arduino y placa de prototipo2.  arduino y placa de prototipo
2. arduino y placa de prototipo
 
Arduino: Teclado matricial
Arduino: Teclado matricialArduino: Teclado matricial
Arduino: Teclado matricial
 

Ähnlich wie Arduino (20)

Arduino 1
Arduino 1Arduino 1
Arduino 1
 
03-arduino.pdf
03-arduino.pdf03-arduino.pdf
03-arduino.pdf
 
Tarjeta arduino
Tarjeta arduinoTarjeta arduino
Tarjeta arduino
 
Arduino
ArduinoArduino
Arduino
 
Arduino
ArduinoArduino
Arduino
 
Practicas con arduino UPVM
Practicas con arduino UPVMPracticas con arduino UPVM
Practicas con arduino UPVM
 
La electricidad y la electronica tarjeta arduino
La electricidad y la electronica tarjeta arduinoLa electricidad y la electronica tarjeta arduino
La electricidad y la electronica tarjeta arduino
 
Lectura practica2 digitales_arduino_puerto_serial
Lectura practica2 digitales_arduino_puerto_serialLectura practica2 digitales_arduino_puerto_serial
Lectura practica2 digitales_arduino_puerto_serial
 
Manual arduino
Manual arduinoManual arduino
Manual arduino
 
Tarjeta arduino tecnologia
Tarjeta arduino   tecnologia Tarjeta arduino   tecnologia
Tarjeta arduino tecnologia
 
Tarjeta arduino tecnologia
Tarjeta arduino   tecnologia Tarjeta arduino   tecnologia
Tarjeta arduino tecnologia
 
Tarjeta arduino tecnologia
Tarjeta arduino   tecnologia Tarjeta arduino   tecnologia
Tarjeta arduino tecnologia
 
Tarjeta arduin informe
Tarjeta arduin informeTarjeta arduin informe
Tarjeta arduin informe
 
Tarjeta arduin (informe)
Tarjeta arduin (informe)Tarjeta arduin (informe)
Tarjeta arduin (informe)
 
Tarjetaarduininforme (2)
Tarjetaarduininforme (2)Tarjetaarduininforme (2)
Tarjetaarduininforme (2)
 
Tarjetaarduininforme (1)
Tarjetaarduininforme (1)Tarjetaarduininforme (1)
Tarjetaarduininforme (1)
 
Tarjeta arduino (2)
 Tarjeta arduino (2) Tarjeta arduino (2)
Tarjeta arduino (2)
 
Tarjeta arduino
 Tarjeta arduino  Tarjeta arduino
Tarjeta arduino
 
Tarjeta arduino
 Tarjeta arduino  Tarjeta arduino
Tarjeta arduino
 
Tarjeta arduino
Tarjeta arduinoTarjeta arduino
Tarjeta arduino
 

Kürzlich hochgeladen

la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicaFlor Idalia Espinoza Ortega
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 

Kürzlich hochgeladen (20)

Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamica
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 

Arduino

  • 1. AUTOMATIZACIÓN - CURSO: 2010-2011- Fernando Torres Medina Juan Antonio Corrales Ramón Carlos Alberto Jara Bravo Grupo de Innovación Educativa en Automática Departamento de Física, Ingeniería de Sistemas y Teoría de la Señal Universidad de Alicante Práctica 3: Automatización de una Puerta de Garaje mediante Arduino Objetivos • Conocer la placa Arduino y su plataforma de desarrollo. • Diseñar un programa sobre la placa Arduino que permita gobernar una puerta de garaje. • Emplear relés, finales de carrera y otros dispositivos de automatización. Realización de la práctica Introducción a la placa Arduino Arduino es una plataforma open-hardware basada en una sencilla placa con entradas y salidas (E/S), analógicas y digitales. En las entradas analógicas y digitales podemos conectar detectores y sensores. También podemos configurar las salidas para accionar luces, motores u otro tipo de actuadores. La placa Arduino se programa con un lenguaje propio, basado en Wiring, a través de un entorno de desarrollo basado en Processing. Al ser open-hardware tanto su diseño como su distribución es libre. Es decir, puede utilizarse libremente para desarrollar cualquier tipo de proyecto sin tener que adquirir ningún tipo de licencia. Arduino puede utilizarse en el desarrollo de objetos interactivos autónomos o puede conectarse a un PC. Existen varias versiones de Arduino. En nuestro laboratorio disponemos de la Arduino Diecimila.
  • 2. La Arduino Diecimila tiene como microcrontolador el ATmega168. Posee un total de 14 entradas-salidas digitales. 6 entradas analógicas, una conexión USB, un jumper de selección de alimentación y un botón de reset. Para su funcionamiento solamente es necesario un cable USB para alimentarla desde el PC o una fuente de alimentación de 7-12 V. Programación de la Placa Arduino En primer lugar, debemos descargar el entorno de programación de la placa Arduino. Éste se puede encontrar en la siguiente web: http://arduino.cc/en/Main/Software A continuación, deberemos descomprimir el fichero zip descargado. Este fichero contiene diversos directorios entre los que destacan: • Directorio drivers: Este directorio contiene los drivers para la placa Arduino. La primera vez que conectemos la placa al PC mediante el cable USB, el sistema operativo nos pedirá instalar los drivers de la misma. En este momento, deberemos indicar al sistema operativo que los busque en este directorio. • Directorio examples: Este directorio contiene un gran número de ejemplos de proyectos de programación de la placa Arduino. Estos mismos proyectos serán accesibles directamente dentro del entorno de programación a través de un menú. • Directorio libraries: Este directorio contiene librerías adicionales al entorno de Arduino que se pueden añadir a los proyectos de programación para utilizar determinados dispositivos conectados a la placa. Por ejemplo, existe una librería (Servo) para controlar servo- motores, una librería (Wire) para comunicarse con dispositivos I2C y otra librería (LiquidCrystal) para escribir en pantallas LED. • Directorio reference: Este directorio contiene en formato HTML la referencia básica del lenguaje de programación utilizado para programar la placa Arduino. Además, contiene también una referencia de las librerías incluidas en el directorio libraries. Para utilizar el entorno de programación de Arduino, tendremos que ejecutar el fichero arduino.exe, contenido en el fichero zip anterior. El entorno de programación tiene el aspecto mostrado en la siguiente figura:
  • 3. Cuando deseemos desarrollar un programa para la placa Arduino con este entorno, deberemos seguir los siguientes pasos (cuyos elementos en la interfaz gráfica del entorno han sido marcados en la figura anterior): 1. Configuración de la placa: En el menú Tools deberemos indicar el modelo de Arduino utilizado (opción Board) y el puerto COM del PC donde está conectada la placa (opción Serial Port). Si no estamos seguros del puerto utilizado, deberemos buscarlo en el Administrador de Dispositivos del sistema operativo. 2. Edición del código fuente del programa: Utilizaremos el panel central del entorno para teclear el código fuente de nuestro programa. Podremos utilizar los botones centrales de la barra de herramientas para crear un nuevo fichero, abrir uno existente o guardar el actual. 3. Verificación y compilación del programa: Después de escribir el código fuente de nuestro programa, podremos verificar su sintaxis y compilarlo pulsando el botón “Verify” de la barra de herramientas (situado a la izquierda de la misma). El resultado del proceso de compilación aparecerá en el panel de errores inferior. En caso de que haya algún error en el código, nos lo indicará la línea del código donde se encuentra para que lo podamos corregir. 4. Cargar el programa en la placa Arduino: Después de compilar un programa correcto, tendremos que cargarlo en el microcontrolador de la placa Arduino para poder ejecutarlo. Para ello, pulsaremos el botón “Upload” (penúltimo botón situado a la derecha de la barra de herramientas). Si la placa Arduino está correctamente conectada a nuestro PC, observaremos cómo se iluminan los indicadores TX y RX de la placa mientras el programa se está transfiriendo del PC a la placa. Cuando termine este proceso, se apagarán estos indicadores y comenzará la ejecución de nuestro programa en el microcontrolador de la placa. El lenguaje de programación de la placa Arduino utiliza una sintaxis muy parecida al lenguaje C aunque tiene una serie de particularidades propias de la programación de microcontroladores. En concreto, todo programa en Arduino deberá contener al menos dos funciones: setup() y loop(). • La función setup() será ejecutada por el microcontrolador de la placa Arduino sólo una única vez, justo después de la transferencia del programa del PC a la placa. Por ello, esta función se utiliza generalmente para establecer modo de funcionamiento de los pines del Arduino (definirlos como entradas o salidas digitales mediante la función pinMode) y para abrir las comunicaciones de la placa (por ejemplo, el puerto serie o la comunicación I2C). • La función loop() será ejecutada justo después de terminar la ejecución de la función setup(). Esta función implementará la lógica de nuestro programa. La función loop() se suele organizar realizando primero una lectura de los sensores conectados a las entradas de la placa (utilizando las funciones digitalRead() y analogRead()) y en la activación posterior de los actuadores correspondientes asociados a las salidas de la placa (utilizando las funciones digitalWrite() y analogWrite()) según la lógica del sistema desarrollado. Debemos tener en cuenta que la ejecución de
  • 4. esta función será repetida indefinidamente por el microcontrolador, como si se encontrara dentro de un bucle infinito. Para comprender mejor todos estos elementos, es recomendable abrir y probar los distintos ejemplos de código presentes en el entorno Arduino (menú File/Examples). Para conocer la sintaxis del lenguaje y de sus principales funciones, se deberá consultar la documentación de referencia (directorio reference). Automatización de una puerta de garaje (Parte I) Funcionamiento de la puerta de garaje Se pretende diseñar un sistema de control que permita gobernar una puerta de garaje automáticamente. La puerta se abrirá cuando se pulse un botón verde y se cerrará cuando se pulse un botón rojo. La puerta dispondrá de dos sensores final de carrera, uno para detectar la apertura total y otro para detectar el cierre total. Adicionalmente, se podrá considerar de forma opcional una tercera señal procedente de un sensor óptico paralelo a la puerta que detectara la presencia o no de objeto. Cuando la señal del sensor se active, la puerta debe abrirse obligatoriamente. Para implementar el sistema de control de la puerta de garaje, utilizaremos la placa Arduino. Se deberá desarrollar un programa que implemente la lógica del sistema propuesto. Tabla de Entradas/Salidas y Boceto de programa de control en Arduino En primer lugar, se deberá establecer una tabla donde se relacione cada uno de los elementos de entrada del sistema (pulsadores y sensores de final de carrera) con una entrada digital de la placa Arduino. Igualmente, se deberá relacionar cada uno de los elementos de salida del sistema (señal de subir puerta –voltaje positivo- y señal de bajar puerta –voltaje negativo- para el motor) con una salida digital de la placa Arduino. Después, se deberá escribir una versión inicial del algoritmo de control de la puerta. En la función setup() del programa se configurarán los pines correspondientes a la tabla de entradas/salidas. En la función loop() se realizará la lectura de las entradas y la activación de la señal de salida de control del motor según el comportamiento deseado. Se podrá comprobar el funcionamiento de la versión inicial del algoritmo de control utilizando pulsadores como elementos de entrada y LEDs como elementos de salida.
  • 5. Automatización de una puerta de garaje (Parte II) El sistema de control diseñado de manera teórica en la parte I será aplicado a un sistema real formado por una maqueta de una puerta de garaje que se muestra en las siguientes fotografías:
  • 6. Diseño y Montaje de los circuitos de las entradas del sistema de control Teniendo en cuenta la tabla de Entrada/Salidas de la parte I, se deberá conectar cada elemento de entrada (pulsadores verde/rojo, sensores de fin de carrera superior/inferior) al pin correspondiente de entrada de la placa Arduino. Para ello, habrá que añadir las resistencias de pull-up o pull-down necesarias. Diseño y Montaje de los circuitos de las salidas del sistema de control Utilizando dos relés de 5V interconectados, implementar la lógica de control del motor. La configuración de relés desarrollada deberá permitir las siguientes configuraciones: • Configuración apertura de puerta: Los relés deberán suministrar +3V al motor; es decir, +3V en la patilla positiva del motor y 0V en la patilla negativa del motor. • Configuración cierre de puerta: Los relés deberán suministrar -3V al motor; es decir, 0V en la patilla positiva del motor y +3V en la patilla negativa del motor. • Configuración apagado del motor: Los relés deberán suministrar 0V al motor; es decir, 0V en ambas patillas del motor. Las bobinas de ambos relés deberán ser controladas con dos salidas digitales de la placa Arduino, planificadas en la tabla de Entradas/Salidas desarrollada en la parte I de la práctica. Adaptación y Comprobación del algoritmo de control en Arduino Terminar el algoritmo de control programado en el microcontrolador de la placa Arduino durante la parte I de la práctica. Verificar que los niveles lógicos para activar las entradas en el programa se corresponden con los niveles de voltaje aplicados en cada elemento electrónico (interruptores normalmente abiertos o normalmente cerrados, configurados mediante resistencias de pull-up o pull-down). Conectar los circuitos de entradas y de salida a la maqueta de la puerta de garaje y comprobar su correcto funcionamiento.