Szigetelőszalaggal felragasztott Morze-kód beolvasása. Pontosabban:
Samuel F. B. Morse (1791-1872) kidolgozott egy kódolási rendszert, amivel az ábécé betűit lehet távírón továbbítani. Az ábécé betűinek rövid és hosszú jelek (pontok és vonások) sorozata felel meg. A kódolás nem rendelkezik az ún. prefix tulajdonsággal, ezért az egyértelmű dekódolhatóság érdekében a betűket szünetekkel kell elválasztani. A gyors üzenettovábbítás érdekében a gyakori betűknek rövidebb jelsorozat felel meg mint a ritkáknak, pl. az E csak egy pont, míg a J már négy jelből áll. A feladat egy olyan robot készítése, amely képes földre rajzolt morzekódot dekódolni.
A pozicionálási problémák elkerülése végett a pontok és vonások helyett vékony és vastag csíkokat kell felismerni. A csíkok fekete szigetelőszalagból készülnek, ezek a préselt farostlemez fényes oldalára vannak ragasztva. A csíkok 30 cm hosszúak, a robot a csíkokra merőlegesen halad, és olvassa a kódot. A csíkok a következőképpen határozzák meg a morzekódot:
Pont: fekete szigetelőszalag csík, 2 cm széles.
Vonás: három szigetelőszalag csík pontosan egymás mellett, összesen
6 cm széles.
Szünet két pont vagy vonás között: 2 cm
Szünet két betű között: 6 cm
Szóköz: 12 cm
Az utolsó karakter után, és a 30 cm hosszú csíkok két végén fehér szigetelőszalag van, ha ezt látja a robot, akkor le kell állnia. Ezután a számítógépen futó program segítségével ki kell tudni olvasni az üzenetet a robotból. A számítógép nem kommunikálhat a robottal az olvasás közben, csak miután leállt.
Minta: A Morze-abc: A megoldás:A képeken látható robotot raktuk össze - ez két motorral hajtott, 4db nem kormányozható kerékkel. (A Duracell-nyulas verzió nem volt az igazi.) A megoldást nehezítette, hogy táp-bemenettel nem rendelkező RCX 2.0-val dolgoztunk, és a motorok eltérő ereje miatt az elemek lemerülésével a robot különböző mértékben és irányban tért ki az egyenes vonalról. Ezt szoftveresen kompenzáltuk. A robotra szerelt nyomásérzékelőket ennél a feladatnál nem használtuk, csak az 1db fényszenzort.
A robot saját maga végezte a betűk értelmezését, egyenletes kódként értelmezve a szünetekkel együtt már prefix Morze-kódot. Az értelmezett szöveget a datalogban tárolta, melyet a kódhoz mellékelt scripttel (1 parancs) lehetett kiolvasni, akár működés közben is.
A forrás innen letölthető.Megjegyzés: A 40 robotból csak 1 robotnak sikerült a mienknél magasabb pontszámot elérnie a Morze-olvasásnál az áprilisi 24 órás programozói versenyen. :)