När det gäller att utforska potentialen i din uppfinningsrika fantasi är Raspberry Pi ett bra komplement till din kreativa verktygslåda. Överväg att tänja på dina kreativa gränser med projekt som att bygga ett arkadskåp, fotografera rymdutforskning eller ge liv åt äldre teknik.
En nyutexaminerad blev inspirerad att ta sig an ett unikt projekt med hjälp av en elektronisk skrivmaskin som en Linux-terminalskärm, med hjälp av en Raspberry Pi-dator. Låt oss ta en titt på varför han bestämde sig för att ta sig an det här projektet, tillsammans med de verktyg och tekniker som användes för att hjälpa honom på vägen.
Att lära av andra
Efter att nyligen ha tagit en examen i maskinteknik är Riley inte främmande för elektronik. Han föredrar att arbeta med projekt där han designar lösningar kring rörliga delar. Att para ihop sin dröm om att skapa sitt eget mekaniska tangentbord med hans kärlek till rörliga delar gör det här projektet perfekt för honom.
Idén tillskrivs initialt en gymnasiekompis. Tillsammans arbetade de för att bygga en dator med en Z80-processor och planerade att bygga en äldre skrivmaskin, en Smith Corona PWP D350, att använda som tangentbord och fodral. Tyvärr har tangentbordsdelarna nu samlat damm i sex år.
En innehållsskapare på YouTube, CuriousMarc, använde en Teletype-maskin som en Linux-terminal, vilket återuppväckte Rileys ambition att försöka igen.
Det här projektet är ett bra sätt för dig att förstå hur rörliga delar fungerar och hur teknik kommunicerar tillsammans.
Projektkomponenter
Här är vad du behöver för att återskapa det här projektet hemma:
- Brother AX-25 (eller liknande skrivmaskin)
- Multiplexer
- Bakbord
- Raspberry Pi (kör Raspberry Pi OS Lite)
- USB-tangentbord
- Arduino One
- Kod: Arduino programmeringsspråk
- Spänningsdelare
- Diverse kablar och kontakter
Forskning och förberedelser
Ett stort hinder var att förstå hur skrivmaskinen tolkade externa tangenttryckningar. Detta löstes genom att manuellt identifiera varje stift kopplat till skrivmaskinskabeln och sedan skapa ett kalkylblad för att hålla det hela rakt. Varje knapp är tilldelad ett nummer mellan 0 och 87 för att göra programmeringen enklare.
Multiplexorerna används för att ansluta in- och utgångar utan att behöva mycket extra kablage eller anslutningsmöjligheter. Du kan till exempel minska antalet stift som används när du arbetar med många sensorer eller motorer.
När det gäller skrivmaskinen används multiplexorer för att ansluta många ingångsstift till ett enda utgångsstift. När du byter ut valda stift kan du sedan välja vilken ingång som är ansluten till utgången.
För att säkerställa noggrannhet mellan komponenterna krävdes en 8 x 11-matris för att förstå hur man kartlägger skrivmaskinsspåren korrekt. Du kan se den här manuella upptäckten ske på Rileys YouTube-kanal som länkas till i slutet av den här guiden.
Ansluta komponenter
Baserat på Rileys forskning fungerar daisy wheel skrivmaskinsmekanismen bra med Arduino. För att lära dig mer om denna mikrokontroller, kolla in vår guide på utforska de olika Arduino-typerna för detaljer. Varför använde han en Brother AX-25? Detta är bara den första skrivmaskinen han hittade för att passa sina kriterier.
På bilden ovan kopplar en lång rektangelbräda ihop olika tekniker. Detta kallas brödbräda. Huvudsyftet med detta kort är att förenkla elektroniska kretsar. Kolla in vår guide på hur en brödbräda fungerar för detaljer.
Med ett USB-tangentbord kopplat till Raspberry Pi kan du sedan skicka kommandon till skrivmaskinen via Arduino-mikrokontrollern. För att få en djupare förståelse av terminalfunktioner, konsultera vår guide på historien om Linux-kommandon.
Raspberry Pi kör Raspberry Pi Lite OS som uppfyller behoven i detta projekt väl. Detta beror på att skrivmaskinen visar enkla funktioner via TTY-terminalen (eller teletyp).
Riley medger att Arduino kunde tas bort från denna ekvation. Att felsöka eventuella problem medan multiplexorer skickar Raspberry Pi-kommandon vidare till skrivmaskinen är mer effektivt eftersom han har omfattande kunskap om denna mikrokontroller. Alternativt krävs att skapa en ny Linux-drivrutin för att ersätta Arduino. Detta är inte något i den här skaparens planer för nu.
Han övervägde också att ta bort Raspberry Pi och lägga till en seriell portanslutning mellan Arduino och skrivmaskinen. Även om han var glad över att dela att detta skulle innebära att skrivmaskinen skulle kännas som en riktig teletypmaskin, har han valt att behålla det allmänna flödet av komponenter tills vidare.
Han valde att koda med Arduinos programmeringsspråk på grund av hans erfarenhet av att använda Arduino för ett seniordesignprojekt i skolan. Den här upplevelsen kom till nytta några gånger, särskilt när det var ett litet problem när man försökte säga till skrivmaskinen att trycka på två gröna (funktions)tangenter samtidigt.
Tidsproblemet löstes så småningom genom att säga till Arduino att trycka två tangenter väldigt nära varandra. Detta lurade faktiskt skrivmaskinen att tro att två tangenter trycktes ihop och gjorde det trots allt möjligt att använda de gröna (funktions)knapparna.
Med hänsyn till effektskillnadsöverväganden mellan Arduino och Raspberry Pi, spänningsdelare som används i detta projekt reducerar 5V-effekten från Arduino till 3,3V-effekten från Pi Zero W.
Vad har framtiden att erbjuda?
Nyligen delade Riley en livesändning på sin YouTube-kanal och designade en PCB i realtid. Är du osäker på vad en PCB är? Kolla in vår guide på tryckta kretskort. Om du inte är intresserad av att gå igenom sex timmars livesändningsinnehåll (beskriv designen i detalj), överväg att hoppa igenom videon till ett avsnitt som passar dig.
När schemat är färdigt planerar han att skicka PCB-designen till en tillverkare. När kretskortet är färdigt och mottaget hemma, berättade Riley att han är glad att ta den färdiga produkten för ett test i den verkliga världen en dag snart.
Kommer du att prova detta projekt själv?
När du nu förstår vilka komponenter som krävs och hur de hänger ihop, kan du också granska koden online. Du är välkommen att se Rileys öppen källkod seriell-skrivmaskin GitHub-förråd. Medan du är där, läs igenom den fantastiska förklaringen i README-filen som beskriver ett kretsschema som hjälper dig att koppla ihop alla komponenter.
Om du känner att du behöver en hjälpande hand, kontakta Riley's YouTube-kanal, Artillect, för detaljer. Du kommer också att upptäcka att han inkluderar andra sätt att få kontakt med honom också.
Njut av att ge din elektroniska skrivmaskin nytt liv som en Linux-terminal!