En esta práctica vamos a programar un interruptor para encender un led en un momento dado.
- Materiales
- Diagrama de flujo
- Esquema eléctrico
- Programación en mBlock
- Programación en S4A
- Programación en Arduino
- Video resumen
Para llevar a cabo la práctica, vamos a necesitar los siguientes materiales:
- 1 Placa de Arduino UNO
- 1 Protoboard
- 4 latiguillos
- 2 resistencias
- 1 diodo led
Antes de ponernos a desarrollar la práctica, conviene realizar un diagrama de flujo para entender la lógica de la programación.
Descarga el diagrama de flujo para imprimir
Para realizar el montaje correctamente en nuestra placa de prototipado, necesitaremos conectar una resistencia al circuito (Pull-Down o Pull-Up). Estas dos resistencias son un mecanismo básico y habitual dentro del mundo de la electrónica.
- La resistencia de Pull-Up fuerza HIGH cuando el pulsador está abierto. Cuando está cerrado el PIN se pone a LOW, la intensidad que circula se ve limitada por esta resistencia.
- La resistencia de Pull-Down fuerza LOW cuando el pulsador está abierto. Cuando está cerrado el PIN se pone a HIGH, y la intensidad que circula se ve limitada por esta resistencia.
Interruptor de palanca | |
---|---|
Polarizado | No |
El valor de la resistencia viene condicionado por la intensidad que pasa al accionar el interruptor. En este caso el valor de l resistencia es de 10KΩ.
Por otro lado, hay añadir un led al circuito con su respectiva resistencia como hemos calculado en prácticas anteriores.
V = 2,9V
I = 20mA
V = I x R ; R = V / I
R = 2,9V / 0,02A = 145Ω
Redondeamos el resultado obtenido a un valor de resistencia conocido (siempre por encima de su resistencia ideal), obtenemos un valor de 220Ω (rojo-rojo-marrón).
El siguiente paso será conectar los diferentes componentes sobre la placa de prototipado siguiendo el esquema eléctrico.
Descarga el esquema eléctrico para Fritzing
Fijándonos en el diagrama de flujo programamos la práctica mediante lenguaje de programación por bloques mBlock.
Podrás observar el gran parecido que se tiene con el diagrama de flujo.
Descarga el código para mBlock
Fijándonos en el diagrama de flujo programamos la práctica mediante lenguaje de programación por bloques S4A.
Podrás observar el gran parecido que se tiene con el diagrama de flujo.
Al igual que en el apartado anterior y fijándonos en el diagrama de flujo, programamos en Arduino la práctica propuesta.
/**
* Pulsador simple
*
* En esta práctica vamos a programar un interruptor para encender un
* led en un momento dado.
*
* @author Miguel Ángel Abellán
* @company El Cable Amarillo
* @license Creative Commons. Reconocimiento CompartirIgual 4.0 (Se
* permite el uso comercial de la obra y de las posibles obras derivadas,
* la distribución de las cuales se debe hacer con una licencia igual a
* la que regula la obra original.)
*/
// Se definen las variables de tipo entero
int ledPin = 13;
int interruptorPin = 2;
//Este código se ejecuta la primera vez
void setup() {
// Configuramos el pin en modo salida
pinMode(ledPin, OUTPUT);
pinMode(interruptorPin, INPUT);
}
//Este código se ejecuta en bucle repetidamente
void loop() {
// Lectura del pin del interruptor
if (digitalRead(interruptorPin) == HIGH) {
digitalWrite(ledPin, HIGH);
}
else {
digitalWrite(ledPin, LOW);
}
}
Descarga el código para Arduino
Esta obra se distribuye bajo licencia Reconocimiento-CompartirIgual 4.0 Internacional (CC BY-SA 4.0).