Learning   Examples | Foundations | Hacking | Links

Ejemplos > E/S Digitales

Entrada digital

El pulsador es un componente que conecta dos puntos de un circuito cuando es presionado. En este ejemplo, cuando pulsas el boton se enciende un LED.

Conectamos tres cables a la placa Arduino. El primero conecta una patilla del pulsador, a través de una resistencia de carga (de 2k2), a la alimentación de 5V. El segundo, va desde la correspondiente patilla del pulsador a masa. Por último, la tercera se conecta a una entrada/salida digital (en este caso al pin 7) para leer el estado del botón.

Cuando el pulsador está abierto (sin pulsar), no hay conexión entre sus dos patillas, por lo que el pin está conectado a los 5v (a través de la resistencia de carga) por lo que leeremos un valor alto (HIGH). Cuando el botón está cerrado (pulsado), realiza una conexión entre masa y el pin, por lo que leeremos un nivel bajo (LOW). (El pin continúa conectado a 5 voltios, pero la resistencia entre ellos hace que el pin esté más cercano a masa)

Circuito

Código

/* invert
 * <http://www.arduino.cc/en/Tutorial/Invert>
 *
 * Enciende o apago un diodo emisor de luz (LED) conectado al pin digital 13,
 * cuando se presiona un pulsador conectado al pin digital 7. Esto explica el 
 * concepto de activo a nivel bajo, que consiste en conectar botones usando  
 * una resistencia de carga de entre 1k y 10k.
 *
 */
int ledPin = 13; // escoge el pin para el LED
int inPin = 2;   // elige el pin de entrada (para el pulsador)
int val = 0;     // variable para la lectura del estado del pin

void setup() {
  pinMode(ledPin, OUTPUT);  // configura el LED como salida
  pinMode(inPin, INPUT);    // y el pulsador como entrada
}

void loop(){
  val = digitalRead(inPin);  // lee el valor de entrada
  if (val == HIGH) {          // si la entrada está a nivel alto (botón sin pulsar)...
    digitalWrite(ledPin, LOW);    // apaga el LED
  } else {          // si está a nivel bajo (botón pulsado)...
    digitalWrite(ledPin, HIGH);   // enciende el LED
  }
}

Share