ESTRUCTURA if...
La sentencia condicional if… permite que un programa ejecute un bloque de código si se cumple cierta condición que se evalúa como verdadera (True), en caso contrario no se ejecuta.
La sintaxis de la estructura if… es la siguiente:
if condicion: bloque de codigo que se ejecuta si la condicion es cierta
Como ejemplo de la estructura condicional if… vamos a escribir un programa que encenderá el LED azul integrado en la placa DOIT ESP32 DEVKIT V1 si escribimos «1», cuando, durante la ejecución, nos lo pida. Si escribimos algo diferente el programa finalizará sin encender el LED.
No es preciso utilizar la placa DOIT ESP32 DEVKIT V1 , alternativamente podemos encender un LED externo conectado con el pin 02 de cualquier placa. No debemos olvidar colocar una resistencia de 100 Ω en serie con el LED para no quemarlo.
El código será el siguiente:
from machine import Pin pin_02 = Pin(2, Pin.OUT) pin_02.off() #El LED debe estar inicialmente apagado a = input ("Escribe 1 y pulsa ENTER para encender el LED: ") if a == "1": pin_02.on() #El LED se enciende si se escribe "1" print ("Has estrito 1. El LED se ha encendido.")
ESTRUCTURA if... else... (DOS ALTERNATIVAS -bifurcaciones-)
La estructura de control if… else… permite que un programa ejecute un bloque de código si se cumple cierta condición u otro bloque de código cuando no se cumple esa condición.
Si la condición se evalúa como verdadera (True) se ejecuta el bloque anidado en la sentencia «if » y si se evalúa como falsa (False) el anidado en la sentencia «else«.
La sintaxis de la estructura if… else… es la siguiente:
if condicion: bloque de codigo que se ejecuta si la condicion es verdadera (True) else: bloque de codigo que se ejecuta si la condicion no es verdadera (False)
Como ejemplo vamos a mejorar el programa que hicimos con la estructura «if» integrando la sentencia «else» con su correspondiente bloque de código. El programa funcionará así:
- Si escribimos «1» cuando se pida se encenderá el LED azul integrado en la placa.
- Si escribimos algo diferente no se encenderá el LED y en el «Shell» se imprimirá lo que hayamos escrito.
El código será el siguiente:
from machine import Pin pin_02 = Pin(2, Pin.OUT) pin_02.off() #El LED debe estar inicialmente apagado a = input ("Escribe 1 y pulsa ENTER para encender el LED: ") if a == "1": pin_02.on() #El LED se enciende si se escribe "1" print ("Has estrito 1. El LED se ha encendido.") else: print ("No has escrito 1. Has escrito: " + a)
ESTRUCTURA if... elif... else... (MÁS DE DOS ALTERNATIVAS)
La estructura de control if… elif… else… extiende la estructurara if… else… permitiendo encadenar una o varias condiciones adicionales.
Se ejecutará el bloque de código anidado en la primera condición que se evalúe como verdadera (True). Si varias condiciones son verdaderas, únicamente se ejecutará la primera que lo sea.
Si ninguna condición se evalúa como verdadera, se ejecutará el bloque de código anidado en la sentencia «else«.
La sintaxis de la estructura if… elif… else… es la siguiente:
if condicion_1: bloque de codigo que se ejecuta si la condicion_1 es verdadera (True) elif condicion_2: bloque de codigo que se ejecuta si la condicion_2 es verdadera (True) ... elif condicion_X: bloque de codigo que se ejecuta si la condicion_X es verdadera (True) else: bloque de codigo que se ejecuta si ninguna condicion es verdadera (False)
Como ejemplo vamos a ampliar el programa que hicimos con la estructura «if… else…» integrando dos sentencias «elif…» con sus correspondientes bloques de código. El programa funcionará así:
- Si escribimos «1» cuando se pida se encenderá el LED azul integrado en la placa.
- Si escribimos «2» cuando se pida nos dará la temperatura del microcontrolador en grados centígrados.
- Si escribimos «3» cuando se pida nos dará el valor del campo magnético perpendicular al microcontrolador en miliTesla.
- Si escribimos algo diferente se imprimirá en el «Shell» lo que hayamos escrito.
El código será el siguiente:
from machine import Pin import esp32 pin_02 = Pin(2, Pin.OUT) pin_02.off() #El LED debe estar inicialmente apagado a = input ("""Escribe 1 para encender el LED Escribe 2 para obtener la temperatura del microcontrolador Escribe 3 para obtener el campo magnético perpendicular al microcontrolador y pulsa ENTER: """) if a == "1": pin_02.on() #El LED se enciende si se escribe "1" print ("Has estrito 1. El LED se ha encendido.") elif a == "2": temp = esp32.raw_temperature() # lee la Tª del microcontrolador en grados Farenheit temp =(temp-32) * (5/9) # convierte la Tª de ºF a ºC print("La temperatura del microcontrolador es de " + str(temp) + " ºC") elif a == "3": hall = esp32.hall_sensor() # lee el campo magnético perpendicular al # microcontrolador (1.5uds = 1mT) mT = miliTesla hall /=1.5 # convierte el campo magnético en mT print("El campo magnético perpendicular al microcontrolador es de " + str(hall) + " mT") else: print ("No has escrito ni 1, ni 2 ni 3. Has escrito: " + a)
Probemos su ejecución desde el Editor de Código de Thonny:
Leave a Reply
Tu correo electrónico está seguro.
You must be logged in to post a comment.