ROBO Pro Coding (ES)

Uso general

Uso general

Uso general

ROBO Pro Coding es un entorno de desarrollo que sirve para programar el nuevo TXT 4.0 Controller y, por tanto, los modelos fischertechnik. ROBO Pro Coding está disponible para Windows, macOS, Linux, iOS y Android y se puede obtener a través de estas fuentes.

Google_Play_Badge_DE_230x67.png    App_Store_Badge_DE_230x67.png    Microsoft_Badge_De_230x67.png   Linux_Badge.png

Spanisch-AllgemeineBenutzung-Bild1.PNG


image-1623839044249.22.21.png  

El código mostrado podría utilizarse para este modelo (a la izquierda).La interfaz web de ROBO Pro Coding está estructurada de la siguiente manera (las cifras hacen referencia a las zonas marcadas en la imagen):

  1. Esto es lo que se programó en bloques en Python
  2. Este es el campo en el que se insertan los bloques para programar
  3. El ciclo del programa está registrado en la consola 
    • Los puntos de interrupción se utilizan para depurar programas. Establecen puntos determinados en el código cuando el programa se detiene. Estos puntos se determinan utilizando Editor y están formados por el nombre de archivo + el número de línea.
    • El contenido de las variables se puede ver en Protocolo.
    • La pila de llamadas muestra cómo se almacena la información de las llamadas. Esto es particularmente útil cuando se aplican funciones.
  4. Aquí puede encontrar todos los bloques para realizar la programación, clasificados por categorías de ActuadoresSensores y Procesamiento
  5. Esta línea se explica por separado en el encabezado
  6. Aquí se puede adaptar el nivel de aprendizaje al usuario. Por ejemplo, dependiendo del nivel, solo se muestran los bloques más importantes.

 

Encabezado

image-1623793979375.19.18.png

En el encabezado aparecen (de izquierda a derecha) los elementos operativos para arrancar y detener el programa, iniciar el depurador, acceder a la prueba de interfaz, cargar el programa actual y conectarse al controlador.

Arrancar el programa

Si desea iniciar su programa desde ROBO Pro Coding, haga clic en este icono.

Detener el programa 

Si desea detener su programa antes de que finalice por sí solo, toque este icono.

El depurador

El depurador sirve para facilitar la búsqueda de errores en el programa. A través del menú existente en la esquina superior derecha puede ir paso a paso por el código y simular así la ejecución de un programa. Además, el programa reacciona a la interacción con sensores como, por ejemplo, pulsar un botón. Mientras esté ejecutando el programa, podrá ver en el amplio campo de la izquierda en qué bloque se encuentra y, a la derecha, en qué parte del código Python.

La prueba de interfaz

Si hace clic en el icono con los tres controles deslizantes, se abre esta ventana:

Spanisch-AllgemeineBenutzung-Bild4.PNG

Aquí puede ver todos los dispositivos conectados. En el caso de los actuadores, puede utilizar el control deslizante para comprobar si funcionan. En los sensores se especifica el valor medido (por ejemplo, el botón tiene un 1 porque está pulsado). En el menú desplegable (triángulo pequeño) se especifica todo aquello que está conectado.

Cargar el programa

Si ha registrado un programa y desea que se ejecute de forma independiente en el controlador, puede cargarlo en dicho controlador utilizando este icono. Posteriormente aparece debajo de los archivos en el controlador. Si escribe allí el nombre del programa, accederá a la subcarpeta del programa. Aquí hay un archivo denominado «main.py». Haga clic en él. El botón «open» situado en la parte inferior derecha debería iluminarse de color verde. Pulse el botón «open» y se abrirá otro menú con cuatro opciones:

  1. Cargar: cargue el programa y después podrá iniciarlo desde la pantalla de inicio
  2. Carga automática: el programa se carga automáticamente cuando se inicia de nuevo el controlador
  3. Inicio automático: el programa se carga automáticamente cuando se inicia de nuevo el controlador y se pone en funcionamiento directamente
  4. Borrar proyecto: el programa se elimina del controlador
Conectar con el controlador 

Aquí se explica cómo conectarse al controlador.

Configuración del controlador

Para poder utilizar componentes como sensores y actuadores en el programa, ha de conectarlos al controlador, no solo físicamente, sino también en el software. La configuración del controlador siempre se abre de manera automática y se puede acceder a ella en la parte superior junto al programa principal.

El controlador y todos los componentes posibles que se pueden conectar a él se muestran ahora en la zona izquierda. El controlador se arrastra al área de programación. Después, puede conectar los componentes deseados al controlador arrastrando y soltando.

Spanisch-Allgemeine Benutzung-Bild5.PNG

Guardar el programa

 Si desea guardar un programa, haga clic en las tres rayas de la parte superior izquierda de la página web de ROBO Pro Coding. Aquí, toque la opción «Exportar». Ahora puede elegir si desea guardar su programa a nivel local en su dispositivo o en GitLab.

Local: después de haber introducido el nombre de su programa, haga clic en «Exportar» y el archivo del programa aparecerá en su dispositivo.

GitLab: después de haber introducido el nombre de su programa y de haber seguido los pasos especificados para insertar el token de acceso personal, solo tiene que hacer clic en «Exportar» y el archivo del programa se guardará en su cuenta de GitLab.

 

 

Actuadores

Actuadores

Salidas

Arranque de cada bloque

El arranque de cada bloque ofrece la posibilidad de ejecutar un programa si se cumple una condición. Funciona de manera similar a la distinción de casos, pero no se ejecuta solo una vez, sino cada vez que se cumple la condición durante todo el transcurso del programa. Arranque de cada bloque:

Spanisch-Ausgänge-Bild1.PNG

Es una abreviatura del siguiente constructo:

Spanisch-Ausgänge-Bild2.PNG

Se pueden utilizar todas las condiciones de esta categoría en el Arranque de cada bloque de la categoría salidas.

Nota: La sección del programa dentro de Arranque de cada bloque debe ser corta y no contener llamadas de bloqueo ni bucles sin fin, de modo que esta parte del programa se pueda procesar rápidamente.

Luces LED

image-1623745844016.42.50.png

Configuración

Con los bloques configuración LED ... configuración del brillo LED ... se puede encender y apagar el LED o configurar su brillo en un valor determinado (desde 0 hasta 512). 

Acceso

Con el bloque obtención de brillo LED se puede acceder al brillo de un LED y procesarlo como valor.

Consulta

Con los bloques el LED está ...  y es el brillo del LED ..., se puede configurar la actividad o el brillo de un LED como un estado. En el ejemplo, el brillo del LED se establece en 512, a menos que ya tenga ese brillo.

Spanisch-Ausgänge-Bild4.PNG

Motores 

El icono en los bloques del motor representa todos los motores que no son codificadores ni servomotores.

Configuración

Con el bloque configuración de la velocidad del motor en [] ... se puede configurar la velocidad de un motor en un valor determinado (desde 0 hasta 512). 

Acceso

Con el bloque obtención de la velocidad del motor se puede acceder a la velocidad del motor y procesarla como valor.

Consulta

Con los bloques el motor está funcionando  y la velocidad del motor es ... se puede configurar la actividad o la velocidad de un motor como un estado.

Detención

Con el bloque detención del motor … es posible parar un motor.

Compresor

image-1623746227574.40.52.png

Configuración

Con el bloque configuración del compresor [], se puede activar o desactivar el compresor. 

Consulta

Con el bloque el compresor está [], se puede configurar la actividad de un compresor como un estado. 

Válvula magnética

image-1623746259058.41.19.png

Configuración

Con el bloque configuración de la válvula magnética [], se puede activar o desactivar la válvula magnética. «Activado» significa que la válvula está abierta y «desactivado» que la válvula está cerrada.

Consulta

Con el bloque la válvula magnética está [], se puede configurar la actividad de una válvula magnética como un estado.

Actuadores

Sonido

El TXT 4.0 Controller tiene un altavoz incorporado y, por tanto, permite reproducir sonido.

Arranque de cada bloque

El arranque de cada bloque ofrece la posibilidad de ejecutar un programa si se cumple una condición. Funciona de manera similar a la distinción de casos, pero no se ejecuta solo una vez, sino cada vez que se cumple la condición durante todo el transcurso del programa. Arranque de cada bloque:

Spanisch-Sound-Bild1.PNG

Es una abreviatura del siguiente constructo:

Spanisch-Sound-Bild2.PNG

Se pueden utilizar todas las condiciones de esta categoría en el Arranque de cada bloque de la categoría Sonido.

Nota: La sección del programa dentro de Arranque de cada bloque debe ser corta y no contener llamadas de bloqueo ni bucles sin fin, de modo que esta parte del programa se pueda procesar rápidamente.

Reproducción de sonido

Archivos de audio preinstalados

Con el siguiente bloque puede reproducir uno de los 29 sonidos preinstalados. El archivo de audio deseado se puede seleccionar utilizando el menú desplegable (triángulo pequeño). También es posible reproducir el sonido en bucle continuo. Para hacer esto, ha de marcar la casilla que hay detrás del icono de bucle.

Spanisch-Sound-Bild3.PNG

Archivos de audio propios

Si se desea reproducir un sonido propio, se puede utilizar el bloque

Spanisch-Sound-Bild4.PNG

. Para incluir su propio archivo de audio en el bloque, tiene que:

  1. Estar conectado al controlador
  2. Introducir la dirección IP del controlador en el navegador (la IP que también se utilizó para realizar la conexión al controlador tiene que seleccionarse aquí)
  3. Introducir USER: ft, PASSWORD: fischertechnik en la página a la que se ha accedido
  4. Abrir la carpeta de sonidos y utilizar el signo + para cargar el archivo de audio deseado en el controlador (importante: el archivo de audio ha de estar en formato wav)
  5. Especificar en el bloque ROBO Pro Coding la ruta «./dateiname.wav»

Aquí también existe la opción de reproducir el sonido en bucle continuo.

Consulta

Para consultar si se está reproduciendo un archivo de audio, se utiliza el bloque reproducir sonido. Este se puede utilizar como estado en el programa.

Detención

Para detener un sonido, se utiliza el bloque detención de la reproducción del sonido en el programa.

Actuadores

Visualización

Con los bloques de la categoría Pantalla, se puede configurar y optimizar la pantalla del TXT 4.0 Controller. Esto se realiza en dos pasos:

  1. Configurar, es decir
    • Abrir un nuevo archivo en la categoría Pantalla mediante el icono de Página utilizando el signo + que se encuentra en la parte superior izquierda
    • Arrastrar los elementos deseados hasta la zona de la cuadrícula (representa la parte configurable de la pantalla)
    • Ajustar las especificaciones, si es necesario. 
  2. Programar, es decir
    • En el programa principal, utilizar los bloques de la categoría Pantalla para programar el efecto de interacción con la pantalla.

Bloques

Consulta de evento

El bloque Evento [] permite acceder al valor de retorno de un elemento. Este bloque solo se puede utilizar en los programas de eventos. En estos programas de eventos, el bloque hace referencia de manera automática al evento del programa en que se utiliza. El tipo adecuado de valor de retorno se puede seleccionar utilizando el menú desplegable (triángulo pequeño):

Bild1.PNG

Campo de etiquetado

Con el campo de etiquetado de elementos puede colocar texto en la pantalla. El icono en el configurador de pantalla es la etiqueta. Si arrastra este icono hasta la zona de la cuadrícula, se abre una ventana a la derecha. Aquí, en Inspector, se puede determinar

Con el bloque configuración del texto del campo de etiquetado ... el texto mostrado se puede cambiar mientras se esté ejecutando el programa.

Entradas

El elemento Entrada permite que los usuarios inserten texto utilizando el controlador. El icono correspondiente en el configurador de pantalla es la letra «T». Si arrastra este icono hasta la zona de la cuadrícula, se abre una ventana a la derecha. Aquí, en Inspector, se puede determinar

Con el bloque configuración del texto del campo de entrada ... el texto mostrado se puede cambiar mientras se esté ejecutando el programa.

Programa de entrada

El programa de entrada se ejecuta cuando se ha completado una entrada. Se escribe de manera independiente al programa principal. Las variables funcionan a nivel global en ambos programas. El programa de entrada se ejecuta en el bloque en la entrada completa . El bloque de Eventos [] se configura en «texto», en el programa de entrada. En este ejemplo, la variable Nombre se configura a partir del texto introducido; posteriormente se usa en el programa principal para generar el textoespecificado :

Bild2.PNG

Instrumento de medición 

La función del instrumento de medición puede mostrar valores (no inferiores a 1). El icono correspondiente en el configurador de pantalla es el escalado. Si arrastra este icono hasta la zona de la cuadrícula, se abre una ventana a la derecha. Aquí, en Inspector, se puede determinar

Con el bloque configuración del instrumento de medición en el valor ... el instrumento de medición se puede configurar según el valor introducido. Este valor debe estar en el rango de valores definido previamente. Si el valor se encuentra fuera del rango de valores, se muestra uno de los límites del rango de valores, dependiendo de si el valor es demasiado grande o demasiado pequeño.

Indicador de estado

El indicador de estado muestra la actividad de un elemento. Dependiendo del estado, se enciende («activo») o no («inactivo»). El icono en el configurador de pantalla es un diodo incandescente. Si arrastra este icono hasta la zona de la cuadrícula, se abre una ventana a la derecha. Aquí, en Inspector, se puede determinar

Con el bloque configuración del indicador de estado en activo [] se puede activar o desactivar el indicador de estado. En el menú desplegable (triángulo pequeño) puede seleccionar si el indicador de estado debe configurarse como activo o inactivo.

Control deslizante

El control deslizante arroja valores según su posición. El usuario puede cambiar la posición utilizando la pantalla táctil. Se puede acceder al valor a través del bloque Evento [], en el momento en que el control deslizante esté inactivo. El valor obtenido es un número decimal. Si desea que el valor del control deslizante sea un número entero, ha de utilizar el bloque circular. El icono correspondiente del control deslizante es la línea con el círculo. Si arrastra este icono hasta la zona de la cuadrícula, se abre una ventana a la derecha. Aquí, en Inspector, se puede determinar

Con el bloque Configuración del valor del control deslizante ... puede mover el control deslizante a un valor diferente. 

Mediante la configuración del control deslizante en activado [] se puede cambiar la actividad utilizando el menú desplegable (triángulo pequeño).

Programa del control deslizante

El programa del control deslizante se ejecuta después de mover el control deslizante. Se escribe de manera independiente al programa principal. Las variables funcionan a nivel global en ambos programas. El programa del control deslizante se ejecuta en el bloque cuando se mueve el control deslizante. El bloque de Eventos [] se configura en «value», en el programa del control deslizante. En este ejemplo la velocidad del motor se controla mediante el control deslizante. El valor del control deslizante ha de redondearse, ya que el motor solo acepta números enteros para el número de revoluciones:

Bild3.PNG

 

Botón

El botón es un campo etiquetado que se puede pulsar. Si pulsa el botón, el programa de botones se ejecuta en cuanto se suelta el botón. El icono asociado al botón es el cuadrado con la etiqueta «OK». Si arrastra este icono hasta la zona de la cuadrícula, se abre una ventana a la derecha. Aquí, en Inspector, se puede determinar

Con el bloque configuración del botón en activado [] se puede cambiar la actividad utilizando el menú desplegable (triángulo pequeño).

Programa de botones

El programa de botones se ejecuta cuando se deja de pulsar el botón. Se escribe de manera independiente al programa principal. Las variables funcionan a nivel global en ambos programas. El programa de botones se ejecuta en el bloque cuando se hace clic en el botón. El bloque Eventos [] no se puede utilizar con el programa de botones, ya que el botón no tiene valor de retorno. En este ejemplo se activa el LED cuando se pulsa el botón.

Bild4.PNG

Interruptor

El interruptor tiene dos posiciones y siempre se encuentra en una de ellas. Según la posición, muestra verdadero falso. El icono correspondiente del interruptor es el óvalo con el punto. Si arrastra este icono hasta la zona de la cuadrícula, se abre una ventana a la derecha. Aquí, en Inspector, se puede determinar

 

El bloque

Bild5.PNG

desempeña dos funciones. Se puede establecer la actividad (seleccione enabled en el menú desplegable) o el estado (seleccione checked en el menú desplegable) como verdadero falso

Programa del interruptor

El programa del interruptor se ejecuta cada vez que se activa el interruptor. Se escribe de manera independiente al programa principal. Las variables funcionan a nivel global en ambos programas. El programa del interruptor se ejecuta en el bloque cuando se conecta el interruptor. El bloque de Eventos [] se establece en «checked» en el programa del interruptor, y muestra verdadero falso. Este programa de ejemplo enciende el LED cuando se acciona el interruptor; de lo contrario, el LED se apaga:

Bild6.PNG

Casilla de verificación

La casilla de verificación puede adoptar dos estados y siempre se encuentra en uno de ellos. Según el estado, muestra verdadero falso. El icono de la casilla de verificación es el cuadrado con el tick. Si arrastra este icono hasta la zona de la cuadrícula, se abre una ventana a la derecha. Aquí, en Inspector, se puede determinar

El bloque siguiente tiene dos funciones. En el menú desplegable (triángulo pequeño) se puede seleccionar cuál se va a utilizar. Se puede establecer la actividad (seleccione enabled en el menú desplegable) o el estado (seleccione checked en el menú desplegable) como verdadero falso.

Bild7.PNG

Programa de la casilla de verificación

El programa de la casilla de verificación se ejecuta cada vez que se pulsa dicha casilla de verificación. Se escribe de manera independiente al programa principal. Las variables funcionan en ambos programas. El programa de la casilla de verificación se ejecuta en el bloque cuando se activa la casilla de verificación. El bloque de Eventos [] se establece en «checked» en el programa del interruptor, y muestra verdadero falso. Este programa de ejemplo enciende el LED cuando se marca la casilla de verificación; de lo contrario, el LED se apaga.

Bild8.PNG

Actuadores

Motor

Arranque de cada bloque

El arranque de cada bloque ofrece la posibilidad de ejecutar un programa si se cumple una condición. Funciona de manera similar a la distinción de casos, pero no se ejecuta solo una vez, sino cada vez que se cumple la condición durante todo el transcurso del programa. Arranque de cada bloque:

Bild1.PNG

Es una abreviatura del siguiente constructo:

Bild2.PNG

Se pueden utilizar todas las condiciones de esta categoría en el Arranque de cada bloque de la categoría Motor.

Nota: La sección del programa dentro de Arranque de cada bloque debe ser corta y no contener llamadas de bloqueo ni bucles sin fin, de modo que esta parte del programa se pueda procesar rápidamente.

Motor 

El icono en los bloques del motor representa todos los motores que no son codificadores ni servomotores.

Configuración

Con el bloque configuración de la velocidad del motor en [] ... se puede configurar la velocidad de un motor en un valor determinado (desde 0 hasta 512). En el menú desplegable (triángulo pequeño) se puede seleccionar el sentido de rotación.

Acceso

Con el bloque obtención de la velocidad del motor se puede acceder a la velocidad del motor y procesarla como valor.

Consulta

Con los bloques el motor está funcionando  y la velocidad del motor es ... se puede configurar la actividad o la velocidad de un motor como un estado.

Detención

Con el bloque detención del motor [] es posible parar un motor. Para ello, el bloque detención del motor [] ofrece opciones para detener un motor directamente o de esperar a que se agote. La opción deseada se puede seleccionar utilizando el menú desplegable (triángulo pequeño):                                                                                          

Bild3.PNG                                                                                  

Servomotor

image-1623746331741.42.25.png

Configuración

Con el bloque configuración de la posición en ... se puede configurar la posición de un servomotor en un valor determinado (desde 0 hasta 512). 0 y 512 son los valores de la desviación máxima hacia la derecha y hacia la izquierda. Por consiguiente, con el valor 256 el servomotor se encuentra en la parte central. 

Acceso

Con el bloque acceder a la posición se puede acceder a la posición de un servomotor y procesarla como valor.

Motor codificador

image-1623746341213.40.14.png

El motor codificador tiene las mismas funciones que un motor normal, pero también ofrece la opción de contar las revoluciones y de controlar diferentes motores de manera sincronizada. Una revolución se divide en ~ 64 pasos.

Configuración

Con el bloque 

Bild6.PNG

se puede configurar la velocidad de un motor en un valor determinado (de 0 a 512). En el menú desplegable (triángulo pequeño) se puede seleccionar el sentido de rotación. Además, puede introducir el número de pasos que debe recorrer el motor. En este ejemplo, el motor gira 100 pasos, es decir, una revolución y un tercio. Como se puede ver en el ejemplo, este bloque tiene un signo +, y a través de él se pueden controlar diferentes motores de forma sincronizada. Es posible sincronizar motores en el maestro o en una extensión pero no se puede realizar una sincronización general entre los motores del maestro y una extensión.

Nota: las llamadas de sincronización que se suceden rápidamente, como las que permite un bucle (véase el ejemplo), pueden perjudicar la sincronización o incluso impedirla por completo.

Detención

El motor se puede parar utilizando el bloque detención del motor …. Si se desea detener más de un motor al mismo tiempo, se pueden añadir hasta tres motores adicionales mediante el signo + que se encuentra a la izquierda del bloque.

Bild7.PNG

Consulta

El bloque se ha obtenido la posición se utiliza para usar la posición alcanzada como condición. En este caso, posición hace referencia a la posición final de un motor codificador después de haber completado la amplitud de paso.

Sensores

Sensores

Entradas

Arranque de cada bloque

El arranque de cada bloque ofrece la posibilidad de ejecutar un programa si se cumple una condición. Funciona de manera similar a la distinción de casos, pero no se ejecuta solo una vez, sino cada vez que se cumple la condición durante todo el transcurso del programa. Arranque de cada bloque:

Bild1.PNG

Es una abreviatura del siguiente constructo:

Bild2.PNG

Se pueden utilizar todas las condiciones de esta categoría en el Arranque de cada bloque de la categoría Entradas.

Nota: La sección del programa dentro de Arranque de cada bloque debe ser corta y no contener llamadas de bloqueo ni bucles sin fin, de modo que esta parte del programa se pueda procesar rápidamente.

Botón

image-1623679995498.03.59.png

El botón es un sensor digital que conmuta entre «La corriente fluye» y «La corriente no fluye». Que la corriente fluya depende tanto del cableado como del hecho de que el botón esté pulsado. El botón se puede usar de dos maneras diferentes:

image-1623592536466.48.54.png

Como «Contacto normalmente cerrado»:
Los contactos 1 y 3 se conectan. 

Pulsador apretado: La corriente fluye.                                                                                                             Pulsador no apretado: La corriente no fluye


Como «contacto normalmente abierto»:

Los contactos 1 y 2 se conectan.        

Pulsador apretado: La corriente no fluye.                                                                                                   Pulsador no apretado: La corriente fluye.                                                                                                                                                                                                   

Acceso

A través de obtención del estado del mini botón, se puede consultar si fluye o no corriente por el botón. Si fluye corriente, aparece un 1 y si no fluye corriente aparece un 0

Consulta

Para consultar si el botón se encuentra en un estado determinado, se utiliza el bloque el botón está… El menú desplegable (triángulo pequeño) se puede utilizar para seleccionar el estado. Este bloque se puede utilizar como condición.

Sensor ultrasónico

image-1623680004750.04.35.png

El sensor ultrasónico se utiliza para medir distancias.

Acceso

En obtención de la distancia del sensor ultrasónico se ofrece información acerca de la distancia existente entre el sensor y un objeto. La distancia se expresa en cm.

Consulta

Para consultar si existe una distancia determinada entre el sensor y un objeto próximo, se utiliza la distancia del sensor ultrasónico es… El menú desplegable (triángulo pequeño) se puede utilizar para determinar cómo se debe comparar la distancia medida con un valor introducido (<, ≤, =, ≠, ≥, >). El valor comparativo se inserta en el campo numérico al final del bloque. Este bloque se puede utilizar como condición. En el ejemplo, el motor se detiene cuando la distancia medida es inferior a 2 cm.

Bild6.PNG

Sensor de color

image-1623680014794.04.56.png

El sensor de color emite luz de color rojo y mide la cantidad de luz que se refleja. Dependiendo de la intensidad del reflejo, el sensor de color muestra valores de 0 a 2000. Es adecuado para reconocer colores calibrados previamente. 

Acceso

A través de obtención del valor del sensor de color se muestra información sobre la intensidad con la que se refleja la luz sobre una superficie.

Consulta

Para consultar si el sensor tiene un color determinado delante de él, se utiliza el valor del sensor ultrasónico es… El menú desplegable (triángulo pequeño) se puede utilizar para determinar cómo se debe comparar el valor del color medido con un valor introducido (<, ≤, =, ≠, ≥, >). El valor comparativo se inserta en el campo numérico al final del bloque. Este bloque se puede utilizar como condición. En el ejemplo, el motor se detiene cuando el valor del color medido es inferior a 1000.

Bild8.PNG

Sensor de seguimiento de IR

image-1623680023473.04.45.png

El sensor de seguimiento de infrarrojos es un sensor digital que detecta un rastro de color negro sobre un fondo blanco, y que funciona a una distancia de 5 a 30 mm del sensor al suelo. 

Acceso

En obtención del estado del sensor de seguimiento de IR se muestra 0 cuando el sensor no detecta ningún rastro. Si el sensor detecta algún rastro, muestra 1

Consulta

Para consultar si el sensor de seguimiento de IR ha detectado algún rastro, se compara el estado de seguimiento existente en ese momento con 0 o 1. Para ello, consulte el bloque el estado del sensor de seguimiento de IR es [] ... . El menú desplegable (triángulo pequeño) se puede utilizar para determinar cómo se debe comparar el estado de seguimiento con un valor introducido (<, ≤, =, ≠, ≥, >). El valor comparativo se inserta en el campo numérico al final del bloque. Este bloque se puede utilizar como condición. En el ejemplo, el motor se detiene cuando el estado de seguimiento es 0.

Bild10.PNG

Fototransistor

image-1623680417014.17.52.png

El fototransistor es un sensor digital que distingue entre claro y oscuro. 

Acceso

En obtención del estado del fototransistor se muestra 0 cuando el sensor no detecta luz. Si el sensor detecta suficiente luz, muestra 1.

Consulta

Para consultar si el fototransistor ha detectado claridad u oscuridad, se compara el estado de brillo con 0 o 1. Para ello, consulte el bloque el estado del fototransistor es [] ... En el menú desplegable (triángulo pequeño) se puede seleccionar si se desea consultar el nivel de luz u oscuridad. 

image-1623844705358.57.11.png

Un fototransistor se puede utilizar en una barrera fotoeléctrica como la del modelo.

Fotorresistencia

image-1623680434602.04.18.png

La resistencia de la fotorresistencia disminuirá a medida que se exponga a más brillo. Por tanto, el valor mostrado de fotorresistencia es una medida de brillo.

Acceso

En obtención del valor de fotorresistencia se muestra información sobre el nivel de brillo. Cuanto más pequeño es el valor mostrado, más elevado es el nivel de brillo.

Consulta

Para consultar si el fotorresistor mide un nivel de brillo determinado, se utiliza el bloque el valor de fotorresistencia es [] ... . El menú desplegable (triángulo pequeño) se puede utilizar para determinar cómo se debe comparar el nivel de brillo con el valor introducido (<, ≤, =, ≠, ≥, >). El valor comparativo se inserta en el campo numérico al final del bloque. Este bloque se puede utilizar como condición. En el ejemplo, el motor se detiene cuando el nivel de brillo es inferior a 3000.

Bild14.PNG

Resistencia NTC

image-1623680448576.05.31.png

La resistencia NTC es un sensor de temperatura no binario. Su resistencia eléctrica disminuye cuando aumenta la temperatura y, por tanto, es una medida de la temperatura. 

Acceso

En obtención de la resistencia NTC [] se muestra información sobre un valor de resistencia o sobre la temperatura alcanzada a partir de él. La opción que se desee mostrar se puede seleccionar utilizando el menú desplegable (triángulo pequeño).

Consulta

Para consultar si la resistencia NTC mide un valor determinado, se utiliza el bloque la resistencia NTC es [] [] ... Los menús desplegables (triángulo pequeño) se pueden utilizar para seleccionar qué se debe comparar y con qué operador comparativo. El valor comparativo se inserta en el campo numérico al final del bloque. Este bloque se puede utilizar como condición. En el ejemplo, el motor se detiene cuando la temperatura es inferior a 20.

Bild16.PNG

Sensores

Contador

image-1623684174534.40.14.png

El motor codificador se puede utilizar como contador. Se cuenta el número de sus revoluciones, no solo cuando gira como motor, sino también cuando es impulsado mecánicamente desde el exterior.

Arranque de cada bloque

El arranque de cada bloque ofrece la posibilidad de ejecutar un programa si se cumple una condición. Funciona de manera similar a la distinción de casos, pero no se ejecuta solo una vez, sino cada vez que se cumple la condición durante todo el transcurso del programa. Arranque de cada bloque:

Bild2.PNG

Es una abreviatura del siguiente constructo:

Bild3.PNG

Se pueden utilizar todas las condiciones de esta categoría en el Arranque de cada bloque de la categoría Contador.

Nota: La sección del programa dentro de Arranque de cada bloque debe ser corta y no contener llamadas de bloqueo ni bucles sin fin, de modo que esta parte del programa se pueda procesar rápidamente.

Acceso

A través de obtención del valor del contador se puede consultar el valor medido por el contador.

Consulta

Para consultar si el contador ha medido un valor determinado se utiliza este bloque

Bild4.PNG

El menú desplegable (triángulo pequeño) se puede utilizar para determinar cómo se debe comparar el valor medido con un valor introducido (<, ≤, =, ≠, ≥, >).

Reiniciar

El contador comienza de nuevo desde 0 cuando se ejecuta el bloque reiniciar el contador.

Sensores

I2C

Los sensores I2C descritos en este capítulo se conectan al TXT 4.0 Controller mediante un cable plano adecuado.

Arranque de cada bloque

El arranque de cada bloque ofrece la posibilidad de ejecutar un programa si se cumple una condición. Funciona de manera similar a la distinción de casos, pero no se ejecuta solo una vez, sino cada vez que se cumple la condición durante todo el transcurso del programa. Arranque de cada bloque:

Bild1.PNG

Es una abreviatura del siguiente constructo:

Bild2.PNG

Se pueden utilizar todas las condiciones de esta categoría en el Arranque de cada bloque de la categoría I2C.

Nota: La sección del programa dentro de Arranque de cada bloque debe ser corta y no contener llamadas de bloqueo ni bucles sin fin, de modo que esta parte del programa se pueda procesar rápidamente.

Sensor combinado

image-1623698066081.05.44.png

El sensor de combinación reúne las tres funciones de sensor de aceleración, giroscopio y sensor de brújula en un solo componente.

Sensor de aceleración

Acceso

En obtención de aceleración del sensor combinado en [] se muestra la aceleración en una dirección espacial. La dirección espacial deseada se puede seleccionar utilizando el menú desplegable (triángulo pequeño). La aceleración se especifica en g. 

Consulta

Para consultar si se está midiendo una aceleración determinada se utiliza el bloque es la aceleración del sensor combinado en [] [] .... El menú desplegable (triángulo pequeño) se puede utilizar para determinar cómo se debe comparar la aceleración con el valor introducido (<, ≤, =, ≠, ≥, >) y qué dirección espacial se debe consultar. El valor comparativo se inserta en el campo numérico al final del bloque. Este bloque se puede utilizar como condición. En el ejemplo, el motor se detiene cuando la aceleración en la dirección x es superior a 10.

Bild4.PNG

Giroscopio

Acceso

En obtención de giro del sensor combinado en [] se muestra el giro en una dirección espacial. La dirección espacial deseada se puede seleccionar utilizando el menú desplegable (triángulo pequeño). La rotación se expresa en °/s. 

Consulta

Para consultar si se está midiendo una velocidad angular determinada se utiliza el bloque es el giro del sensor combinado en [] [] .... El menú desplegable (triángulo pequeño) se puede utilizar para determinar cómo se debe comparar el giro con el valor introducido (<, ≤, =, ≠, ≥, >) y qué dirección espacial se debe consultar. El valor comparativo se inserta en el campo numérico al final del bloque. Este bloque se puede utilizar como condición. En el ejemplo, el motor se detiene cuando el giro en la dirección x es superior a 10.

Bild5.PNG

Sensor de brújula

Acceso

En obtención del flujo magnético del sensor combinado en [] se muestra el flujo magnético en una dirección espacial. La dirección espacial deseada se puede seleccionar utilizando el menú desplegable (triángulo pequeño). El flujo magnético se expresa en μT. 

Consulta

Para consultar si se está midiendo un flujo magnético determinado se utiliza el bloque es el flujo magnético del sensor combinado en [] [] .... El menú desplegable (triángulo pequeño) se puede utilizar para determinar cómo se debe comparar el flujo magnético con el valor introducido (<, ≤, =, ≠, ≥, >) y qué dirección espacial se debe consultar. El valor comparativo se inserta en el campo numérico al final del bloque. Este bloque se puede utilizar como condición. En el ejemplo, el motor se detiene cuando el flujo magnético en la dirección x es superior a 10.

Bild6.PNG

Sensor ambiental

image-1623698078892.05.11.png

El sensor medioambiental reúne en un componente cuatro funciones: sensor de calidad del aire, sensor de humedad del aire, barómetro y termómetro.

Sensor de calidad del aire

Acceso

Con el bloque obtención de la calidad del aire con el sensor medioambiental [] se puede medir la calidad del aire. En el menú desplegable (triángulo pequeño) se puede seleccionar cómo mostrar la calidad del aire: como valor (de 0 a 500) o como texto. 

Consulta

Para consultar si se está midiendo una calidad del aire determinada se utiliza el bloque es la calidad del aire del sensor medioambiental [] ... El menú desplegable (triángulo pequeño) se puede utilizar para determinar cómo se debe comparar la calidad del aire con un valor introducido (<, ≤, =, ≠, ≥, >). El valor comparativo se inserta en el campo numérico al final del bloque. Este bloque se puede utilizar como condición. En el ejemplo, el motor se detiene cuando la calidad del aire es superior a 10.

Bild8.PNG

Barómetro
Acceso

Con el bloque obtención de la presión del aire con el sensor medioambiental se puede medir la presión del aire.

Consulta

Para consultar si se está midiendo una presión del aire determinada se utiliza el bloque es la presión del aire del sensor medioambiental [] ... El menú desplegable (triángulo pequeño) se puede utilizar para determinar cómo se debe comparar la presión del aire con un valor introducido (<, ≤, =, ≠, ≥, >). El valor comparativo se inserta en el campo numérico al final del bloque. Este bloque se puede utilizar como condición. En el ejemplo, el motor se detiene cuando la presión del aire es superior a 10.

Bild9.PNG

Termómetro
Acceso

Con el bloque obtención de la temperatura con el sensor medioambiental se puede medir la temperatura.

Consulta

Para consultar si se está midiendo una temperatura determinada se utiliza el bloque es la temperatura del sensor medioambiental [] ... El menú desplegable (triángulo pequeño) se puede utilizar para determinar cómo se debe comparar la temperatura con un valor introducido (<, ≤, =, ≠, ≥, >). El valor comparativo se inserta en el campo numérico al final del bloque. Este bloque se puede utilizar como condición. En el ejemplo, el motor se detiene cuando la temperatura es superior a 10.

Bild10.PNG

Sensor de humedad del aire
Acceso

Con el bloque obtención de la humedad del aire con el sensor medioambiental se puede medir la humedad del aire.

Consulta

Para consultar si se está midiendo una humedad del aire determinada se utiliza el bloque es la humedad del aire del sensor medioambiental [] ... El menú desplegable (triángulo pequeño) se puede utilizar para determinar cómo se debe comparar la humedad del aire con un valor introducido (<, ≤, =, ≠, ≥, >). El valor comparativo se inserta en el campo numérico al final del bloque. Este bloque se puede utilizar como condición. En el ejemplo, el motor se detiene cuando la humedad del aire es superior a 10.

Bild11.PNG

Sensores

USB

La cámara con micrófono integrado se puede conectar a través del puerto USB. La cámara y el micrófono se ven aquí por separado. Para utilizar las funciones de la cámara, primero ha de configurarlas en el configurador de la cámara. Aquí se explica cómo acceder al configurador de la cámara. 

Cámara

La cámara se puede utilizar en concreto como detector de movimiento, detector de color, detector de bolas y detector de líneas.

Detector de movimiento

Para usar la cámara como detector de movimiento, ha de arrastrar el símbolo masculino al configurador de la cámara hasta la zona de la cuadrícula. Posteriormente, se abrirá una ventana a la derecha en la que podrá determinar en Inspector

.

Programa del detector de movimiento

El programa del detector de movimiento se ejecuta cuando se detecta movimiento. Se escribe de manera independiente al programa principal. Las variables funcionan a nivel global en ambos programas. El programa de entrada se ejecuta en el bloque cuando detecta movimiento

Detector de color

Para usar la cámara como detector de color, ha de arrastrar el símbolo de pipetas al configurador de la cámara hasta la zona de la cuadrícula. Posteriormente, se abrirá una ventana a la derecha en la que podrá determinar en Inspector

.

Acceso

Con obtención del color como [] se muestra el color detectado en formato hexadecimal o RGB. El formato se puede configurar utilizando el menú desplegable (triángulo pequeño).

Consulta

Para consultar si el detector ha percibido un color, se utiliza el bloque se ha detectado el color. Este bloque se puede utilizar como condición.

Para consultar si el detector percibe un color determinado se utiliza este bloque 

Bild1.PNG

El bloque se puede utilizar para comparar el color registrado con uno introducido. El menú desplegable (triángulo pequeño) se puede utilizar para determinar si el color establecido debe ser el mismo o no que el color filmado. Este bloque se puede utilizar como condición. En el ejemplo, el motor se detiene cuando el color registrado es rojo.

Bild2.PNG

Programa del detector de color

El programa del detector de color se ejecuta cuando se detecta un color. Se escribe de manera independiente al programa principal. Las variables funcionan a nivel global en ambos programas. El programa de entrada se ejecuta en el bloque cuando detecta un color

Detector de bolas 

Para usar la cámara como detector de bolas, ha de arrastrar el símbolo de bolas al configurador de la cámara hasta la zona de la cuadrícula. Posteriormente, se abrirá una ventana a la derecha en la que podrá determinar en Inspector

.

Acceso

En obtención de información sobre la [] bola se muestra la posición x, la posición y, el radio o el diámetro de la bola.

Consulta

Para consultar si el detector ha detectado una bola, se utiliza el bloque se ha detectado una bola. Este bloque se puede utilizar como condición.                                                                  

Para consultar si el detector ha localizado una bola con posición x, posición y, radio o diámetro determinados se utiliza este bloque 

Bild3.PNG

El bloque se puede utilizar para comparar las especificaciones de la bola recogida con un valor introducido. Los menús desplegables (triángulo pequeño) se pueden utilizar para seleccionar qué se debe comparar y con qué operador comparativo. Este bloque se puede utilizar como condición. En el ejemplo, el motor se detiene cuando el diámetro de la bola recogida es 5.

Bild4.PNG

Programa del detector de bolas

El programa del detector de bolas se ejecuta cuando se detecta un color. Se escribe de manera independiente al programa principal. Las variables funcionan a nivel global en ambos programas. El programa de entrada se ejecuta en el bloque cuando detecta una bola

Detector de líneas

Para usar la cámara como detector de líneas, ha de arrastrar el símbolo con los puntos sobre una línea al configurador de la cámara hasta la zona de la cuadrícula. Posteriormente, se abrirá una ventana a la derecha en la que podrá determinar en Inspector

.

Acceso

En obtención [] de la línea [] se muestra la posición o la anchura de una de las cinco líneas como máximo.

En obtención del color de la línea [] como [] se muestra el color de una línea en formato hexadecimal o RGB. El formato se puede configurar utilizando el menú desplegable (triángulo pequeño).

Consulta

Para consultar si el detector ha localizado una línea, se utiliza el bloque se ha detectado una línea. Este bloque se puede utilizar como condición.                                                                  

Para consultar si el detector ha localizado una línea con una posición o anchura determinados se utiliza este bloque 

Bild5.PNG

El bloque se puede utilizar para comparar las especificaciones de la(s) línea(s) con un valor introducido. Los menús desplegables (triángulo pequeño) se pueden utilizar para seleccionar qué se debe comparar y con qué operador comparativo. Este bloque se puede utilizar como condición. En el ejemplo, el motor se detiene cuando la anchura de la línea es inferior a 2.

Bild6.PNG

Para consultar si el detector ha localizado una línea con un color determinado se utiliza este bloque 

Bild7.PNG

El bloque se puede utilizar para comparar el color registrado de las líneas con uno introducido. El menú desplegable (triángulo pequeño) se puede utilizar para determinar si el color establecido debe ser el mismo o no que el color filmado. Este bloque se puede utilizar como condición.

Programa del detector de líneas

El programa del detector de líneas se ejecuta cuando se detectan una o más líneas. Se escribe de manera independiente al programa principal. Las variables funcionan a nivel global en ambos programas. El programa de entrada se ejecuta en el bloque cuando detecta líneas

Micrófono

El micrófono integrado en la cámara se puede utilizar como detector de volumen.

Arranque de cada bloque

El arranque de cada bloque ofrece la posibilidad de ejecutar un programa si se cumple una condición. Funciona de manera similar a la distinción de casos, pero no se ejecuta solo una vez, sino cada vez que se cumple la condición durante todo el transcurso del programa. Arranque de cada bloque:

Bild8.PNG

Es una abreviatura del siguiente constructo:

Bild9.PNG

Se pueden utilizar todas las condiciones de esta categoría en el Arranque de cada bloque de la categoría Micrófono.

Nota: La sección del programa dentro de Arranque de cada bloque debe ser corta y no contener llamadas de bloqueo ni bucles sin fin, de modo que esta parte del programa se pueda procesar rápidamente.

Detector de volumen

Acceso

Con el volumen del micrófono se muestra el volumen en decibelios.

Consulta

Para consultar si el detector de volumen detecta un nivel de sonido determinado se utiliza este bloque

Bild10.PNG

El bloque se puede utilizar para comparar el volumen registrado con uno introducido. Los menús desplegables (triángulo pequeño) se pueden utilizar para seleccionar con qué operador comparativo se debe contrastar. Este bloque se puede utilizar como condición.

Procesamiento

Procesamiento

Lógica

Instrucciones condicionales

Las instrucciones son fundamentales para realizar la programación. Permiten realizar distinciones entre casos para la formulación, como:

Bloques si

El bloque si incluye una condición sencilla:

Bild1_sp.PNG

Si este se implementa, el valor de la variable x se compara con 100. Cuando el valor es superior aparece «¡Qué cifra más alta!» En caso contrario, no se muestra nada.

Bloques si-en caso contrario

También es posible indicar lo que se desea que suceda, en caso de que no se cumpla la condición, como en este ejemplo:

Bild2_sp.PNG

Como en el bloque anterior, se muestra «¡Qué cifra más alta!» cuando x > 100. De lo contrario, aparecerá «La cifra no es muy alta».

Un bloque si tiene un apartado en caso contrario, pero no más de uno.

Bloques si-en caso contrario-si

También es posible comprobar más condiciones con un único bloque si, en el que se pueden añadir cláusulas en caso contrario-si:

Bild3_sp.PNG

El bloque examina primero si x > 100, y muestra «¡Qué cifra más alta!» en caso de que corresponda. Si no se da el caso, vuelve a comprobar si x = 42. Si ese es el caso, aparece «¡Ese es mi número de la suerte!» En caso contrario, no se muestra nada.

Un bloque si puede tener un número discrecional de apartados en caso contrario-si. Las condiciones se evalúan en orden descendente hasta que se cumple una de ellas o hasta que no quedan más condiciones.

Bloques si-en caso contrario-si-en caso contrario

Los bloques si pueden tener apartados en caso contrario-si y apartados en caso contrario:

Bild4_sp.PNG

El apartado en caso contrario garantiza que se lleve a cabo una acción aunque no se cumplan las condiciones anteriores.

El apartado en caso contrario puede aparecer después de un número discrecional de secciones en caso contrario-si, incluido el cero. Después se obtiene un bloque completamente normal si-en caso contrario.

Modificación de bloques

En la barra de herramientas solamente aparece el bloque sencillo si y el bloque si-en caso contrario:

image.png

Para añadir las cláusulas en caso contrario-si - y en caso contrario, haga clic en el símbolo (+). Con el símbolo (-) puede quitar las cláusulas en caso contrario-si:

Bild6_sp.PNG

Tenga en cuenta que las formas de los bloques permiten añadir cualquier número de subbloques en caso contrario-si, pero únicamente un bloque si.

Lógica booleana

La lógica booleana es un sistema matemático simple que tiene dos valores:

Los bloques lógicos en ROBO Pro Coding se utilizan generalmente para controlar condiciones y bucles.

El siguiente es un ejemplo:

Bild1_sp.PNG

Cuando el valor de la variable x es superior a 100, cuando se cumple la condición y se muestra el texto «¡Qué cifra más alta!» Si el valor de x no es superior a 100, no se cumple la condición y se muestra «La cifra no es muy alta». Los valores booleanos también se pueden almacenar en variables y pasar a funciones, al igual que los números, el texto y los valores de lista.

Si en un bloque se ha de introducir un valor booleano, cuando falta la entrada, esta se interpreta como falsa. Los valores no booleanos no se pueden insertar directamente en el lugar de los valores booleanos, aunque es posible (pero no recomendable) almacenar un valor no booleano en una variable y después insertarlo en la entrada que hace referencia a una condición concreta. Este método no se recomienda y su comportamiento puede cambiar en futuras versiones de ROBO Pro Coding.

Valores

Se puede utilizar un único bloque con una lista desplegable que muestre verdadero o falso para acceder a un valor booleano:

Operadores comparativos

Hay seis operadores comparativos. A cada uno se le otorgan dos entradas (normalmente dos cifras) y el operador comparativo muestra verdadero o falso, dependiendo de cómo se comparen las entradas.

image-1623518116706.pngimage-1623518117182.png

image-1623518116894.pngimage-1623518116802.png

image-1623518116985.pngimage-1623518166030.png

Los seis operadores son: igual, diferente, inferior a, superior a, inferior a o igual y superior a o igual.

Operadores lógicos

El bloque y muestra verdadero únicamente cuando se cumplen ambos valores de entrada.

Bild8.PNG

El bloque o muestra verdadero cuando se cumple, como mínimo, uno de sus dos valores de entrada.

Bild9.PNG

no

El bloque no convierte una entrada booleana en su opuesto. Por ejemplo, esto es resultado de:

Bild10_sp.PNG

falso

Si no hay ninguna entrada, se asume que el valor es verdadero por lo que el siguiente bloque genera el valor falso:

Bild11_f.PNG

Sin embargo, no se recomienda dejar una entrada vacía.

Operador tres

El operador tres se comporta como un bloque en miniaturasi-en caso contrario. Se necesitan tres valores de entrada: el primer valor de entrada es la condición booleana que se va a probar, el segundo valor de entrada es el valor que debe mostrarse si la prueba da como resultado verdadero, y el tercer valor de entrada es el valor que debe aparecer si la prueba muestra falso. En el siguiente ejemplo, la variable color se configura en rojo, si la variable x es inferior a 10. En caso contrario, la variable color se configura en verde.

Bild12_sp.PNG

Un bloque tres siempre se puede reemplazar por un bloque si-en caso contrario. Los dos ejemplos siguientes son exactamente iguales.   

Bild13_sp.PNG

Bild14_sp.PNG

Procesamiento

Amolar

El área «Control» contiene bloques que controlan si se están implementando otros bloques ubicados dentro de ellos. Existen dos tipos de bloques de control: los bloques si-en caso contrario (que se describen en una página independiente) y los bloques que controlan la frecuencia con la que se ejecutan sus elementos internos. Estos últimos se denominan bucles porque su interior, también conocido como cuerpo o cuerpo del bucle, se repite (probablemente) varias veces. Cada recorrido de un bucle se denomina iteración.

Bloques para la creación de bucles

repetir constantemente

El bloque repetir constantemente ejecuta el código en su cuerpo hasta que finaliza el programa.

repetición

El bloque repetición ejecuta el código en su cuerpo según la frecuencia especificada. Por ejemplo, el siguiente bloque muestra «¡Hola!» diez veces:

Bild1_sp.PNG

repetición-mientras que

Imagine un juego en el que un jugador lanza un dado y suma todos los valores obtenidos, siempre que el total sea inferior a 30. Los siguientes bloques implementan este juego:

  1. Una variable denominada en total contiene un valor inicial de 0.
  2. El bucle comprueba en primer lugar si en total es inferior a 30. Si es inferior, los bloques se implementan en el cuerpo.
  3. Se genera un número aleatorio en el intervalo de 1 a 6 (para simular una tirada de dados) y se almacena en una variable denominada tirada de dados.
  4. Se muestra el número obtenido.
  5. La variable en total aumenta con el número de tiradas.
  6. Cuando se llega al final del bucle, el control vuelve al paso 

Bild2_sp.PNG

Una vez finalizado el bucle, se recorren todos los bloques posteriores (no mostrados). En el ejemplo, el recorrido de los bucles finaliza después de haberse mostrado un número determinado de cifras aleatorias en el intervalo de 1 a 6, y el valor de la variable en total tiene la suma de estos números que es, como mínimo, de 30.

repetición-hasta

Los bucles repetición-si repiten su cuerpo si se cumple una condición. Los bucles repetición hasta son parecidos, con la diferencia de que repiten su cuerpo hasta que se cumple una condición determinada. Los bloques siguientes son equivalentes al ejemplo anterior, ya que el bucle se ejecuta hasta que en total es superior o igual a 30.

Bild3_sp.PNG

contar-desde-hasta

El bucle contar-desde-hasta incrementa el valor de una variable, comenzando con un primer valor, terminando con un segundo valor y en incrementos de un tercer valor, ejecutando una vez el cuerpo por cada valor de la variable. Por ejemplo, el siguiente programa genera los números 1, 3 y 5.

Bild4_sp.PNG

Como muestran los dos bucles siguientes, que generan los números 5, 3 y 1, este primer valor puede ser superior al segundo. El comportamiento es el mismo, independientemente de que el valor incremental (tercer valor) sea positivo o negativo.

Bild5_sp.PNG

Bild6_sp.PNG

para cada

El bloque para cada es similar al bucle contar-desde-hasta, solo que en lugar de usar la variable del bucle en orden numérico, utiliza los valores de una lista en orden. El siguiente programa genera cada elemento de la lista «alfa», «beta» y «gamma»:

Bild7_sp.PNG

Bloques de interrupción de bucles

La mayoría de los bucles se ejecutan hasta que se cumple la condición de interrupción (para los bloques de repetición) o hasta que se aceptan todos los valores de la variable del bucle (en el caso de los bloques contar con y para cada). Dos bloques de uso poco frecuente, pero ocasionalmente útiles, ofrecen opciones adicionales para controlar el comportamiento del bucle. Se pueden utilizar con cualquier tipo de bucle, aunque los siguientes ejemplos muestran su uso con el bucle para cada.

continuar-con-la-siguiente-iteración

continuar-con-la-siguiente-iteración hace que se omitan los bloques restantes en el cuerpo del bucle y que comience la siguiente iteración del bucle.

El siguiente programa genera «alfa» en la primera iteración del bucle. En la segunda iteración se ejecuta el bloque continuar con la siguiente iteración, por lo que se omite la salida de «beta». En la última iteración se pulsa «gamma».

Bild8_sp.PNG

Interrupción del bucle

El bloque interrupción del bucle permite salir de manera anticipada del bucle. El siguiente programa genera «alfa» en la primera iteración e interrumpe el bucle en la segunda iteración si la variable del bucle es igual a «beta». El tercer punto de la lista nunca se alcanza.

Bild9_sp.PNG

Procesamiento

Matemáticas

Los bloques de la categoría Matemáticas se utilizan para realizar cálculos. Por ejemplo, los resultados de los cálculos se pueden utilizar como valores para variables. La mayoría de los bloques matemáticos se relacionan con cálculos matemáticos generales y deben ser autoexplicativos.

Bloques

Cifras

Utilice el bloque numérico para añadir cualquier número a su programa o para asignar este número como valor a una variable. Este programa asigna el número 12 a la variable edad:

Bild1_sp.PNG

Cálculos sencillos

Este bloque tiene la estructura valor-operador-valor. Los operadores aritméticos existentes son: +-÷× ^. El operador se puede seleccionar en el menú desplegable. Se puede aplicar directamente a números o valores de variables. Ejemplo:

Bild2.PNG

 

Este bloque genera el resultado 144 (12^2).

Cálculos especiales

Este bloque aplica el tipo de cálculo seleccionado a través del menú desplegable al número anterior o al valor de la variable previo. Las operaciones aritméticas disponibles son:

Aquí e es el número de Euler. Este bloque extrae la raíz cuadrada de 16 y añade la variable al resultado.

Bild3_sp.PNG

 

Funciones trigonométricas

Este bloque funciona de manera similar al bloque descrito anteriormente, con la diferencia de que las funciones trigonométricas seno, coseno, tangente y sus funciones inversas se utilizan como operaciones aritméticas. El número o el valor de la variable especificados se utilizan en la función seleccionada en el menú desplegable y el resultado se puede procesar posteriormente en el programa. Además, también existe el bloque arctan2 of X: ... Y: ..., que permite generar un valor de función del arctan2 en el rango de 360° con la ayuda de dos números reales (que se insertan como X e Y).

Constantes de uso frecuente

Este bloque funciona de la misma manera que el bloque numérico, pero usted mismo no puede introducir aquí el valor numérico. En cambio, las constantes de uso frecuente (p. ej., π) se guardan previamente. La constante se puede seleccionar en el menú desplegable.

Resto de una división

El bloque resto de ... se utiliza para generar el resto de una división. Este programa asigna el resto de la división de 3:2, es decir, 1 a la variable resto:

Bild4_sp.PNG

Redondeos

El bloque redondeo ... se puede utilizar para redondear a un número entero un número decimal específico o el valor de una variable concreta. Hay tres opciones para elegir en el menú desplegable:

Evaluación de listas

Con el bloque ... de la lista se puede generar 

. Todas estas opciones se pueden seleccionar a través del menú desplegable del bloque:

Bild5_sp.PNG

Limitar los valores de entrada

El bloque limitación ... desde ... hasta ... permite limitar un valor de entrada en un intervalo determinado. Antes de que se siga procesando un valor de entrada, se comprueba si se encuentra dentro del intervalo especificado. Hay tres opciones para proceder con un valor introducido:

En este ejemplo, el bloque se utiliza para limitar el valor de la variable velocidad al número de revoluciones admitido por el motor:

Bild6_sp.PNG

Generar valores aleatorios

Los dos bloques número aleatorio desde ... hasta... fracción aleatoria generan un valor aleatorio. Para ello, el bloque número aleatorio desde ... hasta... genera un número en el intervalo especificado. Por el contrario, el bloque fracción aleatoria genera un valor entre 0,0 (conectado) y 1,0 (desconectado).

Procesamiento

Textos

Estos son algunos ejemplos de textos:

«Elemento 1»
«12 de marzo de 2010»
«» (texto vacío)
El texto puede contener letras (mayúsculas o minúsculas), cifras, signos de puntuación, otros símbolos y espacios en blanco.

Bloques

Creación de texto

El siguiente bloque genera el texto «Hola» y lo guarda en la variable denominada saludo:

Bild1_sp.PNG

El bloque crear texto con combina el valor de la variable saludo y el texto nuevo «mundo» con el texto «HolaMundo». Tenga en cuenta que no hay espacios en blanco entre los dos textos, ya que no existían en los textos originales.

Bild2_sp.PNG

Para aumentar el número de entradas de texto, haga clic en el símbolo (+). Para eliminar las últimas ediciones, haga clic en el símbolo (-).

Modificación del texto

El bloque añadir ... a agrega el texto especificado a una variable concreta. En este ejemplo cambia el valor de la variable saludo de «Hola» a «¡Hey, hola!»:

Bild4_sp.PNG

Longitud del texto

El bloque longitud de cuenta el número de signos (letras, cifras, etc.) que contiene un texto. La longitud de ¡Nosotros somos #1! es 19, y la longitud del texto vacío es 0.

Bild5_sp.PNG

Bild6_sp.PNG

Comprobar si hay texto vacío

El bloque está vacío comprueba si el texto especificado está vacío (la longitud es de 0). En el primer ejemplo el resultado es verdadero y en el segundo ejemplo es falso.

Bild7_sp.PNG

Bild8_sp.PNG

Búsqueda de texto

Estos bloques se pueden utilizar para comprobar si un texto aparece en otro texto y, en caso de ser así, para saber en qué lugar aparece. Por ejemplo, aquí se pregunta acerca del primer lugar donde aparece la «a» en la palabra «Hola», y el resultado es 4:

Bild9_sp.PNG

En este caso se pregunta acerca del último lugar donde aparece la «a» en la palabra «Hola», y el resultado también es 4:

Bild10_sp.PNG

Independientemente de si se selecciona el primer o el último lugar, este bloque muestra el resultado 0, ya que «Hola» no contiene ninguna «z».

Bild11_sp.PNG

Extracción de texto

Extracción de un solo carácter

Esto da como resultado «b», la segunda letra en «abcde»:

Bild12_sp.PNG

Esto da como resultado «d», la penúltima letra en «abcde»:

Bild13_sp.PNG

Esto da como resultado «a», la primera letra en «abcde»:

Bild14_sp.PNG

Esto da como resultado «e», la última letra en «abcde»:

Bild15_sp.PNG

Esto da lugar a cada una de las 5 letras de «abcde» con la misma probabilidad:

Bild16_sp.PNG

Ninguno de los dos cambia el texto del que se extrae.

Extraer un área de texto

Con el bloque introducir secuencia de caracteres en el texto... se puede extraer un área de texto que comience con:

y finalice con:

En el siguiente ejemplo se extrae «abc»:

Bild17_sp.PNG

Ajuste de la letra mayúscula/minúscula del texto

Este bloque crea una versión del texto de entrada que puede corresponderse con uno de los siguientes casos

El resultado del bloque siguiente es «HOLA»:

Bild18_sp.PNG

Los caracteres no alfabéticos no se ven afectados. Tenga en cuenta que este bloque no funciona con texto en idiomas que no distinguen entre mayúsculas y minúsculas, como el chino.

Quitar (eliminar) espacios en blanco

El siguiente bloque elimina espacios en blanco, dependiendo de lo que se configure en el menú desplegable (triángulo pequeño):

El resultado del bloque siguiente es «Hey, tú»:

Bild19_sp.PNG

No se encuentran espacios en blanco en la parte central del texto.

Generar texto

El bloque generar hace que el valor de entrada se muestre en la ventana de la consola:

Bild20_sp.PNG

En ningún caso se enviará a la impresora, como sugiere el nombre.

Editar texto con formato

Con el bloque formatear texto se puede editar texto con diferente contenido. Todos los marcadores de posición {} del texto se reemplazan por el contenido de las variables adjuntas después del texto. El formato se puede especificar entre corchetes. Por ejemplo, el formato {:.1f} solo genera la primera cifra decimal en la variable t.

image-1638881895605.png

Procesamiento

Listas

Como en el lenguaje cotidiano, una lista en ROBO Pro Coding también es un conjunto ordenado de elementos como, por ejemplo, una lista «To-Do» (de cosas por hacer) o una lista de la compra. Los elementos de una lista pueden ser de cualquier tipo y el mismo valor puede aparecer más de una vez en una lista.

Crear una lista

crear lista con

Con el bloque crear lista con se pueden insertar los valores iniciales en una nueva lista. En este ejemplo se crea una lista de palabras y se coloca en una variable denominada letras:

Bild1_sp.PNG

A esta lista la denominamos [«alpha», «beta», «gamma»].

Aquí se muestra la creación de una lista de números:

Bild2_sp.PNG

Así se crea una lista de colores:

Bild3_sp.PNG

Es menos común, aunque posible, crear una lista a partir de valores de diferentes tipos:

Bild4_sp.PNG

Cambiar el número de entradas

Para modificar el número de entradas, haga clic o toque el símbolo del engranaje. Con esta acción se abrirá una nueva ventana. Puede arrastrar subbloques de elementos desde la parte izquierda de la ventana hasta el bloque de lista en la parte derecha para añadir una nueva entrada:

Aunque el nuevo elemento se ha añadido abajo en este ejemplo, se puede agregar en cualquier lugar. Del mismo modo, los subbloques de elementos no deseados se pueden arrastrar hacia la izquierda desde el bloque de lista.

Crear lista con el elemento

Con el bloque crear lista con el elemento puede generar una lista que contenga el número especificado de copias de un elemento. Por ejemplo, los siguientes bloques colocan la variable palabras en la lista [«muy», «muy», «muy»].

Bild5_sp.PNG

Comprobación de la extensión de una lista

está vacía

El valor del bloque está vacía es verdadero cuando la entrada se corresponde con una lista vacía, y falso cuando se da un caso distinto. ¿Es verdadera esta entrada? El valor del bloque siguiente sería falso, porque la variable Colores no está vacía: contiene tres elementos.

Bild6_sp.PNG

Tenga en cuenta la similitud del texto con el bloque está vacía.

Longitud de

El valor del bloque longitud de se corresponde con el número de elementos de la lista que se utilizan como entrada. Por ejemplo, el valor del siguiente bloque sería 3, ya que el Color contiene tres elementos:

Bild7_sp.PNG

Tenga en cuenta que el bloque longitud de indica cuántos elementos contiene la lista y no cuántos elementos diferentes hay en ella. Por ejemplo, a continuación se muestra 3 aunque laspalabras se componen de tres copias del mismo texto:

Bild8_sp.PNG

Tenga en cuenta la similitud del texto con el bloque longitud de.

Buscar elementos en una lista

Estos bloques encuentran la posición de un elemento en una lista. El siguiente ejemplo tiene el valor 1 porque «muy» aparece por primera vez al principio de la lista de palabras ([«muy», «muy», «muy»]).

Bild9_sp.PNG

El resultado siguiente es 3, ya que «muy» aparece por última vez en palabras en la posición 3.

Bild10_sp.PNG

Si el elemento no aparece en ninguna parte de la lista, el resultado es el valor 0, como se muestra en este ejemplo:

Bild11_sp.PNG

Estos bloques se comportan de la misma manera que los bloques para buscar letras en un texto.

Acceder a elementos de una lista

Acceder a un único elemento

Recuerde la definición de la lista Colores:

image-1623519862088.png

El siguiente bloque se pone de color azul, ya que es el segundo elemento de la lista (comenzando a contar por la izquierda):

Bild13_sp.PNG

Este se pone verde, ya que es el segundo elemento (contando desde el extremo derecho):

Bild14_sp.PNG

Este obtiene el primer elemento, rojo

Bild15_sp.PNG

Este obtiene el último elemento, amarillo:

Bild16_sp.PNG

Esto selecciona aleatoriamente un elemento de la lista, con la misma probabilidad de mostrar uno de los elementos rojo, azul, verde o amarillo.

Bild17_sp.PNG

Acceder a un elemento y eliminarlo

En el menú desplegable se cambia el bloque acceder a... de la lista por el bloque acceder a ... de la lista y eliminar , que da el mismo resultado, pero también cambia la lista:

Bild18_sp.PNG

Este ejemplo establece la variable primera letra en «alpha» y deja las letras restantes ([«beta», «gamma»]) en la lista.

Bild19_sp.PNG

Eliminar una entrada

Si selecciona eliminar en el menú desplegable, desaparece el surco a la izquierda del bloque:

Bild20_sp.PNG

Así, se elimina el primer elemento de letras.

Obtener una sublista

El bloque en la lista ... Obtener sublista se asemeja al bloque acceder a... de la lista con la diferencia de que extrae una sublista en lugar de un solo elemento. Existen varias opciones para especificar el principio y el final de la sublista:

Bild21_sp.PNG

Bild22_sp.PNG

En este ejemplo se crea una nueva lista de primera letra. Esta nueva lista contiene dos elementos: [«alpha», «beta»].

Bild23_sp.PNG

Tenga en cuenta que este bloque no modifica la lista original.

Añadir elementos a una lista

Crear elementos en una lista

El bloque reemplazar en la lista... sustituye el elemento que se encuentra en una determinada posición de una lista por otro elemento.

Bild24_sp.PNG

Puede consultar el significado de las opciones desplegables individuales en la sección anterior.

El siguiente ejemplo destaca dos cosas:

  1. La lista palabras se crea con 3 elementos: [«muy», «muy», «muy»].
  2. El tercer elemento de la lista se reemplaza por «bueno». El nuevo valor de palabras es [«muy», «muy», «bueno»]

Bild25_sp.PNG

Añadir elementos en una posición determinada de la lista

Se accede al bloque insertar en la lista ... a través del menú desplegable del bloque reemplazar en la lista...:

Bild26_sp.PNG

Inserta un nuevo elemento en la posición especificada de la lista, antes del elemento que estaba previamente en esa posición. El siguiente ejemplo (basado en un ejemplo anterior) hace referencia a tres cosas:

  1. La lista palabras se crea con 3 elementos: [«muy», «muy», «muy»].
  2. El tercer elemento de la lista se reemplaza por «bueno». Por tanto, el nuevo valor de palabras es [«muy», «muy», «bueno»].
  3. La palabra «Ser» se inserta al principio de la lista. Por tanto, el valor definitivo de palabras es [«ser», «muy», «muy», «bueno»].

Bild27_sp.PNG

Dividir secuencias de caracteres y unir listas

Hacer lista a partir de texto

El bloque hacer lista a partir de texto divide el texto especificado en partes con ayuda de un delimitador:

Bild28_sp.PNG

En el ejemplo anterior se muestra una nueva lista que contiene tres fragmentos de texto: «311», «555» y «2368».

Hacer texto a partir de lista

El bloque hacer texto a partir de lista fusiona una lista en un solo texto con la ayuda de un delimitador:

Bild29_sp.PNG

En el ejemplo anterior se muestra un nuevo texto con el valor: «311-555-2368».

Bloques relacionados

Imprimir una lista

El bloque imprimir de la categoría Texto puede generar listas. El resultado del siguiente programa es la salida de la consola mostrada:

Bild30_sp.PNG

Konsole_sp.PNG

Implementar algo en cada elemento de una lista

El bloque para cada de la categoría Control realiza una operación en cada elemento de una lista. Por ejemplo, este bloque imprime cada elemento de la lista individualmente:

Bild31_sp.PNG

Esto no elimina los elementos de la lista original.

Consulte también los ejemplos referentes a Bloques de interrupción de bucles.

Procesamiento

Uso

Con ROBO Pro Coding, la categoría de uso incluye bloques de los siguientes tipos:

Selección de color

Este bloque se utiliza como valor de entrada cuando se hace una pregunta sobre un color (por ejemplo, cuando la cámara hace coincidir el color). Al hacer clic o tocar el color, se puede seleccionar uno de los 70 colores de la paleta de colores.

Esperar

Esperar hasta que se acabe el tiempo

El bloque espere [] ... evita que el programa continúe durante el tiempo de espera especificado. La unidad de tiempo se puede seleccionar en el menú desplegable (triángulo pequeño) y la extensión deseada de la pausa en el campo de entrada detrás de ella.

Esperar con condición

Con el bloque esperar hasta, la pausa no está vinculada al tiempo sino al cumplimiento de una condición (por ejemplo, si se pulsa un botón). La condición se añade al bloque esperar hasta.

Código Python

Si desea integrar el código Python existente en ROBO Pro Coding, puede insertarlo en el bloque código Python. Posteriormente, el programa ejecuta todo lo que se especificó en el bloque de Python. 

Comenzar

El bloque comenzar si también está vinculado a una condición. Solo cuando se cumple esta condición, se inicia el programa en el cuerpo del bloque.

Ejecución de funciones

Con ejecutar función ... en un hilo , la función seleccionada se puede ejecutar en un hilo independiente. En algunos casos, esta medida puede permitir que un programa continúe respondiendo a las entradas y se ejecute de manera más rápida.

Procesamiento

Variables

Utilizamos el término variable tal como se usa en matemáticas y en otros lenguajes de programación: un valor con nombre que se puede cambiar (variar). Las variables se pueden crear de diferentes formas.

Menú desplegable

Si hace clic en el símbolo desplegable (triángulo pequeño) de una variable, aparecerá el siguiente menú:

Bild1_sp.PNG

El menú ofrece las siguientes opciones.

Bloques

Determinar

El bloque configurar asigna un valor a una variable y crea la variable si no existe aún. Por ejemplo, el valor de la variable edad se establece en 12:

Bild2_sp.PNG

Acceso

El bloque accederproporciona el valor almacenado en una variable sin cambiarlo:

Bild3.PNG

Es posible, pero no una buena idea, escribir un programa en el que aparezca un bloque acceder sin que exista el correspondiente bloque de configuración previa.

Modificar

El bloque modificar añade una cifra a una variable.

Bild4_sp.PNG

El bloque modificar es una abreviatura del siguiente constructo:

Bild5_sp.PNG

Ejemplo

Tenga en cuenta el siguiente código de muestra:

Bild6_sp.PNG

El primer conjunto de bloques crea una variable llamada edad y establece su valor inicial en el número 12. El segundo conjunto de bloques obtiene el valor 12, le suma 1 y almacena la suma (13) en la variable. El mensaje se emite en la última línea: «¡Enhorabuena! Ahora tiene 13».

Procesamiento

Funciones

Las funciones se utilizan para saber qué partes del código son reutilizables y, por tanto, para estructurar el código a nivel global. Si llena un bloque de funciones, aparece un nuevo bloque en el menú de funciones con el mismo nombre que este bloque de funciones. Ahora es posible insertar solo el bloque con el nombre de la función en el programa principal. Cuando se ejecuta el programa, este bloque reenvía el código a la función del mismo nombre y lo procesa.

Función simple

El bloque de función simple se puede utilizar para crear una función que tenga el nombre especificado en el campo de texto. La función puede contener cualquier número de variables que se pueden añadir usando el símbolo de engranaje. Esta función edad añade 1 a la variable edad:

Bild1_sp.PNG

Posteriormente, la función se puede utilizar en el programa principal:

Bild2_sp.PNG

Función con valor de retorno

Este bloque le permite crear una función con un valor de retorno. Posteriormente, este valor de retorno se puede volver a utilizar en el programa principal. El siguiente es un ejemplo:

Bild3_sp.PNG