Felix Maocho

Para quien le interese lo que a nosotros nos interesa

Arduino – Atelier JCM, Capítulo Tres


Por Félix Maocho
30/6/2013

Continuo con la traducción comentada de los post de Introducción a Arduino de Ateleier JMC.

En este capítulo el autor profundiza en las posibilidades de las salidas/entradas digitales de de Arduino, nos indica cual es su potencial y cuales son sus limitaciones, finalizando el post con una útil tabla con las diferentes características de todas las salidas de Arduino.

Interesantes son tambien las explicaciones sobre la intensidad de la corriente  que se puede suministrar a través de las salidas de Arduino,  Se ve que tal intensidad es más que suficiente para obtener señales de intensidad de voltaje y ectivar elementos de reducido consumo como un LED o un relé, pero no son suficientes para suministrar energía a aparatos de mayor consumo como puede ser un motor eléctrico, por lo que con estos aparatos Arduino se utiliza como equipo controlador del flujo de energía procedente de otra fuente que los mueva, a través de elementos electrónicos interpuestos como amplificadores o relés.

Por último, como en los capítulos anteriores, el autor utiliza para sus practicas un Dfrarduino un a tarjeta compatible especialmente diseñada para el control de motores. Esta practica es absolutamente compatible sin ningún cambio con la tarjeta Arduino UNO que nosotros utilizamos habitualmente.

Introducción al Arduino Capítulo 3

En este capítulo vamos a perderemos un poco de tiempo a entender bien lo que son los modos INPUT y OUTPUT salida y los estados de HIGH y LOW. Si nos limitamos a las entradas/salidas  digitales (las hermanas analógicas que veremos más tarde), podemos decir que un Pin, (un eje), se caracteriza por dos cosas:

  • su sentido: de entrada (INPUT) o de salida (OUTPUT)
  • su estado: alto, 5V (HIGH) o bajo, 0V (LOW)

modo INPUT

En el modo, el Arduino está escuchando, esperando a un evento que viene del exterior. De una forma más precisa Arduino mide, un poco a la manera de un voltímetro, la tensión conectado a su eje. Para conocer este voltaje, una pequeña corriente fluye entre el exterior y el pin de Arduino. (Dentro de Arduino hay una resistencia muy elevada de 100 M ohmios M “para” fijar el pin en el modo INPUT).

En el modo digital, no hace falta el detalle. o la tensión es HIGH o baja LOW. (En realidad, todo lo que es superior a 3v es reconocido como HIGH y por debajo como LOW ). Vimos un ejemplo de un modo INPUT en el capítulo anterior, donde se utiliza un interruptor. Es importante entender que la intensidad que pasa a través del conmutador es muy pequeña, no es como un montaje clásico donde utilizamos un interruptor que es atravesado por la misma corriente que el motor controla.

En el modo INPUT, están en general las capturas que vamos a conectar a la placa Arduino.

Modo OUTPUT

En este modo, el jefe es Arduino, no está a la escucha, ¡el habla y manda en el exterior! Pero vamos a ver si el jefe habla en voz muy alta, se arriesga a perder su voz!

Arduino hace circular por un pin en concreto y el exterior una pequeña corriente del orden de 10 o 20 mA. Más precisamente, es el diseñador (el meccanoman) quien debe asegurarse que la corriente que fluye es de alrededor de 10 o 20 mA. En el modo de OUTPUT, no es hay una elevada resistencia en el interior de Arduino para limitar la corriente.

Una cosa importante a entender es que esta corriente de 10 mA o 20 no puede alimentar directamente gran cosa,: podremos, por ejemplo, encender un diodo, pero no hacer funcionar un motor eléctrico. Si no prestamos atención y permitimos demasiada corriente podemos poner el pin en cortocircuito, que puede destruir el pin y no podremos usarlo nunca más.

Si usted desea manejar un motor, por ejemplo, se utilizará un dispositivo de amplificación que permitirá entregar corrientes más importantes como 200 mA. Este dispositivo de amplificación está presente en la Dfrduino nosotros usamos pero está ausente en Arduino básico y debe ser complementado.

En el modo OUTPUT va a actuar hacia el exterior, si necesita una intensidad importante, se deberá amplificar la corriente generada o utilizar relés.

Algunos montajes simples a continuación …

===

De nuevo en un montaje del capítulo 2

En este montaje se propone pasar al estado HIGH  el Pin 2 cuando se oprima el interruptor

** Test pulsador Capitulo 2  P1*/int switchPin = 2; // le switch está conectado al  Pin digital 2void setup(){Serial.begin(19200);

pinMode(switchPin, INPUT); // la pin 2 está en modo entrada

}

void loop()

{

int resultat;

Serial.print("Lectura del estado del pulsador");

resultat=digitalRead(switchPin); // el estado del pulsador (0 o 1) es cargado en la variable resultat

Serial.println(resultat); // Escribir en el monitor serie el contenido de resultat con el estado del pulsador

delay(1000);

}

En este montaje todavía no está la resistencia “recurso de recuerdo” de 10 k ohmios. Pero monta una resistencia de 220 ohms, “para su protección.”

De hecho en este montaje, con el Pin 2 en modo INPUT, , la resistencia de 220 ohmios es inútil. Ella no afecta al funcionamiento: no hay que olvidar que en modo INPUT, Arduino tiene una a resistencia interna de 10.000 ohmios “antes” del Pin, por lo que 10..000.o 10..220 ohms no cambian nada es asunto..

Se podría también estar satisfecho de este montaje:

¿Entonces por qué meter esa resistencia “protección”?

Para comprender esto tenemos que preguntarnos qué pasaría si, por error, se la pusieron con el pasador de montaje 2 en modo OUTPUT. Al pulsar el interruptor, el Pin 2 está directamente conectada a 5 V, sin resistencia de limitación de corriente: resultado, un cortocircuito y un Pin probablemente destruido…

La resistencia de 220 ohmios no interfiere con la operación cuando el pin  está en modo INPUT y permite proteger de cortocircuitos en el modo de OUTPUT, por lo que es un buen plan colocarla de manera sistemática con los accesorios con un interruptor.

¿Por qué 220 ohmios? Debemos recordar la ley de Ohm.

U = R x I
U: tensión en voltios R: Resistencia en ohmios I: amperios
Aquí 5V y 220 ohmios, la corriente es, se pulsa el interruptor:
I= U / R = 5 / 220 = 0,023 A = 23 mA

No hay problema, el Arduino puede entregar por un pin hasta 40 mA (pero tener cuidado, hay un límite global en OUTPUT para el total de corriente suministrada por todos los pin, de 200 mA).

Si no hace 220 ohms en su colección, no importa cual sea el valor entre 200 y 300 ohmios hará el trabajo..

===

Vamos a hacer trabajar al pin 2 en OUTPUT

/*

* Test switch Chap 3 P1

*/

int ledPin = 2; // el led se conecta al Pin digital 2

void setup()

{

pinMode(ledPin, OUTPUT); // el pin 2 está en modo salida

digitalWrite (ledPin, HIGH); // el pin 2 se pone en estado alto

}

void loop()

{

}

El diodo se ilumina. Si se mide la tensión a través del diodo hay 1,8 V, entre los bornes de la resistencia se mide  3.1 V. La corriente que fluye a través de la resistencia de 220 ohmios es 3,1 / 220 o sea 14 mA. Esta es la misma que se ejecuta a través del diodo (los dos componentes están conectados en serie, en una sola fila, la corriente que pasa a través de ellos es la misma.) Los pines de Arduino suministra una corriente de 14 mA, que es al efecto bastante razonable.

Una pequeña indicación: El LED tiene una pata más larga que la otro, es la pata larga para la que debe estar del lado +5V. Si se cambia de sentido, el LED no se enciende, pero no es el abismo. La resistencia, se conecte de una manera u otra, no importaba.

El esquema correspondiente:

(Para los esquemas, yo utilizo el software libre y de código abierto QElectroTech, la electrónica no es realmente su especialidad (ni  la mía   ), pero se puede salir adelante.

¿Cuáles son los pines se puede utilizar?

El Arduino tiene 20 pines de entrada-salida. Pero no son todas equivalentes:

  • –  Pins 0 y 1 corresponden a la comunicación USB, no los utilice
  • –  Pin 13 es especial, pues está conectado a una resistencia y un diodo rojo soldado a la tarjeta, en la práctica no utilizar el modo de INPUT, pero es muy útil en el modo OUTPUT para visualizar los estados sin hacer un circuito en la protoboard.
  • Pins 14 y 19 son pines utilizados como analógico (también se les llama A0, A1 … A5), pero también puede utilizar como digitales.

En la práctica los pins 2-12 se utilizan simplemente pero no todas son exactamente las mismas opciones: por ejemplo, en un Arduino Uno, sólo los pines 3,5,6,9,10,11 pines pueden ser utilizados como PWM (para la variación de la velocidad de un motor).

Nota del traductor

En este post , que en principio no es más que una recapitulación de lo que hasta ahora hemos aprendido, hay enseñanzas muy importantes que quizá nos hayan pasado un poco desapercibidas..

La primero, es que la placa Arduino es una placa controladora, es decir una placa diseñada para controlar los flujos de corriente que dan energía a diferentes a los diferentes aparatos que queremos manejar, pero no esta diseñada para actuar de fuente de energía que alimente esos aparatos. algo muy a tener en cuenta en el diseño de nuestros aparatos, Arduino abre y cierra circuitos eléctricos y electrónicos de acuerdo con la información recogida por los sensores y el diseño de nuestros programas,

La segunda enseñanza del post es que no todas las pin son iguales, por lo que a la hora de utilizar las entradas/salidas de nuestra controladora, deberemos escoger las más adecuadas a aquello que pretendemos hacer.

Por último, que la emergía que puede suministrar Arduino en un determinado momento es limitada, ni un Pin puede suministrar más de  unos 15 mA y que en conjunto no puede ceder más de 200 mA, por lo que en ningún momento deben estar actuando simultáneamente como OUTPUT más de 8 Pines , o mejor aun, 6 pines para no sobrecargar la tarjeta. Lo cual no quiere decir que no podamos tener definidas mas de 6 pines como salida, sino que en un momento determinados solo 6 de esos pines podrán estar en HiGH

Algo que también debemos tener en cuenta en nuestros montajes.

Félix Maocho

Post de esta serie editados en el blog

Todos los post de arduino apareceran en Robótica bajo el subepigrafe Arduino

Anuncios

30 junio 2013 - Posted by | Robotica | ,

Aún no hay comentarios.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: