Usred ste važnog posla i tipkovnica vam ode na vječna lovišta. A nedjelja je i iduća dva dana državni su praznici. Ako imate micro:bit, ne očajavajte. U nekoliko minuta možete si danas složiti solidno odlično pričuvno rješenje. Da, micro:bit može zamijeniti omiljenu vam tipkovnicu.
Započet ćemo s programom za micro:bit. Dosta je jednostavan. Pomoću gumba A birat ćemo znak koji želimo unijeti, a pomoću gumba B taj znak poslat ćemo računalu. Program ćemo napisati u MakeCodu, izravno u TypeScriptu.
Uvidom u njegovu dokumentaciju, saznat ćemo koji znakovi su podržani:
For the micro:bit, ASCII character codes 32 to 126 are supported; letters, digits, punctuation marks, and a few symbols. All other character codes appear as a ? on the LED screen.
To su više-manje svi glavni znakovi. Klikom na gumb A prikazat ćemo prvi znak i zatim ćemo svakim novim klikom prijeći na novi znak i prikazati ga na ekranu micro:bita. Nakon zadnjeg znaka vratit ćemo se opet na početak. Kada nam se prikaže željeni znak, kliknut ćemo gumb B što će serijskom vezom poslati znak računalu. Slijedi prikaz koda programa:
let char_code = 32; input.onButtonPressed(Button.A, () => { char_code += 1 if (char_code == 127) { char_code = 32 } basic.showString(String.fromCharCode(char_code)) }) input.onButtonPressed(Button.B, () => { serial.writeString(String.fromCharCode(char_code)) })
Da bi ova naša micro:bitkovnica radila uspješno, potrebno je na računalu imati upravljački program (driver). Njega ćemo napisati u Pythonu i pritom ćemo se poslužiti modulom pykeyboard. Ovaj program također je jednostavan. Prvo uspostavimo serijsku vezu s micro:bitom. Zatim čekamo znak od micro:bita. Kada on stigne, proslijedimo ga računalu. I to je to. Vaš produženi vikend je spašen. Slijedi prikaz koda programa:
from pykeyboard import PyKeyboard import serial from time import sleep s = serial.Serial('COM4', 115200) k = PyKeyboard() try: while True: while s.in_waiting: sleep(0.1) key = s.read().decode("utf-8") k.tap_key(key) except (KeyboardInterrupt, SystemExit): s.close()
Uporaba je također jednostavna. Spojite micro:bit putem USB kabela na računalo. To će ujedno pokrenuti izvođenje njegova programa. Zatim pokrenite upravljački program na računalu, da se izvršava u pozadini. Otvorite Notepad i isprobajte svoju novu tipkovnicu.
Ovo rješenje može se poboljšati tako da računalo automatski prepozna micro;bit kao tipkovnicu i tako uklonimo potrebu za vlastitim upravljačkim programom. Osobno nisam detaljno istraživao protokol, no vjerujem da je tako nešto u ovom slučaju izvedivo. Naravno, tada će program koji se izvodi na micro:bitu postati značajno složeniji. Ako se odlučite na takav pothvat, obavezno s nama podijelite svoje rezultate. Meni zasad taj projekt ide na ToDo listu niskog prioriteta.