Con icaro-bloques se puede mandar información al puerto de expansión usando el bloque "activar".
Bloque "activar" con una variable como instrucción
al igual que en la placa NP03 de puerto serie, para activar los pines del puerto, hay que mandar un valor decimal que el micro controlador representara en valor binario, cada bit es uno de los pines del puerto, encendido o apagado.
Asi, para que se encienda el pin 1 del puerto haremos "activar 1" (00000001) el pin 2 "activar 2" (00000010), el pin 3 "activar 4" (00000100) y asi exponencial-mente hasta el pin 8 que es el valor 128 (10000000).
si bien se podría hacer un programa que simplemente enviara la señal activar ocho veces con los valores 1, 2, 4, 8, 16, 32, 64, 128, en el ejemplo siguiente preferí mostrar como usar una variable para generar un bucle donde en cada iteración la variable "a" se suma a si misma (un acumulador).
programa para encender leds en icaro-bloques
Con el programa anterior, si conectamos una placa con leds (el circuito es bastante simple y se puede hacer con una placa universal) veremos como cada led se va prendiendo en pasos hasta llegar al led 8 donde vuelve a empezar. Los programas en icaro-bloques por regla general son un bucle infinito donde se lee desde el bloque "inicio" hasta llegar al ultimo bloque pegado a la cadena, y luego vuelve a empezar, aunque hay formas para evitar eso (con bucles "while True" vacios al final).
Video del puerto de expansión contando 8 pasos
Este programa es para hacer un contador de 255 pasos, es mas sencillo porque solo necesitamos que la variable se sume a si misma en cara iteración.
Programa en icaro-bloques para un contador de 255 pasos
Video del PORTB contado 255 pasos
Con este puerto de expansión se puede agregar funcionalidades a la placa icaro, como prender luces o reles (para manejar un motor de potencia por ejemplo), y con un poco de maña también 8 servos mas (aunque implicaría tocar muchas cosas a nivel C).