lunes, 18 de diciembre de 2017

Prácticas de Robótica, Episodio VII

¡¡Salvemos el Planeta!!


Siempre que usamos algún aparato eléctrico, o algún transporte eléctrico, inconscientemente nos enorgullece el hecho de saber que no estamos contaminando. Si usamos un auto eléctrico, estamos salvando el planeta; si usamos el metro, estamos salvando el planeta; si usamos una podadora eléctrica, estamos salvando el planeta.

Pero, ¿es eso cierto? ¿Es verdad que no estamos contaminando?

Pues bien, resulta que, tristemente, en el mundo aún existen muchas formas de generar energía eléctrica que contaminan el planeta. Me refiero a las plantas termoeléctricas. En estas, se quema una gran cantidad de carbón, gasolina, o petroleo para producir la electricidad que recibimos en casa.

Es cierto que hay otras formas de generar electricidad: plantas eólicas, solares, nucleares, hidroeléctricas, etc. Pero, vaya, casi nadie sabe de donde proviene la electricidad que usamos todos los días. No sabemos por que medio ha sido generada.

Puedes ver un poco de información aquí.

Habiendo planteado ese problema con los alumnos, el reto esta vez fue el siguiente: hacer un robot que pueda aprovechar las bajadas para ahorrar baterías. ¿Cómo? Bien, se trata de un robot que en piso plano debe avanzar usando sus motores; pero al detectar una pendiente de bajada debe desactivar los motores, y accionar une rueda libre que le permita aprovechar la fuerza de gravedad para seguir avanzando; cuando detecte que ya terminó la bajada, volver a activar los motores para continuar con su camino.

Aquí está el resultado, espero les guste 😄


Muñeca Bailarina


El mecanismo que se practicó esta vez fue el de leva (es una figura que pare como una pera). Al girar la leva, empuja un vástago hacia arriba. En esta ocasión, el vástago es... la muñeca 😀.



Camión


El grupo de los pequeños, en esta ocasión les tocó armar un camión, que fuera capaz de dar vueltas, usando un volante, tal como lo hacen los camiones de la vida real.



Esperando les haya gustado, me despido, ¡¡Hasta pronto!!

Ver más prácticas

jueves, 7 de diciembre de 2017

Programación - Tareas múltiples

Hay veces en las que se quiere que el robot haga dos cosas a la vez, por ejemplo, que gire a la izquierda al mismo tiempo que levanta un brazo. Esto no se puede hacer con una simple secuencia de instrucciones. Para poder hacerlo, se necesitan poner las dos instrucciones por separado, como si fueran dos programas diferentes, y después enlazarlas por medio de cables de secuencia, para indicarle al robot que la siguiente instrucción no será una sola, sino ambas.

Ejemplos


Lego MindStorms EV3. En el siguiente programa, se utilizan cables de secuencias para indicarle al robot que debe ejecutar las siguientes instrucciones al mismo tiempo.




Enlaces

Programación - Comentarios

Cuando el robot tiene que realizar muchas acciones, el programa puede quedar muy grande, con varias decenas o hasta cientos de instrucciones. Cuando pasa esto es fácil perderse entre tantas instrucciones. 

Para ayudar un poco en esto y que no resulte todo tan complejo, se pueden usar comentarios. Los comentarios son parecidos a las instrucciones, solo que en realidad no hacen nada. Esto es, no son órdenes que el robot deba obedecer. En vez de eso, en los comentarios se puede escribir un pequeño texto indicando para qué se pusieron ciertas  instrucciones.

Ejemplos



Lego MindStorms EV3. Aquí, cuando alguien ve el programa sabrá que en ese momento es cuando el robot agarra la pelota.


Enlaces

anterior

jueves, 30 de noviembre de 2017

Mecanismos - Biela - Manivela

El mecanismo de biela – manivela consiste en una barra rígida llamada biela, que está conectada a un elemento giratorio llamado manivela. El otro extremo de la biela se encuentra en una guía recta, lo que la obliga a seguir un movimiento en línea recta. La manivela, en cambio, tiene el otro extremo fijo como eje de giro, lo que la obliga a realizar un movimiento circular.





Es un mecanismo reversible; eso significa que puede accionarse la manivela dando vueltas para provocar un movimiento en línea recta en el extremo de la biela; y viceversa, puede accionarse la biela desplazando su extremo en línea recta para provocar un movimiento circular en la manivela.


Cada vez que la manivela da una vuelta completa, la biela realiza un recorrido completo de ida y vuelta, y viceversa.


Ejemplos

Aquí la manivela consiste en una rueda. Al hacer girar la rueda provoca que el extremo de la biela se mueva en línea recta, en un movimiento intermitente.



Enlaces


anterior

Mecanismos - Torno

Un torno es un cilindro horizontal llamado "tambor", que se encuentra sobre dos soportes, y tiene sujeta una cuerda de la que pende una carga. Cuando se hace girar su eje por medio de una manivela, la cuerda se enrolla sobre el cilindro, permitiendo así elevar la carga.



El torno es, esencialmente, un mecanismo de rueda y eje, donde el eje es el cilindro, y la rueda es la circunferencia que describe la manivela al dar vuelta. 

Ventaja Mecánica


La ventaja mecánica del torno es la relación entre el radio de la circunferencia descrita por la manivela y el radio del cilindro.

ventaja mecánica = radio de la circunferencia descrita por la manivela / radio del cilindro

Esta ventaja se va reduciendo conforme la cuerda se va superponiendo sobre la cuerda previamente enrollada sobre el cilindro, pues esto provoca que el radio del cilindro vaya aumentando.


Ejemplos

Aquí, el radio de la circunferencia de la manivela, que en este caso es más bien un timón, es el triple del radio del cilindro del torno. Por lo tanto, se podrá elevar el cubo de agua como si pesara solo la tercera parte.





Enlaces


domingo, 19 de noviembre de 2017

Prácticas de Robótica, Episodio VI

Good Morning Kalimantan

Así se llama esta gran serie de televisión en la que un joven francés llamado Chanee Brule dirige una estación de radio en el remoto país de Indonesia, en la isla de Borneo (señalada en la imagen).




Ahí, él ayuda a los animalitos liberándolos cuando han sido capturados y enjaulados. En ocasiones los animalitos necesitan atención médica para no morir por el maltrato de sus captores. Chanee utiliza el programa de radio como un medio por el cual las personas se ponen en contacto con él, y le informan acerca de algún animal que han visto enjaulado y en malas condiciones.

Entonces Chanee se traslada hasta el lugar, y busca la forma de que le permitan liberarlo.

Aquí puedes ver lo que hace (está en inglés).

Y en los siguientes enlaces puedes ver algunos ejemplos (están en francés):


En esta ocasión los alumnos tenían que ayudar a Chanee a liberar a los animalitos. Para eso el robot tenía que llegar y, literalmente, romper la puerta de la jaula. Aquí están los resultados:





Barredora

Esta vez la práctica de mecanismos consistía en construir un carrito que conforme va avanzando va limpiando el camino que está lleno de hojas secas. Para eso se usaron engranes colocados en diferentes posiciones.

Al final, lo más difícil... fue... limpiar el espacio de las hojas que quien sabe como se regaron por todos lados 😔




Motocicleta

La práctica que realizaron los más pequeños consistió en armar, nada más ni nada menos, que una Motocicleta Chopper:



No se a ustedes, pero a mi todo esto me parece bastante genial!!!

lunes, 6 de noviembre de 2017

Prácticas de Robótica, Episodio V

Hola a todos. Esta es la tercera entrega de prácticas enfocadas a resolver los problemas de la vida silvestre y las amenazas que enfrenta, provocando que algunas especies se encuentren ya en peligro de extinción.

En esta ocasión se trata de los rinocerontes.

Cuernos de rinoceronte


Resulta que este majestuoso animal, famoso por su fenomenal capacidad de abatir los obstáculos que se encuentra a su paso, está desapareciendo. Los cazadores furtivos lo acechan por que consideran que sus cuernos tienen poderes curativos. En consecuencia, los atacan con el único propósito de quitarles los cuernos, dejando al animal ahí tirado, terriblemente herido, y muchos terminan sufriendo una muerte agonizante.

Puedes ver un pequeño documental aquí.

Una de las medidas que los investigadores están llevando a cabo para rescatarlos, es capturarlos y llevarlos a zonas protegidas, lejos del alcance de los delincuentes que les infringen tanto daño.

En esta ocasión, el objetivo de los alumnos era el siguiente: llegar hasta donde está el rinoceronte, agarrarlo (literalmente agarrarlo, con unas pinzas), llevarlo hasta el área protegida y ahí depositarlo.

Aquí está el resultado. Como verán, tuvimos el pequeño inconveniente de que el rinoceronte se resbalaba a medio camino 😕, o bien, se quedaba atorado en las pinzas que lo sujetaban 😖:






Cabrestante

Como de costumbre, para practicar los mecanismos en esta ocasión construyeron un cabrestante (un artefacto que ayuda a los marineros a sacar los barcos del agua). Para ello tuvieron que utilizar varios engranes, y un mecanismo de rueda y eje.



Rascacielos


Por último, aquí está la práctica que hicieron esta vez los más pequeños (la nueva generación). Se trata, nada más y nada menos, que de un rascacielos.



Me despido, esperando que les haya gustado 😄

Ver más prácticas

sábado, 21 de octubre de 2017

Prácticas de Robótica, Episodio IV

Hola a todos. Aquí continuamos, tal como les había comentado la vez pasada, con una serie de prácticas diseñadas pensando en hacer conciencia en los estudiantes sobre los problemas que afectan al mundo y a sus habitantes.

En esta ocasión, se trata de ayudar a los elefantes.

Colmillos de elefante


Como seguramente sabrán, el comercio ilegal de los colmillos de elefante ha provocado que este animal, protagonista en los zoológicos y hasta hace poco tiempo también en los circos, ese animal que se puede decir que "nunca olvida", y no es porque sea muy rencoroso, sino porque tiene una memoria extraordinaria, el ser más gigante sobre la faz de la tierra, está en peligro de extinción.

Ya no hay mamuts, ¿qué? ¿acaso pasará lo mismo con los elefantes? Puedes ver aquí un documental que habla de eso.

Afortunadamente también hay personas de buen corazón. Resulta que hay algunos orfanatos de elefantes, donde crían a los pequeños que quedaron desamparados (cuando asesinaron a sus padres), hasta que se vuelven adultos y pueden liberarlos para que continúen poblando el planeta.

Ahí, para darles su lechita, les tapan los ojos. De esa forma no relacionarán al humano con el alimento. El objetivo aquí era hacer un robot que hiciera justo eso: llegara donde está un elefante por la espalda, para que éste no lo vea y así no relacione a los robots con el alimento 😉, le diera lechita, y se retirara de nuevo sin ser visto por el animalito. He aquí el resultado:

P.D. Disculpen los elefantes, pero no conseguimos uno más grande. Y de hecho, el del segundo video en realidad es un rinoceronte 😋.





Puente

Esta vez la práctica de ciencia y tecnología se enfocó en las estructuras y en la balanza (una adaptación de la palanca), para fabricar un puente.



Helicóptero

Y aquí está lo que hicieron las nuevas generaciones. Nada más ni nada menos que un helicóptero. No se vayan con la finta, no vuela, es solo que el motor (y una mano) lo están sujetando desde arriba.


Y no me canso de recordarles que todo esto lo hacen cada vez con menos intervención por parte del profesor, que ya está pensando seriamente en llevar unos comic's para no aburrirse mientras los demás trabajan 😁

Ver más prácticas

domingo, 15 de octubre de 2017

Prácticas de Robótica, Episodio III

¡Con mucha emoción el día de hoy escribo esta nueva entrada del blog! Como siempre, me alegra el trabajo que mis alumnas y alumnos logran realizar en clase. Pero en esta ocasión ocurrió algo más.

Quiero que sepan que desde hace más de un mes decidí elaborar un conjunto de prácticas que tienen un doble objetivo: aprender robótica, claro está; y además concientizar a los estudiantes acerca de algunos problemas que afectan a la naturaleza, la vida silvestre, las plantas y los animales de todo el mundo.

Así es que les dí a conocer algunos de estos problemas, tales como la contaminación, y la forma tan terrible en que algunos humanos maltratan a los animales. Por lo tanto en esta y en las próximas entradas, descubrirán la forma en que estos estudiantes afrontaron dichos problemas.

Aletas de Tiburón

Se trata de rescatar a un tiburón de las garras de un barco pesquero, y trasladarlo hasta la zona protegida. 

Sucede que en Asia, los barcos pesqueros (ilegales por cierto) capturan a varios millones de tiburones cada año, para cortarles las aletas y la cola mientras aún están vivos. Y después, aún vivos, los arrojan de nuevo al mar, donde sufren una dolorosa agonía hasta morir. Ahora se encuentran al borde de la extinción.

Todo eso tan solo para elaborar una sopa de aleta de tiburón, la cual ¡no tiene sabor, y casi no tiene nutrientes! Nada más por su textura gelatinosa.

Puedes ver un pequeño documental aquí.

Triste, pero cierto. Pues bien, así fue como lo resolvieron cada uno de los dos equipos:



Catapulta

Como siempre, cada clase realizan una actividad especial con el objetivo de recordar, desenpolvar y  practicar sus conocimientos, construyendo un artefacto de la vida real, diseñado por ellas mismas. En esta ocasión se trató de una catapulta (también aparecen dos versiones, una de cada equipo).



Sube y Baja

Por último, aquí tenemos un sube y baja construido por las personitas más pequeñas (las futuras generaciones), con tecnología FischerTechnik.


Les recuerdo que todo esto lo diseñan, lo arman y lo programan en un 95% sin ayuda del maestro. Nos vemos pronto con más de nuestro pequeño club de robótica 😁

Ver más prácticas

domingo, 1 de octubre de 2017

Prácticas de Robótica, Episodio II

Hola, aquí con gusto volviendo a saludarlos, en esta ocasión solo para mostrarles algunas de las prácticas que hemos realizado en las últimas semanas.

Podrán ver que no siempre se construye el robot de la mejor forma posible, y lo mismo ocurre con el programa: no siempre es el más adecuado. Pero quiero recordarles que se trata de personitas pequeñas, de 12 años las más grandes, y que lo hacen con los conocimientos que ya tienen, prácticamente sin ayuda de mi parte. Usando, como principal herramienta, sus propios cerebros, sus propias manos, y su propio juicio para discutir en equipo, ayudarse unos a otros, y resolver los problemas que se les van presentando.

Misión en Marte. Se trata de un robot que, al igual que el spirit que se encuentra en Marte, al pasar por un camino difícil se queda atascado. El objetivo era diseñar un robot capaz de librarse por si solo del atascamiento. Aquí puedes conocer la historia de este sorprendente robot de la NASA.



Torre de Vigilancia. Se trata de una pequeña torre desde la cual los científicos pueden observar (y espiar) las aves para estudiar su comportamiento.


Carrito con dirección. Este carrito utiliza un sistema de dirección de piñón y cremallera. Con este tipo de construcciones es como los alumnos conocen y aprenden las tecnologías de la vida real.


¡Nos vemos pronto con más muestras de las actividades que realizamos!

Ver más prácticas

martes, 5 de septiembre de 2017

Entrenamiento para la WRO

Es un gusto para mi anunciar que ya iniciamos los entrenamientos para participar en la WRO (World Robot Olympiad), con dos equipos de un pequeño pueblo del estado de Hidalgo, llamado Santa Clara.

En esta, nuestra primera vez, participaremos con un equipo de primaria y uno de secundaria. Mi más grande deseo con todo esto, es cambiarle la vida a todas las personas y (personitas) que de una forma u otra se han visto involucradas en la realización de este proyecto.

Aquí les dejo un poco de lo que hemos estamos realizando en estas últimas semanas 😀





Claro está, no hay nada como ver los robots en acción:





Como habrán visto, algunas veces las las cosas no funcionan exactamente tal como se planearon. Eso también es parte del aprendizaje de los alumnos.

Pronto estaremos de vuelta con más de lo que hacemos 😁

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