Introducción

Las señales digitales son aquellas que sólo tienen dos estados: encendido, representado por un 1, y apagado, representado por un 0. Otra forma de llamar a estos estados es “nivel alto” y “nivel bajo”, respectivamente.

En Arduino, las señales digitales tienen 2 valores: 0V a nivel bajo y 5V a nivel alto (Arduino UNO y compatibles). Las señales digitales pueden usarse para simular una pila que se enciende y apaga a nuestra voluntad. Utilizando este tipo de señales podemos, por ejemplo, encender y apagar LEDs.

Componentes

LEDs

Los LEDs son unos indicadores luminosos geniales. Usan una pequeña cantidad de electricidad y, prácticamente, duran para siempre.

Los LEDs tienen dos patas. Una con polo positivo (ánodo) y otra negativo (cátodo). La pata más larga se corresponde con el positivo y la más corta con el negativo. Un LED no encenderá si no lo conectas correctamente.

NO conectes directamente un LED a una fuente de alimentación, debes de usar una resistencia para limitar la corriente que pasa por el LED, de lo contrario lo quemarías. ¿Por qué?

Resistencias

Las resistencias se utilizan para limitar el paso de corriente por un conductor. Cuanto mayor sea el valor de la resistencia, mayor es la limitación de corriente y viceversa.

Vamos a usarlas para controlar la electricidad fluye por el LED, para que sea suficiente para iluminarse y, no demasiada para quemarse.

A diferencia del LED, las resistencias no tienen polos positivos o negativos, por lo que pueden ser conectadas en cualquier posición. Breadboard

Breadboard o placa de prototipar sin soldadura

La breadboard es una forma de construir circuitos electrónicos sin tener que soldar. Los componentes son colocados en los agujeros de la breadboard y con cables “jumper” haremos las conexiones.

Tanto en la parte superior como en la inferior, hay dos filas marcadas con una línea azul y otra roja, los agujeros de la línea roja están conectados entre sí, y lo mismo ocurre con los agujeros de la línea azul. Generalmente, la fila azul se usa para GND (tierra) y la roja para 5V (alimentación).

En la parte central de la placa, vemos que hay dos grupos de 30 x 5 agujeros cada uno. Cada columna tiene sus cinco agujeros conectados entre sí.

Si quitásemos el adhesivo que la breadboard tiene por detrás, veríamos algo similar a la siguiente imagen.

 

 

Hay breadboards de diferentes tamaños. Si la breadboard es de 400 puntos tiene 30 x 5 agujeros. Si es de 830 puntos tiene 60 x 5 agujeros. Si es de 170 puntos tiene 17 x 5, ésta última no tiene las filas de los bordes superior e inferior.

Explora

Conectando el LED en la breadboard

Conectamos los componentes de forma similar al esquema siguiente:

Recordatorio: la pata más larga del LED es el polo positivo, la más corta el negativo. Los agujeros de las líneas rojas y azules de la breadboard están conectados por filas, el resto por columnas.

  1. Colocamos el LED en la zona central de la breadboard.
  2. Conectamos el LED a la resistencia. Para ello, insertamos una de las patas de la resistencia a la misma columna en la que está la pata más larga del LED. La otra pata de la resistencia la podemos colocar en cualquier otra columna cercana.
  3. Conectamos el LED al pin 13. Insertamos un cable (amarillo) desde la última pata de la resistencia que hemos pinchado en la breadboard (la que no están en la columna del LED) al pin 13 de Arduino.
  4. Conectamos el LED a GND. Colocamos un cable (azul) desde la pata más corta del LED a la fila azul de la breadboard.

Programando en Arduino IDE

  1. Abre Arduino IDE.
  2. Elige tu placa en Herramientas > Placa. La que yo estoy usando es Genuino UNO.
  3. Elige el puerto al que tienes contado tu placa en Herramientas > Puerto.

Arduino IDE tiene predefinidas dos funciones: void setup() y void loop()

El código que escribamos en void setup() se va a ejecutar una única vez al inicio del programa. Por tanto, en esta función vamos a configurar nuestro Arduino.

El código que escribamos en void loop() se va a ir ejecutando línea a línea y cuando llegue al final va a volver a empezar, haciendo esto una y otra vez de forma indefinida. Por tanto, en esta función vamos a escribir cómo queremos que Arduino actúe.

¿Lo tienes? ¡Vamos a programar!

En void setup() vamos a decirle a nuestro Arduino que hemos conectado un LED (una salida digital) al pin 13.

pinMode(13, OUTPUT); // LED conectado al pin 13

Queremos que nuestro LED parpadee, así que en la función void loop() vamos a decirle a Arduino que encienda el LED, lo mantenga encendido 1 segundo, apague el LED, lo mantenga apagado 1 segundo, vuelva a encenderlo durante 1 segundo, vuelva a apagarlo durante 1 segundo, y así, indefinidamente.

digitalWrite(13, HIGH);  // Pon en nivel alto el pin 13. Enciende el LED.
delay(1000);             // Espera 1000 milisegundos. Espera 1 segundo.
digitalWrite(13, LOW);   // Pon en nivel bajo el pin 13. Apaga el LED.
delay(1000);             // Espera 1000 milisegundos. Espera 1 segundo.

El código completo de nuestro sketch:

void setup() {
  pinMode(13,HIGH)   // LED conectado al pin 13
}

void loop() {
  digitalWrite(13, HIGH);  // Pon en nivel alto el pin 13. Enciende el LED.
  delay(1000);             // Espera 1000 milisegundos. Espera 1 segundo.
  digitalWrite(13, LOW);   // Pon en nivel bajo el pin 13. Apaga el LED.
  delay(1000);             // Espera 1000 milisegundos. Espera 1 segundo.

Haz click en el botón “subir”, el segundo botón que se encuentra en la parte superior izquierda de la ventana de Arduino IDE. Una vez que la subida se haya completado con éxito, nuestro LED en la breadboard estará parpadeando.

Cambiando el LED de pin

Vamos a cambiar el LED del pin 13 al pin 2. Para ello podemos modificar el circuito anterior cambiando el cable del pin 13 al pin 2. Si vas a construir el circuito de cero:

  1. Conectamos la breadboard a Arduino. Unimos un cable (negro) desde el pin GND de Arduino a la fila azul de la breadboard.
  2. Colocamos el LED en la zona central de la breadboard.
  3. Conectamos el LED a la resistencia. Para ello, insertamos una de las patas de la resistencia a la misma columna en la que está la pata más larga del LED. La otra pata de la resistencia la podemos colocar en cualquier otra columna cercana.
  4. Conectamos el LED al pin 2. Insertamos un cable (naranja) desde la última pata de la resistencia que hemos pinchado en la breadboard (la que no están en la columna del LED) al pin 2 de Arduino.
  5. Conectamos el LED a GND. Colocamos un cable (azul) desde la pata más corta del LED a la fila azul de la breadboard.

Antes, en Arduino IDE programamos el LED en el pin 13 de Arduino. Cambiémoslo al pin 2. Para ello, en la función void setup() debemos inicializar el nuevo pin como salida:

void setup() {
  pinMode(2, OUTPUT);  // Inicializa el pin 2 como salida.
}

Y, en la función void loop(), cambiamos el pin 13 al pin 2:

void loop() {
  digitalWrite(2, HIGH);   // Enciende el LED (HIGH es el nivel alto, 5V)
  delay(1000);             // Espera 1 segundo
  digitalWrite(2, LOW);    // Apaga el LED (LOW es el nivel bajo, 0V)
  delay(1000);             // Espera 1 segundo
}

El código completo es:

void setup() {
  pinMode(2, OUTPUT);      // Inicializa el pin 2 como salida.
}

void loop() {
  digitalWrite(2, HIGH);   // Enciende el LED (HIGH es el nivel alto, 5V)
  delay(1000);             // Espera 1 segundo
  digitalWrite(2, LOW);    // Apaga el LED (LOW es el nivel bajo, 0V)
  delay(1000);             // Espera 1 segundo
}

Sube el sketch a tu Arduino y el LED empieza a parpadear usando el nuevo pin.

Sigue explorando

Cambiando la velocidad de parpadeo

Modifica el código para que el LED parpadee a diferntes velocidades:

  1. Cambia la velocidad de parpadeo del LED a 0,5 segundos.
  2. Haz que el LED se encienda durante 3 segundos y permanezca 1 segundo apagado.

Añade diferentes LEDs

Construye un nuevo circuito usando 2 LEDs, añade al código el nuevo LED y haz que parpadeen alternativamente (cuando uno esté apagado, que el otro esté encendido, y viceversa).

Deja un comentario