Matriz LED
RGB-LED
Altavoz
Botón A
Botón B
Pin -
Pin +
Pin P0
Pin P1
Pin P2
Pin P3
Sensor de Movimiento
Sensor de Luz
Procesador
Micrófono
Radio
La matriz LED del Calliope mini tiene 5 x 5 = 25 LEDs rojos, con los cuales no solo se pueden mostrar números y textos, sino también imágenes y animaciones. Los monitores más grandes funcionan de manera similar, pero los puntos de luz, también llamados píxeles, están mucho más densamente empaquetados.
Mostrar texto
Se pueden mostrar letras individuales o palabras y frases completas. En Open Roberta se puede configurar si el texto se muestra como caracteres individuales o se desplaza a través de la pantalla como una animación. En MakeCode, el texto se desplaza automáticamente por la pantalla LED si es más largo que una letra.
MakeCode Python Scratch vertical_align_bottom
Mostrar números
Se pueden mostrar dígitos individuales o números más grandes con decimales. En Open Roberta se puede configurar si los números más grandes se muestran como dígitos individuales o se desplazan por la pantalla como una animación. En MakeCode, los números que tienen más de un dígito se desplazan automáticamente como una animación.
MakeCode Python Scratch vertical_align_bottomMostrar símbolos
Se pueden seleccionar y mostrar símbolos e imágenes predefinidos en la matriz LED.
MakeCode PythonMostrar imágenes propias
Para los símbolos propios, los puntos de luz individuales se pueden encender o apagar individualmente.
MakeCode Python Scratch vertical_align_bottomEl RGB-LED puede iluminarse en
diferentes colores. Más exactamente en 256^3 = 16,7 millones de colores, ya que los diferentes colores se mezclan aditivamente a partir de tres colores primarios, que en programación tienen un rango de valores de 0-255. La mezcla de colores aditiva se basa en el concepto de que casi cualquier color se puede componer de los tres colores rojo, verde y azul. El negro se muestra cuando la suma es 0, es decir, todos los LEDs están apagados, y el blanco cuando todos los LEDs están al máximo. Los colores secundarios amarillo, cian y magenta se mezclan respectivamente a partir de solo dos colores. Por ejemplo, el amarillo se compone solo de verde y rojo y tiene el valor RGB (255, 255, 0). El Calliope mini V3 tiene tres RGB-LEDs incorporados. Todos pueden iluminarse en un solo color o en diferentes colores.
MakeCode Python Scratch vertical_align_bottomEl Calliope mini puede reproducir música y sonidos con su altavoz piezoeléctrico incorporado. Un altavoz piezoeléctrico se basa en el efecto piezoeléctrico, derivado del griego antiguo piezein, que significa presionar o empujar. Cuando se aplica un voltaje eléctrico al material, este se deforma al ritmo de la frecuencia. Así, una señal de audio compuesta por diferentes frecuencias se puede convertir en ondas sonoras. El mismo principio funciona a la inversa como un micrófono.
MakeCode Python Scratch vertical_align_bottomEn todos lados de nuestra vida encontramos botones que debemos presionar para activar acciones y funciones, por ejemplo, un teclado de PC, un controlador de juego o los botones de una máquina expendedora. Un botón funciona de manera similar a un interruptor, solo que este cierra el circuito mientras el botón está presionado. El Calliope mini tiene dos botones: A y B. Presionados simultáneamente, también pueden proporcionar una tercera opción de entrada: A + B.
MakeCode Python Scratch vertical_align_bottom
Los touchpins son pines de entrada/salida (I/O) que son ideales para cerrar un circuito con los dedos o conectar pinzas de cocodrilo. En el hexágono del Calliope mini hay un total de cuatro touchpins, numerados del P0 al P3, así como un pin de más y un pin de menos. Tanto los pines como el pin de más proporcionan una tensión de 3,3 voltios. Es importante tocar el pin de menos para activar los pines (o puedes cambiar la propiedad programáticamente, entonces también funciona sin el pin de menos). Todos los pines son digitales. Los pines P1 y P2 también son analógicos, lo que permite controlar servomotores o emitir valores analógicos de un potenciómetro. El Calliope mini V3 tiene un touchpin adicional en la parte trasera: el logotipo dorado táctil. Este logotipo táctil también funciona sin tocar el pin de menos.
MakeCode Python Scratch vertical_align_bottom
El sensor de movimiento y posición incluye un acelerómetro, un giroscopio y un magnetómetro (brújula). Esto permite que el Calliope mini, por ejemplo, mida en qué posición se encuentra y en qué dirección y con qué fuerza se mueve.
Gestos
Los diferentes gestos con los que se mueve, sacude, etc., el Calliope se pueden recuperar como eventos en el entorno de programación respectivo.
MakeCode Python Scratch vertical_align_bottomAcelerómetro
Se puede medir una aceleración o desaceleración precisa utilizando el acelerómetro. Los valores se indican en milésimas de la aceleración de la gravedad (fuerza g) y se pueden recuperar para los 3 ejes x, y, z, así como la magnitud total. La magnitud corresponde a la longitud total de todos los vectores de fuerza y se puede calcular con el teorema de Pitágoras: √(x²+y²+z²). Ten en cuenta que la gravedad siempre actúa como una fuerza de atracción y también es detectada por el acelerómetro.
MakeCode Python Scratch vertical_align_bottomGiroscopio
Con el giroscopio se puede medir la posición o rotación de los dos ejes x e y en grados (°). Una rotación del eje X se llama cabeceo y una rotación del eje Y se llama balanceo. Si colocas el Calliope mini sobre una mesa y dibujas una línea entre el Pin 0 y el Pin 3, ese es el eje X. Entre el puerto USB y el borde opuesto entre el Pin 1 y el 2, se encuentra el eje Y.
MakeCode Python Scratch vertical_align_bottomBrújula
El magnetómetro integrado puede medir la fuerza magnética del campo magnético terrestre y así funcionar como una brújula. La dirección se da en grados (°). El norte está a 0°, el este a 90°, el sur a 180° y el oeste a 270°.
MakeCode Python Scratch vertical_align_bottomLos diodos emisores de luz (LED) no solo pueden emitir luz, sino también capturar la luz como fotodiodos. La matriz LED del Calliope mini también es el sensor de luz, que puede medir la luz ambiental. Esto permite que el Calliope mini detecte diferencias de brillo entre interiores y exteriores o entre día y noche. El brillo se emite en un rango de valores diferente en cada editor. En Open Roberta en porcentajes del 0 al 100 y en MakeCode en 8 bits del 0 al 255.
MakeCode Python Scratch vertical_align_bottom
Sensor de Temperatura
El procesador tiene un sensor de temperatura incorporado que mide la temperatura del procesador. Con una pequeña conversión, también se puede medir la temperatura ambiental aproximada con el Calliope mini. La temperatura se da en grados Celsius (°C).
MakeCode Python Scratch vertical_align_bottomTiempo de Ejecución
El tiempo de ejecución nos da el tiempo que ha transcurrido desde el inicio del programa. Tan pronto como se presiona "reset" en el Calliope mini y el programa se reinicia, el tiempo de ejecución se restablece a 0. A diferencia de las pausas, el tiempo de ejecución permite trabajar con intervalos sin bloquear la ejecución del procesador. Esto se llama código "no bloqueante". Muchas funciones en MakeCode como el bucle infinito ya consideran el principio de la paralelización del flujo del programa. El tiempo de ejecución es muy preciso y se puede dar tanto en microsegundos (μs), que es una millonésima de segundo, como en milisegundos (ms), que es una milésima de segundo.
MakeCode Python Scratch vertical_align_bottom
El micrófono MEMS puede medir el volumen. En Open Roberta Lab, va del 0 al 100 por ciento y en MakeCode del 0 al 255.
MakeCode Python Scratch vertical_align_bottom
El Calliope mini tiene una pequeña antena que puede emitir y recibir ondas electromagnéticas. Este soporta dos servicios de transmisión inalámbrica: radio, que permite enviar mensajes entre diferentes Calliope mini, y Bluetooth, que permite que el Calliope mini se conecte con otros dispositivos como teléfonos y tabletas para transmitir datos o ser programado. Solo se puede activar un servicio a la vez. La radio puede transmitir a través de diferentes grupos/canales que se establecen en la programación. Solo los Calliope mini en el mismo grupo de radio pueden comunicarse entre sí.
En el editor de MakeCode, la extensión de radio debe cargarse por separado. En "Extensiones" debes seleccionar el paquete "radio".
Enviar valores
Se pueden enviar números, textos y valores lógicos (Open Roberta). En MakeCode también se puede enviar un par de valores que consiste en un nombre y un número.
MakeCode PythonRecibir valores
Los valores se pueden recibir y recuperar cuando los Calliope mini están en el mismo grupo/canal de radio.
MakeCode PythonUna secuencia es la forma más simple de una instrucción. El programa sigue exactamente tus instrucciones de arriba hacia abajo.
PythonInicio
La función de inicio está incluida en muchos editores y define qué se debe ejecutar una sola vez al inicio del programa. Es como la entrada y acceso al programa. Al igual que en un juego o evento en la vida real, las reglas y condiciones del flujo del programa se definen previamente en variables.
MakeCodePausa
Al programar, las pausas son importantes para que la computadora se detenga brevemente. Esto puede ser importante para que, por ejemplo, una pantalla de color se vea más tiempo antes de que el programa continúe ejecutándose. Sin embargo, la pausa también detiene todo el programa durante ese período. Si se deben realizar otras tareas durante ese tiempo, como reproducir un sonido mientras el LED parpadea en un intervalo, es recomendable usar el tiempo de ejecución.
MakeCode Python Scratch vertical_align_bottomEn programación, un bucle es una estructura de control. Repite instrucciones indefinidamente o hasta que se cumpla una condición de interrupción.
Siempre / repetir indefinidamente
El bucle "indefinido" asegura que una instrucción se ejecute continuamente. Esto es importante en la programación para que ciertas secciones del código se ejecuten continuamente. Para programar programas en curso sin condición de interrupción, como juegos, proyectos interactivos o mediciones de sensores, este bloque es indispensable.
MakeCode Python Scratch vertical_align_bottomRepetir x veces
Las instrucciones dentro del bucle se ejecutan tantas veces como se indique.
MakeCode Python Scratch vertical_align_bottomRepetir hasta / mientras
El bucle "Repetir hasta" ejecuta una instrucción hasta que se cumple una condición de interrupción. Una condición de interrupción debe ser un valor booleano o una afirmación lógica que pueda ser verdadera o falsa. Un ejemplo sería hacer que el LED parpadee hasta que la temperatura descienda por debajo de 10 grados. "Mientras" es el opuesto de "Repetir hasta". El código se ejecuta mientras la condición sea verdadera. "Repetir hasta" funciona al revés. El código se ejecuta mientras una condición sea falsa, y se interrumpe cuando es verdadera.
MakeCode Python Scratch vertical_align_bottomRepetir para índice de a
Este bucle incrementa un índice para un rango de valores definido y lo pone a disposición como variable local dentro del bucle. El bucle comienza en el valor de inicio y se interrumpe al alcanzar el valor más alto. Es útil, por ejemplo, para contar con el valor del índice o para recuperar valores de una lista.
MakeCode Python Scratch vertical_align_bottomCon los bloques de lógica se controla el flujo del programa y puede conducir a diferentes resultados según la entrada. La lógica se basa en el álgebra booleana, en la que dos estados/valores de verdad (verdadero y falso, o 1 y 0) se combinan y conducen a diferentes resultados. Estas combinaciones lógicas forman la base de los circuitos de transistores en los procesadores y la electrónica digital.
Operadores lógicos/booleanos
Existen operadores lógicos como negación (no), conjunción (y), disyunción (o) y comparaciones como mayor que (>), menor que (<) e igual a (=). Con los operadores lógicos se pueden devolver valores de verdad como verdadero y falso.
MakeCode Python Scratch vertical_align_bottom
Instrucción condicional
La instrucción condicional, conocida como bloque "Si, entonces" o "Si, hacer", solo ejecuta una sección si se cumple una condición. Un ejemplo sería encender el RGB-LED solo si la temperatura supera los 20 grados. El LED permanece rojo incluso si la temperatura vuelve a bajar de 20 grados. Una bifurcación proporciona una sección alternativa del programa con "si no" que se ejecuta si la condición no se cumple o es falsa. En el ejemplo del LED, podrías apagarlo si está por debajo de 20 grados.
MakeCode PythonSi, entonces / si no
La segunda forma de una bifurcación múltiple se puede imaginar como una estructura de árbol. Se prueba la primera condición. Si es verdadera, se va a la siguiente rama con la siguiente condición. Si es falsa, se interrumpe la bifurcación y no se prueban más condiciones. El orden es crucial aquí. En los editores de programación, se pueden agregar múltiples condiciones haciendo clic en el "+".
MakeCode Python Scratch vertical_align_bottomUn procesador procesa solo dos estados 0 y 1 / encendido y apagado, pero con una unidad aritmético-lógica (ALU) basada en circuitos de transistores, se realizan operaciones matemáticas en un abrir y cerrar de ojos. Así, el Calliope mini también se puede usar como calculadora en el sistema decimal y resolver tareas matemáticas y lógicas complejas.
Operadores aritméticos
Con operadores aritméticos como adición (+), sustracción (-), multiplicación (*) y división (/), se devuelven números que pueden ser negativos o positivos y tener decimales.
MakeCode Python Scratch vertical_align_bottomModulo / Resto de División
El operador modulo (%) devuelve el resto de una división entre dos números y puede ser útil para encontrar números pares (i%2), generar un patrón repetitivo de números o, por ejemplo, obtener los valores X de los LEDs en la cuadrícula 5x5 (i%5).
MakeCode Python Scratch vertical_align_bottomAzar
Se elige un número aleatorio dentro de un rango de valores definido. El azar juega un papel importante en la programación de juegos, pero también en la encriptación de datos. Cuando en la vida real se lanza un dado, el resultado es difícil de predecir debido a muchas influencias físicas, aunque en teoría sería posible. Como las computadoras funcionan de manera predecible (determinista), es decir, producen el mismo resultado para una entrada determinada, el azar a veces se genera a partir de datos físicos y aleatorios, como la presión de teclas, sonidos ambientales, posición, etc.
MakeCode Python Scratch vertical_align_bottomLas variables en programación son como "contenedores" en los que un programa puede almacenar un valor de datos, como un número, una cadena de texto o un símbolo. Una variable se puede consultar y modificar. Por ejemplo, la puntuación en un juego se almacena en una variable y se puede consultar y modificar constantemente.
MakeCode Python Scratch vertical_align_bottomLas listas son un tipo de dato que puede contener múltiples números, textos, valores booleanos o incluso imágenes. Los valores de una lista se pueden recuperar y procesar en bloque usando bucles.
Añadir valores
Se pueden añadir valores a una lista al final, al principio o en la posición del índice, o reemplazarlos.
MakeCode Python Scratch vertical_align_bottomRecuperar valores
Todos los valores de una lista se pueden recuperar y leer usando el índice en un bucle.
MakeCode Python Scratch vertical_align_bottomLas funciones son como bloques de programa autodefinidos que se pueden reciclar y reutilizar, y con los cuales un programa más complejo se puede estructurar en subprogramas. También se pueden imaginar como una máquina que cumple una función específica, como dice la palabra.
Función / Procedimiento
Un procedimiento solo desplaza el código del programa a otro lugar y se puede recuperar tantas veces como se llame a la función (por ejemplo, en un bucle).
MakeCode Python Scratch vertical_align_bottomFunción con parámetro de entrada
Una función con parámetro de entrada es más flexible porque puede procesar diferentes valores de entrada localmente y generar una salida individual. Por ejemplo, se puede escribir una función para el parpadeo del corazón y establecer el número de veces que el LED debe parpadear como parámetro.
MakeCode Python Scratch vertical_align_bottomFunción con valor de retorno
Una función con valor de retorno se puede imaginar como una máquina que produce un producto o producto intermedio. El valor de retorno es un tipo de dato, como un número o un valor booleano, y se puede usar nuevamente como entrada.
MakeCode Python