Hlavne menu We are sorry, but magazine AMMO is suspended. Here is just read-only access to the articles archive. Some features are removed because they were outdated, pointless in read-only (voting and pools), or it was missused by spammers (comments) etc. Now the webpages aren't maintained so when something will get broken most probably it won't be fixed at all. If you liked our magazine then please make donation with paypal so we can pay for traffic on this server.

TOP Hardware
01 Diaľkové ovládanie na každé PC 37 bodov
02 Voodoo 2 14 bodov
03 Mp3 DiscMan - Lenoxx MP-786 6 bodov
04 Matrox G400 5 bodov
05 IBM ThinkPad 701 CS 2 body
06 Cyrix 1 body
07 Pioneer DVD 103s 1 body
08 IBM Deskstar 75GXP 45 GB 1 body
09 AMD ATHLON Thunderbird 800 MHz 0 body
Najnovsie clanky
Kvalitné služby podľa skúseností iných - TopSlužby.sk
LOTR - Dve veže - Parodia - Scénka 2. časť
Neverwinter nights
Children Of Bodom-Hatebreeder
Kult Duny - 6. časť (Bonus)
Kult Duny - 5. časť (Filmy, Hry)
Dobré ráno. (morc certa, hora incerta...)
Kult Duny - 4. časť (Knihy 2/2)
Stretnutie Spoločenstva Tolkiena
GRAVE DIGGER – Knights Of The Cross
Kult Duny - 3. časť (Knihy 1/2)
Kult Duny - 2. časť (Pojmy)
Kult Duny - 1. časť (Úvod)
LOTR - Dve veže - Parodia - Scénka
Jackass
Vsetky clanky
Airsoft - Specnaz [4 clanky]
Básne [6 clankov]
Fantázia [4 clanky]
Filmy a DVD [51 clankov]
Hardware [10 clankov]
AMD ATHLON Thunderbird 800 MHz
Cyrix
Diaľkové ovládanie na každé PC
IBM Deskstar 75GXP 45 GB
IBM ThinkPad 701 CS
Matrox G400
Mp3 DiscMan - Lenoxx MP-786
Pioneer DVD 103s
Voodoo 2
Hry [170 clankov]
Hry, návody [6 clankov]
Hudba [8 clankov]
Internet [7 clankov]
Knihy [6 clankov]
O AMME [4 clanky]
Pandemonium [10 clankov]
Poviedky [14 clankov]
Programy [18 clankov]
Rôzne [8 clankov]
Technické [3 clanky]
Úvahy [8 clankov]
Výuka [50 clankov]
Zábava [5 clankov]
Zdravie [15 clankov]
Celkovy pocet clankov: 407
Elektronicka Klavesnica a KuraSolver 
Hardware | Dna 23.9.2004 | Fredy | 10 znamok, priemer 2.30 | 7280 videni | 717 WAP videni

Obr�zok



Určite sa pýtate, na čo nám takéto niečo je? Dôvodov je viac:

*Kvôli aktuálnej hre KurvaMaticu (ja SW klávesnicu by som nevedel, síce C/C++ ovládam dobre, neviem programovať aplikácie pre Windows, takže mám smolu)

*Kvôli veciam, čo sa nedajú napodobniť, napríklad keď SW ešte nemôžme použiť, pri štarte počítača, BIOSu atď…

*Kvôli bezpečnosti, kde SW nie je možné použiť, napríklad logovanie do NT systémov sa robí CTRL + ALT + DEL, ktorý spustí WinLogon, tento WinLogon je schopný zareagovať iba na skutočnú klávesnicu a podobne…

Samozrejme hlavný dôvod bol ten skurvený Kuramatic.



Takže potrebujeme na to:

*Starú klávesnicu, hodnota: 100,-
*Atmela AT 89x2051, hodnota: 100,-
*MAX232 (na Slovensku som väčšinou kúpil jeho alternatívu HI232), hodnota: 70,-
*Kryštál 11.0592Mhz, hodnota: 11,-
*elektrolytické kondenzátory: 10 uF 6ks hodnotu neviem, mal som doma.
*kondezátory 3.3 pF 2ks
*programátor microcontrollerov (buď nejaký spraviť, alebo kúpiť) hodnota: niekoľko stovák až niekoľko tisíc (záleží na prevedení), ja osobne som používal zapožičaný Elnec PREPROM-02 s modulom pre 2051 (www.elnec.cz). A zároveň chcem poďakovať firme MaR System za zapožičanie.
*sériový kábel, alebo pár metrov tienenej dvojlinky a 2ks krytiek s 9pin RS232 Samicami.
*zdroj napätia 5V (stačí do 500mA, myslím, že aj nejakých 100mA by malo postačiť, pre Atmela určite, pre 232 neviem si odhadnúť), prípadne laboratórny regulovateľný zdroj, odporúččam s prúdovou poistkou (ak niečo budete skúšať, aby vám skrat v zapojení nezničil nejakú súčiastku)
*podľa potreby klávesnice 4ks tranzistorov (môže sa stať, že nebude treba žiaden a Atmel to bude môcť riadiť priamo), PNP alebo NPN, je to na vás ako si to vymyslíte a hlavne akú klávescnicu máte.
*nejaký multimeter.
*pájkovačku (hádam aj bodovú mikropájkovačku, ak sa bojíte o CMOS obvody). Ja som použil transformátorovú, asi sa chytáte za hlavy, že som mohol celý radič pofajčiť, ale nestalo sa to tak, pájkujte bez prestávky a prerušujte len keď sa nedotýkate plošáku, tak aby tie výboje pri spínaní a rozopínaní neschytala logika radiča, vtedy to má najväčšiu šancu prežiť). Samozrejme aj zvyšnú výbavu, cín, prípadne niekedy kolfóniu, hroty (aj viac, ak ich prepaľujete), odsávaku (ak spojíte spolu zo 5 častí plošáku, nebudete mať inú možnosť ako to napraviť)
*nejaké odpory, určite aspoň jeden 8.2 Kohm.
*20PINovú päticu (pre atmela), 16PINovú pre max232.
*pár vodičov
*maticu ako plošák (ale je drahá), ja to skladám vo vzduchu, priamo spojím káblikom, čo treba.
*samca 9pin serial 232


Programová výbava:
*Niečo na napaľovanie, ak máte napaľovaciu od elnec máte mať k tomu aj program, prípadne si ho stiahnite z horemenovaného webu.
*niečo na sériovú komunikáciu, v DOS sa mi páčil Telix, vo Windowse HyperTerminal
*niečo na kompilovanie ASM51
*textový editor

Obr�zok



Takže ako prvé rozoberte klávesnicu, šroubovákom alebo kladivom (dajte pozor, aby to neschytal radič klávesnice). Pozrime si fólie, ja debil som svoje zahodil skôr ako som sa rozhodol robiť recenziu (pôvodne to mal byť tajný plán pre moje účely a nemal som zámer to dokumentovať, keby som sa predtým nechválil na diskusiách, tak by to možno aj ostalo). Nevadí, použijem fólie z notebookackej klávesnice z môjho iného projektu “Sériová Klávesnica” (lacné plnohodnotné riešenie klávesnice pre iPAQy a PDAčka hádam každého druhu) aspoň pre účel demonštrovania to postačí.

Väčšinou sú to fóliové klávesnice, ak nie, asi ste natrafili na nejakú starú mikrospínačovú alebo niečo také, ja tu robím návod na fóliové, ale mal by sa dať použiť aj na iné druhy, vyskúšajte, uvidíte. Prinajhoršom ju môžete zahodiť (prosím nie o moju hlavu).

Ak ste uvažovali dobre, tak ste prišli na to, že sú to 3 fólie, spodné kontakty, niečo medzi tým, a vrchné kontakty, keď sa stlačí kláves spodná a vrchná spolu, vznikne kontakt a šíri sa signál, vy teraz pekne voči zemi odmerajte (najskôr voltmetrom) čo ten signál je zač. Podľa toho sa rozhodnete, či to robiť cez Atmlela alebo tranzistory, PNP (šípka dnu) alebo NPN (šípkou vonka). Čo použiť je už na vás, nejaké to minimálne vzdelanie musíte mať, toto sa vyuuje aj na trápnych gymnáziách (asi v rámci Fyziky) takže žiadne výhovorky. Vieme teda, čo ideme napodobňovať aj čo na to potrebujeme. Nevieme ešte kde to poslať, poďme na to.

Takže máme tu tlačítka:

Obr�zok



Máme tu spodnú fóliu:

Obr�zok



Máme tu vrchnú fóliu:

Obr�zok



Tu som pre vás spojil jednu fóliu s tlačítkami:

Obr�zok



A aj druhú fóliu s tlačítkami:

Obr�zok




Len tak pre zaujímavosť sme objavili ďalších 5 tlačítok, ktoré sú pripravené na klávesnici (predpokladám aj na radiči), len nie sú na povrchu klávesnice fyzicky prítomné, vyznačil som ich červeným.

Zistime si, čo chceme emulovať, pri NT windows asi CTLR, ALT, DEL, pri kuramatiku kurzorové šípky.

Ideme znak po znaku, začnime šípkou vľavo, pohľadom zistíte kam smerujú do konektora a ktorý pin v poradí to je (povedzme že z ľava), tí šikovnejší si to odmerajte ohmmetrom.

Určite sa vám stane, že niektoré budete mať spoločné, napríklad moja Chicony mala na spodnej fólii spojené Ľavú, Pravú a Dole, iba Hore bolo extra, takže na spodnú fóliu som si pamätal iba 2 piny.

Na vrchnú boli spolu Ľavá a Horná, Dolná a Pravá boli už extra. Zo spodnej to boli 3 piny.

Dokopy ich je 5, teraz odrátame na konektore radiča, kde to pasuje, (pre každú fóliu je extra konektor) a z druhej strany plošného spoja priamo naletujeme na vývody konektora (neletoval by som to priamo na radič, lebo letovačkou ho môžeme prehriať). Takto nám z radiča ide 5 vodičov, či už priamo do Atmela alebo k tranzistorom je už na vás a vašej klávesnici.

Čo teraz, ideme spraviť matičnú pre toho atmela, jeho dokumentáciu nájdete na:

http://www.atmel.com/dyn/resources/prod_documents/DOC0368.PDF

Obr�zok



Buď vývody klávesnice, alebo bázy tranzistorov zapojte na atmelové piny 11 (port 3 bit7), 14 (port 1 bit2) až 19 (port1 bit 7), na porte 1 odporúčam vynechať bity 0 a 1. Pin 1 je reset, držať na vysokej úrovni, pripojiť na napájanie VCC cez elektrolytický kondenzátor (záporným pólom k resetu). Ďalej Pin1 zapojiť na Pin10 cez 8.2Kohm odpor. Pin 10 je zem. Pin 2 a 3 su RxD a TxD, ktoré zapojíme do MAX 232, čo na jednom zariadení je RxD na druhom je TxD, takže RxD atmelu zapojiť do TxD MAX232 atď… Medzi Pin 4 a 5 zapojíme kryštál. Pin 4 uzemníme cez pF kondenzátor, takisto aj s Pin 5. Pin 20 je VCC, napájanie 5V. Tým Atmel funguje. Dúfam, že to budete robiť cez pätice, nie priamo na nožičky.

Zapojíme MAX232, jeho dokumentácia sa nachádza na:

http://pdfserv.maxim-ic.com/arpdf/MAX220-MAX249.pdf

Obr�zok



Na strane 17 sa nachádza naša HI232, oni používajú 1uF ja 10uF, je to vlastne jedno, potrebujete 5 kusov elektrolytov. POZOR NA POLARITY. Nedajte sa mýliť, 232 obsahuje 2 nezávislé kanály, nám stačí jeden, tak napríklad. Atmel ma logiku TTL takže Pin 2 Atmelu (RxD) zapojíme na Pin 12 MAX232, ktorý je označený ako R1 Out, teda TxD kanálu 1. A Pin 3 Atmelu (TxD) zapojíme na Pin 11 MAX 232, ktorý je označený ako R1 In, teda RxD kanálu 1. Teraz 232jka to z TTL logiky prerobí na -12V pre normu RS232, ktorú používa sériový com port štandardného PC. Pin 14 Max 232 T1Out je TxD kanálu jedna v logike RS232, ten pripojime na samca COM portu. Pin 13 Max232 R1IN je RxD kanálu 1 v logike RS232 samozrejme aj ten pripojíme do COMporta, zvyšok zapojíme podľa PDFka. Ak treba popis zapojenia COMportu, napíšem aj to.

S tým máme atmela hotového, schopného komunikovať s PC cez terminál (na prijímanie príkazov a na prijímanie makier, čo má kde odoslať a podobne), schopného vykonávať stisky kláves, už len na to treba program do toho Atmelu, čo to bude robiť. Neviete ako? Na adrese:

http://www.atmel.com/dyn/resources/prod_documents/doc0509.pdf

Máte peknú dokumentáciu k Assembleru platformu x51, prosím vzdelávajte sa, rozširujte svoje obzory. Ja budem sviniar a kvôli Kuramatiku si zatiaľ zdrojáky, prípadne skompilované BINy (alebo HEXy, ako ich kto volá) nahám pre seba a potom možno uvidíme čo ďalej, ak chcete na dobierku poslať naprogramovaného Atmela, dajte vedieť, otvoríme tržbu. Hihi.

Máte správny smer k tomu, aby ste si to spravili aj vy. Už je to na vás, čo s tým podniknete, to je ako na Matrixe, blue pill, or red pill?

Obr�zok



Obr�zok



Prepáčte za slabú kvalitu, ale mám šemitný 0.6Mpix fotoaparát s čočkou s pevnou ohniskovou vzdialenosťou, takže malé objekty na diaľku nevidno a z blízka na ne nezaostrí, takže sú rozmazané. Ešte raz prepáčte, nebojte, keď príde od SME foťák M307 do mojich rúk, tak to ihneď prerobím.

Ja si idem spolu s Hajzlom medzi časom pod novými nick-menami pre naše výhry, potom vám to celé zariadenie odfotím na novom HP Photosmart M307 a recenziu dopíšem na mojom novom notebooku HP mx 9010.

Pre informáciu, Hajzel je autorom trainera pre kuramatic:

http://www.kuramatic.ammo.sk/kuratrn1.zip

A hľadača optimálnej cesty, riešiteľa levelov a zároveň aj editora levelov

http://www.kuramatic.ammo.sk/kurasolver.jpg

Obr�zok



Obr�zok




Takže naša aliancia „rýchla klávesnica + optimálna cesta“ = nikto nemá šancu!

Predtým som vás deptal, že to už nemá význam, že to aj tak nevyhráte, aby ste kašlali na to, teraz som zmenil názor, hrajte, nech vás hrá čo najviac, nech vás je 20 tisíc, dúfam, že potom SME dá viac cien, aby som mohol spolu s Hajzlom toho zhrabnúť čo najviac.

Zatiaľ sa majte pekne, uvidíme sa o pár dní.

PS: Prečo sme to robili tak komplikove s radičom? Lebo som to nestíhal robiť priamo, komunikáciu matičnej dosky a radiča klávesnice, síce mám zdokumentovanú, ale zdalo sa mi, že by mi to dlhšie trvalo, toto bolo oveľa jednoduchšie a termín kuramaticu tlačí, chceme s Hajzlom zhrabnúť čo najviac cien.


PS2: http://www.ammo.sk/kurvamatic.pps je pekná prezentácia od paseraka :)



************************************************

Update 22.9.2004 18:13

Hajzel spravil multipočítačovú verziu s podporou siete, máme tu 3 kompy na zrýchlenie výpočtou (2,6GHz + 2,0GHz + 2,4GHz HT)

Obr�zok



Aby ste nepovedali že su to prazdne krabice, tak aj z boku (ale museli sme kvôli tomu a kratkym kablom opozdiť výpočty a dva z toho vypnúť).

Obr�zok



Ako riadiaci komp je ešte ďalší 2,4Ghz

Obr�zok



A toto je naša monitorovacia centrála (na CRT monitore) prave na tretom 2,6ghz (to LCDčko) inštalujeme potrebné programy aby sme ho mohli zapojiť do našej siete.

Obr�zok



A už vám ostáva iba srať kofolu strachom :-)

********************************

Update 22.9.2004 21:58

Zaktualizovane linky, väčšinu veci sme dali na ammo, takže si pozrite nové linky.

Máme pre vás obrázky solvera sieťovej verzie. Prosím nežiadajte o stiahnutie, zaťial je to iba privatne.

Obr�zok



Väčsiu verziu obrázku najdete dole.

Ak ste ale sklamany že nemôžete sťahovať pozrite sa aspoň na updatnutu recenzie Kuramaticu.

http://www.ammo.sk/indexx.htm?rub=1&co=446

Su tam znova funkcne linky Keygeneratora na kody, Trianera ktory otvori branu bez prejdenia hlavolamu a brania klucikou.

A nový šetrič Kuramaticu, ak vám ešte nie je na zblbnutie z toho kuraťa, tak vám už može aj namiesto SME nadavať.

Obr�zok



****************

Update 23.9.2004 13:46

Coder nám poslal zdrojáky keygeneratora, parametre dávate do zdrojaku, upozornujem že zdrojáky sú kompletné a takto ako ich vidite môžete skomplivoať a spustiť, ako vidíte program nemá nejako ukrutne vela a autorovia v AVI sa kvôli tomu nepretrhli:


// kuracalc32.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

#include <stdio.h>

int main(int argc, char* argv[])
{
printf("KuraCalc by Coder\n");


int min2,sec2,sto,level;

int tmp,tmp2,i,offset15;

min2=1;
sec2=33;
sto=7;
level=1;

char code[16];

for (i=0; i<16;i++)
{
code[i]='0';
}

// not change
code[3]='7';
code[4]='0';
code[5]='1';
code[6]='0';
code[7]='0';
code[9]='2';
code[13]='0';

if (level%2 == 0)
{
code[14]='4';
offset15=0;
}
else
{
code[14]='9';
offset15=5;
}

// set time
code[10]=min2/10 + 0x30;
code[8]=min2%10 + 0x30;

code[12]=sec2/10 + 0x30;
code[0]=sec2%10 + 0x30;

code[11]=sto/10 + 0x30;
code[2]=sto%10 + 0x30;

// set level
code[4]=level+0x30;

switch (level)
{
case 0:
case 1:
code[6]='0';
break;
case 2:
case 3:
code[6]='1';
break;
case 4:
case 5:
code[6]='2';
break;
}

// calc checksum 15
code[15] = 0x30 + (code[2]-0x30 + code[10]-0x30 + code[12]-0x30 + 1 + offset15) % 10;

//calc checksum 5
tmp = (code[2]-0x30 + code[10]-0x30 + code[12]-0x30 + 1 + offset15) / 10 + 1;
code[5]=0x30+ tmp;

// calc checksum 1
tmp= (code[10]-0x30+code[8]-0x30+code[12]-0x30+code[0]-0x30+code[11]-0x30+code[2]-0x30 +code[3]-0x30+code[9]-0x30+code[14]-0x30+code[6]-0x30);
code[1]=tmp%10+0x30;
code[7] =tmp/10 - (code[5]-0x30) + 0x30;


tmp2 = tmp%10;
tmp= (tmp/10 + tmp%10) % 10;

code[16]=0;

printf("Code = %s\n", code);



return 0;
}


Obr�zok - Klikni a zv�?�� sa
Najnovsie clanky od tohto redaktora
Podobne clanky