Projekt trezor - poslední díl
** Zdravím kolemjdoucí**
Tak tu máme zase trezor. Snad poslední příspěvek na toto téma, které zde sdílíme společně se synem.
Video od @zirkonov poukazuje na problém, který nastal s zapojením komponentů.
Při plánování trezoru jsem trochu opomenul to, jaké možnosti zapojení nabízí použité Arduino Uno. Až po nějaké době jsem zjistil, že na desku nebudu moci zapojit všechny komponenty.
Možná, kdybych koupil starší typ RFID čtečky, tak by to šlo. Ale já objednal čtečku, která potřebovala pro zapojení 7 pinů. Samostatná klávesnice potřebuje pro zapojení 8 pinů. Pak tu ještě máme servomotor a LCD. Pro tuto kombinaci bych potřeboval spíše Arduino Mega.
Na obrázku výše je schéma membránové klávesnice. Jsou zde 4 vodiče (piny) pro sloupce a 4 vodiče pro řádky. Stisknutím tlačítka se uzavře přepínač mezi sloupcem a řádkem, což umožňuje proudění proudu mezi sloupcem a řádkem. Každé tlačítko má jinou kombinaci sloupce a řádku.
Jak tento vcelku jednoduchý systém obejít?
Stačilo chvíli hledat na internetu a našlo se řešení. A to dokonce takové řešení , které umožňuje zapojit klávesnici na jeden analogový pin. Pak zde byly zapotřebí další dva vodiče coby napájení. Celkem tedy tři vodiče.
Na první pohled ideální řešení. Dokonce jsem na internetu našel i nějaké vzorové kódy.
Výše zveřejněný obrázek zobrazuje řešení, dle kterého jsem následně postupoval.
Nejsem žádný elektronik , ale práce s elektronikou mi není úplně cizí. I když o nějaké znalosti či umu nemůže být vůbec řeč. Třeba, poslední dosud funkční věc, kterou jsem zbastlil je tyristorové zapalování na mou Babettu. A to už je hooodně dlouho.
Rezistory (odpory) nejsou nějak drahé a jsou vesměs dostupné. No a z posledních domácích pokusů mi doma zbylo i trocha Cuprextitu, což je deska s tenkou vrstvou mědi určená k osazení elektronických součástek. Takže se mohlo začít experimentovat.
Pro výrobu plošného spoje jsem použil metodu leptání. Na Cuprextit se lihovým fixem vyznačí cesta a plošný spoj se vyleptá třeba roztokem Chloridu měďnatého. Tento způsob je docela zastaralý, ale funkční.
Napájený převodník je nachystán na testování. Testoval jsem třeba i na Tinkercad.
A tu nastal ten pravý boj který jsem částečně nastínil v příspěvku "Dva dny a dvě noci".
Ukázkové kódy se ukázaly jako ne příliš použitelné. Navíc jse musel sloučit více druhů kódu do jednoho celku. Co by jistě pro zkušenějšího programátora byla jistě hračka. Ale vězte, že co se kódování týče, lítám v tom povrchně tak čtvrt roku. Takže se v tom sotva vyznám.
Jelikož v mém okolí není nikdo, kdo by pomohl, zkusil jsem o pomoc požádat umělou inteligenci.
Z toho jsem měl guláš v hlavě ještě víc, jelikož to UI docela motala. Musel jsem to opět nějak zkombinovat. I když UI částečně pomohla, byl to spíše pokus, omyl. K správné verzi jsem se musel dokopat vlastními silami. A teď už vůbec nevím jak jsem k tomu došel.
Převodník funguje, ale není nějak přesný, což může být chybným provedením, špatnými součástkami, nebo prostě něco není jak má.
Dokonce jsem našel i originál převodníku, který se snad dá někde koupit. A podle obrázku tam má být ještě nějaký kondenzátor. Ale v příkladech na netu jsem to nenašel.
V reálném prostředí totiž odpory v kódu vykazovali proměnlivou hodnotu (rozmezí). Třeba pro tlačítko 1 hodnota 63-68. Tlačítko 4 mělo pak 59 až 62. Hodnoty mezi jedničkou a čtyřkou jsou docela blízko a někdy se může stát, že se zmáčkne jednička a zaznamená se čtyřka, nebo se nezaznamená nic.
case 63 ... 68: ret = 0; break;
case 92 ... 98: ret = 1; break;
case 172 ... 179: ret = 2; break;
case 59 ... 62: ret = 3; break;
case 84 ... 90: ret = 4; break;
case 146 ... 153: ret = 5; break;
case 56 ... 58: ret = 6; break;
case 78 ... 83: ret = 7; break;
case 126 ... 133: ret = 8; break;
case 71 ... 76: ret = 9; break;
case 52 ... 55: ret = 10; break;
case 111 ... 118: ret = 11; break;
case 969 ... 1023: ret = 12; break;
case 495 ... 511: ret = 13; break;
case 331 ... 341: ret = 14; break;
case 249 ... 256: ret = 15; break;
Až ke konci mi došlo, že bych pro zapojení klávesnice mohl použít i analogové piny. ale to už jsem měl převodník hotový a to včetně kódu a zapojení.
Převodník a trezor zatím funguje. Pokud začne zlobit, asi to budu muset celé překopat. A to zapojení i kód.
UF.....
Na to leptání máš asi na mysli chlorid železitý ;)
Ty rezistory mají z výroby jistou toleranci, značí jí poslední barevný proužek na součástce, to může dělat potíže.
Congratulations @zirky! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)
Your next target is to reach 69000 upvotes.
You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP