Práctica 2

En esta práctica 2 vamos a empezar a trabajar con señales digitales, “1″ y “0″ lógicos, y mediante condicionales (“if”) decirle al microcontrolador qué hacer en cada uno de los dos casos. La “entrada de información” se hará con pulsadores (o “pushers”) y volveremos a hacer uso de diodos LED como “salida de información”. Recordad que, simplificando mucho, la labor del microcontrolador es esa, recibir entradas (digitales y analógicas), procesarlas y producir salidas (digitales y analógicas). La práctica 2 va sólo de las digitales.

ESTRUCTURA CONDICIONAL “IF”

Se usa para determinar si se ha producido la situación que queremos. En el ejemplo de abajo:

Quiere decir esto: si la señal que viene del pulsador es “HIGH” (o sea un “1″ lógico, o sea que está pulsado), entonces poner el pin 4 en “HIGH” ( en “1″, enceder el LED que está en ese pin); si no, ponerlo en “LOW” (“0″ lógico, apagarlo).

 IMPORTANTE: entre el GND y el pulsador hay una resistencia llamada “pull down” que nos garantizará que de inicio tenemos un “0″ lógico. En realidad es redundante, pues Arduino ya tiene internamente esta resistencia, pero el concepto es importante.

IMPORTANTE+: Al final de cada línea se pone el símbolo punto y coma–>;

Si no lo ponemos el código no funcionará

IMPORTANTE++: una vez tengáis listo el código, para cargarlo en la placa Arduino tenéis que darle a este botón

compilar y cargar

Componentes necesarios para esta práctica

 

Los ejercicios a realizar en esta práctica son:

  1. El ejercicio a consiste en encender un LED a partir de un pulsador, pero no como lo hacíamos en la práctica 0 (donde el pulsador era un mero interruptor). En este caso lo haremos mediante una señal digital que controlaremos con el pulsador.
  2. El ejercicio b consiste en dos pulsadores y tres LEDs: si pulsamos el pulsador derecho, se enciende el LED derecho, si pulsamos el LED izquierdo, se enciende el izquierdo. Si pulsamos los dos a la vez, se encienden y parpadean los tres LEDs. Esta última condición se expresa mediante el símbolo “&&”, que indica que en un condicional deben ocurrir dos cosas a la vez.

Código ejercicio a

Código ejercicio b

Archivos .ino

Descarga el ejercicio a haciendo click aquí
Descarga el ejercicio b haciendo click aquí

Comentario final y RETO SEMANAL

En el ejercicio b usamos la misma resistencia para los tres LEDs, de esa manera ahorramos espacio.

El reto de este semana es incluir un tercer pulsador al ejercicio b, con las siguientes condiciones:

  1. si pulsamos los dos pulsadores de la izquierda a la vez, se encienden los dos LEDs de la izquierda.
  2. si pulsamos los dos pulsadores de la derecha a la vez, se encienden los dos LEDs de la derecha.
  3. si pulsamos los tres pulsadores a la vez, sólo se enciende el LED del centro.

Podéis mandar el código (y si queréis, fotos o vídeos) a la siguiente dirección: practicas@thinkbit.org

Enlaces relacionados

Página oficial Arduino: flowcontrol condicional if
Página oficial Arduino(ENG): DigitalReadSerial(CTRL+Mayúscula+M para Serial Monitor)
Página oficial Arduino(ENG): Button+LED(CTRL+Mayúscula+M para Serial Monitor)
Arduteka: E/S digitales
Adafruit(ENG): Digital inputs
Ladyada(ENG): Lesson 5: digital inputs,if/if-else statements 
Sparkfun(ENG): Digital Signals 
Sparkfun(ENG): Pull-up resistors

 

Share Button

Un pensamiento en “Práctica 2

  1. Pingback: Práctica 2 | ThinkBit | tecno4 | Scoop.it

Comentarios cerrados.