Destacados-variables

¿Qué es una variable?

Una variable es un valor que guardamos y que podremos recuperar cuando lo necesitemos. Digamos que es como una caja donde guardamos un dato, como por ejemplo… un espárrago.

Este valor que guardamos en nuestra caja, lo podremos ver y reutilizar más adelante. Si no guardamos ese dato en una variable no podremos reutilizarlo, ya que el programa no lo recordará. Además, como veremos más adelante, en cualquier momento podremos cambiar el valor guardado en la variable.

variable
varias-variables

Declarar una variable

Al declarar una variable en nuestro programa lo que hacemos es crear esa caja y guardar por primera vez un dato en ella. Para identificar en todo momento nuestra variable (o nuestra caja) debemos ponerle un nombre.

En el momento en que declaras una variable defines de qué tipo es. Por ejemplo: si lo primero que guardaste es un número, esa variable siempre va a guardar números, pero si lo primero que guardaste es una palabra o texto, solo podrá guardar texto.



Otro dato interesante a tener en cuenta, es que también podemos guardar como variable el valor que nos devuelve un sensor.

Diferencia entre variable global y variable local

En bitbloq 2 se pueden programar variables locales y globales, pero de forma diferente a como se hace en bitbloq 1.

matrscas

Variables globales: se crean al inicio del programa y son universales. Lo que significa que pueden utilizarse en cualquier momento que se requiera en nuestra programación.

Variables locales: se pueden crear en las Instrucciones iniciales (Setup) o bien en el Bucle principal (Loop), dependiendo de si queremos que se ejecute una sola vez al inicio del programa (Setup) o si por el contrario, queremos que se ejecute continuamente (Loop). A diferencia de las variables globales, solo se pueden utilizar dentro de la función donde han sido declaradas (Loop o Setup). Esto es una ventaja, puesto que así, cuando dejan de hacer falta, son borradas dejando espacio en la memoria del robot.

Programando un contador

Si quisiéramos programar un contador para, por ejemplo, controlar el aforo de un estadio de fútbol:

  • Declaramos la variable global numero igual a 0. De esta forma, cada vez que iniciemos el programa, comenzaremos a contar desde 0.
  • Por otro lado, declaramos la variable local boton igual a 1 o pulsado, y utilizando un condicional, programamos que cada pulsación sume una persona más. Como queremos que se ejecute continuamente, esta variable es local y se ubica en el Bucle principal.

Para visualizar nuestro contador podemos incluir el bloque de Comunicación del puerto serie.


RECUERDA: Existen dos tipos de pulsadores en el mercado, los normalmente abiertos (Pulsado->1, No pulsado->0) y los normalmente cerrados (Pulsado->0, No pulsado->1). Si tienes un pulsador de Mi primer kit de Robótica o cualquier otro del mercado probablemente sea normalmente cerrado y los programas aquí descritos funcionen justo a la inversa, cambia el 1 por el 0 y viceversa a la hora de realizar tus programas.

Aún hay más

    A continuación te proponemos un par de ideas para seguir practicando:

  • Crea una variable que permita visualizar en el puerto serie si el botón está o no pulsado.
  • Crea un programa similar al anterior, pero añadiendo que se encienda un LED si el botón está pulsado.
  • Crea un cronómetro que inicie la cuenta atrás desde 10, de manera que transcurridos 10 segundos se encienda el LED.

Ahora que sabes cómo crear una variable y para qué sirven, te habrás dado cuenta de lo enormemente útiles que son. No dudes en seguir practicando. Poco a poco irás aprendiendo otras formas de utilizar las variables y descubriendo todas las posibilidades que te ofrecen. ¡Vamos allá!

9 comentarios

  1. Pingback: ¡Aprende a pensar como un robot! Los algoritmos - Impresoras 3D, kits de robotica y accesorios

  2. Hola Beatriz, muchas gracias por tu ayuda, es muy útil, quería preguntarte una cosa, cuan do trato de hacer este programa todo me sale bien, pero cuando quiero añadir la línea de enviar el valor de la variable número por el puerto serie, no hay instrucción está vacío, por tanto no puedo seguir, esto porque es? me dice que no hay componentes conectados, pero tengo la placa bit ZUM puesta, a qué componente se refiere, espero tu respuesta, un saludo Rosa

    1. SGracia

      Hola Rosa,

      ¿Has conectado el bloque del puerto serie a la placa ZUM en Bitbloq?

  3. Hola, no sé que es el bloque del puerto serie, no lo tengo conectado, me documentaré un poco mas, gracias, un saludo Rosa

    1. SGracia

      No te preocupes, Rosa. El bloque que te digo lo tienes en el apartado de “Componentes”.

      Una vez hayas puesto la placa en la “mesa de trabajo” de Bitbloq, sólo tienes que ir al apartado de “Componentes” y buscar el que se llama “Puerto serie”. Verás que, al arrastrarlo junto a la placa, éste se conecta automáticamente al puerto USB, por lo que ya estaría listo para trabajar con el.

  4. Hola, quiero definir el tiempo del bloque Esperar como aleatorio (por ejemplo, para encender un LED durante un tiempo).

    Se me ha ocurrido crear una variable con valor aleatorio, pero el bloque Esperar no admite nada más que números entrados desde el teclado.

    Qué puedo hacer?

    1. SGracia

      Buenos días, Carolina:

      Te comento, el bloque que necesitas sí está disponible en el apartado de “Control” de los bloques de Bitbloq, únicamente tienes que acceder al apartado de “Avanzados”, cuyo botón puedes encontrar (al abrir los bloques de “Control”) en la parte inferior. Es posible que te haya podido pasar desapercibida pro estar cubierto bajo la barrita verde del mensaje de las cookies :)

  5. En el ejercicio programando un contador, como puedo ver, que el contador se incrementa, activo el pulsador conectado en el pin 7 y no veo como se incrementa el contador, que me falta? muchas gracias, un saludo

    1. SGracia

      Hola Rosa,

      ¿Has colocado en Bitbloq el puerto serie y has abierto el Monitor serial para ver qué devuelve a la hora de pulsar el botón? ¿Te devuelve algún tipo de mensaje al pulsar el botón?

Los comentarios están cerrados.