Estructura de control IF
OBJETIVO DE LA SESIÓN
Aprenderás a utilizar las estructuras de control IF para condicionar señales digitales, analógicas y seriales. De igual forma, podrás poner en práctica lo aprendido en las sesiones anteriores.
MATERIALES PARA TRABAJAR DURANTE LA SESIÓN
> Computadora
> Arduino UNO
> Cable de descarga
> Push button
> Cables Jumper
> Leds varios
> Resistencias 220Ω
> Resistencias 10kΩ
> Lápiz
> Colores
Actividad 1. Diagrama de flujo
Dibuja un diagrama de flujo en donde expliques el proceso para ir al cine, utilizando condiciones. Intenta explicar dicho proceso de la forma más detallada posible.
Inicio
Transportarse al cine
Revisar la cartelera
NO SI
¿Alguna de las opciones es de mi agrado?
Comprar boletos
¿Tengo hambre? Ir a la sala
Regresar a casa
Ir a la dulcería
Comprar alimentos
Fin
Actividad 2. Control de señales
• Replica el siguiente circuito e intenta lograr que enciendan los leds de manera independiente al presionar un botón diferente.
• Utiliza las funciones digitalRead(); , digitalWrite(); y Serial.print();
• Es necesario que el circuito tenga estructuras de control IF.
int pulsador_1 = 2; int pulsador_2 = 3; int pulsador_3 = 4; int pulsador_4 = 5;
int LED_1 = 8;
int LED_2 = 9; int LED_3 = 10; int LED_4 = 11;
void setup()
Serial.begin(9600);
pinMode(pulsador_1, INPUT);
pinMode(pulsador_2, INPUT);
pinMode(pulsador_3, INPUT);
pinMode(pulsador_4, INPUT);
pinMode(LED_1, OUTPUT);
pinMode(LED_2, OUTPUT);
pinMode(LED_3, OUTPUT);
pinMode(LED_4, OUTPUT); }
void loop() {
int lectura_1 = digitalRead(pulsador_1); int lectura_2 = digitalRead(pulsador_2); int lectura_3 = digitalRead(pulsador_3); int lectura_4 = digitalRead(pulsador_4);
if(lectura_1 == LOW){
Serial.println(“LED 1 encendido”); digitalWrite(LED_1, HIGH); }else{
digitalWrite(LED_1, LOW); }
if(lectura_2 == HIGH){
Serial.println(“LED 2 encendido”);
digitalWrite(LED_2, HIGH); }else{
digitalWrite(LED_2, LOW); }
if(lectura_3 == LOW){
Serial.println(“LED 3 encendido”);
digitalWrite(LED_3, HIGH); }else{
digitalWrite(LED_3, LOW);
} if(lectura_4 == HIGH){
Serial.println(“LED 4 encendido”); digitalWrite(LED_4, HIGH); }else{
digitalWrite(LED_4, LOW); }
Explica qué cosas podrías reforzar, si consideras que cometiste algún error y de qué forma lo solucionaste: Es importante asegurarse de que las conexiones sean correctas y al momento de escribir el código, escribir el pin que le corresponde a cada LED. Hay dos pulsadores con configuración Pull-Up y dos con configuración Pull-Down, por lo que hay que considerar esto en el código. Para la primera configuración, la lectura “LOW” del pulsador va a prender el LED y para el caso contrario, la lectura “HIGH” del pulsador va a encender el LED.