Hallee,
Als vaste luisteraar van de ‘Gadgetman versus Minimalist’-podcast weet je natuurlijk allang dat Mark het liefst zijn gadgets koopt, terwijl ik meer plezier haal uit het zelf in het elkaar macGyveren van een gadget. Een fraai onderwerp waarbij je dat goed kunt zien is het onderwerp van de ‘programmeerbare’ toetsenborden.
Dit zijn speciale knoppenbalken waar je aan elke knop een speciale functie kunt hangen, die door een computer uitgevoerd wordt. Wat je de computer laat uitvoeren is enkel beperkt tot je eigen fantasie en handigheid met software. Dat is ofwel de software die bij een gekocht apparaat zit, of de software die je zelf schrijft. Het zal je ook niet verbazen dat met een kleine beetje moeite alles waar knoppen op zitten, of knoppen in kunnen, kan fungeren als een maatwerk knoppenbalk. De enige uitdaging is om de acties op de knoppen in de computer binnen te laten komen. In deze nieuwsbrief laten we een aantal opties zien.
Ken je mensen waarvan je denkt dat dit ook wel een paar knoppen extra op en rond hun computer kunnen gebruiken, schroom dan niet om deze nieuwsbrief door te sturen.
Groet, Erik
Elgato Streamdeck
Laten we als echte gadget-mensen eerst even stilstaan bij de koop-optie. Mark heeft het Elgato Streamdeck, waarbij je elke knop op het apparaat kunt programmeren. Een mooie feature van dit apparaat is dat je zelf kunt bepalen hoe de knoppen eruit zien via een display in het apparaat.
Wil je wat meer weten over de mogelijkheden van dit apparaat kijk dan naar aflevering 29, waarin Mark alle features bespreekt.
USB Joystick controller board
In aflevering 29 laat ik zien dat kopen niet nodig is. En dat er ook een ‘CheapDeck’ opties is. Tenminste, als je bereidt bent om zelf maximaal 12 schakelaars in een kistje te steken en een joystick controller aan te schaffen van een euro of vier (via Ali Express).
Een simpel kistje werkt perfect, maar is qua design natuurlijk wel wat saai. Een Apple trackpack ombouwen tot maatwerk keyboard is een stuk fraaier. Er was helaas wel te weinig ruimte om de joystick controller erbij te steken. In de praktijk werkt dat zo onhandig dat er ondertussen een versie 2 van de CheapDeck is: de CheapDeck ‘Horizon’. Om er eentje te maken heb je nodig, een afgedankte Ziggo Horizon box, een dremel, twaalf schakelaars en de joystick controller. En natuurlijk een likje verf voor de ‘creative touch’. Het apparaat doet nu prima dienst als ik met Audacity de nieuwe podcast aflevering aan het editten ben.
De oude telefoon (en USB keyboard)
Alles met schakelaars kan omgebouwd worden tot custom keyboard. Dus ook de vintage T65-TDK telefoon uit de jaren ‘70.
En met iets meer moeite zelfs de autotelefoon van Mark Baars ;)
Natuurlijk kun je een ingewikkelde toetsencombinaties, zoals Control-Alt-Shift-Hashtag-F12, omzetten in een eenvoudige druk op de telefoon. Het is echter vele malen leuker om dan ook maar meteen een oude telefoon service nieuw leven in te blazen. Dus, dat hebben we dan maar gedaan.
Ken je de oude ‘002 tijdmelding’ nog ? Of vraag je je af of je vintage telefoon aan skype kunt hangen ? nou, ff kijken dan, over 3 minuten weet je meer.
In het filmpje is te zien dat de telefoon, via wat eenvoudige electronica, gehangen is aan een USB keyboard. Dus, voor het gemak hergebruiken we een werkend apparaat om met de laptop te communiceren. Een paar regels code doet de rest. Onderaan deze nieuwsbrief leg ik in meer detail uit hoe deze schakeling werkt.
The Emoji Keyboard
Eén USB keyboard aan een Windows machine hangen was voor Tom Scott duidelijk niet genoeg om een Emoji keyboard te maken. Elke toets op een keyboard correspondeert met één emoji. En dat lukt prima … als je 14 keyboards aan Windows hangt. Gelukkig vindt zowel Windows, alsook de USB bus, dat géén enkel probleem.
Welke issues je vervolgens nog moet oplossen om het geheel werkend te krijgen legt Tom Scott uit in onderstaand filmpje.
Bijlage:
Sommige kijkers van het telefoon filmpje hebben gevraagd hoe je een T65 werkend krijgt op Windows. Gelukkig is het niet zo ingewikkeld als het missschien lijkt. We hebben in dit geval namelijk gekozen hebben om een USB keyboard controller chip te gebruiken. Deze is rechts onder in beeld te zien.
Een keyboard chip heeft twee voordelen.
1) hij regelt alle communicatie met Windows.
2) De chip is eenvoudig her te gebruiken.
De chip heeft een aantal aansluitingen voor het uitlezen van rijen, en een aantal voor kolommen. Elke toets zorgt ervoor dat een rij en een kolom doorverbonden worden. Rij-0 doorverbinden met Kolom-15 zorgt ervoor dat de computer doorkrijgt dat de toets ‘a’ gedrukt is. Rij-1 met Kolom-15 een andere toets. Dus, dat is vrij eenvoudig hergebruiken. De chip zorgt voor de communicatie met de laptop, via USB.
De computer weet niet wat er gebeurd achter de chip. Dus er kan een normale schakelaar achter hangen. Of een oud hollandse windmolen op Kinderdijk, die bij elke omwenteling twee contacten doorverbind. Vanuit het perspectief van de laptop is het allemaal om het even.
Het toetsenbord van de T65 telefoon bestaat uit vier rijen en drie kolommen. Als een toets gedrukt wordt, worden er twee draden actief. Eén draad van een rij en één draad van een kolom. In het filmpje is dit te zien doordat er steeds twee ledjes gaan branden bij elke toets-aanslag.
Er zijn natuurlijk vele wegen naar Rome om deze twee toetsenborden bij elkaar te brengen. In dit geval vond ik het belangrijk om in de video brandende ledjes te laten zien. Nadeel is dat ledjes stroom nodig hebben. Voor het doorverbinden van de twee draden op de keyboard controller is geen stroom nodig. Dus die twee werelden moeten electrisch gescheiden worden vanuit elkaar. Dat gebeurd via de zwarte opto-couplers. Een opto-coupler is een schakelaar die werkt op licht. In de opto zit een ledje en een lichtgevoelige cel. Dus als het ledje brandt is de schakeling gesloten. Elke opto-coupler is aan de ene kant verbonden met een rij of kolom van het telefoon toetsenbord, en aan de andere kant met twee draden van het usb keyboard. En zo worden drie kolommen en vier rijen van de telefoon toetsen uiteindelijk vertaald naar zeven toetsen op het usb keyboard.
Als de toets-aanslag eenmaal aangekomen is in Windows moet er natuurlijk nog wel een programma luisteren en bepalen wat er moet gebeuren. Zo’n programma kun je schrijven in elke programmeertaal. Omdat het hier maar om een eenmalig en tijdelijk project gaat, en het zwaartepunt ligt op het robotiseren van handelingen in Windows heb ik gekozen om de automatisering te doen met het programma AutoHotKey.
AutoHotKey is een zegen en een vloek als het gaat om Windows automatisering. Je kunt het zo gek niet bedenken of AutoHotKey kan de handeling automatiseren. De prijs die je betaald is een de scripttaal die ronduit erg wreed is, en de syntax doet zeer aan je ogen.
Voor de 002 tijdservice heeft Mark alle voorbeeld zinnen ingesproken in zijn studio. Vervolgens zijn alle audio fragmenten precies op maat geknipt (uiteraard met hulp van de CheapDeck ‘Horizon’). En zo zijn audio bestanden ontstaan voor de opening, alle uren, alle minuten en de secondes. De audio is vervolgens zodanig geknipt dat alle afzonderlingen audio fragmenten samen klinken als een natuurlijke zin.
Het script start voor visueel effect een online tijd weergave op, bepaalt de tijd van de computer en bepaalt welke audio fragmenten achtereenvolgens gespeeld moeten worden. Uiteraard moet het script er rekening mee houden dan als je ‘Beep’ na het uur komt dat dan de juiste uur weergave te horen is. Hetzelfde geldt voor een ‘Beep’ op of over de nieuwe minuut.
Als laatste moet nog even uitrekenen wanneer de ‘Beep’ precies gedraaid moet worden, en de tijdmelding is compleet.
Tom Scott noemt het ‘the Art of Bodging’. Deze T65 telefoon hack valt duidelijk in de categorie van de bodges ;)
In een toekomstig project wordt het keyboard van de telefoon geïntegreerd in mijn huisautomatisering, maar dan zonder tussenkomst van windows, usb keyboards en wat dies meer zij. Wie weet vertel ik tegen die tijd in deze nieuwsbrief dat 002 draaien op het toestel ervoor zorgt dan Baars de tijd laat horen via mijn stereo installatie ;)