El objetivo principal de esta computadora educativa para niños es mantenerla simple y divertida (y debe parecer steampunk).
Como mencioné en mi columna “Alta tecnología, baja tecnología, sin tecnología”, recientemente recibí un correo electrónico de mi nuevo amigo, James “Chewy” Vroman. El asunto del correo electrónico era “Conjunto de instrucciones de computadora steampunk HRRG de 4 bits”. El cuerpo del mensaje se ve así:
Hola Max, estoy pensando en construir una computadora de demostración de 4 bits usando un Arduino como cerebro. Estoy tratando de determinar el conjunto de instrucciones. Me preguntaba si alguna vez se decidió por un conjunto de instrucciones para su propia computadora steampunk HRRG de 4 bits.
Vaya. Es una explosión del pasado. James es miConjunto de instrucciones de computadora steampunk HRRG de 4 bitscolumna, que a su vez era parte de mi serie “Construyendo una computadora HRRG Steampunk de 4 bits” ( parte 1, parte 2y parte 3). Como parte de esto, mi¿Cuál es el conjunto mínimo de instrucciones de una CPU útil?En cuanto a la columna, pero como un aparte…
Le pregunté a James qué estaba tratando de hacer y por qué lo estaba haciendo (no puedo pensar en ningún aumento). Como una “acción de retención”: lanzar la pelota de regreso al otro lado de la cancha mientras ordeno mis pensamientos). James respondió:
He estado interesado en las computadoras desde finales de 1970. Leí revistas antiguas de informática (Dr. Dobb’s Journal, Kilobaud Microcomputing, Byte) que compré en una venta de garaje y soñé con tener mi propia computadora.
Desafortunadamente, no tenía el dinero para comprar uno en ese momento. Mi primera computadora terminó siendo el kit Timex Sinclair ZX81 ($99, tuve que soldarlo yo mismo). Nunca usé una computadora “real” con interruptores y luces (la máquina PDP-11) hasta la universidad. Con el tiempo, mi sueño de computadoras con interruptores de palanca finalmente fue suplantado por teclados, ratones, almohadillas táctiles y pantallas táctiles del mundo real. Luego, un día hubo una nota en el servidor de listas en el que estoy sobre algo llamado “tarjeta de membresía 1802”. Resultó ser una nueva versión de la computadora COSMAC Elf con interruptores de palanca y LED.caso de altoides.
Nota del editor: consulte la columna “Kit retro de MCU que cabe en una lata de caramelos Altoids”..
De vez en cuando trabajo con niños de secundaria y preparatoria en proyectos de Olimpiadas de Ciencias y Primeros Robóticos. Además de mi trabajo de tiempo completo, formo parte de un grupo que trabaja con niños en el hospital donde trabajo. Estos son niños que pueden programar robots o crear aplicaciones para sus teléfonos. Un día, mientras hablaba con estos niños, me preguntaron cómo empecé con las computadoras. Cuando le expliqué un poco sobre mi historia, uno de los niños exclamó: “¡Guau, estabas allí cuando todo comenzó!”
Por supuesto, yo no estaba allí cuando la era informática actual realmente despegó, pero pensé que sí, así que traje una de mis tarjetas de membresía y se la mostré. Los niños quedaron impresionados por su sencillez, sorprendidos y preguntaron cómo programar. Les mostré algunos programas de muestra junto con la hoja del conjunto de instrucciones, pero los perdí en ese momento. Había demasiados comandos que no tenían sentido para los niños acostumbrados a los lenguajes de alto nivel.
Esto me hizo preguntarme si hay una tendencia a perderse en lenguajes de alto nivel. Creo que las personas que trabajan en electrónica y programación deben tener una carrera profesional para no perder de vista dónde comenzó todo y qué sucede en el corazón de la máquina.
Esto me hizo pensar. Esto suele ser peligroso. Siempre me ha encantado que la gente construya sus propios ordenadores a partir de transistores y lógica TTL pura, pero no quería profundizar demasiado en ello. Grandes herramientas y juguetes están disponibles, así que ¿por qué no usarlos? Al final, nos decidimos por la idea de una computadora simple con interruptores de palanca y LED, pero con un conjunto de instrucciones muy limitado.
Mmm. Conjunto de instrucciones limitado… una palabra de 4 bits puede representar 16 comandos… ¡sí!
En base a esto, comencé a investigar sobre computadoras de 4 bits en la web. Resulta que hay muchas opciones y, en consecuencia, surgen muchas preguntas.primero crucé Gakken GMC-4, que estaba cerca de lo que quería, pero sin el interruptor de palanca. A continuación encontré entrenador de subsistemas, tiene un conjunto de instrucciones muy bueno, pero aún no tiene un interruptor de palanca (hay otros excelentes productos para la educación).y me encontré Conjunto de instrucciones de computadora steampunk HRRG de 4 bits En una de las columnas de Max Maxfield.
Esto es muy interesante, vi a Max pidiendo a la gente su opinión sobre el conjunto de instrucciones, pero no pude encontrar más información, así que le envié un correo electrónico para obtener más información. Max me respondió al día siguiente y comenzamos a hablar sobre mi proyecto y las diferentes posibilidades.
¡advertencia! Hablar con Max inspira tu creatividad. Su entusiasmo, combinado con su actitud de “todo es posible”, es altamente contagioso.
Creo que para mi proyecto necesito simplificar las cosas. Me gustaría combinar lo mejor de Gakken GMC-4, la tarjeta de membresía ELF1802 y el entrenador de 4 bits de Subsystems. Mis objetivos iniciales son:
- Base su sistema en el Arduino Nano como el cerebro “bajo el capó”.
- Palabras de 4 bits, 16 instrucciones en un posible conjunto de instrucciones de 16 subrutinas predefinidas.
- Un interruptor y LED como una tarjeta de membresía.
- Entrada de datos por interruptor de palanca.
- Pantallas LCD serie 2×16 o 2×20.
- Matriz LED serie 8×8.
- altavoz con amplificador.
- Hasta 16 bancos de programas seleccionables (algunos contienen programas dedicados integrados como demostraciones, otros cargables).
- Funcionamiento en los modos Run Normal, Run Slow y Single-Step.
También estamos pensando en futuras incorporaciones. Esto puede incluir cualquiera y todos los siguientes:
- Entrada de tarjeta perforada o tarjeta scantron.
- Pantalla LCD que muestra el estado de ejecución del programa y los registros.
- Interfaces de puerto de entrada y salida del mundo real.
- Programas preestablecidos seleccionables.
- Múltiples bancos de almacenamiento para programas (almacenamiento no volátil).
- Ensamblador y emulador basado en PC. También es para Android y probablemente esté basado en un navegador.
- ¡La lista es interminable!
El objetivo principal que debo tener en cuenta es mantenerlo simple e interesante (y tiene que parecer steampunk). Idealmente, nos gustaría crear un dispositivo que permita a los niños crear programas que hagan cosas geniales en solo 20 minutos de discusión. Creo que este será mi proyecto de invierno.
Bueno, solo puedo decir “¡Guau!” Podría decir más (oh, hay más), pero podría dejar eso para una columna futura. Por ahora, creo que es una buena idea devanarse los sesos y reflexionar sobre lo que ha leído hasta ahora. Solo para hacerle saber que esto no era un sueño imposible, Chewy me envió una imagen del estado actual de las diversas piezas que he recopilado hasta ahora para comenzar a trabajar en el prototipo.
Preparando un prototipo (Crédito: James “Chewy” Vroman)
Una cosa a tener en cuenta sobre esta imagen es que Chewy guarda todo lo relacionado con un proyecto en particular en su propio contenedor. Yo hago lo mismo. Cada uno de mis proyectos tiene su propio contenedor. Esto es especialmente útil si tiendes a saltar de un proyecto a otro como yo. También tenga en cuenta que Chewy mantiene libros de registro separados para cada proyecto. Dan, ¿por qué no pensé en eso? (Uso un libro de registro a la vez para registrar todas mis notas, pero tiene mucho más sentido usar un libro de registro basado en proyectos. Se cumple).
En mi próxima columna, te mostraré algunas de las ideas que Chewy y las tuyas realmente han ido y venido. Mientras tanto, agradecemos sus comentarios y preguntas.