Parpadeo de un LED externo

Conectar la tarjeta chipKIT ™ con un circuito externo

Introducción

En este proyecto vamos a construir nuestro propio circuito de LED externo y controlarlo con el microcontrolador (a través de uno de los pines). Para ello, debemos entender las propiedades del circuito y sus componentes. Para crear el circuito externo vamos a utilizar una placa ChipKIT. En este proyecto también vamos a considerar las formas en que las variables se pueden utilizar en un sketch.

Antes de comenzar, usted debe:

• Comprender los conceptos básicos de voltaje, corriente y resistencia.

• Comprender el uso de protoboards.

• Comprender la disposición general de pines en una tarjeta chipKIT.

Después de que haya terminado usted podrá:

• Comprender cómo una tarjeta chipKIT puede interactuar con un circuito externo a través de sus pines I/O.

• Comprender la necesidad y el uso de resistencias limitadores de corriente.

• Comprender el uso de variables.

• Comprender la representación esquemática de circuitos básicos.

Inventario:

LED Blink1

Paso 1: Diseño del Circuito

Antes de tocar en realidad alguno de los componentes del circuito, tenemos que crear un diseño de circuito que especifique los componentes a utilizar y la forma en que están conectados. Conceptualmente, el circuito que estamos construyendo aquí es relativamente simple y es comparable a un circuito con una batería, un interruptor de la luz y una ampolleta. La tarjeta chipKIT actuará tanto como interruptor y fuente de alimentación (con eficacia la batería), mientras que un LED servirá como la “ampolleta”. Cuando se enciende un LED, por lo general el voltaje en sus terminales de pin y tierra es de aproximadamente 3.3V. La orientación que utilizamos cuando ponemos un LED en un circuito es importante. El LED se ilumina cuando la caída de voltaje es desde el ánodo al cátodo.

Es posible tener una caída de voltaje a través de un LED de más de 2V. Sin embargo, si la caída de voltaje excede el voltaje directo máximo de aproximadamente 3V, el LED puede ser dañado. Cuando están en un estado alto (HIGH), los “pines” de salida de la tarjeta chipKIT tienen un nivel de voltaje de 3.3V (y 0 V cuando se encuentran en un estado BAJO). Si unimos un LED entre uno de los pines de salida y la tierra (0 V), entonces tenemos que poner el pin de salida a HIGH, el voltaje que aparece a través del LED superará su máximo voltaje. Debido a la relación no lineal entre la corriente y el voltaje de un LED, pequeños cambios en el voltaje pueden dar lugar a grandes cambios en la corriente. De este modo los voltajes que exceden el máximo voltaje directo causan demasiada fluidez de corriente, dañando el LED y posiblemente dañando la tarjeta chipKIT.

Para evitar cualquier daño, tenemos que añadir una resistencia de limitación de corriente a nuestro circuito. Esta resistencia se debe conectar en serie con el LED, lo que significa que cualquier corriente que fluya a través de la resistencia también debe fluir a través del LED. Con una resistencia de 220 Ω se asegurará de que no se exceda la tensión directa máxima del LED.

Paso 2: Construyendo el Circuito

Tome un protoboard, un LED, y una resistencia de 220 Ω. (Si usted no posee una resistencia de 220 Ω, su circuito debería funcionar correctamente si se utiliza una resistencia de mayor cantidad de Ohm). Si utiliza resistencias demasiado pequeñas se corre el riesgo de dañar el LED y la tarjeta chipKIT. Por otra parte, si se utiliza una resistencia demasiado grande, la cantidad de corriente que fluye a través del LED puede disminuir hasta el punto en que el LED ya no se ilumina. Cualquier protoboard está bien y no importa de qué color es el LED. En este proyecto, como se muestra en la figura. 1, un conector a tierra está conectado a un riel. Este riel esta, a su vez, conectado al extremo de un resistor. Cuando decimos que dos cosas están conectadas, queremos decir que están conectados eléctricamente. Por lo tanto, si dos componentes están conectados directamente en el mismo nodo o si un cable está conectado a dos áreas diferentes  de la tarjeta, entonces se dice que estos componentes o zonas están “conectados”. El otro extremo de la resistencia está conectado al cátodo del LED (la “pata” más corta del LED). La orientación de la resistencia no afecta a su funcionamiento, por lo que no importa qué extremo conecta al cátodo y que extremo conecta a tierra.

LED Blink2

El pin 3 está directamente conectado al ánodo del LED (la “pata” más larga). Tenga en cuenta que elegimos conectar el pin de tierra a un carril y luego el riel a un componente, mientras que conectamos el pin 3 directamente a un componente. Para este circuito simple, no hay una razón de peso para utilizar un riel, podríamos haber conectado uno de los extremos de la resistencia limitadora de corriente directamente a tierra. Sin embargo, cuando los circuitos se vuelven más complicados, usualmente encontraras que muchos de los componentes deben estar conectados a tierra y por lo tanto el uso de un carril a tierra puede ayudar a reducir el desorden de cables. Por otro lado, es poco probable que varios componentes necesitarán ser conectados a un pin individual. Esa es la razón por la que conectamos el pin 3 directamente al destino “final” en el circuito de la figura. 1. (Si varias cosas tienen que ser conectadas al pin 3, podríamos conectar el pin 3 a un carril o establecer las conexiones adicionales en los espacios que quedan en el conectado al pin 3. Tenga en cuenta que, en la Fig. 1, hay tres agujeros no utilizados en el nodo conectado al pin 3.)

Ya que el pin 3 está unido al ánodo del LED (y porque el otro extremo del LED está conectado a tierra a través de la resistencia limitadora de corriente), cuando el pin 3 está alto, se ilumina el LED. A la inversa, cuando el pin 3 es bajo, el LED estará apagado. Antes de escribir el boceto para controlar el LED, asegúrese de que ha creado el circuito como se muestra en la figura. 1.

Diagramas esquemáticos

“Imágenes Protoboard”, como se muestra en la figura. 1, son muy buenas para representar circuitos relativamente simples, pero pueden llegar a ser desordenados y difíciles de interpretar para los circuitos más complejos. Además, no se presta para crear bocetos rápidos de varios diseños de circuitos. En cambio, es mucho más común para aquellos diseños de circuito hacer representaciones esquemáticas de circuitos. Los diagramas esquemáticos utilizan símbolos relativamente simples, basados en símbolos de líneas para los distintos elementos del circuito. Por lo tanto, es fácil de hacer diagramas esquemáticos a mano.

La Figura 2 muestra el diagrama esquemático para este proyecto. El LED y la resistencia limitadora de corriente tienen sus propios símbolos individuales. Los dispositivos complicados, como una tarjeta chipKIT, a menudo son representados como una simple caja a la que hay conexiones eléctricas. La figura 2 muestra la tarjeta Uno32 con todas las posibles conexiones de pines a pesar de que, en el caso de este circuito, sólo estamos utilizando dos de estos pines (de tierra y el pin 3, que es D3. La letra D es para la televisión digital).

LED Blink3

Paso 3: Programación de la tarjeta chipKIT y el uso de variables

Ahora que tenemos el circuito correctamente conectado, es el momento de programar la tarjeta chipKIT. Abra MPIDE. Puede comenzar con un nuevo sketch o puede comenzar desde el sketch utilizado un Proyecto de Parpadeo de un LED on board. Si usted comienza con ese sketch previo, el único cambio que necesita hacer es reemplazar el pin 13 con el pin 3, es decir, reemplazar todas las apariciones de 13 a 3. Después de haber hecho ese cambio, puede cargar el sketch a la tarjeta y ahora el LED externo debe parpadear con un intervalo de dos segundos.

LED Blink4

Sin embargo, hay otro cambio que queremos hacer en el sketch. Los números, por sí mismos, pueden ser algo sin sentido. Si usted ve el número 3 o 13 y no se proporcionan otros datos, los números no llevan ningún significado intrínseco. Se podría pensar que, al menos, un número transmite intrínsecamente una medida de cantidad, pero tal vez el número estaba destinado a ser utilizado como un identificador, tal como un pin identificador-en lugar de una medida de la cantidad. Sin embargo, por el bien del argumento, supongamos que tiene por lo menos en cuenta que estos números corresponden a los números de pin. Entonces lo que queda es preguntarse ¿qué es importante acerca de un pin en lugar de otro? ¿El pin se utiliza para leer o escribir? ¿Estaba conectado a ese pin? ¿Está el pin conectado a un LED o un motor o un sensor o algo más?

Para hacer que el código sea más legible, y por lo tanto, más fácil de mantener, podemos utilizar variables en lugar de números en nuestros sketches. Debido a que somos libres de elegir los nombres de variables, podemos usar nombres que ayuden a documentar el código, es decir, con el uso de las variables del código en sí mismo puede proporcionar mayor información sobre lo que hace el código.

Por otra parte, cuando usamos las variables en nuestro código, en lugar de números, si alguna vez tenemos que cambiar el valor de la variable (como cambiarlo 13-3), sólo tenemos que cambiar el código en el único lugar donde el valor de la variable se establece. Contraste esto con el uso de números: al utilizar valores numéricos, para cambiar un valor particular, tenemos que encontrar y cambiar cada ocurrencia del número (garantizando al mismo tiempo que el número que hemos encontrado representa lo que creemos que hace, por ejemplo, en un gran programa, 13 podría ser un número de PIN o podría representar alguna otra cantidad como el número de vueltas que uno tiene en un juego). Basta decir que hay una serie de razones por las que es mejor utilizar variables en lugar de valores numéricos dentro de nuestros sketches!

Las cosas importantes sobre la creación de una variable son que debemos proporcionar un tipo y un identificador (nombre) cuando declaramos una variable. Opcionalmente, se puede establecer el valor de la variable cuando se declara (o, más técnicamente, cuando se define). Hacemos esto mediante la asignación (utilizando el signo igual) de un valor a la variable. Los números de pin son valores enteros y por lo tanto una variable que representa un pin debe tener un tipo de int. Si el valor de una variable no cambiará a lo largo del sketch, es una buena práctica proporcionar también lo que se conoce como un especificador de tipo que indica que la variable es en realidad una constante. Este tipo especificador es const.

Poniendo todo junto, el nuevo sketch que parpadea un LED externo es el siguiente:

// Define the constant integer variable ledPin to be 3.
// This global variable is defined ("visible") in all functions.
constintledPin = 3;
voidsetup()
{
  pinMode(ledPin, OUTPUT);  // Set LED pin to OUTPUT.
}
voidloop()
{
  digitalWrite(ledPin, HIGH); // Turn on the LED.
  delay(1000);                // LED remains on for 1 second.
  digitalWrite(ledPin, LOW);  // Turn off the LED.
  delay(1000);                // LED remains off for 1 second.
}

Después de escribir este sketch, debe subirlo a la tarjeta chipKIT. El LED externo debe parpadear. Si quieres hacer parpadear el LED interno nuevamente, todo lo que tienes que hacer es cambiar de 3 a 13 en la línea 3 (y volver a cargar el sketch a la tarjeta).