martes, 29 de agosto de 2017

Programación - Funciones

Una función es una instrucción que, internamente, realiza una serie de procesos para resolver una tarea específica.

Todos los lenguajes de programación tienen incorporados varios conjuntos de funciones de diferentes tipos, para ser utilizadas en diferentes circunstancias. Por ejemplo, existen funciones para realizar cálculos matemáticos avanzados, tales como seno, coseno, tangente, etc.; existen funciones para hacer operaciones con texto, como por ejemplo juntar dos textos en uno solo, o conocer el tamaño del texto; también existen funciones para manipular fechas y horas, por ejemplo, para saber que valor queda si se le suman algunas horas a la hora actual; etc.

En el caso de los robots, solamente se utilizan las funciones más útiles, como son: obtener un número al azar, redondear un número, saber si un número es par o impar, etc.

A continuación se muestra como usar las funciones que tienen incorporadas los robots MakeBlock mBot y Lego MindStorms EV3.

MakeBlock mBot


Este robot tiene las siguientes funciones: generar un número al azar, redondear un número, y saber si un número es par o impar, positivo, negativo, número primo, etc.



Para redondear un número se usa el comando "redondear", donde se elige la forma en que se debe redondear (hacia arriba, hacia abajo, etc.).

Para saber las características de un número se elige el comando "es...", y después se elige la característica que se requiera saber del número (si es par, impar, positivo, negativo, etc.).

Para generar un número al azar, se elige el comando "entero aleatorio de ... a ...", donde se elige el rango de números de entre los cuales se tomará uno al azar.


Lego MindStorms EV3


Este robot tiene las siguientes funciones: generar un número al azar, combinar texto, y redondear un número.

Para generar un número al azar se usa el comando "Aleatorio", al cual solo se le dice el rango de valores de entre los cuales se tiene que producir uno al azar.



Para redondear un número se usa el comando "Redondear", donde se elige la forma en que se debe redondear (hacia arriba, hacia abajo, truncar, etc.), y se le dice el número al cual se le va a aplicar esa operación.



Y para combinar texto se elige el comando "Texto", al cual se le dicen cuales son los textos que se van a juntar.


Ejemplos


MakeBlock mBotAquí, se genera un número al azar entre 80 y 100, y se toma ese número para que sea la velocidad del motor. Después se toma otro número al azar entre 50 y 80, y de nuevo se toma ese número para que sea la velocidad.





Lego MindStorms EV3. Aquí, se genera un número al azar entre 80 y 100, y se toma ese número para que sea la velocidad del robot. Después se genera otro número al azar entre 20 y 40, y nuevamente se toma para que sea la velocidad del robot.






Enlaces


viernes, 25 de agosto de 2017

Programación - Operadores

Los operadores permiten realizar operaciones como si se tuviera una calculadora. Entre otras operaciones, se puede sumar, restar, multiplicar y dividir.

También hay operadores que permiten saber si un número es igual, mayor, o menor que otro.

A veces puede pasar que el robot deba tomar una decisión dependiendo de varias condiciones. Por ejemplo: "avanza si no hay obstáculo y además está de bajada" o "da vuelta si el piso es amarillo, rojo o verde" o "detente si no hay paso al frente". En estos casos, cuando se tienen que combinar condiciones, se utilizan los operadores andor y not, que en español significan "y", "o" y "no", respectivamente.

A continuación se muestra como usar los operadores con los robots MakeBlock mBot y Lego MindStorms EV3.

MakeBlock mBot


Los operadores se usan con los comandos etiquetados como "+", "=", "y", "no", "resto de ... ". 



Cada uno de estos se puede cambiar para usar las siguientes operaciones:

Aritméticas: suma, resta, multiplicación, división, potencia, módulo (módulo significa "residuo de una división"). Se pueden usar, por ejemplo, para asignarle un valor de velocidad a un motor o un tiempo en segundos.

Lógicas: "and", "or", "not" ("y", "o", "no"). Se usan para hacer comparaciones, por ejemplo, para combinar el resultado de las lecturas tomadas por dos sensores.

Comparaciones: igual, diferente, mayor, menor, mayor o igual, menor o igual. Se usan para comparar dos números y saber cual de ellos es mayor, menor, etc.

Lego MindStorms EV3

Los operadores se usan con los comandos "Matemática", "Comparar" y "Operaciones lógicas".

El comando "Matemática" se usa para las operaciones de suma, resta, multiplicación, división, raíz cuadrada y exponente, entre otros. Trabaja solo con números, y se puede usar, por ejemplo, para asignarle un valor de velocidad a un motor o un tiempo en segundos.



El comando "Operaciones lógicas" se usa para realizar operaciones "y", "o" y "no". Trabaja con resultados de comparaciones, por ejemplo, para combinar el resultado de las lecturas tomadas por dos sensores.




El comando "Comparar" se usa para comparar dos números y saber cual de ellos es menor o mayor, o si son iguales o diferentes, o si alguno de ellos es mayor o igual, o menor o igual que el otro.



Ejemplos


MakeBlock mBot. Aquí se usa una variable para almacenar el valor de la velocidad a la que correrá el robot, con un valor inicial de 50. El robot avanza durante 2 segundos. Después se multiplica la velocidad por 2, obteniendo un valor de 100, que se asigna de nuevo a la variable velocidad. El robot avanzará a esa nueva velocidad durante otros 2 segundos.









Lego MindStorms EV3. Aquí se tiene una variable llamada "tiempo" con un valor inicial de 2. Esa variable se usa entonces para que el motor se encienda durante 2 segundos. Después se multiplica por 2, y el resultado (esto es, 4) se toma para que el motor se encienda en sentido contrario.







Lego MindStorms EV3. Aquí se tiene una variable llamada "velocidad". Se utiliza un operador de comparación para saber si es menor que 20, y el resultado se pasa al condicional "Si...". De esta forma, cuando la variable tenga un valor menor que 20, se le asignará el valor 20; y después se tomará ese valor para usarlo como velocidad al momento de encender el motor.



Lego MindStorms EV3. Aquí se obtienen los estados del sensor táctil y del sensor de color. El sensor táctil se verifica para saber si está presionado y el sensor de color se verifica para saber si está situado sobre un color verde. Y después se utiliza el operador "or", para saber si alguno de los dos cumple con lo esperado. El resultado de la operación se utiliza después con el condicional "Si...", donde se enciende el motor en caso de ser cierto.



Enlaces


jueves, 24 de agosto de 2017

Robótica - ¿Qué es un robot?

Un robot es una entidad virtual o mecánica artificial. Esto es, no tiene vida, nunca nació y nunca va a morir. Por lo general es un sistema electromecánico que normalmente es conducido por un programa de una computadora o por un circuito electrónico.



El gran público conoció la palabra robot a través de la obra R.U.R. (Robots Universales Rossum) del dramaturgo checo Karel Čapek, que se estrenó en 1920. La palabra robot significa "servidumbre", "esclavo", o "trabajo forzado".

La obra trata sobre una empresa que construye humanos artificiales orgánicos con el fin de aligerar la carga de trabajo del resto de personas. Aunque en la obra a estos hombres artificiales se les llama robots, tienen más que ver con el concepto moderno de androide o clón. Se trata de criaturas que pueden pasarse por humanos y que tienen el don de poder pensar. Pese a ser creadas para ayudar a la humanidad, más adelante estas máquinas entrarán en confrontación con la sociedad iniciando una revolución que acabará destruyendo la humanidad.

Las 3 leyes de la robótica


Las tres leyes de la robótica son un conjunto de normas elaboradas por el escritor de ciencia ficción Isaac Asimov, que la mayoría de los robots de sus novelas y cuentos están diseñados para cumplir. Se enlistan a continuación:

  • Un robot no hará daño a un ser humano o, por inacción, permitir que un ser humano sufra daño.
  • Un robot debe hacer o realizar las órdenes dadas por los seres humanos, excepto si estas órdenes entrasen en conflicto con la 1ª Ley.
  • Un robot debe proteger su propia existencia en la medida en que esta protección no entre en conflicto con la 1ª o la 2ª Ley.

Partes que conforman un robot

En general, un robot se conforma de las siguientes partes:

  • Estructura. Son las partes rígidas (bases, placas, soportes, etc.) que le dan cuerpo al robot. Pueden ser de metal, madera, plástico, o cualquier otro material o aleación que tenga la suficiente rigidez para soportar el peso del robot. Pueden estar unidas para tener cualquier forma, por ejemplo: araña, perrito, humanoide, etc.
  • Mecanismos. Son los elementos mecánicos que le permiten al robot tener movilidad y hacer cosas, por ejemplo, engranes, poleas, ruedas, ejes, etc.
  • Actuadores. Son elementos electrónicos mediante los cuales el robot puede realizar cosas, por ejemplo, motores, luces, sonidos, etc.
  • Sensores. Son los elementos electrónicos que le permiten al robot tener información acerca del entorno donde se encuentra (detectar objetos, detectar subidas y bajadas, detectar luz y sonido, etc.).
  • Cerebro. Es el elemento electrónico que controla todo lo que hace el robot. Se puede decir que es una computadora. Este dispositivo toma la información de los sensores, toma decisiones sobre lo que debe realizar, y le da las órdenes a los actuadores.
  • Programa. El programa es un conjunto de órdenes que utiliza el cerebro para saber qué es lo que debe de hacer, qué decisiones debe de tomar. 
  • Cables/Conectores. Permiten establecer comunicación entre las diferentes partes del robot (entre el cerebro y los actuadores y los sensores).
  • Batería. Le da al robot toda la energía que necesita para funcionar. Sin ésta, el robot no sería más que un conjunto de piezas y componentes electrónicos totalmente inertes.

Enlaces

lunes, 21 de agosto de 2017

Programación - Delay

Muchas veces es necesario indicarle al robot que se quede un momento haciendo lo que sea que esté haciendo. Para esto se utiliza una instrucción llamada Delay. Delay en inglés significa "Espera". 

Lo único que se necesita decirle es cuanto tiempo deberá quedarse haciendo eso. Normalmente ese tiempo se le dice en segundos o en milisegundos (un milisegundo es la milésima parte de un segundo).

A continuación se muestra como usar la instrucción Delay con los robots MakeBlock mBot y Lego MindStorms EV3.

MakeBlock mBot

Para realizar un "delay" (o tiempo de espera) se utiliza el comando "Esperar". Lo único que se le tiene que decir es cuanto tiempo, en segundos, se tiene que quedar haciendo lo que está haciendo.


Lego MindStorms EV3

Para realizar un "delay" (o tiempo de espera) se utiliza el comando "Esperar". 


Lo único que se le tiene que decir es cuanto tiempo, en segundos, se tiene que quedar haciendo lo que está haciendo.

Nota. Este comando también se utiliza para esperar a que ocurra alguna acción con cualquiera de los sensores.


Ejemplos


MakeBlock mBot. Aquí, el robot encenderá las luces en color rojo y permanecerá así durante un segundo. Después las encenderá en amarillo y permanecerá así durante otro segundo. Por último las encenderá en azul y permanecerá así durante otro segundo antes de apagarlas.






Lego MindStorms EV3. Aquí, el robot encenderá la luz en color amarillo y permanecerá así durante un segundo. Después la encenderá en verde y permanecerá así durante otro segundo. Por último la encenderá en rojo y permanecerá así durante otro segundo antes de apagarlas.






Enlaces

Programación - For

La sentencia For ejecuta una serie de instrucciones, y las repite una y otra vez, hasta que se han ejecutado una cierta cantidad de veces.

La forma general de la instrucción For es la siguiente:

             For (inicio, término, incremento)
             {
                         instrucción 1
                         instrucción 2
                         instrucción 3
                         etc.
             }

Los datos inicio, término e incremento, sirven para controlar la cantidad de veces que se van a ejecutar las instrucciones. Por ejemplo, se puede decir: de 1 a 10, con incremento de 1; esto hará que se ejecuten 10 veces. O se puede decir de 1 a 100, con incremento de 2 en 2; esto hará que se ejecuten 50 veces.

A continuación se muestra como usar la instrucción de repetición For con el robot MakeBlock mBot.

MakeBlock mBot

Para hacer repeticiones con "For" se utiliza la instrucción "contar con ...".



Aquí se selecciona la variable que servirá como contador. Y se especifica en que número iniciará la cuenta (desde), en que número terminará (hasta), y cual será el incremento (de a). Así es como se controla la cantidad de veces que se repetirán las instrucciones que tenga dentro de la sección "hacer".


Ejemplos


MakeBlock mBot. Aquí se utiliza la instrucción "contar con..." para realizar una acción 6 veces (desde 1 hasta 6). Lo que hace el robot es girar a la derecha a una velocidad de 80 durante medio segundo, y después se detiene.





Enlaces


Programación - While

La sentencia While ejecuta una serie de instrucciones contínuamente, esto es, las repite una y otra vez, mientras se cumpla una cierta condición. While en inglés significa "mientras".

La forma general de la instrucción While es la siguiente:

             While (condición)
             {
                         instrucción 1
                         instrucción 2
                         instrucción 3
                         etc.
             }

A continuación se muestra como usar la instrucción de repetición While con los robots MakeBlock mBot y Lego MindStorms EV3.

MakeBlock mBot

El bucle de repeticiones "While" se usa con las instrucciones "Repetir mientras ... hacer" y "Repetir siempre". 


La instrucción "Repetir siempre" no lleva condición, así es que todas las instrucciones que tenga dentro se ejecutarán una y otra vez de forma indefinida.

La instrucción "Repetir mientras ... hacer" lleva una condición, que es la que controlará si se deben continuar repitiendo o no las instrucciones que tenga dentro. Este se puede modificar para que las instrucciones se repitan mientras se cumpla la condición (al dejar de cumplirse la condición se dejarán de repetir las instrucciones); o bien, que se repitan hasta que se cumpla la condición (las instrucciones se repetirán continuamente, y dejarán de repetirse cuando la condición por fin se haya cumplido).

También se puede usar la instrucción "Repetir ... veces ... hacer", con la cual todas las instrucciones que tenga adentro se repetirán una cierta cantidad de veces.



Además, se dispone de la instrucción "Romper el bucle". Esta se utiliza para forzar la terminación del bucle, esto es, terminarlo antes de tiempo.



Lego MindStorms EV3

El bucle de repeticiones "While" se usa con el comando "Bucle".




Tiene varios modos de operación. Uno de ellos es repetir todo lo que tenga dentro de forma indefinida, o sea, por siempre. Otro es repetirlo un cierto número de veces. Otro es repetirlo durante un cierto tiempo. Y otro más es repetirlo en base al resultado de una operación lógica.

También, se puede usar la lectura de cualquier sensor como condición para que se siga repitiendo.

Además, se dispone del comando "Interrupción del bucle". Este se utiliza para forzar la terminación del bucle, esto es, terminarlo antes de tiempo.




Ejemplos


MakeBlock mBot. Aquí el robot avanzará hacia adelante a velocidad de 90 durante medio segundo y después se detendrá. Esto lo repetirá hasta encontrarse a 10cm de algún obstáculo.




Lego MindStorms EV3. Aquí, el robot avanzará por lapsos de una vuelta de la llanta. Continuará haciendo eso hasta que se encuentre un obstáculo a 20cm.





Enlaces


Programación - If...Else

Del mismo modo que ocurre en la vida diaria, en un programa es necesario tomar decisiones basadas en ciertos hechos y actuar en consecuencia.

La instrucción If sirve para ejecutar una serie de instrucciones si se cumple una determinada condición. Si la condición no se cumple, entonces la serie de instrucciones no se ejecuta. If en inglés significa "si" (condicional).

La forma general de la instrucción If es la siguiente:

             If (condición)
             {
                         instrucción 1
                         instrucción 2
                         instrucción 3
                         etc.
             }

A la sentencia If se le puede añadir una parte opcional que es la sentencia Else. Else en inglés significa "si no".

La forma general es de If con Else es la siguiente:

             If (condición)
             {
                         algunas instrucciónes
             }

             Else
             {
                         otras instrucciónes
             }

Si la condición se cumple, se ejecutan las instrucciones en rojo, y si no se cumple, se ejecutan las instrucciones en verde.

A continuación se muestra como usar las instrucciones de condición If y Else con los robots MakeBlock mBot y Lego MindStorms EV3.

MakeBlock mBot

El condicional
If ... Else se usa con las instrucciones "Si ... hacer" y "Si ... hacer ... sino". El primero es un "If" simple, y el segundo es un "If" con "Else".




En la parte superior, donde aparece la palabra "Si", se coloca la condición. Aquí se pueden usar los operadores lógicos para combinar las lecturas de dos o más sensores. En la parte que dice "hacer" va todo el conjunto de instrucciones que el robot debe realizar en caso de que la condición se cumpla.

Cuando se utiliza "Else", todas las instrucciones que se deben ejecutar en caso de que no se cumpla la condición van en la parte que dice "sino".

Lego MindStorms EV3


El condicional If ... Else se usa con el comando "Interruptor"



Primero se selecciona la condición que se va a evaluar. Esta puede ser una simple lectura de algún sensor, o puede ser una combinación de varios sensores usando los operadores lógicos.

Tiene dos pestañas, una etiquetada con una palomita ✓ y la otra con una cruz ✕. La pestaña que tiene la palomita es para poner ahí todas las instrucciones que el robot debe ejecutar cuando se cumpla la condición; de forma similar, en la pestaña que tiene la cruz se ponen las instrucciones que el robot debe ejecutar cuando no se cumpla.


Ejemplos


MakeBlock mBot. Aquí el robot usa el sensor de ultrasonido para preguntar si hay algún obstáculo a menos de 20 cm. De ser así, dará una vuelta a la izquierda, en caso contrario la dará a la derecha.





Lego MindStorms EV3. Aquí, el robot utiliza el sensor de ultrasonido para saber si hay algún obstáculo a menos de 30cm. Si lo hay, girará a la derecha, sino entonces girará a la izquierda.






Enlaces


Programación - Variables y constantes

Variables 


Una variable es un contenedor de información, es como si fuera una cajita en la que podemos almacenar números o letras, y podemos usar su contenido posteriormente.

La forma general de usar una variable es la siguiente:

    velocidad = 100

    velocidad = velocidad + 50

    velocidad = velocidad / 2

En este ejemplo, la variable velocidad almacena primero el valor 100. Después se toma ese 100, se le suman 50, con lo que quedan 150, y ese será el nuevo valor de la variable velocidad. Por último, se toma ese 150, se divide entre 2, con lo que quedan 75, y ese será el nuevo valor de la variable velocidad.

Constantes


Una constante también es como si fuera una cajita que puede almacenar números o letras. La diferencia es que después de haber recibido su primer valor, ya no se puede cambiar, o sea, ya no puede recibir otro valor.

La forma general de usar una constante es la siguiente:

    velocidad = 100

En este ejemplo, la constante velocidad almacena el valor 100, y como ya no puede cambiar, ese será el valor que tendrá durante todo el programa.

A continuación se muestra como usar las variables y las constantes con los robots MakeBlock mBot y Lego MindStorms EV3.

MakeBlock mBot

Para usar constantes se utiliza el comando etiquetado como "0". Lo único que se tiene que hacer es reemplazar el cero por cualquier número que se necesite.



Para usar variables se utilizan los comandos "Elemento", "Establecer Elemento a" y "Añadir ... a Elemento". 



El comando "Establecer Elemento a" se usa para establecer el nombre que tendrá la variable, y también para asignarle algún valor. El comando "Añadir ... a Elemento" se usa para incrementar el valor de la variable. Y el comando "Elemento" se usa para leer su contenido.

Lego MindStorms EV3


Para usar constantes se utiliza el comando "Constante". Se tiene que especificar el tipo de dato que va a almacenar (números, texto, etc.) y el valor que tendrá.




Para usar variables se utiliza el comando "Variable". Se tiene que especificar el tipo de dato que va a almacenar (números, texto, etc.) y el nombre que tendrá, por ejemplo "velocidad" o "distancia". Tiene dos modos de usarse: escribir en ella o leer su contenido.



Ejemplos


MakeBlock mBot. En este ejemplo se tiene una variable llamada "Velocidad" con un valor inicial de 50, y se usa ese valor para que el robot avance a esa velocidad durante 2 segundos. Después la variable se incrementa en 50, con lo que tendrá un valor de 100, y se usa ese nuevo valor para que el robot avance otros dos segundos, esta vez  hacia atrás.





Lego MindStorms EV3. Aquí se tienen dos constantes, una almacena el valor 80 y otra el valor 4. Ambas se están conectadas a un motor, para establecer la velocidad (80) y la cantidad de segundos que va a estar encendido (4 segundos).






Lego MindStorms EV3. Aquí primero se dibuja en la pantalla del bloque un símbolo llamado "Talking". Después se tiene una variable llamada "Saludo" de tipo texto, en la que se almacena la frase "Hola mundo". Después se lee el contenido de esa variable para escribir esa frase en la pantalla del bloque, en las coordenadas (10,45).




Enlaces


Sensores - Botones del bloque

El bloque del robot Lego MindStorms EV3, también conocido como "ladrillo", tiene incorporados 5 botones. Estos funcionan y se detectan de igual forma que cualquier otro botón (ver sensor táctil).



A continuación se muestra como se utilizan los botones del bloque del robot Lego MindStorms EV3.

Lego MindStorms EV3


Los botones del bloque comúnmente se usan con el comando "Esperar", con el cual el robot continuará realizando cualquier cosa que esté haciendo hasta que se realice la detección esperada. También se puede usar con las instrucciones de control "Bucle" e "Interruptor".





Se puede usar de dos formas: una es para detectar un estado en específico de cualquiera de los 5 botones que tiene el bloque, por ejemplo, presionado o no presionado. En este caso solo se especifica el estado que se espera.

La otra forma de usarlo es para detectar un cambio en el estado de alguno de los botones.


Ejemplos


Lego MindStorms EV3. Aquí, el robot encenderá el motor, y se mantendrá encendido hasta que se presione el botón de arriba del bloque.





Enlaces

Sensores - Rotación del motor

Los motores del robot Lego MindStorms EV3 tienen incorporado un sensor que permite saber cuanto ha girado el motor, además de su velocidad.

Existen diversos métodos electrónicos para conocer la velocidad y la posición de un motor. Una forma sencilla es la siguiente:

Se imprime un cartoncillo circular con colores blanco y negro, como el siguiente:


Este cartoncillo se fija en el eje del motor. Y después, cuando el motor da vueltas, se utiliza un sensor infrarrojo para detectar los colores blanco y negro (ver sensor de color). Así, lo único que tiene que hacer es ir llevando la cuenta.

A continuación se muestra como se detectan las rotaciones que da el motor en el robot Lego MindStorms EV3.

Lego MindStorms EV3


El sensor de rotaciones del motor comúnmente se usa con el comando "Esperar", con el cual el robot continuará realizando cualquier cosa que esté haciendo hasta que el sensor de rotaciones del motor realice la detección esperada. También se puede usar con las instrucciones de control "Bucle" e "Interruptor".


Se puede usar de dos formas: una es para detectar una cierta cantidad de rotaciones, por ejemplo 10 o 20, o un ángulo de giro en específico, por ejemplo 10° o 90°, o una cierta velocidad, por ejemplo 50 o 90. En este caso solo se especifica el dato esperado, y se elije un operador para decir si el dato detectado debe ser mayor, menor, mayor o igual, o menor o igual, que el dato especificado.

La otra forma de usarlo es para detectar un cambio en cualquiera de esas tres magnitudes (cantidad de rotaciones, ángulo de giro, o velocidad). En este caso lo que se especifica es si ese cambio debe ser un aumento o una disminución, y se le dice de que tamaño debe ser ese cambio.


Ejemplos


Lego MindStorms EV3. Aquí el motor estará girando a una velocidad de 50. Permanecerá así hasta que el sensor de rotaciones del motor detecte un incremento de 3 en la cantidad de vueltas, esto es, hasta que el motor haya completado 3 vueltas. Después de eso el motor se apagará.






Enlaces

Sensores - Táctil

Los sensores táctiles suelen ser simples botones, con la capacidad de avisar ya sea cuando se presionan o cuando se liberan.

Es bien sabido que para que fluya electricidad a través de un circuito eléctrico, se necesita un circuito cerrado. El circuito más simple consiste en una batería, un elemento que reaccione a la electricidad, como por ejemplo un foco, y un interruptor:


Cuando se presiona el botón, el circuito se cierra, la corriente eléctrica fluye a través del circuito, y el foco se enciende:


En el caso del sensor táctil, el botón es precisamente ese interruptor. Así es como el robot puede saber si el botón fue presionado o liberado.

A continuación se muestra como se utiliza el sensor táctil del robot Lego MindStorms EV3.

Lego MindStorms EV3


El sensor táctil comúnmente se usa con el comando "Esperar", con el cual el robot continuará realizando cualquier cosa que esté haciendo hasta que el sensor táctil realice la detección esperada. También se puede usar con las instrucciones de control "Bucle" e "Interruptor".




Se puede usar de dos formas: una es para detectar un estado del botón en específico, por ejemplo, presionado o no presionado. En este caso solo se especifica el estado que se espera.

La otra forma de usarlo es para detectar un cambio en el estado del botón.


Ejemplos


Lego MindStorms EV3. Aquí, el robot avanzará hasta que de alguna forma se presione el botón del sensor táctil. Cuando eso pase se detendrá.



Enlaces