Elektroda.pl
Elektroda.pl
X
PCBway
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Replika maszyny kodującej Enigma M4 sterowana Arduino

jacu007 16 Paź 2013 12:20 9303 7
  • Replika maszyny kodującej Enigma M4 sterowana Arduino Autor tego projektu postanowił zbudować replikę słynnej niemieckiej maszyny kodującej Enigma, która w formie będzie jak najwierniej odzwierciedlać wygląd oryginalnej maszyny. Projekt oparty jest na platformie Arduino i będzie mógł szyfrować oraz deszyfrować dowolną wiadomość zakodowaną w sposób zgodny z algorytmem maszyny EnigmaM4.

    Dzięki wykorzystaniu multipleksacji, projekt, który posiada 115 diod LED, wykorzystuje do ich sterowania jedynie 38-pinów, a 36-przycisków potrzebuje jedynie 4-pinów. Wszystko to również dzięki dobrze dobranym rezystorom (oraz p-kanałowym tranzystorom MOSFET). Gdyby nie zastosowano powyższych metod to nawet w Arduino Mega zabrakłoby pinów do sterownia czterech 16-segmentowych wyświetlaczy oraz diod LED dla każdego przycisku.

    Przed wykonaniem pracy przetestowano dokładnie sterownie poszczególnymi diodami. Reszta to tylko matematyka…
    Replika maszyny kodującej Enigma M4 sterowana Arduino
    Lista części:

    1 Arduino Mega

    26 znaczników alfanumerycznych

    26 gniazd mono Jack ¼’

    26 wtyczek Jack ¼’

    36 przycisków

    1 wyłącznik on/off

    4 16-segnentowe wyświetlacz pomarańczowe wyświetlacze LED

    4 próbówki na wyświetlacze

    Sklejka

    Zawiasy

    Zamek wpuszczany

    Płyta perforowana

    38 rezystorów 470Ω

    40 rezystorów 1kΩ

    7 tranzystorów p-kanałowych MOSFET IRF9Z24N
    Kawałek blachy i farby w sprayu

    Jeżeli autor robiłby to drugi raz nie użyłby już wtyczek i gniazd Jack ¼”, ponieważ są dość duże i przerastają cały projekt Enigmy. Wtyczki bananowe byłyby tutaj bardziej poręczne i bliźniacze do oryginalnych wtyczek Enigmy.
    Replika maszyny kodującej Enigma M4 sterowana Arduino
    Płyta perforowana 6”x 8” jest idealna rozmiarowo do rozmieszczenia wszystkich elementów, i doskonale mieści się w obudowie Enigmy.

    Przestrzeń na płytce podzielono na 3 obszary, podobnie jak to miało miejsce w prawdziwej Enigmie. Po sprawdzeniu poprawności działania przystąpiono do lutowania.
    Replika maszyny kodującej Enigma M4 sterowana Arduino
    Replika maszyny kodującej Enigma M4 sterowana Arduino
    Replika maszyny kodującej Enigma M4 sterowana Arduino
    Jak przyznaje autor projekt wymagał chyba najwięcej lutowania spośród wykonywanych dotychczas prac. Lutowania wymaga 18-pinów 16-segmentowych wyświetlaczy razy 4, plus 26-klawiszy klawiatury plus 26-diod klawiatury plus kilka LED oraz jeden przełącznik on/off.

    Decyzja, aby użyć 16-segmentowych wyświetlaczy zamiast lamp Nixie była podyktowana ich ceną i dostępnością, a także wysokim napięciem zasilania. Autor nie chciał mieszać napięcia 100 V z logiką Arduino.

    Połączenia pomiędzy poszczególnymi elementami zostały pokazane na dwóch schematach:

    Pierwszy schemat pokazuje podłączenie 16-segmentowych wyświetlaczy LED imitujących lampy Nixie (cztery lampy 16—segmentowe). Wyświetlacze te są wykorzystywane zarówno do pokazania ustawienia każdego z rotorów jak to było w Enigmie jak również do tworzenia ustawień w każdym z trybów pracy.

    Drugi schemat pokazuje jak podłączone są wszystkie klawisze alfanumeryczne oraz 10-klawiszy funkcyjnych. Pokazane zostały również połączenia dla każdej z diod LED przy każdym przycisku oraz 5 LED przy przyciskach wyboru trybu pracy.

    Wszystkie rezystory przy diodach LED mają wartość 470 Ω a wszystkie rezystory przy przyciskach mają wartość 1kΩ

    Po uzyskaniu dokładnych wymiarów oryginalnego M4 zakupiono sklejkę i pocięto ją na kawałki do zbudowania zewnętrznego drewnianego pudełka. Blaszane elementy wycięto ze starych obudów serwerowych, gdyż ich blacha miała potrzebną grubość. Po wywierceniu odpowiednich otworów na przyciski i wyświetlacze pomalowano wszystko na czarno jak w oryginale.
    Replika maszyny kodującej Enigma M4 sterowana Arduino
    Replika maszyny kodującej Enigma M4 sterowana Arduino
    Podczas każdego etapu montażu dokonywano tworzenia jakiegoś prostego fragmentu kodu testującego czy wszystkie elementy działają poprawnie. Sprawdzano między innymi czy każdy przycisk jest poprawnie odczytywany, czy działają wszystkie przyciski funkcyjne oraz wszystkie LED.

    Kod ENIGMA_POST (Power On Self Test) testuje czy każda za lampek działa poprawnie i przechodzi przez każdy tryb z pewnymi zmianami w stosunku do oryginalnego kodu.

    Jak przyznaje autor ten kod to nic z prawdziwym tour-de-force jakim było tworzenie kodu reprodukującego algorytm szyfrowania/deszyfrowania maszyny Enigma M4.

    Przy tworzeniu oprogramowania stworzono osobne funkcje dla każdego z trybów pracy maszyny.

    W domyślnym trybie 0 Enigma jest prostą maszyną, która podświetla naciśniętą właśnie literę oraz wyświetla w postaci animacji na lampach swój numer modelu.

    W trybie 1 użytkownik może wybrać 3 (z 8) rotory, które będą używane do kodowania oraz zdecydować, który (1 z 2) walec odwracający (reflektor) wybiera.

    W trybie 2 użytkownik może określić wewnętrzną pozycję każdego z rototów.

    Tryb 3 jest używany do ustawiania początkowej pozycji każdego z rotorów.

    W trybie 4 użytkownik może wprowadzić do 10 zmian dwóch liter parami.

    Tryb 5 jest właściwym trybem pracy, w którym Enigma będzie szyfrować lub odszyfrowywać każdą z liter wpisywanych na klawiaturę.
    Replika maszyny kodującej Enigma M4 sterowana Arduino
    Replika maszyny kodującej Enigma M4 sterowana Arduino
    Replika maszyny kodującej Enigma M4 sterowana Arduino

    Źródło:
    http://www.instructables.com/id/Make-your-own-Enigma-Replica/?ALLSTEPS

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    jacu007
    Poziom 22  
    Offline 
    Specjalizuje się w: systemy mikroprocesorowe, raspberry pi
    jacu007 napisał 688 postów o ocenie 69, pomógł 0 razy. Mieszka w mieście Dąbrowa Górnicza. Jest z nami od 2007 roku.
  • PCBway
  • #2
    Urgon
    Poziom 36  
    AVE...

    To ma niewiele wspólnego z oryginalną Enigmą. Przede wszystkim nie przypominam sobie, by jakakolwiek Enigma miała lampy nixie lub świeciła na niebiesko jak odpustowa zabawka. Rozumiem, iż autor nie miał umiejętności i narzędzi by zrobić stuprocentową replikę, ale imitacje lamp nixie mógł sobie zupełnie darować - do wyświetlenia pozycji "rotorów" wystarczyłyby cztery podwójne wyświetlacze siedmiosegmentowe wkomponowane w panel. Za to daję duży plus za oprogramowanie - nie każdemu by się chciało...
  • PCBway
  • #4
    unibozu
    Poziom 9  
    Urgon napisał:
    AVE...

    ale imitacje lamp nixie mógł sobie zupełnie darować
  • #5
    gRRubasek
    Poziom 14  
    Ja sobie nie przypominam, aby Enigma miała opisy po angielsku :D
  • #6
    matelusus
    Poziom 2  
    Panowie ważny jest efekt, to ile kto włożył w projekt pracy i ile się przy tym nauczył.
  • #7
    plati92
    Poziom 11  
    Jeżeli by to miał być projekt który działa na wzór enigmy to jak najbardziej wszystko było by ok. Ale z racji tego że jest to niby REPLIKA to już nie bardzo. Za dużo różnic, przede wszystkim wyświetlanie znaków.
  • #8
    Sławek_ps
    Poziom 12  
    Witam,

    Polacy nie gęsi i swój język mają... postanowiłem wykonać elektroniczną replikę Enigmy, tutaj drobna uwaga, elektroniczna replika dotyczy funkcjonalności, nie wyglądu zewnetrznego.
    Pod względem algorytmu szyfrowania jest to dokładny odpowiednik Enigmy z okresu II wojny światowej Link