Logo Robotika.SK Faculty of Electrical Engineering and Information Technology, Slovak University of Technology  Logo Faculty of Mathematics, Physics and Informatics, Comenius University 

Team name: The Benders

About the team:

Assignment: Dierny štítok

Tak toto bola poriadna fuška na záver. Paťo, Tomáš a Max sa tomuto zariadeniu venovali na veľa schôdzkach, no i tak to stihli až na poslednú chvíľu. A že by sa tu aj dalo veľa vecí ešte vylepšovať, lebo zadanie v sebe ukrýva veľmi veľa konštrukčných aj programátorských problémov.

Konštrukcia

Na konštrukcii najviac pracoval náš nováčik Paťo, na konci ju dokončoval aj Tomáš. Pôvodnú verziu sme po dvoch schôdzkach museli rozobrať, lebo bola veľmi malá a uvedomili sme si, že nemusí spoľahlivo pracovať. Základom je posuvné zariadenie na papier A4, jeden veľký motor otáčaním kolies posúva papier vždy na ďalší riadok. Otáčanie motora je sprevodované, aby bol posun presnejší. Rozhodli sme sa skonštruovať zapisovač na 6-bitové hodnoty, to stačí na zaznamenanie 64 rôznych znakov. Ponad podávač chodí vozík s EV3 kockou po "koľajniciach" z pásov. Pohyb vozíka ovláda malý motor a je sprevodovaný pre čo najväčšiu presnosť. Vozík posúva celú zapisovaciu a čítaciu "hlavu". Tá sa skladá z dierkovača, ktorý je vytvorený z ďalšieho malého motora, farebného senzora, ktorý slúži na čítanie dierok v papieri a ešte jedného svetelného senzora, ktorý z druhej strany podávača sníma biele značky určujúce polohu jednotlivých bitov. Vozík nosí aj EV3 kocku.

Pri zapisovaní sme narazili na problém, že papier je tvrdší ako sa na prvý pohľad zdá a nedokázali sme vyraziť takú veľkú a peknú dierku ako sme potrebovali (senzor spoľahlivo sníma minimálne 5mm otvor). Po zapísaní správy na papier sme každú dierku ešte zväčšili prstom. :D Pohyb papiera je sprevodovaný, ale musí byť presne založený, aby išiel stále rovno a hlavne aby išiel rovnako rovno pri čítaní aj zápise. Toto by sa dalo vyriešiť špeciálne pripraveným papierom s čiernymi značkami na oboch krajoch a posuvom papiera dvoma motormi. Pomocou ďalších dvoch svetelných senzorov by bolo možné papier presne vyrovnať a značky by aj pomáhali určiť pozíciu riadka na papieri. Myslíme si, že by sme sa s touto úlohou mohli zabávať kľudne ešte aj celé prázdniny. :) Tomášov dedko s diernymi štítkami kedysi pracoval a spomínal mu, že aj vtedy boli veľmi nespoľahlivé - po ručnom zapísaní programu na štítky ich počítač nechcel načítať a stále museli riešiť chyby s čítaním. :)

Program

Do programovania sa pustil najskôr Max, no ten išiel na prázdniny akurát v polovici, tak to dokončil Tomáš. Hlavný program je rozdelený do veľa blokov. Po spustení operátor vyberie režim zapisovania alebo čítania.

 

  • HlavnyProgram - Hlavný program
  • blok ZadavanieTextu - ovládanie režimu zadávania a zápisu
  • blok Citanie - ovládanie režimu čítania a vypísania správy

Písmená sú v programe reprezentované ako čísla, len pri vypisovaní na displej sú zmenené na príslušný znak.

 

Zadávanie správy a zapisovanie

Na obrazovke svieti vybraté písmenko, operátor ho mení šípkami. Tlačítkom pridá písmeno do správy, ďalším tlačítkom správu potvrdí a zadávanie ukončí. Zariadenie postupne zapíše správu tak, že každý znak bude vyrazený v jednom riadku.

Program je rozdelený na dva hlavné bloky ZadajSlovo a VyrazSlovo. Program používa premennú Slovo typu numeric array. Blok ZadajSlovo opakovane vykonáva blok PrecitaPismeno, ktorý získava zadané písmeno a blokom Z_pismenovac_Vypis ho zobrazuje na obrazovke. Blok Z_pismenovac_Vypis ovláda kódovanie len znakov abecedy, ale je ho ešte možné ľahko rozšíriť aj o cifry a interpunkčné znamienka. Len písmenami takto využívame 5 bitov, po rozšírení o ďalšie znaky budú využité všetky bity. 

Blok VyrazSlovo opakovane prevedie každý znak na pole bitov pomocou bloku cisloNaBity (desiatkové číslo na dvojkové) a toto podsunie ďalšiemu bloku VyrazZnak. Blok VyrazZnak opakovane používa blok VyrazBit.

Čítanie správy

Táto časť programu opakovane volá blok CitanieBitov, ktorý pomocou svetelného senzoru prečíta jeden celý riadok a prevedie ho na pole bitov. Toto posunie bloku BityNaCislo, ktorý ho prevedie na desiatkové číslo. Vykonáva to opačným postupom ako blok cisloNaBity. Znovu sa použije blok CisloNaPismeno, ktorý prečítané písmeno vo formáte čísla prevedie na znak a ten sa zobrazí na obrazovke o kúsok ďalej ako predchádzajúci znak.

Na záver

Milí organizátori Letnej ligy, ďakujeme pekne za skvelú súťaž. Všetky úlohy sme riešili s nadšením a veľmi nás posunuli dopredu.

Ďakujeme aj ostatným súťažiacim za inšpirujúce riešenia, páčili sa nám.

Všetkým prajeme pekné leto a vidíme sa na FLL 2015/16 !

Photos:

Videos:

Programs:

Rating:

Pekná, robustne vyzerajúca konštrukcia, za toto by sa nehanbili ani vo vývojových laboratóriách IBM. :-) To ručné zväčšovanie dierok, aby si ich senzor všimol, no, ... prepáčime vám to. Zvládlo by použitie 2 senzorov na opačných stranách papiera (lampa / prímač) aj malé dierky? Veľmi sa nám páči koľko informácií dokážete uložiť na celkom malom mieste! V tomto kole jednoznačne najkrajšia mašinka! Ďakujeme za všetky vaše kvalitné výstupy!