Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2023:dene:minienigmamachine [2023/05/29 18:25]
catalin.ripanu [Software Design]
pm:prj2023:dene:minienigmamachine [2023/08/05 18:14] (current)
catalin.ripanu [Download]
Line 86: Line 86:
 Operare: Operare:
  
-1. Pornire:+**1. Pornire:**
  
 - din ecranul de pornire, se poate atinge oriunde LCD-ul TFT pentru a merge spre simularea Enigmei. - din ecranul de pornire, se poate atinge oriunde LCD-ul TFT pentru a merge spre simularea Enigmei.
Line 102: Line 102:
 curentă (ordinea alfabetică). curentă (ordinea alfabetică).
  
-2. Configurare:​+**2. Configurare:​**
  
 - simulatorul permite următoarele configurații standard: - simulatorul permite următoarele configurații standard:
Line 162: Line 162:
 se apasă pe butonul "​DISCARD"​. se apasă pe butonul "​DISCARD"​.
  
-3. Bluetooth+- literele legate prin fire vor fi colorate în mov și, pentru fiecare literă, se va afișa perechea sa (în partea de jos a literei respective). 
 + 
 +**3. Bluetooth**
  
 - acest simulator suportă și operarea cu protocolul de comunicație Bluetooth. - acest simulator suportă și operarea cu protocolul de comunicație Bluetooth.
Line 170: Line 172:
 - dacă se alege varianta clasică, mașina poate primi date de intrare doar prin intermediul tastaturii. - dacă se alege varianta clasică, mașina poate primi date de intrare doar prin intermediul tastaturii.
  
-- dacă se alege varianta Bluetooth, mașina poate primi date și prin intermediul interfeței seriale ​folosite ​de orice aplicație Bluetooth pentru +- dacă se alege varianta Bluetooth, mașina poate primi date și prin intermediul interfeței seriale ​ce este folosită ​de orice aplicație Bluetooth pentru Android (se recomandă aplicația [[https://​play.google.com/​store/​apps/​details?​id=de.kai_morich.serial_bluetooth_terminal&​hl=ro&​gl=US|Serial Bluetooth Terminal 1.43]] disponibilă pe **Play Store** întrucât a fost testată în cadrul dezvoltării proiectului). Conectarea se realizează cu ajutorul modulului HC-05.
-Android (se recomandă aplicația [[https://​play.google.com/​store/​apps/​details?​id=de.kai_morich.serial_bluetooth_terminal&​hl=ro&​gl=US|Serial Bluetooth Terminal 1.43]] disponibilă pe **Play Store** întrucât a fost testată în cadrul dezvoltării proiectului). Conectarea se realizează cu ajutorul modulului HC-05.+
  
 - evident, și în acest mod, mașina poate primi date prin intermediul tastaturii. - evident, și în acest mod, mașina poate primi date prin intermediul tastaturii.
Line 178: Line 179:
  
 - dacă se încearcă transmiterea de date prin intermediul Bluetooth-ului atunci când acest mod este dezactivat, mașina nu va cripta / decripta - dacă se încearcă transmiterea de date prin intermediul Bluetooth-ului atunci când acest mod este dezactivat, mașina nu va cripta / decripta
-ceea ce s-a introdus, dar va păstra intr-o zonă de memorie informația (adică, dacă se va activa modul Bluetooth imediat după transmiterea datelor, mașina o să pornească procesul de prelucrare).+ceea ce s-a introdus, dar va păstra intr-o zonă de memorie informația (cu alte cuvinte, dacă se va activa modul Bluetooth imediat după transmiterea datelor, mașina o să pornească procesul de prelucrare).
  
 - pentru a curăța banda prin Bluetooth, se folosește caracterul '​*'​. - pentru a curăța banda prin Bluetooth, se folosește caracterul '​*'​.
 +
 +===== Rezultate Obţinute =====
 +
 +{{:​pm:​prj2023:​dene:​img_20230528_101853.jpg?​765x600|}}
  
 {{:​pm:​prj2023:​dene:​img_20230528_143717.jpg?​765x850|}} {{:​pm:​prj2023:​dene:​img_20230528_143717.jpg?​765x850|}}
  
 {{:​pm:​prj2023:​dene:​img_20230528_143838.jpg?​765x600|}} {{:​pm:​prj2023:​dene:​img_20230528_143838.jpg?​765x600|}}
- 
-{{:​pm:​prj2023:​dene:​img_20230528_101853.jpg?​765x600|}} 
  
 {{:​pm:​prj2023:​dene:​img_20230529_162528.jpg?​765x600|}} {{:​pm:​prj2023:​dene:​img_20230529_162528.jpg?​765x600|}}
- 
-===== Rezultate Obţinute ===== 
- 
-<note tip> 
-TODO 
-</​note>​ 
  
 ===== Concluzii ===== ===== Concluzii =====
  
-<note tip> +A fost o experiență interesantă,​ evident, având în vedere că proiectul a reprezentat,​ de fapt, o dualitate Hardware & Software, care necesită 
-TODO +o anumită abordare (biblioteci compatibile cu resursele Hardware, componente compatibile cu alte componente, etc). La începutul proiectului am schimbat ecranul LCD TFT (luasem un model din China) întrucât, efectiv, nu mergeau bibliotecile cu suport grafic de la **Adafruit**. De 
-</​note>​+asemenea, formarea cutiei din lemn a reprezentat o problemă pe parcurs, am avut puțin noroc spre final întrucât am găsit un tâmplar care a 
 +acceptat lucrarea propusă în urma vizualizării fișei tehnice oferite. O etapă dificilă a reprezentat montarea tuturor modulelor în cutie (a trebuit să fac niște lipituri astfel încât LCD-ul 1602 și modulul I2C să funcționeze,​ un vecin cunoscut mi-a oferit pistolul său de lipit). 
 +Partea cea mai provocatoarea a fost scrierea Software-ului,​ în fișierul din arhiva .zip sunt, aproximativ,​ în jur de 3500 de linii de cod (nu am 
 +putut reduce cu mult acest număr, mai mult, am avut probleme și cu etapa de compilare uneori întrucât IDE-ul îmi tot spunea că depășesc cei 32KB 
 +destinați memoriei Flash de pe placă, în prezent implementarea ocupă o memorie de ~ 32212 bytes din 32256 bytes). ​
  
 +În final, mă bucur că am reușit să obțin propria variantă de **mașină Enigma**.
 ===== Download ===== ===== Download =====
  
 <​note>​ <​note>​
-{{:​pm:​prj2023:​dene:​proiectpm-catalin_ripanu.zip|}}.+Pentru permisiunea accesului codului sursă, puteți trimite un mesaj la adresa de email <catalin.ripanu@stud.acs.upb.ro>​.
 </​note>​ </​note>​
  
Line 222: Line 224:
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-<note> +- http://​people.physik.hu-berlin.de/​~palloks/​js/​enigma/​index_en.html -cel mai important linkconține aplicația care m-a ajutat cu **Proiectarea Algoritmilor** din spatele ​**Enigmei**. 
-Listă cu documentedatasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. + 
-</note>+- https://​www.stephenpeek.co.uk/​enigma_machines.htm 
 + 
 +- https://​lastminuteengineers.com/​i2c-lcd-arduino-tutorial/​ 
 + 
 +- https://​github.com/​adafruit/​Adafruit-GFX-Library 
 + 
 +- https://​learn.adafruit.com/​adafruit-2-8-tft-touch-shield-v2/​overview 
 + 
 +- https://​cdn-shop.adafruit.com/​datasheets/​STMPE610.pdf 
 + 
 +- https://​cdn-shop.adafruit.com/​datasheets/​ILI9341.pdf 
 + 
 +- https://​cdn-shop.adafruit.com/​datasheets/​MI0283QT-11%20V1.1.PDF 
 + 
 +- https://​ocw.cs.pub.ro/​courses/​pm -laboratoarele de PM. 
  
 {{:​pm:​prj2023:​dene:​enigma_logo.png?​300|}} {{:​pm:​prj2023:​dene:​enigma_logo.png?​300|}}
  
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
pm/prj2023/dene/minienigmamachine.1685373909.txt.gz · Last modified: 2023/05/29 18:25 by catalin.ripanu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0