miércoles, 26 de septiembre de 2012

Próximas entradas

Como muchos sabréis, el curso escolar ha comenzado, y por mi también. Con esto os quiero decir que de ahora en adelante, las entradas van a ser más "separadas" es decir, no voy a colgar nuevas entradas con tanta frecuencia como estos días atrás.

No obstante, no os voy a dejar, cuando pueda, os escribiré alguna noticia, algún tutorial pequeño...
 
Finalmente, quiero añadir: SUERTE A TODOS LOS QUE ESTÉN ESTUDIANDO COMO YO.

domingo, 23 de septiembre de 2012

Resistencias pull-down y pull-up

En una entrada anterior, nos apareció por primera vez la resistencia pull-down usada en un pulsador.

Los microchips, entienden estados lógicos, es decir, 1 y 0. Esta disposición de resistencias y pulsadores, lo que hace es proporcionar al chip un estado lógico alto (1), o bajo (0).
Por otra parte, las resistencias eliminan en gran parte los ruidos del circuito, los cuales pueden confundir a Arduino con un estado lógico bajo.



En esta imagen, podemos observar ambos casos.

En la ilustración de la derecha, podemos observar que cuando apretamos el pulsador, obtendremos en Vout un estado lógico alto.

En la de la izquierda, pasa todo lo contrario. Al pulsar el botón, hacemos que aparezca un estado lógico bajo en Vout.

Pero, ¿cómo funciona?

Para explicarlo de una manera sencilla, hemos de pensar en la corriente eléctrica como una vaga, va a ir por el camino más sencillo.

Vamos a centrarnos en la resistencia pull-down.

Al estar el pulsador abierto, al pin que le llega Vout, no va a recibir nada "estado lógico bajo o 0". Pero, si cerramos el circuito, la corriente pasará por Vout porque no tiene ninguna resistencia que le obstaculice el paso, entonces Vout estará "alto".

En el caso de la resistencia pull-up, al estar el pulsador abierto, la corriente no le queda más remedio que circular por la resistencia y por Vout hasta el pin al que vaya la conexión, ahora se encuentra en un estado "alto". Entonces, si cerramos el circuito, a la corriente le costará menos circular por el pulsador que por Vout y por el pin, por lo que Vout estará "bajo".

Control de LED con un pulsador



En este tutorial vamos a aprender a controlar un diodo LED mediante la acción de un pulsador.

La idea es que, cuando actuémos sobre el pulsador, el LED se encienda o se apague, dependiendo de como hayamos escrito el programa. Nosotros, lo vamos a hacer de dos modos distintos, uno en el que el LED al accionar el pulsador, se encienda; y otro, en el que pase lo contrario, que cuando pulsemos, el LED se apague.

Lo que vamos a necesitar.

- Arduino.
- LED.
- Pulsador.
- Resistencia 200.
- Resistencia 100 K.
- Cable.
- Cable USB.

En primer lugar, cabe decir que para ambos tutoriales, el montaje es el mismo.


 Hoy, vamos a ir un poco más allá en el montaje, vamos a ver el esquema.

Aquí podemos ver de un modo más claro como queda todo conectado.

Ahora, al ver el esquema, nos puede surgir una duda, ¿para qué es la resistencia del pulsador?
Esa resistencia, es una resistencia pull-down. De momento, con saber que es para obtener un estado alto cuando accionemos el pulsador.
Si no pusieramos la resistencia, haríamos que hubiera un cortocircuito entre el pin de 5V y el pin 3.
De todas formas, en breve, explicaremos que son las resistencias pull-down y pull-up.





El código, en ambos casos es igual, pero hay que cambiar un par de parámetros para que nos funcione a la inversa.
Ahora, vamos con el que hace que el LED se encienda cuando accionamos el pulsador.

 int LED = 2; //Establecemos el pin 2 para el LED//
int puls = 3; //Establecemos el pin 3 para el pulsador//
int val;

void setup(){
  pinMode(LED, OUTPUT); //Establecemos el pin 2 como salida//
  pinMode(puls, INPUT); //Establecemos el pin 3 como entrada//
}

void loop(){
  val = digitalRead(puls); //Guardamos en la variable val el estado del pulsador//
  if(val == LOW){ //Si el pulsador esta desactivado//
    digitalWrite(LED, LOW); //El LED estara apagado//
  }
  if(val == HIGH){ //Si el pulsador esta activado//
    digitalWrite(LED, HIGH); //El LED estara encendido//
  }
}


Si nos fijamos, en las tres primeras líneas de comando, vemos algo que pone val .  Eso, es una variable.

Si lo hemos hecho todo bien, tiene que suceder algo así.

Ahora, vamos con el otro caso. En esta situación, vamos a hacer que el LED se apague cuando accionemos el pulsador.