Paso 1: un poco de historia
Aquí es una historia abreviada e imperfecta de la robótica de divertido al programa. A finales de los 60s, Seymour Papert en el MIT decidió que robots deben ser divertido. Su excusa era que quería ayudar a los niños a aprender, pero creo que sólo quería jugar a sí mismo. :)} Uno de sus conceptos fue conocido como gráficos de tortuga en el que una tortuga imaginaria podría programarse para dibujar líneas en la pantalla. Poco después, la idea de hacer una tortuga motorizada podría arrastrar un lápiz en un pedazo de papel evolucionado. MIT Legos nos involucramos y se creó el primer ladrillo programable (de control del robot). Mindstorms (nombre tomado de un libro de Papert) siguió rápidamente. Un spin off, basado en el trabajo de Fred Martin, era un ladrillo programable conocido como grillo . Más recientemente, se ha desarrollado un ladrillo barato, conocido como Babuino y basado en Arduino. El Babuino es la razón por la que escribo este Instructable.Para ir junto con su hardware fácil de usar, Papert inventó un lenguaje llamado logotipo para facilitar igualmente la programación. Logo iba a ser fácil para cualquier persona (incluidos los adultos) a aprender. Era fácil en comparación con idiomas del día, pero todavía implicado una sintaxis del editor y la memorización del texto. Colaboradores de Papert crean un entorno gráfico llamado Logo bloques en que bloques que representan declaraciones de Logo podría metafóricamente trabarse juntos para construir las construcciones lógicas de los programas de robótica. Afortunadamente, bloques de insignia es mucho más fácil entender que esa última frase describe! Logotipo ya está disponible en Cricket Logo y es la base de bloques de Logo. Cricket Logo y logotipo de bloques son sólo para entornos Windows y Mac. Blocos es un reemplazo moderno funcionando en Linux, Mac y Windows que te diré acerca de todo en las secciones que siguen.
Un concepto adicional es esencial para el ladrillo programable y el ambiente Logo bloques. Para conservar el ladrillo programable simple y barato, el software que se ejecuta en él debe ser muy simple. Así que el software de ladrillo sabe nada sobre el elegante entorno de programación proporcionado por bloques de Logo. En su lugar acepta códigos de byte único, también conocido como "códigos". Cada código de operación se traduce en exactamente una simple acción que realiza el software de ladrillo. Por ejemplo, 46 código de operación puede referirse a un Motor mientras que operación 49 podría convertirse en un motor. Así el código de operación secuencia 46 49 causaría Motor A encender. El resultado es que bloquea la insignia (y el logotipo de Cricket también) no sabe nada sobre el ladrillo programable; simplemente genera opcodes. El ladrillo no sabe nada sobre bloques de Logo; simplemente responde a los códigos enviados a él.
Una consecuencia directa de este plan inteligente es que los nuevos lenguajes y entornos (Blocos) podrían desarrollarse como producen opcodes como su salida. Una consecuencia igualmente importante es que se pueden crear nuevos ladrillos programables (como Babuino) mientras que proporcionan las acciones apropiadas en respuesta a una corriente de opcodes.