Digital Read Serial

Este ejemplo muestra cómo supervisar el estado de un interruptor mediante el establecimiento de la comunicación en serie entre su Arduino o Genuino y el ordenador a través de USB.

Hardware necesario

  • 1 Placa Arduino o Genuino
  • Un interruptor o pulsador
  • 1 Resistencia de 10 k ohm
  • cable de conexionado
  • 1 Protoboard

Circuito


Conectar tres cables a la placa. Los dos primeros, rojo y negro, se conectan a las dos filas verticales largas en el lado del tablero para facilitar el acceso a la alimentación de 5 voltios y tierra. El tercer cable va desde el pin digital 2 a una pierna del pulsador. Esa misma pierna del botón se conecta a través de una resistencia de desconexión (en este caso 10 k ohmios) a tierra. La otra pata del botón conecta a la alimentación de 5 voltios.

El pulsador o interruptor conecta dos puntos en un circuito cuando se los presiona. Cuando el pulsador está abierto (sin pulsar) no hay conexión entre las dos patas del pulsador, por lo que el pasador está conectado a tierra (a través de la resistencia pull-down) y lee como bajo, ó 0. Cuando el botón está cerrado (pulsa ), se hace una conexión entre sus dos patas, la conexión de la clavija a 5 voltios, por lo que el pasador lee como alto o 1.

Si se desconecta la E / S digital de pasador de todo, el LED parpadee erráticamente. Esto se debe a la entrada es "flotante" - es decir, que no tiene una conexión sólida a la tensión o suelo, y volverá al azar, ya sea alta o baja. Es por eso que necesita una resistencia de desconexión en el circuito.

Esquema



Código


En el siguiente programa, la primera cosa que hacer la voluntad de la función de configuración es comenzar las comunicaciones en serie, a 9600 bits de datos por segundo, entre la placa y el ordenador con la línea:


Serial.begin (9600);

A continuación, inicializar pin digital 2, el pin que va a leer la salida de su botón, como una entrada:

pinMode (2, INPUT);

Ahora que la configuración se ha completado, se mueven en el bucle principal de su código. Cuando se pulsa el botón, 5 voltios fluyan libremente a través de su circuito, y cuando no se presiona, el pin de entrada se conecta a tierra a través de la resistencia de 10k ohmios. Se trata de una entrada digital, lo que significa que el interruptor sólo puede estar en un estado encendido (visto por el Arduino como un "1", o ALTO) o un estado de apagado (visto por el Arduino como un "0", o LOW) , con nada en el medio.

Lo primero que hay que hacer en el bucle principal del programa es establecer una variable para contener la información que viene de su conmutador. Dado que la información que llega desde el conmutador será o un "1" o un "0", se puede utilizar un tipo de datos int. Llamar a esta variable sensorValue y lo puso a la igualdad de todo lo que se lee en el pin digital de 2. Esto se puede hacer todo esto con una sola línea de código:

int = sensorValue digitalRead (2);

Una vez que el bord ha leído la entrada, hacer que imprima esta información a la computadora como un valor decimal.Usted puede hacer esto con el comando Serial.println () en la última línea de código:

Serial.println (sensorValue);

Ahora, cuando se abre el monitor de serie en el software de Arduino (IDE), verá una corriente de "0" s si su interruptor está abierto, o "1" s si su interruptor está cerrado.

Programa

/ *
DigitalReadSerial
Lee una entrada digital en el pin 2, imprime el resultado en el monitor serie

Este código es de dominio público.

// El pin digital 2 tiene un pulsador conectado. Le damos un nombre:
int pushButton = 2;

// la rutina setup se ejecuta una sola vez cuando se hace reset: 
void setup()

// inicializa la comunicacion serie a 9600 bitspor segundo:
Serial.begin(9600);

// configura el pin pushbutton como entrada
pinMode (pushButton, INPUT);
}

// el bucle loop se ejecuta repetitivamente:
void loop() {

// lee el pin de entrada
int buttonState = digitalRead(pushButton);

// imprime el estado del pulsador:
Serial.println(buttonState);

delay(1);     // tiempo entre lecturas para estabilidad
}  


No hay comentarios:

Publicar un comentario