Raspberry Pi è al centro del progetto che il maker (e bibliotecario – NDR) Max Lupo ha sviluppato, dando nuova vita a una macchina da scrivere elettronica vintage Swintech 1146 CMP, collegandola a una scheda Adafruit Kee Boar KB2040 per passare i file di testo pre-scritti alla sua porta Centronics per la stampa.
“Il KB2040 ha al centro il chip Raspberry Pi RP2040, che esegue CircuitPython”, spiega Lupo. “Il programma ingerisce un file di testo e invia i dati carattere per carattere finché non raggiunge una nuova riga, a quel punto la macchina da scrivere invia un segnale di occupato e preleva il suo buffer di testo. Una volta che la macchina da scrivere non è più ‘occupata’, il codice invia più caratteri, ripetendo il processo finché il file non è completamente stampato.”
Il progetto di Lupo è un’interessante inversione nell’uso tradizionale di una scheda microcontrollore Adafruit Kee Boar, che – come suggerisce il nome – è stata costruita per essere utilizzata come driver di tastiera, piuttosto che come driver di stampante. Le sue dimensioni ridotte lo rendevano ideale per gli scopi di Lupo, tuttavia, montato ordinatamente su una scheda breakout personalizzata con un connettore DB-25 che è, a sua volta, cablato nella porta di comunicazione Centronics di Swintech 1146 CMP.
“Grazie al cielo la porta parallela della stampante è chiaramente definita, ed è (ragionevolmente!) facile da utilizzare”, scrive Lupo. “Questo progetto utilizza il KB2040 per impostare valori elevati su una serie di pin collegati ai pin dei dati della porta parallela, nonché al pin ‘STROBE’ della porta. Durante ogni ciclo STROBE (STROBE si abbassa quando i dati sono pronti), l’alto/ i pin bassi sono interpretati dalla macchina da scrivere come un carattere binario, che stampa dopo aver ricevuto una nuova riga o alcuni altri caratteri di escape.”
C’è anche un ulteriore vantaggio nel design della breakout board di Lupo, sotto forma di un sistema di debug visivo: “Avevo problemi a capire perché il mio codice era ancora sbagliato”, spiega il produttore, “quindi ho aggiunto una fila di LED rossi per illuminare i bit di dati binari che pensavo il programma avrebbe dovuto inviare alla stampante. Mi ha davvero aiutato con il debug e ha un bell’aspetto, quindi li ho lasciati come parte del progetto quando ho progettato il PCB.”
I file da stampare, nel frattempo, sono storie di testo semplice caricate nella memoria flash di Adafruit KB2040 e scelte a caso quando gli utenti premono un pulsante soddisfacente per attivare una stampa. Il resoconto completo di Lupo è disponibile sul repository GitHub del progetto, insieme al codice sorgente di CircuitPython sotto la licenza permissiva MIT.
Join our groups on Telegram…