Automatismo para Garaje

Creado: 30.06.2010

Introducción.

Como con cualquier proyecto de ingeniería, hay incontables modos de construir un mecanismo automático, si además incluimos los automatismos electrónicos, las opciones aumentan exponencialmente. De modo que hay que plantearse una pormenorizada y cuidadosa planificación.

Uno, debe tomar decisiones para hacer un diseño, basadas en el tiempo disponible, el coste, elementos que lo constituyen y datos específicos del proyecto. Lo siguiente consiste en escoger los componentes principales del proyecto y el resto de cosas que intervienen en el mismo.

Analizaremos, los elementos intervienen para obtener y ejecutar acciones con los datos de (interruptores, finales de carrera, motores, lectores, sensores, circuitería estándar, microprocesadores, lenguaje, etc.), es decir, todos los dispositivos necesarios para ejecutar con éxito el proyecto.

En el caso de necesitar que el proyecto necesite cierta flexibilidad o se deba adaptar a elementos externos, es el momento de plantearse usar en un microcontrolador. El micro debe leer los sensores, controlar los motores y permanecer en estado de espera ‘Estand by’, todo al mismo tiempo. Existen un amplio y variado abanico de opciones para elegir el más adecuado.

Así pues, debemos asegurarnos de que el microcontrolador que elijamos tiene bastantes puertos de E/S para cubrir todas las necesidades. El microcontrolador tendrá que leer los sensores y enviarán ordenes a los manejadores de los motores. El desarrollo del software, se hará más fácil, si se dispone de un monitor en forma de LCD, LEDs y/o un altavoz. También queremos que lea un pulsador o dos para iniciar y terminar en algún momento. Si vamos a usar sensores analógicos tendremos que contemplar, como realizar la conversión analógica/digital, si por el mismo microcontrolador o por otro medio externo.

Si vamos a usar motores de corriente continua o paso a paso, el microcontrolador tendrá que generar una señal concreta para el control de velocidad. El modo más fácil para hacer esto es, usar temporizadores internos del microcontrolador. Algunos microcontroladores, ahorran este problema, ya que proporcionan una función de modulación de anchura de pulso o PWM. Si el diseño utiliza ruedas de codificador para determinar la velocidad y la distancia de desplazamiento, también necesitaremos monitorizar esto.

Si ya tenemos alguna experiencia con algún microcontrolador en particular y creemos que éste puede controlar de algún modo nuestro proyecto, deberíamos seguir adelante y usarlo. No pensemos que, se necesita un poderoso micro para controlar nuestro proyecto. Otra ventaja en el uso de un micro, consiste en que, encontraremos muchos ejemplos de programas sobre el mismo, en Internet, con la ayuda de alguien, para poner en acción nuestro proyecto.

La cantidad de memoria a utilizar, dependerá del algoritmo que, de solución al proyecto, el lenguaje usado, la forma del código, etc. Para estar seguros, el espacio adecuado de programa, debería ser de 16 a 32 kilobytes. Si esto está disponible como memoria flash, entonces reprogramar de nuevo será rápido y fácil. Para poner en práctica la rutina, será necesario 1 kilobyte aproximadamente de espacio de datos.

Considerando los motores, uno puede escoger motores de corriente continua, motores paso a paso o servo motores como los utilizados en coches teledirigidos y aeroplanos.

Fuente de información.

Una tarea muy importante, consiste en obtener información sobre proyectos similares existentes en el mercado, documentación de los distintos elementos que vamos a utilizar en el proyecto. Internet sin duda, es una buena fuente de información, así como, libros que desarrollan la teoría, la práctica y los conocimientos sobre distintos elementos que intervienen, cuanto mayor información, más posibilidades de éxito tendremos.

Conocimientos previos.

Necesitaremos unos conocimientos previos sobre como manejar o controlar, motores DC, control de velocidad PWM, servos, sensores, lectores, codificadores, LCD y sobre todo si es el caso el microcontrolador a utilizar. Ahora, veremos algo de teoría sobre algunos de estos dispositivos.

Motores DC.

Los motores de corriente continua, han sido usados satisfactoriamente en muchos proyectos. Podemos encontrar motores de infinidad de tipos, motores de forma y tamaño en el mercado, en viejos electrodomésticos y en otros artefactos electrónicos.

dc_motorFig. 1 Motor DC

Los motores DC, tienden a girar demasiado rápido y no tienen bastante momento de rotación para mover directamente objetos pesados, entonces habrá que usarse una especie de engranaje llamado reducción o caja de cambio. Los engranajes reducen tanto la velocidad como aumentan el momento de rotación del eje de salida. Esta caja de cambio, se puede crear con engranajes individuales o puede ser parte del motor. Por otra parte, conociendo la velocidad del eje de salida (REVOLUCIONES POR MINUTO) y el diámetro de la polea, se puede tener una idea de cuan rápido girará para encajar en el proyecto.

Si la velocidad no es alta puede tenerse en cuenta el uso de los motores paso a paso, de los cuales hay variedad de potencias y tamaños.

Los codificadores.

Otra necesidad, cuando utilizamos motores DC, es un disco codificador sobre el árbol motor, este codificador de eje, proporciona un tren de pulsos que, puede ser contado y permite al microcontrolador, determinar cuanto se ha viajado o desplazado, en que sentido y cuan rápido hace girar el eje.

2ejesratonFig. 2 Dos codificadores para 2 Ejes.

La rueda codificadora puede ser un disco solidario al eje, con rayas blancas y negras alternas. Una fuente luminosa de IR apuntada al disco, al girar la rueda, las rayas negras absorben la luz mientras las rayas blancas la reflejan atrás sobre un fototransistor. La rueda también puede ser un disco con ranuras en el, como aquellos encontrados en ratones de PC. En este caso, la fuente luminosa de IR está a un lado del disco y el fototransistor está al otro lado del disco. En ambos casos, el fototransistor convierte los pulsos de luz en una señal que, para ser contados, son enviados al microcontrolador. El conexionado del sensor de la rueda codificadora es similar al de los sensores de proximidad de pared.

Los sensores de proximidad.

Los ratones necesitan un modo de detectar con precisión los movimientos y la mayor parte emplea, sensores infrarrojos de proximidad para hacer esto. Estos sensores IR pueden ser sensores de proximidad o pueden ser simples sensores de distancia.

Estos tipos, tienen al menos dos sensores, un sensor con el eje montado en ángulo de 90? sobre el eje del otro sensor, de modo que, cualquier movimiento se manifiesta con un par de valores que, nos proporcionan una posición única sobre un plano determinado.

Estos tipos de sensores, por lo general van montados sobre un eje solidario a la rueda codificadora, de modo que al girar ésta, la fuente luminosa de IR está a un lado del disco y el fototransistor está al otro lado del disco. Si hay un radio o pared directamente enfrente del sensor, éste devuelve un valor lógico verdadero. Si no hay ningún obstáculo enfrente del sensor, el valor lógico que devuelve es falso.

Los sensores de proximidad son fáciles de poner en práctica. La parte de emisor se parecerá con esta imagen:

emitterFig. 3

La parte de sensor se parecerá aquí.

fototransistorFig. 4

La resistencia R se escoge para establecer la corriente apropiada para el LED. En vez de unirse directamente a +5 Voltios, otra opción, será unirlo por un transistor así el LED podrá ser activado por el micro, sólo cuando los sensores tengan que ser leídos.

Para que el fototransistor se comporte como un interruptor tiene que conducir en la condición de saturación. Cuando el sensor deba ser conectado a la lógica CMOS, un valor de resistencia de aproximadamente 10 kΩ, será una buena opción.

El LED y el sensor puede ser componentes separados, o pueden ser empaquetados juntos en una cápsula de plástico, algo parecido a esta imagen:

sensoroptoFig. 5 Sensor óptico compacto.

Aún así debe asegúrese de que la altura del sensor, en mayor o menor medida, es ajustable, dando así la posibilidad de modificar cualquier desajuste. También, podemos citar que existen los sensores por espira, estos generan un campo magnético que varía con el paso de un elemento metálico sobre su campo de acción, esto hace que se refleje a la salida de un amplificador, presentando una variación o señal que es lo que nos interesa.

Control de motores DC.

Esquemático básico de un motor de corriente continua.

puentehdcFig. 6 Circuito DC básico.

Conseguir hacer girar un motor de corriente continua, es tan simple como la conexión del mismo a una batería (procurar no exceder el margen de voltaje del motor). La inversión de la polaridad de las conexiones de motor, causará que el motor gire en sentido contrario. La reducción del voltaje aplicado al motor, hace que gire más lento.

puentehswitchesFig. 7 Puente H con interruptores.

Para invertir la dirección del motor sin un nuevo conexionado requiere de un circuito conocido como un PUENTE-H (advierta cómo el circuito alrededor del motor está en forma de la letra H).

El cierre de los interruptores A y D hace que el motor gire adelante.

puentehadelanteFig. 8 Giro adelante

Cerrando los interruptores B y C hace que el motor gire hacia atrás.

puentehatrasFig. 9 Giro atrás

Una vez que el motor se conecta y aumenta de revoluciones, cerrando los interruptores A y C se desconecta la batería del motor y cortocircuita los terminales del motor. Esto produce un efecto que frenado en motores de corriente continua.

frenadopuentehFig. 10 Frenado en motores DC

También es fácil hacer un corto de batería al cerrar por descuido los interruptores A y B o cerrando los interruptores C y D. ¡¡Esté muy atento para no hacer esto!!. Esto pondrá en peligro la batería. Tome medidas para evitarlo, una buena medida es automatizar al máximo el control de los interruptores.

Para permitir controlar el Puente H al microcontrolador, los interruptores mecánicos, deben ser substituidos por transistores. Notese, el empleo de diodos de retorno (flyback) en el circuito. La bobinado en el motor es esencialmente un inductor. Cuando el flujo de corriente en un inductor de repente es cortado, la corriente de pronto no puede ir a 0. Por consiguiente, inducen un voltaje oponiéndose a esta corriente. Este voltaje puede ser tan alto que esto destruya los transistores. Los diodos de retorno (flyback) proporcionan un camino de vuelta seguro para esta corriente que evita y protege los transistores.

 puentehtransFig. 11 Puente H con transistores

El puente-H, puede ser realizado con transistores discretos o puede ser comprado como un circuito integrado. Utilizar un circuito integrado ayudará a mantener el proyecto compacto y la lógica interna previene que la batería pueda ser cortocircuitada como se describió más arriba.

Al escoger uno de estos IC de puentes-H, se deben examinar las hojas de datos, con cuidado. Algunos, contienen diodos internos de retorno o flyback y algunos requieren que al diseñar se agreguen diodos externos. Aquí están algunos integrados populares:

Control de velocidad de un DC.

Aplicar toda la energía al motor DC, hará que éste, gire a la máxima velocidad y quitando la energía al motor, haremos que el motor deje de girar. El puente-h que hemos comentado antes es capaz de controlar estos dos estados. Para conseguir hacer que el motor pueda girar a velocidades inferiores, puede usarse una técnica conocida como, Modulación de Anchura de Pulso (PWM).

La PWM es un modo eficiente, para simular una gama de valores analógicos en circuitos digitales. Conmutando rápidamente entre encendido y apagado, se puede simular un valor medio. Se muestran tres señales en la figura. Las tres señales comparten la misma frecuencia, pero la anchura de los pulsos es diferente. Por medio de la variación del tiempo en «alto», podemos hacer que el motor «vea» un valor entre 0V y +V.

ondapwmFig. 12  Modulación de Anchura de Pulso (PWM)

Como para la frecuencia de esta señal, deberá estar bien algo por encima de 10khz. Si se oyera una vibración o tono que llega de los motores, entonces se podrá usar una frecuencia por encima del umbral del oído de humano, es decir, de 20khz a 25khz.

Los Servos.

Los servomotores, más conocido por servos, está constituidos por un motor de corriente continua.

futaba-s3003Fig. 13 Servo Futaba S-3003

Dicho motor, tiene un sistema reductor, mediante engranajes que, además, está mecánicamente vinculado a un potenciómetro, para su control de giro.

poleas-servoFig. 14 Engranaje reductor

Dicho motor, dispone de un sistema electrónico integrado que, mediante una señal PWM externa al servo permite que, podamos modificar en cada momento, el ángulo del eje del servo en la posición que nos interese, por lo general con un tope entre 0 y 180 grados. Existe un modo de modificar la mecánica del reductor de velocidad, para que pueda girar sin fin. En algunos casos puede interesar esta modificación.

actuador_digital_servoFig. 15 Control electrónico.

Esto es una gran ventaja, por ejemplo, si disponemos de un micro con 8 pines de salida, podremos posicionar hasta 8 servos.

Los servos como ya se ha dicho, se controlan aplicando una señal PWM por su cable de control. Como ya se describirá más abajo, las señales PWM (Pulse Width Modulation, modulación por anchura de pulso) son impulsos digitales (que pueden valer 0 ?1 y permiten) que usando un único pin de un microcontrolador podamos controlar el ángulo de giro para posicionar el servo, la señal enviada al servo es traducida en órdenes de posición por la electrónica dentro del servo, permaneciendo en dicha posición inamovible, mientras permanezcan, la tensión de alimentación y la señal de control.

Conexión.

El servo, normalmente presenta tres cables que llegan a un conector hembra. De los tres cables, el rojo es el de alimentación (4,5 – 6 voltios), el negro es masa y el blanco es el encargado de controlar el ángulo de giro, mediante la señal de control PWM.

conectorFig. 16 Conector de alimentación.

La señal PWM.

Para posicionar el servo hay que aplicar una señal periférica, de 50Hz (20ms de periodo). La anchura del pulso determina la posición del servo. Si la anchura es de 2,3ms, el servo se sitúa en un extremo y si la anchura es de 0,3ms se sitúa en el opuesto. Cualquier otra anchura entre 0,3 y 2,3 sitúa el servo en una posición comprendida entre un extremo y otro. Por ejemplo, si queremos que se sitúe exactamente en el centro, aplicamos una anchura de 1,3ms.

 pwm_0Fig. 17 Anchura de los pulsos de comando.

Mientras se le aplique la señal PWM, el servo permanecerá fijado en su posición, reteniendo su eje con fuerza para permanecer en ella. Esto es una cualidad de especial relevancia ya que permite que se mantenga el eje en una posición mientras permanezca alimentado el servo, por ejemplo; en un brazo robot. Cuando se deja de enviar la señal, el servo entra en un estado de reposo y por tanto, se podrá mover con la mano.

Llegados aquí deberemos tener claro el contenido del proyecto ya que tenemos bastante claro los dispositivos implicados y algo de idea sobre la técnica de su control.

Planificación y diseño del proyecto.

Básicamente, se pretende realizar el control de entrada y salida de un cierto número de personas a un local, mediante una tarjeta de proximidad o lector (el sistema de detección ya existe), puede considerarse que, nos presenta una señal digital cada vez que se acerca a un detector la tarjeta de la persona autorizada.

Cuando se recibe un impulso desde el detector, de entrada o de salida, ambos son iguales, se debe poner en marcha un proceso que comprende los siguientes puntos:

El sistema de control del proyecto, dispondrá además de: un interruptor de puesta en marcha/parada, un pulsador de reinicialización, puesta a cero o RESET y una entrada digital (H-L) para usos varios.

La puerta, para abrir, recibe una señal de apertura y permanecerá abierta, durante un tiempo (determinado) que dependerá de la condición que no se reciba una nueva señal de lectura de tarjeta por un espacio de tiempo de 10 segundos de seguridad.

Por otra parte, debe disponer de un sistema manual auxiliar independiente, que pueda actuar en el caso eventual, de falta de energía de la red, por motivos ajenos a la propia instalación e inesperados.

El sistema se apoyará en su funcionamiento con una memoria que guardará los últimos datos de las señales activadas, para poder reiniciarse con las mismas condiciones anteriores al apagón.

Elección del Microcontrolador.

Se considerará los microcontroladores, los pines de entrada analógicos y digitales, así mismo los pines de salida. Se tendrá en consideración si dispone de temporizadores, pines de salida PWM integradas, bajo consumo, frecuencia de trabajo de 8MHz, dimensiones del dispositivo, patillaje, modo de grabación, lenguaje, hojas técnicas del fabricante, coste, disponibilidad, facilidad de mantenimiento y fácil sustitución.

Después de sopesar las posibilidades expuestas en el apartado anterior, se opta por el uso de un sistema basado en el AVR (Arduino), entre otras cuestiones, por su facilidad de programación y por tener cierta experiencia, además del hecho de que disponga de salidas PWM que, pueden manejar señales para los puentes en H para los motores de las puertas de entrada y salida, también, dispone de temporizadores.

El sistema se sustenta en monitorizar dos eventos constantemente. Puesto que tenemos dos eventos que escrutar todo el tiempo, consideraremos que dividimos en dos ciclos, el tiempo de escrutinio, es decir, en el primer ciclo comprobamos el estado de las entradas y se ejecuta la tarea prevista que corresponda a las datos de entrada y en el segundo ciclo, se comprueba la estado de las salidas, ejecutando las tareas que correspondan a su situación.

En cada secuencia, se ejecutará la orden que cumpla la condición que exija el evento activo, pasando el control a la siguiente secuencia. Este ciclo se repite en un bucle sin fin.

Herramientas Hardware.

Los requerimientos del hardware son realmente importantes, ya que, se necesita del control de una puerta y una barrera de paso de entrada al que hay que añadir el lector de tarjetas y el detector de espira. Estos elementos electromecánicos son idénticos tanto para la entrada como para la salida, con las pequeñas variantes de posición física que no afectan a su comportamiento.

Software.

Necesitamos herramientas de desarrollo que, nos permitan plantear distintos estados y posibilidades de la aplicación, esto nos facilitará nuestra labor a la hora de generar los esquemas electrónicos y las correspondientes placas de desarrollo o PCB. Es de vital importancia, la posibilidad de que dicho software nos permita realizar simulaciones del prototipado y rectificación del mismo antes de la puesta en práctica del prototipo final.

Las herramientas de desarrollo del microcontrolador AVR en las que vamos a centrar nuestro diseño, es de las llamadas OpenCode, o sea, de código abierto y de licencia libre, por lo que no tendremos que desembolsar ningún derecho de uso. Con la ventaja que esto conlleva.

Software Arduino

El Entorno de Desarrollo Integrado de Arduino (del inglés IDE – Integrated Development Environment) es una herramienta que funciona en diferentes plataformas (Windows, Macintosh, Linux) dedicada a la edición y descarga de programas en la placa Arduino. El sistema está basado en el uso de Processing que está hecho en Java. El código que se ejecuta en las placas está basado en las librerías de aplicación Wiring API y en las de desarrollo de los integrados AVR.

(Nota – Para bajar la última versión pincha aquí). Esta es una muestra de una versión comercial conocida por Diecimila.

arduinoFig. 18 Ardiuno Diecimila.

Este pequeño paquete de desarrollo integrado, formado por un microcontrolador de la familia Atmel. En las últimas versiones concretamente con al Atmega168 que es bastante más completo. Este es su patillaje.

atmega168Fig. 19 ATmega 168

Código Fuente. Las fuentes del IDE y las librerías de generación del código estaban disponibles en: http://svn.berlios.de/viewcvs/arduino/trunk/. Visita dicho enlace para recibir instrucciones de como descargar el código. Para una información más extensa sobre el sistema de desarrollo Arduino, en español, este es el enlace. No entraremos con más detalles al respecto ya que no es el propósito de este artículo.

La herramienta de desarrollo software, corren con distintos sistemas operativos como: Windows, Mac OS X PPC / Mac OS X Intel, en nuestro caso nos basamos en el Windows. Este es el aspecto que tiene y como se puede ver está basado en el Procesing o el Wiring.

wiring-softarduino-soft
Fig. 20 Aspecto de ambos IDE.

Este es un medio potente para desarrollar nuestras ideas, aplicando los conocimientos que tengamos de programación. Existen un amplio número de ejemplos sobre diferentes aplicaciones ya resueltas, las cuales, directamente o mediante unos pocos cambios, se pueden adaptar a nuestras necesidades.

Puesta en práctica.

Para aproximarnos a lo que supone el proyecto, debemos plantear una serie de opciones de conexionado de los diferentes elementos que intervienen, para hacernos una idea de lo que representa lo que podemos definir como vista general del proyecto. En la figura que sigue se presenta el conexionado aproximado referido.

 esquematico-nave-industrialFig. 21 Esquemático general.

En la figura anterior, podemos apreciar tres partes bien diferenciadas. Por una parte muestra los elementos (lector, puerta, barrera, espira) que conectan a las entradas digitales del Arduino, Esto se repite, uno para ka entrada y otro para la salida. Por otra parte está el conjunto, puente H y el motor y también el propio Arduino.

Cabe destacar que, se ha considerado que los distintos objetos conectados a las entradas digitales nos entregan pulsos digitales, hay que considerar que si hubiera alguno que entregara señales analógicas, éstas señales, se pueden conectar a las correspondientes entradas del Arduino.

En cuanto al conjunto puente H, su construcción final, va a depender del tipo de motor que se vaya a utilizar esto se dejará para solucionar al final. Este elemento se resolverá en un apartado concreto. A continuación una muestra del circuito integrado utilizado en aplicaciones de bajo consumo, juguetes, robots, etc.

L293N_puente_htabla_funcion_L293Fig. 22 Patillas y tabla de la verdad.

Según esta tabla, el circuito dispone de una posición para girar a derecha, otra posición para girar a izquierda y una opción que asegura que el motor no se moverá. Esto nos permite realizar el control del motor dc, con la ayuda de dos inversores y medio circuito integrado L293N, con sólo poner en estado L (bajo) la entrada de habilitado (Enhabled), podemos parar el motor y con una sola señal de control, podremos direccionar el giro del motor. Esta puede ser una aplicación de lo que estamos tratando.

bidireccional_dcFig. 23  Control de dirección.

Nos estamos basando en un puente H que tan sólo permite un consumo de 1A. Naturalmente, para un gran número de aplicaciones no será suficiente. así que, mediante transistores adecuados, se puede lograr un puente H que permita un mayor consumo, los transistores deben ser escogidos con los parámetros adecuados al consumo exigido, diodos de flyback igualmente escogidos y los inversores utilizados en este caso, deben ser triestado, aprovechando el estado de alta impedancia para detener el motor.

puenteh_transistFig. 24 Puente H transistorizado

Con esto, de algún modo, podemos decir que tenemos resuelto, el control de los motores, por lo que vamos a abordar otro punto. Sin lugar a dudas, estos motores necesitan de una pequeña aplicación que permita su verdadero control, ya que tal cual se encuentran, en estos momentos, los motores siempre estarán girando, en una u otra dirección.

Una condicionante, para la señal que abre la puerta (de entrada o salida), ha de disponer de un retardo que se reiniciará tantas veces como sea necesario, permaneciendo abierta mientras que entren o salgan las personas o vehículos según el caso.

Supuesto 1.
Lega un vehículo, pasa la tarjeta, se autoriza la señal, abre la puerta y se levanta la barrera, se envía una señal sonora y al mismo tiempo sirve para encender una luz de alerta, entra el vehículo hasta que rebasa la barrera, esto acciona la espira y ésta, envía una señal durante 10 segundos de cierre condicional, es decir, si en esos 10 segundos no recibe una nueva petición de apertura, la barrera se cerrará y pasados 5 segundos, la puerta se cerrará.

Supuesto 2.
Si el vehículo en circulación no rebasa la barrera, no activará la espira electromagnética, la señal de apertura de la puerta, tiende a cerrarse después de los 10 segundos. Entonces, recibe una señal de reinicio proveniente del sistema, permaneciendo otros 10 s. abierta, esto retrasa la bajada de la barrera ya que no ha sido pisada la espira electromagnética todavía. En caso de no recibir la señal de la espira electromagnética, se volverá a reiniciar de nuevo el tiempo de 10 segundos.

A los 5 segundos de pisar la espira electromagnética o de ser rebasada, bajará la barreara, si la puerta si no recibe una nueva petición de apertura desde el lector de tarjetas o de un modo manual, permanecerá abierta, hasta terminar el período que le quede desde el último reinicio.

Supuesto 3.
Estando abierta la puerta, llega un nuevo vehículo, se le da permiso. El período de reinicio de puerta abierta, se vuelve a iniciar y el proceso continua su rutina.

La puerta abierta, reinicia los 10 segundos de retardo, la barrera si había bajado, se levanta o permanece alta, hasta que se alcance la espira electromagnética por el vehículo o se inhiba su acción de forma manual, lo que dejará la puerta abierta de forma permanente hasta que se cierre el sistema manual que, inhibe la función de la espira electromagnética y pueda así continuar el proceso de cierre.

Como podemos manejar la señal de entrada En, para poner en marcha o parar cada motor, cabe preguntarse, que señal podemos aprovechar, para su control.

esquematico-nave-industrialFig. 25

Observando la figura del esquemático general y procurando aplicar los supuestos mencionados, vemos que podemos aprovechar una señal.

El código.

En primer lugar, debemos asignar los pines de entrada y salida y las variables que tenemos que usar. Basándonos en aplicar el código, del sensor de presencia de Igor González Martín 14-01-2008 que, hemos modificado un poco para nuestro propósito.

Estas son las variables principales que debemos considerar:

sistm-esFig. 26 Entradas/Salidas del sistema.

Una variable es un identificador con nombre y almacenaje en memoria, de un valor para su posterior empleo según el programa, como son, datos de un sensor o un valor intermedio usado en un determinado cálculo, etc.

código.

Generalizando, las variables son expresiones que almacenan valores, como capturas o lecturas de los valores de entrada de un pin que puede ser digital o analógico. Para más información sobre asignación de modos de entrada (input) o salida (output) de los pines, debe referirse la funciónpinMode.

La función void setup () se llama al principio del programa. Se utiliza para inicializar variables, definir los modos de entrada o salida de los pines, indicar librerías, etc.

pinMode(pin, mode) Configura el pin especificado, para que se comporte como indica mode: entrada (input) o salida (output).

La sección loop(), como su nombre indica (en inglés) hace un bucle que se repite continuamente, provocando que responda y modifique sus estados según el programa que contiene. Se usa, para controlar de forma activa la tarjeta Arduino.

El tiempo que emplea el bucle, varía según el número de instrucciones que éste contenga. Se puede conocer y controlar con las funciones de temporización (millis(), delay(), etc) intercaladas en el programa a tal efecto.

Con loop se chequean continuamente, los pines de entrada conectados y dependiendo de si está activados o no, enviará un valor diferente a las patillas de salida que se hayan configurado en la sección setup().

Este será una forma de bucle que puede servir para nuestro propósito.

Continuará ….

Novedades.

He observado que el mecanismo de las puertas debe disponer de un contacto que indique si se ha llegado a cerrar o abrir totalmente, es decir, un fin de carrera para la posición de abierto y uno para la de cerrado. Esto mejora el control de las puertas, aunque requiere de la disponibilidad de un par de pines para su lectura en la tarjeta microcontroladora, salvo que utilicemos alguna puerta lógica externa para este control.

Puesto que estamos en el umbral de disponibilidad de pines en el microcontrolador, sin recurrir a estrategias para evitar dicho límite. No es mala idea el uso de unas puertas lógicas que mejoren el conexionado y control de las puertas. Siempre podemos aumentar los puertos disponibles mediante el uso del Bus-I2C, como recurso a la falta de pines de E/S para el sistema.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.