This is an old revision of the document!
Ce face proiectul:
Scopul proiectului este sa transforme o cheie telegrafică intr-un instrument functional de invatare. Codul Morse nu tine doar de istorie: este folosit in radioamatorism, aviatie civila si comunicatii de urgenta.
Ideea a pornit de la curiozitatea legata de cum comunicau operatorii radio inainte de era digitala. O cheie dintr-un sertar vechi a devenit punctul de plecare.
Sistemul are patru blocuri functionale care comunica prin pinii microcontrolerului:
Schema bloc:
┌────────────────────────────────────────────────────────────────┐ │ Signal Corps Trainer │ │ │ │ ┌──────────────┐ I2C (SDA/SCL) ┌─────────────────────┐ │ │ │ LCD 1602 │◄───────────────────►│ │ │ │ │ (0x27) │ │ ATmega328P-XMINI │ │ │ └──────────────┘ │ │ │ │ │ MCU + mEDBG │ │ │ ┌──────────────┐ I2C (SDA/SCL) │ │ │ │ │ OLED 0.96" │◄───────────────────►│ PC4=SDA PC5=SCL │ │ │ │ SSD1306 │ │ PC0=A0 D2=INT0 │ │ │ │ (0x3C) │ │ D6 D7 D8 │ │ │ └──────────────┘ │ D9(PWM) │ │ │ └─────────┬───────────┘ │ │ ┌──────────────┐ │ │ │ │ KY-037 │──── AO ──────────────── PC0 │ │ │ │ Senzor sunet│ │ │ │ └──────────────┘ │ │ │ │ │ │ ┌──────────────┐ │ │ │ │ Cheie Morse │──── D2 (INT0) ────────────────┤ │ │ │ Vintage URSS│ │ │ │ └──────────────┘ │ │ │ │ │ │ ┌──────────────┐ │ │ │ │ BTN Mod │──── D6 ───────────────────────┤ │ │ │ Trainer/Dec.│ │ │ │ └──────────────┘ │ │ │ │ │ │ ┌──────────────────────────┘ │ │ │ │ │ D7 ─────►──── R1(220Ω) ──── LED Verde │ │ D8 ─────►──── R2(220Ω) ──── LED Rosu │ │ D9 ─────►──── Buzzer Piezo Pasiv │ │ │ └────────────────────────────────────────────────────────────────┘
Descrierea modulelor:
| Referinta | Componenta | Rol | Cant. |
|---|---|---|---|
| U1 | ATmega328P-XMINI | Microcontroler principal | x1 |
| U2 | LCD 1602 cu interfata I2C | Afisaj text 16×2 | x1 |
| U3 | OLED 0.96” SSD1306 | Afisaj grafic 128×64 | x1 |
| SEN1 | Senzor sunet KY-037 | Intrare acustica analogica | x1 |
| SW1 | Cheie telegrafică vintage | Intrare haptica Morse | x1 |
| SW2 | Push-button | Selector mod Trainer/Decoder | x1 |
| BZ1 | Buzzer Piezo Pasiv | Iesire audio ton Morse | x1 |
| LED1 | LED Verde 5mm | Indicator raspuns corect | x1 |
| LED2 | LED Rosu 5mm | Indicator eroare / zgomot | x1 |
| R1, R2 | Rezistor 220Ω | Limitare curent LED-uri | x2 |
| R3 | Rezistor 10kΩ | Pull-up extern (optional) | x1 |
| C1 | Condensator 100nF | Decuplare alimentare | x1 |
| – | Breadboard + fire jumper | Conectica prototip | – |
| Pin MCU | Tip | Conectat la |
|---|---|---|
| PC4 (A4) | SDA | LCD 1602 + OLED SSD1306 (magistrala I2C partajata) |
| PC5 (A5) | SCL | LCD 1602 + OLED SSD1306 (magistrala I2C partajata) |
| PC0 (A0) | Analog | KY-037 iesire analogica (AO) |
| D2 | INT0 | Cheie telegrafică (intrerupere hardware) |
| D6 | Digital | Buton selector mod |
| D7 | Digital | LED Verde prin R1 (220Ω) |
| D8 | Digital | LED Rosu prin R2 (220Ω) |
| D9 | PWM | Buzzer Piezo Pasiv – functia tone() |
| 5V | Power | Alimentare toate componentele |
| GND | Power | Masa comuna |
INPUT_PULLUP). Rezistenta de 10kΩ externa este optionala.Circuitul este asamblat pe breadboard cu fire jumper. Schema include:
INPUT_PULLUP pe D2
Proiectul a pornit de la o cheie telegrafică dintr-un sertar si a ajuns un dispozitiv functional de invatare. Ce e interesant e ca obiectul fizic schimba complet experienta fata de o simpla aplicatie: senzatia mecanica si sunetul buzzerului fac invatatul mai intuitiv.
Pe parcurs au aparut cateva probleme neasteptate, in special cu configurarea driver-ului mEDBG in Arduino IDE si cu calibrarea timpilor pentru dot/dash la viteze diferite de tastare. Partajarea magistralei I2C intre doua dispozitive a necesitat atentie la adrese, dar a functionat fara modificari hardware.
.ino)README.md cu instructiuni de instalare si utilizareChangeLog cu istoricul versiunilorFisierele se incarca pe wiki folosind facilitatea Add Images or other files.