Profi kódfejtés

|

Szeretnéd értelmezni a hosszú és rövid jelek váltakozásából kialakított üzeneteket? Az Arduino ebben is segítségedre lesz!

Rengeteg ismert jelrendszert találhatunk, ha egy kis titkos adatátvitelre vágyunk, azonban az egyik legizgalmasabb a széleskörűen is ismert szignálrendszer, a morzekód lehet. A viszonylag gyorsan megtanulható és különösen egyszerűen használható kód megfejtésére pedig profin használhatjuk az Arduino különleges képességeit, és a projekt a minimalista stílusa ellenére meglehetősen pontos eredményt kínál. Az eszköz elkészítésének hardverköltsége rendkívül alacsony, egy kezdőszettben szinte minden elemet megtalálunk, ami a megvalósításához szükséges lehet.

A programozható mikrovezérlőnk mellett mindössze egy LED-re, egy nyomógombra, egy prototípus-lapra, illetve némi kábelre és ellenállásra lesz csupán szükségünk ahhoz, hogy egy működő változatot készítsünk. Az összeszerelés is hasonlóan egyszerű, kössük be a gombunkat - a 4-es jelzésű digitális csatlakozó tökéletes lesz erre a feladatra -, a LED-diódát pedig hozzuk kapcsolatba a 8-as számozású pinnel és már lényegében bevethető is az összeállításunk, így kapcsolhatjuk is számítógépünkhöz a mikrokontrollert.

Készül a kódunk

Mivel egy végtelenül egyszerű összeállítással érhetünk el látványos eredményt már biztosan rájöttünk, hogy a kódunk végzi majd a lényegi munkát, azonban jelenleg az Arduino fejlesztői környezetében csupán az alapértelmezett sorokat láthatjuk. Amint a megfelelő kommunikáció létrejött az Arduino mikrovezérlőnk és a PC között már gépelhetjük is a szükséges kiegészítő sorokat a hardverünk életre keltéséhez. Elsődlegesen címkézzük fel a LED-diódát, illetve a gombot, hogy a kódunk tudja majd, mely pineket figyelve kaphat visszajelzést. Gépeljük be kódunk elejére - még a setup() rész elé - az int inputPin = 4; int ledPin = 8; sorokat, melyekkel már meg is jelöltük a nevezett csatlakozókat.

Természetesen a változók létrehozásának folyamata miatt később még visszatérünk erre az inicializáló részre, azonban most lépjünk is be az indítást követően lefutó programkód, vagyis a setup()-függvény belsejébe. Itt elsőként nyissuk meg a soros-monitorunkat a 9600-as porton ( Serial.begin(9600); ), majd a gombunkat adjuk meg bemeneti adatként a pinMode(inputPin, INPUT_PULLUP); paranccsal, majd a pinMode(ledPin,OUTPUT); segítségével a LED-et is állítsuk a egy kimeneti fényforrássá. Ezek után jöhet a loop() belseje, ahol a valódi varázslat történik.

Kódtábla is kell

Ahhoz, hogy képesek legyünk tökéletesen szimulálni egy ilyen dekódoló algoritmus működését bizony arra lesz szükségünk, hogy képesek legyünk kicsit matematikai szemlélettel gondolni a dekódolás problémájára. Ez alapján pedig könnyedén felrajzolhatunk egy gráfot, hisz minden egyes gombnyomásunk meghatározza a következő betűt, így csak a lehetséges gombnyomások megismerésére lesz szükségünk. Ehhez egy megfelelő ágrajz elkészítése rengeteget segít. Ha már nagyjából átlátjuk a morzekód működését kipróbálhatjuk, hogy mennyire tudjuk átültetni ezt az ismeretanyagot a gyakorlatba.

Oldalak: 1 2

Úgy tűnik, AdBlockert használsz, amivel megakadályozod a reklámok megjelenítését. Amennyiben szeretnéd támogatni a munkánkat, kérjük add hozzá az oldalt a kivételek listájához, vagy támogass minket közvetlenül! További információért kattints!

Engedélyezi, hogy a https://www.helloworldonline.hu értesítéseket küldjön Önnek a kiemelt hírekről? Az értesítések bármikor kikapcsolhatók a böngésző beállításaiban.