Скенирајте ја табелата со кодови на тастатурата. За прашањето за евалуација на дигитални сигнали на пемин. тастатури. Како да скенирате QR кодови на Андроид

Мнозинството модерни тастатуриопремени со мултимедијални копчиња, а глувците веќе имаат од три до седум копчиња. Возачи и секакви корисни програмиСамо Windows. Секој знае дека Linux е познат по својата способност да го прилагодите системот за себе, ако, се разбира, знаете каде и што да конфигурирате. Наша задача е да го научиме пингвинот да работи со дополнителни лебови.

Одредување на кодот за скенирање на клучот

Без разлика што притискате на вашата тастатура, серверот X и кернелот, воопшто, не се грижат што е напишано или нацртано на него. Нив ги интересира само кодот за скенирање на копчето и прво Xs ја читаат табелата со шифри на клучот на јадрото, а потоа клучната шифра се поврзува со сопствената табела со кодови. Доколку во Проблеми со WindowsНема поставки за мултимедијални клучеви во конзолата како такви, така што во Linux треба посебно да ја конфигурирате реакцијата на притискање на копчињата во конзолата и во X-Window.

За да го дознаете кодот на клучот, треба да ја користите алатката xev вклучена во серверот X. Откако ќе го стартувате, се појавува прозорецот Тестер на настани, сега последователно притиснете ги копчињата, запомнувајќи го издадениот код:

$xev
...
Настан на KeyRelease, сериски 31, синтетички NO, прозорец 0x3e00001,
root 0x67, subw 0x0, time 279734676, (311.611), root: (1104.687),
состојба 0x2000, клучен код 236 (keysym 0x1008ff19, XF86Mail), истиот_екран ДА,

XFilterEvent враќа: Неточно
Настан на KeyRelease, сериски 31, синтетички NO, прозорец 0x2600001,
root 0x67, subw 0x0, time 265877259, (883,334), root: (886,358),
состојба 0x0, клучен код 161 (keysym 0x0, NoSymbol), ист_екран ДА,
XLookupString дава 0 бајти:
XFilterEvent враќа: Неточно

Излезот може да биде огромен бидејќи секое движење на глувчето се следи додека поминува преку прозорецот Тестер на настани. Клучот е опишан од блокот KeyRelease, особено, вредноста на клучот е токму кодот за скенирање што сакаме да го знаеме. Во прикажаниот пример, се притиснати две копчиња. Кодот на клучот 236 одговара на клучот за серверот X наведен во keysym, како и акцијата XF86Mail, која во KDE го стартува стандардниот клиент за пошта. За клучот број 161, кодот и дејството не се дефинирани.

Можно е да се притисне копче, но неговиот код за скенирање не е издаден. Ова значи дека кернелот не може да најде соодветна вредност. Излезот dmesg треба да ја содржи следната линија:

Користете "setkeycodes 0xec „да се стави до знаење.

Односно, ви е понудено сами да го поставите кодот за скенирање на клучот користејќи setkeycodes, а изборот на вредноста на клучниот код е многу едноставен. Претворете ја добиената бројка во децимален број (повеќето калкулатори можат да го направат тоа) и додадете 128. Во овој пример, 0xec = 236, односно добиваме код за скенирање 364. Доколку се сомневате, списокот на користени и неискористени кодови за скенирање може да биде гледано со вклучување на алатката getkeycodes во конзолата или dumpkeys. На пример, ако излезот е „getkeycodes | греп<код клавиши>„Не даде ништо, па овој код може безбедно да се користи.

Услужната алатка XKeycaps (www.jwz.org/xkeycaps), која е графички преден дел за Xmodmap, исто така може да помогне да се одреди кодот за скенирање.

Програмата xev, се разбира, не работи во конзолата. За да го дознаете кодот за скенирање издаден од кернелот, треба да ја користите алатката showkey или getkeycodes:

$showkey
тастатурата беше во режим на УНИКОД
притиснете кое било копче (програмата ќе заврши 10 секунди по последното притискање)...
0xe0 0x6c 0xe0 0xec

Првите две цифри одговараат на притиснато копче, втората - на отсуството на притискање.

Поставување обврзувачки код за скенирање во X-Window

Значи, сега имаме кодови за скенирање, треба да му укажеме на серверот X што всушност треба да направи кога ќе се притисне ова копче, односно да му доделиме симболично име. Список со имиња на симболи е даден во датотеката за заглавие XF86keysym.h. Стандардно, датотеките со заглавие на серверот X не се инсталирани на модерни дистрибуции. За да го видите во Ubuntu, треба да го инсталирате пакетот x11proto-core-dev, по што оваа датотека ќе се наоѓа во директориумот /usr/include/X11. Алтернативно, можете да го контактирате серверот X.Org CVS. Ајде да видиме:

$ cat /usr/include/X11/XF86keysym.h
/*
* Пронајдени копчиња на некои „интернет“ тастатури.
*/
#define XF86XK_Standby 0x1008FF10
#define XF86XK_AudioLower Volume 0x1008FF11
#define XF86XK_AudioRaise Volume 0x1008FF13
#define XF86XK_AudioPlay 0x1008FF14
#define XF86XK_AudioStop 0x1008FF15
#define XF86XK_Mail 0x1008FF19

Ако ја споредиме последната линија со излезот xev, ќе видиме дека вредностите се совпаѓаат со клучот со клучот 236 - keysym 0x1008ff19, XF86Mail (без наставката XK_). Можете да најдете список на сите достапни вредности како што треба да се користат во /usr/share/X11/XKeysymDB.

Постојат два начини да креирате сопствен распоред: креирајте опис на вашата тастатура или користете Xmodmap. Последниот метод е наједноставен, па ќе разговараме за тоа понатаму. Во домашниот директориум на корисникот, креирајте датотека.Xmodmap, во која ги внесуваме саканите вредности:

$ mcedit ~/. Xmodmap

клучен код 161 XF86Калкулатор
клучен код 174 XF86AudioLower Volume
клучен код 176 XF86AudioRaise Volume
клучен код 162 XF86AudioPause

И така натаму, принципот мислам дека е јасен. Покрај тоа, клучната шифра може да се внесе и во децимална и во хексадецимална форма. Според моите согледувања, шифрите за повеќето клучеви се стандардизирани. Затоа, ако еднаш го поставите одговорот на притискање на копче и ја префрлите датотеката на друг компјутер, постои можност на друга тастатура реакцијата на притискање на копче што исто така е потпишано да биде слична. Корисниците на работната површина на Gnome со GDM можат да ги напишат сите овие линии во датотеката на целиот систем /etc/X11/Xmodmap.

Во други случаи, сè уште треба да му кажеме на серверот X да ја користи генерираната датотека. Ова се имплементира различно во различни дистрибуции, главната идеја е да се изврши командата /usr/bin/xmodmap $HOME/.Xmodmap кога корисникот ќе се најави или кога ќе започне X. Тука секој танцува како што сака. На форумите предлагаат користење на датотеката $HOME/.xsession (во некои дистрибуции може да се нарекува .Xsession), .xprofile или системот /etc/X11/Xsession. И се плашам дека тоа не е се можни опции. Ајде да видиме како тоа се прави во KUbuntu:

$ sudo grep -iR xmodmap /etc

Како резултат на тоа, наоѓаме многу интересна датотека /etc/X11/Xsession.d/80ubuntu-xmodmap со следнава содржина:

$ cat /etc/X11/Xsession.d/80ubuntu-xmodmap

/usr/bin/xmodmap /usr/share/apps/kxkb/ubuntu.xmodmap || вистина

USRMODMAP="$HOME/.Xmodmap"

ако [ -x /usr/bin/xmodmap ]; тогаш
ако [ -f "$USRMODMAP" ]; тогаш
/usr/bin/xmodmap „$USRMODMAP“ || вистина
фи
фи

Односно, се вчитуваат содржините на датотеката ubuntu.xmodmap и user.Xmodmap доколку постои. Кога ќе го отворите ubuntu.xmodmap во уредникот, ќе најдете листа на клучеви и поврзани симболични имиња. Од ова можеме да заклучиме: ако развивачот пријави дека неговата дистрибуција поддржува мултимедијални тастатури, тогаш со висок степен на веројатност можете да најдете слична датотека. Други дистрибуции имаат сличен систем за лансирање сопствени датотеки xmodmap.

Сега кога симболичните имиња се доделени на копчињата, можете да им ги доделите саканите дејства. Некои средини за прозорци како KDE можат да се справат со дејства засновани на симболични имиња. Значи, кога ќе го притиснете копчето со XF86AudioPlay (ПРАШАЊЕ), стандардниот плеер започнува да се репродуцира. За да ја поставите саканата комбинација, само одете до „Контролен центар на KDE -> Регионални и опции за пристапност -> Комбинации на тастатура“ (во KUbuntu, погледнете во „Поставување на системот -> Тастатура и глушец“). Има слична ставка од менито и во Gnome (можете едноставно да повикате gnome-keyboard-bindings) и во XFce. Плус, некои програми како Amarok, Konqueror, MPD исто така можат да обработуваат притискање на тастатурата. Во други средини без
алатките за графичка конфигурација најверојатно ќе бараат рачна интервенција во конфигурациските датотеки. На пример, така што во IceWM, со притискање на копче со симболично име XF86AudioPlay се стартува XMMS-плеерот и кога повторно ќе се притисне тој паузира, треба да ја додадете линијата во датотеката ~/.icewm што се појавува по првото стартување:

$ mcedit ~/.icewm

копче XF86AudioPlay xmms --play-pause

Во Fluxbox линијата за стартување на плеерот ќе изгледа вака:

$ mcedit ~/.fluxbox/keys

Нема XF86AudioPlay: ExecCommand xmms --play-pause

Обично има примери во конфигурациите, па мислам дека лесно можете сами да ги сфатите останатите менаџери на прозорци.

Поставување на реакцијата во конзолата

Во конзолата, постапката е малку поинаква. Како што се сеќавате, излезот dmesg препорача да се доделат клучеви со помош на командата setkeycodes. Но, тука има разлики - не може да има повеќе од 128 клучни команди во конзолата, треба да изберете вредности од 0 до 127:

$setkeycodes 0xec 118

Можете да ги видите бесплатните вредности во тековната датотека за распоред на тастатурата. На Ubuntu и на сите дистрибуции базирани на Debian, ова е обично /etc/console-setup/boottime.kmap.gz. Ако по стартувањето нема проблеми со копчињата, додадете ја оваа линија на една од скриптите за стартување, на пример во /etc/init.d/rc.local.

Сега останува само да се постави кореспонденцијата помеѓу клучот и дејството што се врши. Тука има уште повеќе простор за креативност отколку во X-овите. Во копчињата (5), постапката за совпаѓање на клучен код е како што следува:

(обичен | ) клучен код клучен број = keysym

# Свртете ја конзолата назад кога ќе го притиснете копчето со код 105
клучен код 105 = Decr_Console
# Ја префрла конзолата напред кога ќе кликнете на и клуч со шифра 106
alt клучен код 106 = Incr_Console

Но, можете да креирате свои опции со наведување на командата во променливите:

клучен код 120 = F100
string F100 = "/sbin/shutdown -h сега\n"

Со други зборови, со притискање на копчето со код 120 ќе се изврши дејството наведено во променливата F100; во нашиот случај, компјутерот е поставен да се исклучи. Наместо F100, се разбира, можете да користите кое било друго име.

Сега подеднакво важен дел е каде да се запише сето ова. Документацијата и бројните совети сугерираат користење на тековната датотека за распоред на конзолата (во мојот случај, boottime.kmap.gz). Патем, ова е единствената датотека што ги опишува распоредите достапни по инсталирањето на KUbuntu; За да видите други опции, треба да го инсталирате пакетот за конзола-податоци. После ова, во /usr/share/keymaps/i386/ можете да најдете неколку поддиректориуми со датотеки внатре. Но, ако треба да се префрлите на друг распоред (во Ubuntu и некои други дистрибуции, датотеката /etc/default/console-setup или ~/.console-setup се користи за таа цел), сите поставки ќе треба да се пренесат на друга датотека, што е донекаде
непријатно. Ако сепак одлучите да го направите овој чекор, користете ги постоечките записи како шаблон, без да пишувате ништо на првата позиција и не заборавајте да оставите празна линија на крајот.

Малку за лаптопот

Досега не сум сретнал лаптоп чии шифри за скенирање на клучеви не може да се утврдат. Затоа, поставките овде не се разликуваат од оние опишани погоре. Иако постои една техника за која би сакал да зборувам. Сметам дека режимот на хибернација е многу лесен за користење, кога, кога ќе го вклучите компјутерот, ќе најдете сè на свое место. Современите дистрибуции, по правило, го поддржуваат, иако поставувањето е, генерално, едноставно - само инсталирајте го пакетот за хибернација и отфрлете ги потребните параметри во конфигурациската датотека. Единственото нешто е што секој пат кога ќе се префрлите на овој режим треба да ја извршите скриптата /usr/sbin/hibernate, што не е секогаш погодно. Само сакам да го затворам капакот на лаптопот и повторно да го вклучам
храна, откријте сè на свое место.

Ова е многу лесно да се направи со користење на acpid daemon, кој е еден вид кориснички интерфејс кој ви овозможува да управувате со сите настани на ACPI достапни преку /proc/acpi/event. Во овој случај, acpid чита збир на конфигурациски датотеки од директориумот /etc/acpi/events/. Ако пакетот со демонот не е вклучен во дистрибуцијата, инсталирајте го од складиштето; Најновата верзија може да се добие од веб-страницата phobos.fs.tum.de/acpi. По инсталацијата, треба да креирате две датотеки во директориумот /etc/acpi/events: капак и напојување. Првиот ја опишува реакцијата на затворање на капакот, вториот на притискање на копчето за вклучување.

$ sudo mcedit /etc/acpi/events/lid

настан=копче/капак.*
акција =/usr/sbin/hibernate

$ sudo mcedit /etc/acpi/events/power

настан=копче/напојување.*
акција=/sbin/shutdown -h сега

Ова се малку поедноставени опции; во KUbuntu ќе најдете посложени скрипти. После ова, треба да го рестартирате апид демонот:

$ sudo /etc/init.d/acpid рестарт

Сега, кога ќе го затворите капакот на лаптопот, системот ќе хибернира со исклучување, а кога ќе го притиснете копчето за вклучување, ќе се исклучи. Едноставно и практично.

Поставување програми

Ако не ви се допаѓа да се мачите со конфигурациските датотеки, предлагам неколку програми кои ќе ви помогнат да ја конфигурирате работата на мултимедијалните копчиња. На пример, почетната цел на програмата Sven (sven.linux.kiev.ua) е да конфигурира дополнителни копчиња на мултимедијална тастатура, но почнувајќи од верзијата 0.4, може да ги коригира грешките при пишување и да го промени распоредот на тастатурата. Покрај тоа, дури и ако имате обична тастатура, со нејзина помош можете да имитирате мултимедијални копчиња со користење кратенки на тастатурата. Можете исто така да доделите дејства на одредени копчиња на глувчето. Таа разбира приближно 10.000 руски зборови и 9.500 англиски зборови. Ако програмата не се префрли
самиот, тогаш распоредот може да се промени рачно со помош на специјално назначено копче (Стандардно прекини). Посебно копче (Scroll Lock) може да го смени големината на зборовите (горна, долна, првата буква е горната, останатите се пониски). Индикаторот за прекинувач за распоред на тастатурата ја памети неговата состојба за секој прозорец, така што ако често се префрлате помеѓу апликациите, повеќе нема да треба дополнително да го менувате изгледот. Програмата има одлични можности и би ве советувал да ја погледнете. Сите поставки се направени со користење графичка програма, изградена на GTK+ библиотеки. Свен беше тестиран на Linux, но во принцип треба да работи на *BSD системи. Употребен е менаџер на прозорци
не е важно.

Можностите на KeyTouch (keytouch.sf.net) се нешто поскромни; оваа алатка се користи исклучиво за поставување мултимедијални клучеви. Иако со негова помош можете да доделите поинакво дејство на кое било копче што се разликува од стандардните поставки. На веб-страницата на програмата, покрај изворните текстови и пакетите за некои дистрибуции, можете да најдете готови поставки за мултимедијални тастатури од повеќето познати производители.

Друга интересно решение- xbindkeys (hocwp.free.fr/xbindkeys/xbindkeys.html) - ви овозможува да доделите какви било команди, вклучително и команди на школка, на кое било копче на тастатура и глувче. Сите поставки се направени во конфигурациска датотека, која има едноставен и разбирлив формат.

Најверојатно веќе на вашиот телефон стандардно инсталиранСкенер за QR код, лесно можете да го користите за да го скенирате вашиот прв QR-код. Ова е многу лесно да се направи. Само следете ги нашите упатства.

1. Отворете го читачот на QR код на вашиот телефон.

2. Држете го уредот над QR-кодот за да биде јасно видлив на екранот на вашиот паметен телефон.

Ако правилно го држите паметниот телефон над QR-кодот, тогаш ќе се случи следново:

  • Телефонот автоматски го скенира кодот.
  • Во некои апликации, треба да кликнете на слика за да скенирате код, наместо на копче како што би правеле за да фотографирате на вашиот паметен телефон.

3. Притиснете го означеното копче, доколку е потребно.

Супер! Вашиот паметен телефон ја чита шифрата и ја следи дадената врска, што не секогаш се случува веднаш. На повеќето уреди ова може да потрае неколку секунди.

Ќе почнете да гледате QR кодови насекаде. Тие се користат за поучување, информирање, објаснување и многу други работи. Најдете ги и скенирајте ги! QR кодовите ќе ви заштедат многу време и напор.

Како да скенирате QR кодови на Андроид

Сега ќе ви кажеме како да ја користите апликацијата за скенирање QR код на Android.

Накратко:
1. Отворете Play Store .
2. Пребарување Читач на QR код .
3. Изберете Читач на QR код(преку скенирање).
4. Кликнете на „ инсталирај".
5. Отворете ја програмата Читање на QR код.
7. Насочете ја камерата кон QR-кодот.
8. Кликнете на „ ДОБРО".

Чекор 1. Отворете Play Store на Android.Ова е икона во апликација или на почетниот екран.

Чекор 2. Внесете читач на QR код во пребарувачот.Ќе се појави список на апликации за читање на QR-кодот.

  • Оваа статија објаснува како да користите QR Code Reader, но можете да ја изберете апликацијата што ја сакате. Само не заборавајте да прочитате за апликацијата пред да ја преземете.
  • Чекорите треба да бидат исти за сите апликации за читање QR код.

Чекор 3.Кликнете на QR Code Reader развиен од Scan.Името на развивачот е наведено под секоја апликација. Можеби ќе треба да скролувате надолу за да ја пронајдете апликацијата направена од Scan.

Чекор 4.Кликнете Инсталирај.Ќе се појави скокачки прозорец со барање да дадете дозвола за пристап до информациите на вашиот Android.

Чекор 5.Кликнете Прифати.Сега ќе се инсталира QR Code Reader на вашиот уред со Android.

    • Кога ќе се преземе апликацијата, копчето „Инсталирај“ ќе се смени во „Отвори“ и ќе имате нова икона во апликацијата.

Чекор 6.Отворете читач на QR код.Ова е икона што изгледа како QR-код во апликацијата. Ова ќе отвори апликација која изгледа како стандарден екран на камерата.

Чекор 7Порамнете го QR-кодот во рамката на камерата.Малку слично како фотографирате, освен што не треба да притискате ниту едно копче. Кога скенерот за баркодови ќе го прочита кодот, ќе се појави скокачки прозорец со URL-то во кодот.


Чекор 8Кликнете на „OK“ за да ја отворите веб-страницата.Ова го стартува вашиот стандарден веб-прелистувач и се движи до URL-то во QR-кодот.

Следниот типичен компјутерски уред, кој се чини дека е едноставен, но понекогаш предизвикува проблеми кај истражувачот, е тастатурата.

Во принцип, уредот е едноставен. Особено не веќе застарените модели поврзани со портата PS/2. Како што покажуваат бројните експериментални податоци, контролниот чип на тастатурата ги скенира тастатурата и ги пренесува во сериски код до портот. Фреквенцијата на часовникот на овој пренос е повеќекратна (во огромното мнозинство на случаи) од 6,3 или 10 kHz. Иако авторот наиде на неколку копии во последниве години, чија фреквенција на часовникот беше околу 20 kHz.

Сите тастатури, кога ќе притиснете и држите кое било копче, почнуваат (по пауза) да го повторуваат преносот на кодот на копчињата „ad infinitum“. Во нормален режим, ова обично доведува до прелевање на баферот на контролорот и дефект во рок од неколку секунди. Се појавува звучен сигналсистем "динамика" - "шкрипење". Суштината на режимот на тестирање (најопштоприфатениот) е да се блокира командата за прелевање на баферот, што овозможува, кога ќе се притисне копче, да се обезбеди бескрајно пренесување на избраниот знак преку кабелот „тастатура“.

Како и секогаш, за правилна последователна пресметка на резултатот, неопходно е да се создаде постојана алтернација на импулси во пакетот со кодови. За шифрите на тастатурата, може да има две такви комбинации:

10101010 (55) клуч „+; = "

01010101 (AA) во стандардни табели - не е применливо

Општата табела на кодови за скенирање е дадена во табела 14.1

Табела 14.1- Кодови за скенирање на тастатурата

Клуч

Скенирајте го кодот

Клуч

Скенирајте го кодот

Клуч

Скенирајте го кодот

Клуч

Скенирајте го кодот

Така, при спроведување на режимот на тестирање и, на пример, ставање тежина на копчето „+“, во кабелот на тастатурата ќе биде присутна бесконечна низа пулсни пакети. Во овој случај, периодот на повторување на пулсот во пакетот (односно фреквенцијата на часовникот) ќе биде еднаков на 6,10 или 20 kHz, а фреквенцијата на повторување на пакетот ќе биде многу помала. Форматот на податоците е прикажан на Слика 14.1

За размена на податоци во кабелот на тастатурата, постојат две линии - KBData и KBSync. При пренос на шифри за скенирање, тастатурата го поставува следниот бит податоци на линијата KBData и го потврдува преносот со пренесување на сигналот од „1“ на „0“ на линијата KBSync.

Контролорот може да ја сигнализира својата неподготвеност за пренос/примање податоци со ниско ниво на линијата KBSync. Остатокот од времето, кога нема податоци за пренос, двете линии имаат високо ниво на сигнал.



Како што следува од горенаведеното, во спектарот PEMIN на кабелот на тастатурата треба да се очекуваат фреквентни компоненти со часовна фреквенција од 1/76,04·10 -6 = 13,15 kHz. Покрај тоа, поради присуството на два фазно поместени сигнали со различни (но повеќекратни!) периоди, парните и непарните фреквентни компоненти ќе се разликуваат по амплитуда.

Како што би се очекувало, PEMIN на синхронизирана линија за податоци е, во принцип, неинформативен. Но, не е воопшто лесно да се разликува еден PEMIN од друг. Има само еден кабел, сигналите се синхрони...

Практично единствениот начин– изберете код за скенирање со минималниот број на логички „1“ во пакетот. Ова се копчињата „F3“ и F9“ (03 и 01 во хексадецимален код). Кодот „00“ не се користи.

Осцилограмот на кодот за скенирање „F3“ е прикажан подолу.


Строго „во однос на енергијата“, ако ги измерите сите фреквентни компоненти на PEMIN со шифрата „=“ и, на пример, кодот „F9“, тогаш разликата во читањата на приемникот на СЕКОЈА од компонентите на фреквенцијата е вистинска информација. дел од PEMIN енергијата. Покрај тоа, ова е максимален максимум. Работата е доста сложена и мачна ако не е можно да се довери на „автоматска машина“. Самите компоненти на ПЕМИН за такви ниски фреквенциине се лесно препознатливи. Така и да ги „фатиме“ разликите...



Во практиката на SI, во огромното мнозинство на случаи, тие едноставно ги мерат нивоата на PEMIN (без да одземат ништо) и го пресметуваат безбедносниот параметар. Ова е можно, „со резерва“, но специјалистот е должен да ја знае вистинската состојба на работите.

На крајот од прегледот - „pinout“ на конекторите на тастатурата AT и PS/2.


„Сликите“ на ресиверот изгледаат далеку од тоа да бидат толку „класични“, сепак, тие се сосема препознатливи. Еве примери



Спектарот јасно покажува зголемување на амплитудата на компонентите со намалување на фреквенцијата.

Исто така, постојат карактеристики на мерења „клави“ во овој фреквентен регион (од десетици kHz и пошироко). Факт е дека тастатурата, во својата вообичаена поставеност, се наоѓа недалеку од системска единица. А на врвот на СБ е пулсен блокнапојувањето е најмоќниот извор на PEMIN и за „E“ и „H“ компоненти. Во „светлината“ на таквото театарско рефлектор, гледањето на слабата „светлина“ на тастатурата е посебна уметност! Затоа, ја предлагам следната техника. Поместете ја тастатурата што подалеку од SB. Подобро - на продолжувач PS/2. Околу 2-2,5 метри.

Ставете ја антената така што да биде насочена што е можно помалку од сателитот (сигналот, со пропусен опсег на приемникот поголем од 10 kHz, е континуиран спектар). И во близина на ориентираната, неподвижна антена, почнете да ја извртувате тастатурата и нејзиниот кабел (не обратно!). Тогаш ќе имате многу поголеми шанси да откриете PEMIN сигнали од тастатурата и да ги видите компонентите на PEMIN на екранот на анализаторот со свои очи.

Сето горенаведено се применува на тастатура со интерфејс PS/2. Но, сега тие масовно се заменуваат со тастатури со USB интерфејс.

Во принцип, овој интерфејс беше дискутиран во некои детали заедно со печатачите. Сепак, би било корисно да се даде одредена „целна ознака“ во врска со тастатурата.

Да се ​​потсетиме на конструкцијата на пакети за USB-интерфејс, имајќи предвид дека тастатурата е поврзана строго со мала брзина (т.е. всушност преку USB 1.0 интерфејсот).

Максималната големина на носивост DATA за уреди со мала брзина е 8 бајти. Тоа е, тоа е токму она што го бара кодот за скенирање на тастатурата.

Гледањето на сигналот (имено податоците) на USB-линијата се покажа дека не е толку лесна задача. Сепак, тоа е она што беше откриено токму во кабелот на типична USB „тастатура“ модел GENIUS KB-06XE, конкретно во линијата „податоци +“ (жица) (Слика 14.10)


Овие два осцилограма се менуваат едни со други со неодредена (хаотична) периодичност, а „сликите“ на сигналите не зависат од притиснато копче на тастатурата (или ниту едно притиснато). Не беше можно да се идентификуваат други промени во „променливиот“ дел од пакетот (рамката).

Фреквенцијата на овие пакети е строго стабилизирана (сл. 14.11), а времетраењето на секој од нив е (видливо на осцилограмите) околу 34 ± 1 μs.


Пакетите следат на секои 4 ms. Сепак, треба да се забележи дека крајот на секој пакет „треперува“ цело време, а се забележува класичното „движење“. Затоа, спектралната слика е донекаде матна и станува јасна само со доволно долг просек.


Дополнително, треба да се земе предвид дека поради различните периоди на повторување на пулсот и нивното различно времетраење, спектарот има карактер на некаква мешавина од континуиран и линиски спектар. Сепак, карактерот на лобусот на спектарот, природен за бесконечна низа пакети и повеќекратен во неговите „лобуси“ од просечното времетраење на пакетот, е зачуван многу јасно. Само „нулите“ на функцијата се измазнуваат со треперење и непроменлив период на повторување на поединечни импулси. Сепак, самата слика е сосема типична. Со пофина резолуција на фреквенцијата, спектарот почнува да се разрешува во „линии“ определени со брзината на повторување на пакетите (250 Hz) (сл. 14.13) Така, со наједноставното гледање на осцилограмите и не синхронизирано со вистинскиот пренос на кодот за скенирање, идентификувајте и визуелизирајте делови од рамката (пакет), одговорни за пренос на податоци, не успеаја. Сепак, може да се тврди дека PEMIN на кабелот на тастатурата сепак ќе биде овој и нема друг. Јасно е на кои фреквенции да се бара, јасно е дека ќе има континуиран карактер (во секој случај, со резолуција на фреквенцијата на приемникот поголема од 0,3 kHz). И јасно е која вредност да се замени како вредност на часовникот во пресметките (минималниот период на импулси во пакетот во експериментот беше 1,322 μs). Мерењето на ова, на кој било SI, со осцилоскоп со пропусен опсег од најмалку 200 MHz е тривијална задача. Тестниот режим, всушност, е кој било, можете да притиснете кое било копче или не можете да притиснете ништо. Во секој случај, пакетите се пренесуваат преку интерфејсот. И, на прво приближување, ги сметаме за информативни (додека не се докаже спротивното).

Дадените осцилограми и спектри се добиени со помош на осцилоскоп AKIP-4108/2 поврзан на истиот компјутер на кој се вршени мерењата (треба да се напомене дека ова е многу функционално повторување на развојот на компанијата PICO Technology од страна на нашата. Не полошо од Кинезите :)).

Спектарот јасно оди подалеку од 1 MHz (осцилоскопот повеќе не го дозволуваше тоа и немаше поента во поврзувањето на анализаторот). Остатокот го одредува кабелот, како случајна антена, и степенот на неговата заштита.

За други режими на USB-интерфејсот, потребен ви е осцилоскоп со пропусен опсег од многу GHz.

Како точно да се пресмета континуираниот спектар и, во исто време, да се остане во рамките на сегашната НМД е посебен разговор, а не за отворена дискусија, за жал... Меѓутоа, во следните публикации ќе треба да се навратиме на тоа, таму нема каде да оди. Ќе се обидам да „останам во границите“...

Она што ме поттикна да работам на уред од ваков вид беше фактот што повеќето од уредите Gamemort кои лесно се реплицираат не дозволуваа имплементација на доволен број контролни копчиња. Приклучокот за компјутерски игри првично беше дизајниран за максимум четири копчиња. Сите видови екстензии исто така ја немаат посакуваната флексибилност. На пример, екстензијата CH Flightstick Pro, популарно меѓу оние кои сами си прават, ви овозможува да имплементирате до 14 копчиња, но не можете да користите ниту едно две копчиња во исто време - за летање на такви уреди во игри во кои треба постојано да го „вртите глава“ - во истите птици, можете да заборавите. Некои екстензии користат чисто дигитален интерфејс - податоците за притиснати копчиња и отклонување на копчето се пренесуваат по линиите на дигиталните пристаништа за игра, кои првично беа наменети за пренос на податоци за четирите „стандардни“ копчиња. Дури и ги сметам таквите екстензии донекаде излишни. И конвертирањето на аналогните податоци во дигитални го комплицира дизајнот на џојстикот. Покрај тоа, не секоја игра сака да разбере какво чудовиште е „прикачено“ на неа. И тастатурата - еве ја, во сета своја слава од 102 копчиња! Дополнително, претплатниците на RU.GAME.FLIGHT долеваа масло на огнот, прашувајќи од време на време „како можам да ја скротам тастатурата и да ја преминам со радост? и заминување без ништо.

Накратко, задачата на уредот е да „седи“ на автобусот помеѓу тастатурата и компјутерот и да симулира удари на тастатурата во согласност со копчињата притиснати на уредот.

Така, седнав да го развијам. Пред тоа имав искуство со работа со различни микропроцесори и микроконтролери. Во принцип - прсти од уво до уво. И наивно верував дека сега ќе седнам на доковите, ќе правам RTFM и за една недела ќе бидам на бел коњ. Целиот проблем беше што не можев да најдам документација за протоколот за пренос на податоци помеѓу тастатурата и контролерот ниту на Интернет, ниту на соодветните конференции Фидо. Морав да земам осцилоскоп и да поминам неколку недели расклопувајќи ги импровизираните и обидувајќи се да ги повторам. Затоа, повеќето од информациите презентирани подолу се резултат на моите заклучоци и не се документирани. Ако грешам за нешто, ќе ми биде драго да ги слушнам вашите коментари на рашпилна укрточка нето.

Основни принципи на пренос на податоци

Сето следново важи за тастатурите PS/2 и AT, кои се разликуваат само во дизајнот на конекторот (може да се поврзат преку адаптер).

Двонасочната размена на податоци се одвива помеѓу тастатурата и контролорот лоциран на матичната плоча на компјутерот (во натамошниот текст едноставно наречен „контролор“). Контролерот пренесува различни команди (на пример, менување на состојбата на LED диодите или брзина на автоматско повторување). Тастатурата ги пренесува кодовите за скенирање на притиснатите копчиња (шифра за скенирање - симболклучеви, не треба да се мешаат со ASCII кодови).

Скенирајте ги кодовите

Клуч Скенирајте го кодот Клуч Скенирајте го кодот Клуч Скенирајте го кодот Клуч Скенирајте го кодот
1 16 2 1E 3 26 4 25
5 2E 6 36 7 3D 8 3E
9 46 0 45 - 4E + 55
Backspace 66 Таб 0D П 15 В 1D
Е 24 Р 2D Т 2C Y 35
У 3C Јас 43 О 44 П
[ 54 ] Внесете Ctrl(L) 14
А 1C С Д 23 Ф
Г 34 Х 33 Ј К 42
Л ; 4C " 52 ` 0E
Shift(L) 12 \ 61 З X 22
В 21 В Б 32 Н 31
М , 41 . 49 /
Shift(R) 59 Alt(L) 11 Простор 29 Големи букви 58
Esc 76 Ф1 05 F2 06 F3 04
F4 0C F5 03 F6 0B F7 83
F8 F9 01 F10 09 F11 78
F12 07 Заклучување на лизгање 7E * 7C Num Lock 77
7 6C 8 75 9 7D -
4 5 73 6 74 +
1 69 2 72 3 0 70
. 71 Alr(R) E0-11 Ctrl(R) E0-14 Екран за печатење E0-12-E0-7C
Вметнете Е0-70 Избриши E0-71 Лево E0-6B Дома E0-6C
Крај E0-69 Горе Е0-75 Долу E0-72 Страница нагоре E0-7D
PageDown Е0-7А Во право E0-74 Внесете Е0-5А / E0-4A

Забелешка: AT тастатурата всушност има три различни групи на скенирања. Ги дадов само вредностите за сетот бр. 2 - стандардната.

Кога ќе притиснете копче, тастатурата го пренесува кодот за скенирање на ова копче до контролорот. Кога ќе се ослободи, прво префиксот 0F0h, а потоа кодот за скенирање на ослободениот клуч.

Комбинациите на копчињата со Shift, Alt и Ctrl се пренесуваат како низа од два кодови за скенирање. Од гледна точка на контролорот, овие клучеви не се разликуваат од сите други. На ист начин, режимите Num Lock и Caps Lock не се разликуваат на хардверско ниво - тие се разликуваат на ниво на софтвер според програмата што ја сервисира тастатурата прекинува.

Би сакал накратко да разговарам за имплементацијата на режимот за автоматско повторување. Како по правило, функциите за автоматско повторување се доделуваат на самата тастатура - по одредено време, ако клучот не се ослободи, тастатурата испраќа друг точно ист код за скенирање. Ако притиснете друго копче во овој момент, друг код за скенирање ќе „лета“ до контролорот и ќе се смета дека е притиснато само едно копче. Во игрите, овој проблем се решава едноставно - клучот се смета за притиснат додека не пристигне соодветниот код за скенирање со префиксот 0F0h. Затоа, во принцип не ги имплементирав функциите за автоматско повторување.

Покрај горенаведените кодови за скенирање, тастатурата може да врати некои сервисни команди. Но, овие команди, како и командите издадени од контролорот, немаат практична вредност во овој случај. Затоа, нема да се задржувам на нив.

Опис на протоколот за размена

Размената на податоци помеѓу тастатурата и контролорот се врши асинхроно со помош на сериски протокол. Суштината на асинхрониот пренос е дека податоците се пренесуваат само кога има нешто да се пренесе - копче на тастатурата е притиснато/отпуштено и треба да се издаде соодветниот код за скенирање или контролорот треба да издаде команда на тастатурата.

Постојат две линии за размена на податоци - KBData и KBSync. При пренос на шифри за скенирање, тастатурата го поставува следниот бит податоци на линијата KBData и го потврдува преносот со пренесување на сигналот од „1“ на „0“ на линијата KBSync. Кога прима податоци од контролорот, тастатурата го чита битот за податоци од линијата KBData и го потврдува приемот со пренесување на сигналот на линијата KBSync од „1“ на „0“. Контролорот може да ја сигнализира својата неподготвеност за пренос/примање податоци со ниско ниво на линијата KBSync. Остатокот од времето, кога нема податоци за пренос, двете линии имаат високо ниво на сигнал. Стапката на повторување на пулсот на линијата KBSync е околу 10-25 KHz.

Податоците се пренесуваат по следниот редослед: еден почетен бит - „0“, осум битови за податоци, бит за паритет (збирот на сите битови +1), еден бит за застанување - „1“. По примањето на секој бајт на податоци, контролорот ја поставува линијата KBSync на ниско ниво, со што сигнализира дека е зафатен со обработка на примените податоци и дека не е подготвен да го прими следниот. Ова може да се смета за потврда за прифаќање. Тастатурата го потврдува секој бајт од добиената команда со издавање на кодот 0FAh. Ако се појави грешка при преносот, контролорот може да бара преносот на последниот бајт да се повтори со издавање на командата 0FEh. Тастатурата се однесува поинаку - едноставно ги игнорира грешките. Не гледам ништо фатално во ова - ако вашиот систем често паѓа, тогаш нема место на вашата работна површина.

Најверојатно, моите објаснувања беа премногу збунувачки, па ќе се обидам да ги илустрирам со неколку временски дијаграми.

Општ приказ на пренос на податоци од тастатурата (S1 - бит за почеток; S2 - бит за запирање; D0-D7 - податоци; P - бит за паритет; W - обработка на примени податоци)

Пример за пренос на бајти 74 часа - копчето „6“ на нумпедот. Во овој пример, кога преносот е инициран од тастатурата, контролорот сигнализира дека не е подготвен да прима податоци и тастатурата чека линијата KBSync да стане бесплатна

Хардверска имплементација

Сега ќе се префрлам директно на описот на имплементацијата на уредот во хардвер.

Уредот е поврзан со прекин на сигналите KBSync и KBData и преку себе пренесува сигнали од/до тастатурата, ја испитува состојбата на четирите копчиња и ги издава соодветните шифри за скенирање, со што се симулира работата на тастатурата.

Уредот е базиран на микроконтролер со еден чип AT89C2051. Микроконтролерот Atmel AT89C2051 припаѓа на семејството MCS-51 ( домашен аналог- МК-51). Главната разлика помеѓу AT89C2051 и i8051 е помалата потрошувачка на енергија, бројот на I/O линии намален на 15 и неможноста да се користи надворешна меморија. Повеќе детални информации AT89C2051 и i8051 може да се најдат на www.atmel.com и www.intel.com. Наместо AT89C2051, можете да користите AT89C51, i8051 (KR1816BE51) или i8031 (KR1816BE31) со надворешен ROM. Но, последните две опции, поради нивната зголемена потрошувачка на енергија, може да доведат до дување на осигурувачот на контролорот на тастатурата.

На микроконтролерите на Atmel, по главната ознака, максималната фреквенција на генераторот на часовникот е означена во мегахерци. Ве советувам да инсталирате микроконтролер дизајниран за фреквенција од 24 MHz и кварц со повисока фреквенција - 16-20 MHz.

Шематски дијаграм. (R1-R4 - 47K; R5 - 10K; C1, C2 - 18pF; C3 - 1uF; D1 - AT89C2051; BQ1 - кварц 12-24MHz)

Линијата P1.4 се користи како излез за овозможување на копче за гласање. Ова е основа за идни проширувања - линиите P1.4-P1.7 ќе се користат за издавање на адресата на линијата за избирање притиснати копчиња (до 16 линии од по 4 копчиња). „0“ на линијата P1.0-P1.3 значи дека е притиснато соодветното копче.

Елементите C3 и R5 имплементираат коло што генерира сигнал за ресетирање кога се применува напојувањето.

KBData линиите од тастатурата и контролерот се доставуваат до влезовите P3.2 (INT0) и P3.3 (INT1). Така, обидот да се иницира пренос на податоци од тастатурата или контролорот предизвикува соодветен прекин. Рутините за сервисирање на овие прекини едноставно емитуваат сигнали што одговараат на пренос на еден бајт преку микроконтролерот. Кога микроконтролерот не е зафатен со пренос на податоци, линиите P1.0-P1.4 се избираат, добиените податоци се обработуваат и соодветните шифри за скенирање се издаваат на контролорот. Оваа верзија им дава приоритет на податоците што ги пренесува самиот уред. Затоа, понекогаш може да се изгубат податоците од тастатурата.

За да го завршам овој дел, ќе го дадам пинот на конекторите на тастатурата AT и PS/2.

Сигналот -KBRset е опционален сигнал. Некои контролери може да го користат ова за да ја ресетираат тастатурата.

Текст на фирмверот

Го давам изворниот текст на фирмверот за микроконтролерот AT89C2051 со надеж дека испитувачки читач ќе може да ме поправи или да ја прилагоди програмата да работи со друг тип на микроконтролер.

Org 0 sjmp start org 3 jmp from_keyboard ; INT0 org 13h jmp до_тастатура ; INT1 старт mov a,#5 ; поставување на типот на прекин mov tcon,a ; INT0 и INT1 на предната страна - mov a,#0 ; премин од „1“ во „0“ mov ip,a mov a,#85h mov т.е.,a mov a,#0ffh ; последниот mov 6,a е зачуван на адреса 06h; обработен код clr ​​p1.4; овозможи јамка за гласање mov a,p1 ; се чита состојбата на копчињата и a,#15; - најмалку значајни четири бита на портата P1; D0 - нагоре; D1 - десно; D2 - надолу; D3 - лево mov dptr,#hat_table ; читање податоци за четири копчиња movc a,@a+dptr ; проширен на осум насоки; D0 - нагоре; D1 - десно; D2 - надолу; Д3 - лево; Д4 - десно-нагоре; D5 - десно-надолу; D6 - лево-надолу; D7 - лево-нагоре mov r2,a ; зачувување на податоци mov r0,a xrl a,6 ; ако новите податоци не се разликуваат од jz циклусот ; примени во претходниот циклус - повторете ја анкетата mov r1,#8 ; јамка за осум бита loop3 jnb acc.7,loop2 ; "1" - имаше промена push acc mov a,r1 mov dptr,#key_table-1 ; извлечете го соодветниот код за скенирање movc a,@a+dptr притисни acc mov a,r0 ; регистар R0 - знак за притискање/отпуштање rlc a ; емулиран клуч mov r0,a ; „1“ - „клучот“ беше ослободен pop acc mov acc.7,c ; ако D7=1 - на кодот за скенирање ќе му претходи 0f0h повик send_key ; издавање код за скенирање pop acc sjmp јамка2а јамка2 притисни acc mov a,r0 rlc a mov r0,a pop acc loop2a rl a djnz 1,loop3 mov 6,r2 sjmp јамка send_key mov ie,#80h ; прекинува оневозможен акал send2comp ; испраќање на код за скенирање mov т.е., # 85h ; прекинува овозможено ret send2comp jnb acc.7,send ; ако е потребно, 0f0h притисни acc mov a,#0f0h acall испрати поп acc clr acc.7 mov b,#200 l9 nop djnz b,l9 испрати туркање 1 туркање 0 clr p3.3 ; P3.3 - KBData mov b,#6; издавање почетен бит l10 nop djnz b,l10 clr p3.5 mov b,#15 l2 nop djnz b,l2 setb p3.5 mov b,#6 l3 nop djnz b,l3 mov r0,#8 ; излез на осум битови на податоци и броење паритет mov r1,#1 бајт_јамка xrl 1h,a rrc a mov p3.3,c mov b,#6 l6 nop djnz b,l6 clr p3.5 mov b,#15 l4 nop djnz b, l4 setb p3.5 mov b,#6 l5 nop djnz b,l5 djnz r0,byte_loop mov a,r1 mov c,acc.0 mov p3.3,c ; бит за излезна паритет mov b,#6 l8 nop djnz b, l8 clr p3.5 mov b, #15 l12 nop djnz b, l12 setb p3.5 mov b, #6 l13 nop djnz b, l13 setb p3.3 ; излезен стоп бит mov b,#6 l7 nop djnz b, l7 clr p3,5 mov b, #15 l11 nop djnz b, l11 setb p3,5 mov b, #200 l14 nop djnz b, l14 setb p3,5 поп 0 pop 1 ret from_keyboard ; пренос на еден бајт на контролерот mov т.е., #80h притисни psw притисни acc притисни b mov b,#2 во6 jnb p3. 4,in8 djnz b,in6 sjmp in7 in8 mov b,#10 in1 mov a,p3 rl a orl a,#11010111b mov p3,a jnb p3.4,in1 in2 mov a,p3 rl a orl a,#11010111b mov стр. .3,in7 clr p3.4 jnb p3.5,in5 in7 mov p3,#0ffh pop b pop acc pop psw mov tcon,#5 mov ie,#85h reti to_keyboard ; префрлање на еден бајт на движење на тастатурата, т.е., #80h притисни psw притисни acc притисни b mov b,#5 out61 jb p3.5,out7 djnz b,out61 setb p3.4 setb p3.2 out62 jnb p3.5,out62 out6 mov c ,p3.4 mov p3.5,c mov c,p3.3 mov p3.2,c jb p3.4,out6 out8 mov b,#10 out1 mov c,p3.4 mov p3.5,c mov c , p3.3 mov p3.2,c jnb p3.4,out1 out2 mov c,p3.4 mov p3.5,c mov c,p3.3 mov p3.2,c jb p3.4,out2 djnz b, out1 out3 mov c,p3.4 mov p3.5,c mov c,p3.2 mov p3.3,c jnb p3.2,out3 out7 mov p3,#0ffh pop b pop acc pop psw mov tcon,#5 mov т.е., #85h reti hat_table ; табела за проширување на податоците прочитани од портата P1; индексот во табелата е четири-битен бинарен код; податоци - состојбата на осумте емулирани клучеви; „0“ - притиснато копче db 0ffh ; лево+десно+горе+долу=забранета комбинација db 0ffh ; лево+десно+долу=забранета комбинација db 0ffh ; лево+горе+долу=забранета комбинација db 0bfh ; лево+долу=лево-долу db 0ffh ; лево+десно+горе=забранета комбинација db 0ffh ; лево+десно=забранета комбинација db 07fh ; лево+нагоре=лево-нагоре db 0f7h ; лево db 0ffh ; десно+горе+долу=забранета комбинација db 0dfh ; долу+десно=долу-десно db 0ffh ; горе+долу=забранета комбинација db 0fbh ; надолу db 0efh; десно+горе=десно-нагоре db 0fdh ; десно db 0feh ; до db 0ffh; без притиснати копчиња key_table ; Табела со кодови за скенирање db 75h; numpad 8 db 74h ; numpad 6 db 72h ; numpad 2 db 6bh ; numpad 4 db 7dh ; numpad 9 db 7ah ; numpad 3 db 69h ; numpad 1 db 6ch ; нумппад 7

Во архивата tools.zip ќе најдете две програми: a51.exe - асемблер, hex2bin - конвертор на хексадилни датотеки, кои се добиваат на излезот од асемблерот, во бинарен формат погоден за трепкање на ROM-от на микроконтролерот со програмер .

Склопување и решавање проблеми

Уредот можете да го составите според горната дијаграма на даска за леб, штица гравирана дома или индустриски произведена. Под микроконтролерот треба да се стави штекер. Најдобро е да оставите простор на таблата за 2-3 16-пински DIP пакети - тие ќе бидат додадени во следните верзии.

Следно, откако ќе ги направите саканите промени, изворниот текст на микропрограмата се составува со помош на програмата a51.exe. За да го трепка фирмверот со програмерот, добиената хексадетична датотека се претвора во бинарна слика од програмата hex2bin.exe.

Откако целосно го составивме уредот, го поврзуваме со тастатурата и компјутерот. Три... Два... Еден... Одиме!.. Правилно склопен уред од познати добри компоненти треба веднаш да работи. Ако не, проверете ја правилната инсталација и присуството на напојување на микроконтролерот. Со помош на осцилоскоп, проверете дали генераторот на часовникот започнал и дали пулсот на високо ниво пристигнува на влезот RST кога ќе се вклучи напојувањето. При притискање на копчињата на тастатурата, пулсирањата на линиите P3.3 и P3.5 треба да се повторуваат, со одредено задоцнување, пулсирањата на линиите P3.2 и P3.4, соодветно. Кога ќе ги притиснете/отпуштите копчињата на уредот, треба да се појават импулси и на линиите P3.3 и P3.5. Ако ова не помогне, пишете ми ( рашпилна пристаништетоточка ru) извештај за бубачки, кој ги означува моделот и типот (AT, PS/2) на вашата тастатура, матична плоча/мултикартичка, користен микроконтролер и фреквенција на користените кварцен резонатор. Се обидов да го тестирам уредот со максималниот број што ми е достапен матични плочии тастатури - не беа идентификувани никакви проблеми. Во мојот случај се користеше кварц од 14,2 MHz.

Познати бубачки

Тековната верзија на фирмверот ги содржи следните дефекти:

  • Кодовите за скенирање со двојни бајти не се следат. Ова води до фактот дека понекогаш, при користење на колибата и тастатурата во исто време, копчињата на тастатурата „замрзнуваат“ кога се притискаат или се перцепираат погрешно;
  • Понекогаш податоците се пренесуваат погрешно од контролорот на тастатурата. Ова може да се изрази, на пример, во фактот што LED диодите не ја менуваат нивната состојба кога се притиснати копчињата Num Lock, Caps Lock, Scroll Lock;
  • Штракање на контактите на копчињата на колибата. Досега ова не беше фатално за мене во гејмингот.

Идни планови

Еве краток список на она што би сакал да го имплементирам во идните верзии:

  • Мали поправени грешки - поправилна обработка на сигналот; следење на кодови за скенирање со двојни бајти;
  • Поврзување на матрица 16x4 - поддршка до 64 копчиња или две колиби и до 56 копчиња;
  • Поддржува до 16 различни распореди на кодови за скенирање складирани во ROM-от на микроконтролерот;
  • Поврзување на NVRAM чип со можност за зачувување и репрограмирање „во лет“ до 32 распореди на кодови за скенирање.

Заклучок

Се обидов да ги претставам сите податоци потребни за да го разберам принципот на работа на мојот уред. Овој опис не тврди дека е 100% технички точен. Ако не сум во право за нешто, кажете ми ја вашата верзија на настаните. Ако можете да направите подобрувања и дополнувања на моето коло и/или фирмверот, ако имате идеи за понатамошен развој на колото, ве молам исто така известете ме. Дополнително, чекам информации од занаетчии кои можеа да го реплицираат или прилагодат овој уред за други видови микроконтролери.

Владимир „Расп“ Климус (рашпилна укрточка нето)

  1. На врвот на прозорецот на Google Play има низа за пребарување. Ова е токму она што ќе го користиме. Активираме и го пишуваме името на нашата апликација. Не е неопходно да се внесе до крај. Штом предметот наведен на сликата од екранот се појави во резултатите од пребарувањето, едноставно допрете го.
  1. Ќе бидеме пренасочени на почетната страница на програмата. Има големо зелено копче кое вели „INSTALL“. Кликнете на неа.
  1. Чекаме апликацијата да заврши со преземањето. Бидејќи тежи нешто помалку од 5 MB, процесот нема да потрае многу време.
  1. Подготвени. Откако ќе заврши автоматската инсталација, можеме да ја стартуваме програмата директно од овде.
  1. Исто така на почетен екран(ако е активирано во поставките) ќе се појави кратенка за стартување.

Во овој момент, инсталацијата на програмата е завршена и можеме да преминеме на преглед на работа со неа.

На скриншот подолу гледате софтверски интерфејс. Овде е поделен на 3 главни јазичиња. Постои и икона за поставки направена во форма на запчаник. На главниот таб „SCAN“ има 4 главни алатки:

  • Скенирај баркод. Ова е QR скенер кој работи преку камера;
  • Рачно внесување. Функција на рачно внесување на податоци за код;
  • Декодирајте од датотека. Декодирање од датотека. Од тука можете да го отворите претходно преземениот QR-код и да го прочитате;
  • Дешифрирајте од УРЛ. Скенирајте со врска.

На дното има неколку копчиња кои не обезбедуваат корисна функционалност. Не треба да обрнувате внимание на нив.

Ајде да ги погледнеме поставките на програмата. Тука ги има доста. Ќе има слики од екранот од различни области за конфигурација на вашите екрани, но ние едноставно ќе искажеме некои од најинтересните точки.

На пример, на првиот екран можете да го овозможите или оневозможите звукот на програмата. Истото може да се направи со одговор на вибрации. Можете да го поставите режимот на работа кога програмата ќе почне да работи веднаш од скенерот, заобиколувајќи го главното мени. Друга важна карактеристика е автоматското копирање на податоците на таблата со исечоци.

Штом сакаме да започнеме со скенирање и да го стартуваме самиот скенер, програмата ќе побара пристап до потребните системски ресурси. Нормално, треба да се реши. Кликнете на копчето означено на сликата од екранот.

Следно, ја поставуваме рамката на скенерот така што хоризонталната лента паѓа директно на QR. Обидете се да не се ракувате и во исто време да внимавате на вашиот фокус. Без нормална острина, скенирањето нема да успее.

За да се овозможи QR БАРКОД СКЕНЕРОТ да работи во услови на слаба осветленост, има позадинско осветлување.

Откако ќе се препознае кодот, ќе ги видите информациите прикажани на екранот подолу.

Покрај скенирањето QR, можете да ги креирате и овде. За да го направите ова, одете на третото јазиче. Го означивме на екранот. Списокот ги прикажува сите видови податоци што може да се шифрираат. Поддржано е следново:

  • контакт со телефонскиот именик;
  • телефонски број;
  • URL;
  • Е-пошта;
  • апликација;
  • локација;
  • кој било текст;
  • обележувач;
  • календарски настан.

Сето тоа изгледа вака:

Откако ќе се избере и специфицира типот на податоци, сè што треба да направиме е да кликнете на копчето „Кодирај“. Во овој случај, ја шифриравме врската.

Ајде да се обидеме да шифрираме и произволен текст. За да го направите ова, изберете ја саканата ставка.

Внесете ја фразата во назначеното поле и притиснете го копчето „Кодирај“.

Резултатот изгледа одлично. Да ја смениме и нејзината боја. Кликнете на копчето наменето за ова.

Изберете ја саканата нијанса од палетата.

И се восхитуваме на добиениот QR.

Да преминеме на следната програма, која исто така има импресивна функционалност.

QR Droid скенер за кодови

Друга апликација што може да се најде на Google Play. Можете исто така да го преземете од директна врска на веб-страницата на Google. Засега ќе ја разгледаме самата програма.

Вака изгледа кратенката за стартување на QR Droid Code Scanner – кликнете на неа.

Оваа апликација, за разлика од претходната, е направена на руски јазик и штом ќе започне, ќе треба да кликнеме на копчето што вели: „ПОЧНЕТЕ“.

Скенерот е веднаш видлив, но прво да ги погледнеме неговите поставки. Допрете на копчето што се наоѓа во горниот десен агол.

Во главното мени се видливи 6 плочки со копчиња кои го пренасочуваат корисникот до саканиот дел. Тука се:

Значи, за да го користите скенерот, треба да го активирате во главното мени и, покажувајќи на QR-кодот, притиснете го копчето „Прочитај“.

Овде го избирате почетниот екран, ја поставувате адресата за Резервирајте копијаа јазикот на софтверскиот интерфејс е конфигуриран.

Следно, можеме да го инсталираме механизмот за скенирање. Се користи еден од сопственичките алгоритми: Zapper или ZXing. Подолу можете да го овозможите или оневозможите вкрстувањето, конфигурирајте автоматско дејствопо скенирањето и овозможете прикажување на совети за алатки или копирање на врската до таблата со исечоци.

Овој дел се конфигурира звучна придружба, вибрациите се вклучуваат и исклучуваат. Процесот на снимање дејства во дневникот и интеракција со паметен часовник Android Wear.

Тогаш ќе можеме да извезуваме или увезуваме резервна копијаили одреди датум.

Дозволете испраќање на анонимни податоци (подобро е да се оневозможи), активирајте ја верификацијата на безбедносната врска добиена за време на скенирањето или конфигурирајте сериско скенирање. Функциите како што се зумирање или истакнување се достапни подолу.

Но, нашите поставки не завршуваат тука. Покрај горенаведените функции, го имаме следново:

  • поставување на ориентација на екранот;
  • работа со предната камера;
  • парсирање на врски;
  • изложба на продавници.
  • продолжена функција на лизгање;
  • забрана на некои посебни знаци;
  • активирање на WEB преглед;
  • барај зачувани слики.

Последниот екран за поставки содржи интересни карактеристики како што се поставување на максимален број позиции, конфигурирање на прилагодени CSV-а, тресење на паметниот часовник и зачувување на дупликат позиции.

Покрај поставките, во менито QR Droid Code Scanner има ставка наречена „Повеќе“. Ајде да ја разгледаме неговата функционалност.

Еве ги следните можности:

Да ја погледнеме последната, но не помалку функционална апликација на нашата листа.

NeoReader QR и скенер за баркодови

Оваа програма, како и другите, можете да ја преземете и инсталирате преку Google Playили преку директна врска. Кога ова е направено, можете да продолжите директно да работите со него.

Првиот пат кога ќе стартуваме, ќе треба да го задоволиме барањето за пристап. Кликнете на „ДОЗВОЛИ“.

Потоа ќе се појави прозорец со поставки. Овде можете да изберете јазик, да ја наведете вашата земја, пол и возраст. Двете полиња за избор подолу ви дозволуваат да го овозможите или оневозможите пристапот на програмата до геоподатоци.

Всушност, можете да започнете со скенирање. Насочете ја камерата кон QR-кодот и NeoReader QR & Barcode Scanner автоматски ќе ја препознае неговата содржина.

Сметаме дека овие три програми се сосема доволни за секој човек. Изберете го оној што е најзгодно за вас и користете го по ваша дискреција. Ќе зборуваме за некои од карактеристиките на кинеските уреди.

Стандардна функционалност

Некои паметни телефони и таблети (во зависност од брендот) имаат стандардна функционалност за скенирање на QR код и се може да се направи без апликација. Нема да ги наведеме сите, ќе го допреме само моделот од Xiaomi.

Ајде да го сумираме

Како резултат на тоа, научивме како да скенираме QR-код на Android различни начини. Се надеваме дека статијата ви беше корисна. Ако сè уште имате прашања, прашајте ги во коментарите. Ќе се обидеме да им помогнеме на сите.

Дури и ако тоа не се случи, еден од корисниците на страницата дефинитивно ќе ви каже како да излезете од ситуацијата и да даде практични совети. Сè што треба да направите е да го оживеете.

Видео инструкција




Врв