Mesecons
Este libro pretende servir como guía de acercamiento al uso de Mesecons como herramienta de gamificación en la enseñanza de lógica en general y de tablas de verdad en particular a estudiantes de bachillerato.
Mesecons es una modificación (mod) del videojuego Luanti (antes Minetest) que permite construir circuitos de manera análoga al redstone en Minecraft. Para poder jugar primero se instala el juego desde luanti.org y, una vez abierto, se descarga desde dentro del programa en el apartado de Contenido. Creado un mundo nuevo, hay varios comandos que pueden ser de utilidad:
- Concede todos los privilegios:
/grantme all /set -n time_speed <speed>.—Pone la velocidad del ciclo día/noche donde<speed>es la velocidad del tiempo (leída como “<speed>veces más rápida que en la vida real”). El valor por defecto es 72, lo cual significa que un ciclo día-noche tarda 20 minutos por defecto. Requiere el privilegio “server”./set -n time_speed 0.—Detiene el tiempo.
/time <horas>:<minutos>.—Pone la hora del día en el formato 24 horas (0:00-23:59). Requiere el privilegio “settime”. Anteponga una virgulilla~a la hora para un cambio de tiempo relativo./time 12:00.—Pone el mediodía.
/time <milihoras_del_día>.—Pone la hora como un número entre 0 y 24000. Requiere el privilegio “settime”. También soporta sintaxis de número relativo con prefijo~./time 12000.—También pone el mediodía.
/spawnentity <entity> [<X>,<Y>,<Z>].—Presenta una entidad de tipo <entity> cerca de su lugar o en las coordenadas X,Y,Z, en caso de que se hayan especificado. Requiere los privilegios “give” e “interact”. Las coordenadas también soportan valores relativos con~./spawnentity boats:boat.—Bota un bote./spawnentity carts:cart.—Entra una vagoneta.
La unidad básica de información es el bit (binary digit). Una lámpara representa los dos posibles valores del dígito binario: apagada su valor es 0 o falso, mientras que encendida su valor es 1 o verdadero. Si se acopla una palanca a la lámpara ya se puede componer la tabla de verdad básica de YES. Por el contrario, la puerta NOT invierte el valor de salida: al encender se apaga y viceversa. Con otra palanca más se compone un circuito en paralelo de manera que solo se apaga con las dos palancas apagadas, como en la puerta OR que a su vez puede negarse en NOR. Con la puerta AND se crea un circuito en serie de modo que la lámpara solo se enciende si las dos palancas también lo están. Del mismo modo se puede negar y convertirse en NAND. Las puertas XNOR y XOR comprueban si los valores de las variables de entrada (palancas) son iguales o desiguales respectivamente. Por último, las puertas IMPLY y NIMPLY representan el condicional material y su negación respectivamente. La siguiente tabla ofrece distintas posibilidades para el diseño de los circuitos:
| Ecuación | Función | Controlador Lua | Microcontrolador | Fórmula | Símbolo de la Comisión Electrotécnica Internacional | |
|---|---|---|---|---|---|---|
| YES | port.a = pin.b |
sbi(A, B) |
||||
| NOT | port.a = not pin.b |
sbi(A, !B) |
||||
| AND | port.a = pin.b and pin.c |
sbi(A, B&C) |
||||
| NAND | port.a = not (pin.b and pin.c) |
sbi(A, !B|!C) |
||||
| OR | port.a = pin.b or pin.c |
sbi(A, B|C) |
||||
| NOR | port.a = not (pin.b or pin.c) |
sbi(A, !B&!C) |
||||
| IMPLY | port.a = not pin.b or pin.c |
sbi(A, !B|C) |
||||
| NIMPLY | port.a = pin.b and not pin.c |
sbi(A, B&!C) |
||||
| XOR | port.a = pin.b ~= pin.c |
sbi(A, B~C) |
||||
| XNOR | port.a = pin.b == pin.c |
sbi(A, B=C) |
pin.—Puerto de entrada.port.—Puerto de salida.sbi.—Supervisor Binary Interface.