This is an old revision of the document!
Proiectul constă în realizarea unui terminal de comunicații mobil și independent, cu o estetică retro, pe care rulează un sistem de operare dezvoltat de la zero. Scopul lui: replicarea funcționalității de bază a unui telefon mobil clasic. Ideea de la care am pornit: Mi-am dorit să recreez experiența telefoanelor fiabile de la începutul anilor 2000, explorând în același timp la nivel bare-metal, pe un microcontroller cu memorie foarte limitata. Utilitate: demonstrează capacitatea de a construi o arhitectură software avansată (multitasking, gestiune PROGMEM) și de a integra senzori, protocoale și un management de putere eficient într-un singur sistem portabil. Pentru alții, ar putea fi un dispozitiv de comunicație de urgență / rezervă destul de interesant.
1. Schema bloc
2. Descrierea Modulelor Hardware
Microcontroller (ATmega328P): Unitatea centrală de procesare a sistemului — gestionează intrările de la tastatură, comunicația cu rețeaua mobilă, afișarea interfeței și generarea semnalelor audio.
Modul GSM (SIM800L): Asigură conectivitatea la rețeaua celulară pentru apeluri vocale și SMS-uri. Comunică cu microcontrolerul prin UART.
Display (Nokia 5110 PCD8544): Ecran LCD monocrom pentru afișarea meniurilor, mesajelor și stării sistemului. Controlat prin SPI pentru un refresh fluid.
Modul RTC (DS3231): Menține data și ora exactă independent de microcontroler, inclusiv în modul repaus. Comunică prin I²C.
Tastatură multiplexată analogic: Mai multe butoane conectate printr-un divizor de tensiune la un singur pin ADC. Butonul apăsat este identificat prin nivelul de tensiune măsurat.
Senzor de lumină ambiantă (LDR): Fotorezistență pe un pin ADC. Valoarea citită ajustează automat luminozitatea ecranului prin PWM.
Buzzer pasiv: Redă tonuri de apel și sunete de sistem. Controlat de Timer 2 (mod CTC/PWM) pentru frecvențe precise fără a solicita procesorul.
Modul de alimentare: Acumulator Li-Ion (3.7V) cu circuit de încărcare și protecție, urmat de un convertor Boost ce stabilizează tensiunea la 5V.
3. Descrierea Modulelor Software
Scheduler cooperativ: Planifică execuția task-urilor (audio, display, senzori) pe baza unui tick generat de Timer 1 la fiecare milisecundă, eliminând funcțiile blocante de tip delay().
Driver grafic (GUI): Translatează text și date de stare într-un frame buffer de pixeli. Fonturile compacte (4×6, 3×5) sunt stocate în Flash (PROGMEM) pentru a conserva RAM-ul.
Motor audio: Redă structuri muzicale (frecvențe și durate din MIDI) stocate în PROGMEM, cu suport pentru legato/staccato și control al frecvenței prin Timer 2.
Controller de evenimente (Input & Power Management): Procesează intrările de la LDR și tastatură, gestionează intrarea în repaus la inactivitate și trezirea prin întreruperi (PCINT).
Parser AT: Formatează comenzile pentru SIM800L și interpretează răspunsurile rețelei (ex: RING, +CMTI).
Listă componente Microcontroler ATmega328P
Modul GSM SIM800L (cu antenă)
Ecran LCD Nokia 5110 (PCD8544)
Acumulator Li-Ion 18650
Modul încărcare baterie TP4056
Convertor Step-Up MT3608
Buzzer Pasiv
Modul RTC DS3231
Tranzistor NPN (BC547 / 2N2222)
Fotorezistență (LDR)
Butoane Tactile (Push Buttons)
Condensator Electrolitic 1000µF
Condensatori Ceramici 100nF
Set Rezistențe (1kΩ, 10kΩ, 220Ω, etc.)
Oscilator Cuarț 16MHz
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.