Micro:bit u ulozi tipkovnice

Nemojte propustiti

E Ink avanture s Inky pHAT-om

E Ink (AKA E Paper, electronic paper) već je neko vrijeme s nama, a mogli ste se sresti s tom tehnologijom ako (još...

Raspberry Pi Story

Raspberry Pi maleni je SBC (single board computer) razvijen od Raspberry Pi Foundation kako bi pomogao u edukaciji osnova računarstva. Međutim, vrlo brzo pokazalo...

Spajanje više tipkala na jedan pin

Mnogi su nas nakon članka o izborniku s LCD shieldom pitali kako spojiti tipkala da rade na takav način. Jedan od načina...

I2C LCD

Sada je vrijeme da se pozabavimo jednim od osnovnih koraka u našim projektima a to je prikazivanje poruka na LCD ekranu. Danas...

Izrada izbornika na LCD štitu

Nakon što smo se upoznali sa shield koji ima LCD ekran i tipkovnicu. Ako još niste možete to učiniti ovdje. Vrijeme je...

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:

- oglas-

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.

Preuzimanje:

Možda vas zanima i ovo:

Komentiraj

Unesite svoj komentar!
Ovdje unesite svoje ime

Popularno

Uvjeti korištenja

Uvjeti korištenja seekretors.org stranice (u daljnjem tekstu: ove stranice) u vlasništvu su njenih osnivača Marka Miroslava Bače i Tomislava Preksavca (u daljnjem...

Enderova nova pamet

Enderu 3 teško je naći manu (naročito za cijenu po kojoj se prodaje), i ako bi nešto trebalo izdvojiti, to je sigurno njegov...

PYW – Vijak

Evo nas na prvoj stranici našeg putovanja, a s čime je bolje početi nego s dobrom vezom. Zato krenimo od vijčanog spoja.

Print Your world- uvod

Dobrodošli u novi serijal Print Your world ili kako bi mi rekli ekstrudiraj, ekstrudiraj. U ovom serijalu bavit ćemo...

Korekcija putanje glave 3D printera

Konkretno, u mom slučaju radi se o 3D printeru tipa delta, premda vjerujem da sličnih problema ima i kod modela s klasičnim...