Differences

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

Link to this comparison view

pm:prj2026:alexandru.jipa2803:eduard.ghelbereu [2026/05/19 10:17]
eduard.ghelbereu
pm:prj2026:alexandru.jipa2803:eduard.ghelbereu [2026/05/24 03:32] (current)
eduard.ghelbereu
Line 13: Line 13:
  
 {{:​pm:​prj2026:​alexandru.jipa2803:​componente lipite.jpeg?​800|}} {{:​pm:​prj2026:​alexandru.jipa2803:​componente lipite.jpeg?​800|}}
 +
 +===== Schema electrica =====
 +
 {{:​pm:​prj2026:​alexandru.jipa2803:​schema electrica.jpeg?​800|}} {{:​pm:​prj2026:​alexandru.jipa2803:​schema electrica.jpeg?​800|}}
 +{{:​pm:​prj2026:​alexandru.jipa2803:​schemacircuit.jpeg?​800|}}
 +{{:​pm:​prj2026:​alexandru.jipa2803:​schemafusion1.jpeg?​800|}}
 +{{:​pm:​prj2026:​alexandru.jipa2803:​schemafusion2.peg.jpeg?​800|}}
 +{{:​pm:​prj2026:​alexandru.jipa2803:​schemafusion3.jpeg?​800|}}
  
 ===== Descriere generala ===== ===== Descriere generala =====
  
-{{:​pm:​prj2026:​alexandru.jipa2803:​schemaa.png}}+{{:​pm:​prj2026:​alexandru.jipa2803:​schemaaaa.jpeg?800|}}
  
-Sistemul este format din urmatoarele module:+Proiectul realizat reprezinta un sistem de parcare inteligenta bazat pe microcontrolerul ATmega328P. ​Sistemul ​monitorizeaza in timp real ocuparea locurilor de parcare utilizand senzori IR si permite accesul automat prin autentificare RFID. Informatiile privind disponibilitatea locurilor sunt afisate pe un display LCD 16x2 cu interfata I2C, iar semnalizarea vizuala ​este realizata cu LED-uri verzi si rosii controlate prin registre de deplasare 74HC595. 
 +Accesul in parcare este controlat printr-un servo motor care actioneaza bariera dupa validarea unui card RFID. Sistemul utilizeaza si un buzzer pentru feedback sonor la ridicarea si coborarea barierei.
  
-1.Modul RFID – citeste cardul ​si transmite UID-ul catre microcontroller+Pentru stabilitatea alimentarii,​ proiectul foloseste surse externe separate: 
 +-sursa externa de 5V pentru servo motor si display LCD; 
 +-sursa externa de 3.3V pentru modulul RFID RC522.
  
-2.Microcontroller ​(ATmega328P– proceseaza logica sistemului+Toate componentele utilizeaza masa comuna ​(GND comun).
  
-3.Modul senzori (8 senzori IR) – detecteaza ocuparea locurilor+===== Hardware Design =====
  
-4.Modul LED-uri – indica starea fiecarui loc+Lista de piese:
  
-5.Modul bariera ​(servomotor– controleaza accesul+^ Nr^ Componenta ^ Cantitate ^ Rol in proiect ^ Interfata folosita ^ 
 +| 1 | ATmega328P Xplained Mini | 1 buc | Unitatea centrala de procesare | - | 
 +| 2 | Display LCD 16x2 cu modul I2C | 1 buc | Afisarea locurilor disponibile si a mesajelor sistemului | I2C (SDA, SCL
 +| 3 | Modul RFID RC522 | 1 buc | Citirea cardurilor RFID pentru acces | SPI | 
 +| 4 | Servo motor SG90 | 1 buc | Actionarea barierei de acces | PWM | 
 +| 5 | Buzzer pasiv 5V | 1 buc | Feedback audio la acces | GPIO / PWM | 
 +| 6 | Registru de deplasare 74HC595 | 2 buc | Controlul extins al LED-urilor | Serial GPIO | 
 +| 7 | LED-uri verzi | 8 buc | Semnalizarea locurilor libere | GPIO prin 74HC595 | 
 +| 8 | LED-uri rosii | 8 buc | Semnalizarea locurilor ocupate | GPIO prin 74HC595 | 
 +| 9 | Rezistoare 330 ohm | 16 buc | Limitarea curentului pentru LED-uri | - | 
 +| 10 | Senzori IR | 8 buc | Detectarea ocuparii locurilor de parcare | GPIO | 
 +| 11 | Level Shifter bidirectional 4 canale | 1 buc | Conversia nivelelor logice 5V ↔ 3.3V pentru RFID | SPI | 
 +| 12 | Condensator electrolitic 1000uF / 16V | 1 buc | Stabilizarea alimentarii servo motorului | - | 
 +| 13 | Sursa externa 5V | 1 buc | Alimentarea servo motorului si display-ului LCD | Alimentare | 
 +| 14 | Sursa externa 3.3V | 1 buc | Alimentarea modulului RFID RC522 | Alimentare | 
 +| 15 | Breadboard MB-102 | 1 buc | Realizarea conexiunilor electrice | - | 
 +| 16 | Fire jumper tata-tata si mama-tata | 1 set | Realizarea conexiunilor intre componente | - |
  
-6.Modul buzzer – ofera feedback sonor+Conexiuni:
  
-7.Modul display ​(LCD I2C) – afiseaza informatii despre locuri+^ Pin ATmega328P ^ Rol ^ 
 +| PC0 (A0) | Display ​LCD I2C - SCL / Clock | 
 +| PC1 (A1) | Display LCD I2C - SDA / Data | 
 +| PC2 (A2) | Senzor IR 1 - semnal OUT | 
 +| PC3 (A3) | Senzor IR 2 - semnal OUT | 
 +| PC4 (A4) | Senzor IR 3 - semnal OUT | 
 +| PC5 (A5) | Senzor IR 4 - semnal OUT | 
 +| PD0 (D0) | Buzzer pasiv | 
 +| PD1 (D1) | RFID RC522 - pin RST | 
 +| PD2 (D2) | Senzor IR 5 - semnal OUT | 
 +| PD3 (D3) | Senzor IR 6 - semnal OUT | 
 +| PD4 (D4) | Senzor IR 7 - semnal OUT | 
 +| PD5 (D5) | Senzor IR 8 - semnal OUT | 
 +| PD6 (D6) | 74HC595 - pin DS / Data | 
 +| PD7 (D7) | 74HC595 - pin SH_CP / Clock | 
 +| PB0 (D8) | 74HC595 - pin ST_CP / Latch | 
 +| PB1 (D9) | Servo motor - semnal PWM | 
 +| PB2 (D10) | RFID RC522 - SDA / SS | 
 +| PB3 (D11) | RFID RC522 - MOSI | 
 +| PB4 (D12) | RFID RC522 - MISO | 
 +| PB5 (D13| RFID RC522 - SCK prin level shifter |
  
-Functionare:​+===== Software Design =====
  
-1. Utilizatorul apropie cardul RFID+==== Stadiul actual al implementarii software ====
  
-2. Sistemul verifica daca este valid+Implementarea software ​este functionala si integreaza toate modulele principale ale proiectului:​ citirea celor 8 senzori IR, afisarea numarului de locuri libere pe LCD, controlul LED-urilor prin doua registre 74HC595, citirea cardului RFID RC522, actionarea barierei prin servo motor si semnalizarea sonora cu buzzer.
  
-3Se verifica ​daca exista ​locuri ​libere+Codul este scris in C pentru AVR, fara framework Arduino, folosind direct registrele microcontrollerului ATmega328PProgramul initializeaza perifericele necesare, citeste periodic senzorii, actualizeaza LED-urile si display-ul, iar la detectarea unui card RFID decide ​daca permite sau refuza accesul in functie de numarul de locuri ​disponibile.
  
-4. Daca ambele conditii sunt indeplinite -> bariera se deschide si buzzerul emite un semnal+==== Biblioteci folosite ====
  
-5Senzorii actualizeaza starea locurilor+In varianta finala a proiectului nu sunt folosite biblioteci externe Arduino. Am ales implementarea directa in C AVR pentru a avea control complet asupra registrelor microcontrollerului si pentru a demonstra utilizarea directa a notiunilor parcurse la laborator.
  
-6. Display-ul afiseaza numarul de locuri libere sau mesajul "​Parcare ocupata"​+Sunt folosite doar headerele standard AVR:
  
-Toate modulele comunica prin intermediul ​microcontrollerului.+  * avr/io.h - pentru acces direct la registrele ​microcontrollerului
 +  * util/​delay.h - pentru intarzieri controlate;​ 
 +  * stdint.h - pentru tipuri de date fixe, precum uint8_t si uint16_t; 
 +  * stdbool.h - pentru tipul boolean.
  
-===== Hardware Design =====+Comunicatiile I2C si SPI sunt implementate manual prin configurarea registrelor TWI si SPI ale microcontrollerului. Controlul servo motorului este realizat prin Timer1, iar LED-urile sunt controlate prin semnale digitale trimise catre registrele 74HC595.
  
-Lista de piese:+==== Elementul ​de noutate al proiectului ====
  
-* ATmega328P Xplained Mini+Elementul de noutate al proiectului consta in integrarea mai multor functionalitati intr-un sistem complet de parcare inteligenta. Sistemul nu doar afiseaza locurile disponibile,​ ci coreleaza informatia primita de la senzori cu semnalizarea vizuala, controlul accesului RFID si actionarea automata a barierei.
  
-* Modul RFID RC522+Un alt element important este utilizarea registrelor 74HC595 pentru controlul celor 16 LED-uri folosind doar 3 pini ai microcontrollerului. Astfel, proiectul extinde numarul de iesiri disponibile si permite controlul individual al LED-urilor pentru fiecare loc de parcare.
  
-* 2 carduri RFID+==== Functionalitati din laborator utilizate ====
  
-* 8 senzori IR+Proiectul foloseste mai multe concepte studiate in laboratoare:​
  
-8 LED-uri rosii + 8 LED-uri verzi+  ​GPIO - pentru citirea senzorilor IR, controlul buzzerului si controlul registrelor 74HC595; 
 +  * Pull-up intern - pentru stabilizarea intrarilor digitale ale senzorilor;​ 
 +  * Timere si PWM - pentru generarea semnalului de control al servo motorului;​ 
 +  * SPI - pentru comunicatia cu modulul RFID RC522; 
 +  * I2C / TWI - pentru comunicatia cu display-ul LCD 16x2; 
 +  * Lucrul direct cu registre - pentru configurarea porturilor, a comunicatiilor si a Timer1; 
 +  * Interactiunea cu senzori si actuatori ​pentru citirea senzorilor IR si controlul ​LED-urilor, buzzerului si barierei.
  
-* 16 rezistente (220 ohmi)+Aceste functionalitati sunt legate direct de continutul laboratoarelor:​ GPIO si lucrul cu registrele sunt introduse in laboratorul 0, timerele si intreruperile in laboratorul 2, PWM-ul in laboratorul 3, SPI-ul in laboratorul 5, iar I2C-ul in laboratorul 6.
  
-* 2 x registre ​de deplasare 74HC595+==== Fragmente relevante ​de cod ====
  
-* Servomotor SG90 / MG90S+=== Configurarea comunicatiei I2C pentru LCD ===
  
-* Buzzer activ+Display-ul LCD foloseste magistrala I2C/TWI. Comunicatia este initializata prin configurarea registrelor TWSR, TWBR si TWCR.
  
-* Tranzistor NPN (2N2222 / BC547)+<code c> 
 +void twi_init() 
 +  TWSR = 0x00; 
 +  TWBR = 72; 
 +  TWCR = (1 << TWEN); 
 +
 +</​code>​
  
-* LCD 16x2 cu interfata ​I2C+Registrul TWBR stabileste viteza magistralei ​I2C, iar bitul TWEN activeaza perifericul TWI al microcontrollerului. Aceasta functionalitate este folosita pentru transmiterea comenzilor si caracterelor catre display.
  
-* Sursa alimentare 5V externa+=== Trimiterea datelor catre cele doua registre 74HC595 ===
  
-* Breadboard + fire+Pentru controlul celor 16 LED-uri am folosit doua registre 74HC595. Astfel, toate LED-urile pot fi controlate folosind doar 3 pini ai microcontrollerului.
  
-* Posibil piese extra+<code c> 
 +void shift595_send(uint16_t value) { 
 +  PORTB &= ~(1 << LATCH_PIN);
  
-Conexiuni:+  for (int i = 15; i >= 0; i--) { 
 +    if (value & (1 << i)) PORTD |= (1 << DATA_PIN);​ 
 +    else PORTD &= ~(1 << DATA_PIN);
  
-* RC522 -> SPI (MOSI, MISO, SCK, SS)+    PORTD |= (1 << CLOCK_PIN)
 +    _delay_us(2);​ 
 +    PORTD &= ~(1 << CLOCK_PIN);​ 
 +  }
  
-* LCD -> I2C (SDA, SCL)+  PORTB |= (1 << LATCH_PIN)
 +
 +</​code>​
  
-* 74HC595 ​-> 3 pini digitali+Functia trimite pe rand cei 16 biti catre registre. Primii 8 biti controleaza LED-urile rosii, iar ceilalti 8 biti controleaza LED-urile verzi. La final, semnalul latch actualizeaza iesirile registrelor.
  
-* Senzori IR -> pini digitali+=== Calcularea locurilor libere si actualizarea LED-urilor ===
  
-* Servo -> pin PWM+Senzorii IR sunt cititi periodic. In functie de starea fiecarui senzor, se aprinde LED-ul verde pentru loc liber sau LED-ul rosu pentru loc ocupat.
  
-* Buzzer -pin digital ​(prin tranzistor)+<code c> 
 +for (uint8_t i = 0; i < 8; i++
 +  if (senzori_liber[i]) { 
 +    locuri++; 
 +    leduri |= (1 << i); 
 +  } else { 
 +    leduri |= (1 << (i + 8)); 
 +  } 
 +}
  
-Observatii:+shift595_send(leduri);​ 
 +</​code>​
  
-Servo necesita alimentare separata +Variabila leduri contine starea tuturor celor 16 LED-uri. Bitii 0-7 sunt folositi ​pentru ​LED-urile verzi, iar bitii 8-15 pentru LED-urile rosii.
-LED-urile sunt controlate eficient prin registre ​pentru ​a economisi pini+
  
-===== Software Design ​=====+=== Configurarea PWM pentru servo motor === 
 + 
 +Servo motorul este controlat cu Timer1, folosind iesirea OC1A de pe pinul PB1 / D9. 
 + 
 +<code c> 
 +void servo_init() { 
 +  DDRB |(1 << PB1); 
 + 
 +  TCCR1A ​(1 << COM1A1) | (1 << WGM11); 
 +  TCCR1B ​(1 << WGM13) | (1 << WGM12) | (1 << CS11); 
 + 
 +  ICR1 39999; 
 +
 +</​code>​ 
 + 
 +Timer1 este configurat in mod Fast PWM, cu perioada de aproximativ 20 ms, potrivita pentru controlul unui servo motor. Pozitia barierei este setata prin modificarea registrului OCR1A. 
 + 
 +<code c> 
 +void servo_write(uint8_t angle) { 
 +  if (angle == 0) { 
 +    OCR1A = 2000; 
 +  } else { 
 +    OCR1A = 4000; 
 +  } 
 +
 +</​code>​ 
 + 
 +Valoarea OCR1A determina durata impulsului PWM. Pentru proiect, valorile au fost calibrate astfel incat bariera sa aiba doua pozitii clare: coborata si ridicata. 
 + 
 +=== Initializarea comunicatiei SPI pentru RFID === 
 + 
 +Modulul RC522 comunica prin SPI. Pinii MOSI, SCK si SS sunt configurati ca iesiri, iar MISO ca intrare. 
 + 
 +<code c> 
 +void spi_init() { 
 +  DDRB |= (1 << PB2) | (1 << PB3) | (1 << PB5); 
 +  DDRB &= ~(1 << PB4); 
 + 
 +  PORTB |= (1 << RFID_SS); 
 + 
 +  SPCR = (1 << SPE) | (1 << MSTR) | (1 << SPR0); 
 +
 +</​code>​ 
 + 
 +Bitul SPE activeaza perifericul SPI, iar MSTR configureaza microcontrollerul ca master. RC522 functioneaza ca dispozitiv slave. 
 + 
 +=== Citirea UID-ului cardului RFID === 
 + 
 +Pentru detectarea cardului RFID se trimite o comanda REQA, apoi se foloseste comanda anticollision pentru citirea UID-ului. 
 + 
 +<code c> 
 +bool rfid_read_uid(uint8_t *uid) { 
 +  rfid_write(0x09,​ 0x26); 
 +  rfid_write(0x01,​ 0x0C); 
 +  rfid_setBit(0x0D,​ 0x80); 
 + 
 +  _delay_ms(10);​ 
 + 
 +  if (!(rfid_read(0x04) & 0x30)) return false; 
 + 
 +  rfid_write(0x09,​ 0x93); 
 +  rfid_write(0x09,​ 0x20); 
 + 
 +  _delay_ms(10);​ 
 + 
 +  for (uint8_t i = 0; i < 5; i++) { 
 +    uid[i] = rfid_read(0x09);​ 
 +  } 
 + 
 +  return true; 
 +
 +</​code>​ 
 + 
 +Daca nu este detectat niciun card, functia intoarce false. Daca un card este prezent, UID-ul este salvat intr-un vector si ulterior afisat pe LCD. 
 + 
 +=== Logica principala a proiectului === 
 + 
 +Bucla principala actualizeaza permanent starea parcarii si verifica daca a fost citit un card RFID. 
 + 
 +<code c> 
 +while (1) { 
 +  int locuri = actualizeaza_parcarea();​ 
 + 
 +  if (rfid_read_uid(uid)) { 
 +    afiseaza_uid(uid);​ 
 + 
 +    if (locuri == 0) { 
 +      lcd_print("​Acces refuzat"​);​ 
 +    } else { 
 +      deschide_bariera();​ 
 +    } 
 + 
 +    rfid_halt();​ 
 +    _delay_ms(500);​ 
 +    rfid_init();​ 
 +  } 
 + 
 +  _delay_ms(150);​ 
 +
 +</​code>​ 
 + 
 +Aceasta este partea care leaga toate modulele intre ele: senzorii determina disponibilitatea locurilor, RFID-ul declanseaza cererea de acces, iar servo motorul actioneaza bariera daca exista locuri libere. 
 + 
 +=== Actionarea barierei si feedback-ul sonor === 
 + 
 +La acces permis, bariera este ridicata, buzzerul este activat, apoi dupa o pauza bariera este coborata automat. 
 + 
 +<code c> 
 +void deschide_bariera() { 
 +  lcd_clear();​ 
 +  lcd_print("​Acces permis"​);​ 
 + 
 +  servo_write(90);​ 
 +  buzzer_on_2s();​ 
 + 
 +  _delay_ms(2000);​ 
 + 
 +  lcd_clear();​ 
 +  lcd_print("​Bariera jos"​);​ 
 + 
 +  servo_write(0);​ 
 +  buzzer_on_2s();​ 
 +
 +</​code>​ 
 + 
 +Buzzerul functioneaza pe durata miscarii barierei, oferind feedback sonor utilizatorului. 
 + 
 +==== Structura software ==== 
 + 
 +Codul este impartit in mai multe sectiuni functionale:​ 
 + 
 +  * LCD I2C - contine functiile pentru initializarea si controlul display-ului;​ 
 +  * 74HC595 - contine functia de trimitere a celor 16 biti catre registrele de deplasare;​ 
 +  * Servo - initializeaza Timer1 si seteaza pozitia barierei; 
 +  * Buzzer - genereaza un semnal sonor timp de aproximativ 2 secunde; 
 +  * SPI / RFID - initializeaza SPI-ul si permite citirea UID-ului cardului RFID; 
 +  * Parcare - citeste senzorii, calculeaza numarul de locuri libere si actualizeaza LED-urile;​ 
 +  * main - initializeaza toate modulele si ruleaza bucla principala.
  
-Mediu de dezvoltare:+In bucla principala, sistemul actualizeaza constant starea parcarii. Daca este detectat un card RFID, UID-ul este afisat pe LCD. Daca exista cel putin un loc liber, bariera se ridica, buzzerul porneste pe durata miscarii, apoi bariera coboara automat. Daca parcarea este plina, accesul este refuzat si mesajul este afisat pe display.
  
-Arduino IDE+==== Validarea functionalitatilor ====
  
-Librarii:+Functionalitatile au fost validate incremental:
  
-SPI (pentru RFID) +  * LCD-ul a fost testat separat prin afisarea unui mesaj simplu; 
-MFRC522 (pentru modul RFID) +  * senzorii IR au fost testati individual, apoi impreuna, prin afisarea starilor pe display; 
-Wire (pentru I2C) +  * LED-urile au fost testate separat prin registrele 74HC595; 
-LiquidCrystal_I2C (pentru LCD) +  * RFID-ul a fost testat prin citirea UID-ului cardului; 
-Servo (pentru control bariera)+  * servo motorul a fost testat prin miscarea barierei intre pozitia inchisa si deschisa; 
 +  * buzzerul a fost testat impreuna cu miscarea servo motorului; 
 +  * in final, toate modulele au fost integrate intr-un singur program.
  
-Algoritm principal:+Validarea finala a constat in simularea ocuparii locurilor de parcare si apropierea unui card RFID de cititor. Sistemul a actualizat corect numarul de locuri libere, LED-urile corespunzatoare si a actionat bariera doar atunci cand existau locuri disponibile.
  
-1. Initializare module+==== Calibrarea senzorilor ====
  
-2Citire senzori -> actualizare locuri ocupate+Senzorii IR au fost calibrati individual folosind potentiometrul de pe fiecare modul. Pentru fiecare senzor am ajustat pragul de detectie astfel incat acesta sa isi schimbe starea atunci cand un obiect se afla in dreptul locului de parcare.
  
-3. Afisare locuri pe display+Procesul de calibrare a fost realizat astfel:
  
-4Citire card RFID+  * fiecare senzor a fost conectat individual;​ 
 +  * iesirea OUT a fost citita de microcontroller;​ 
 +  * s-a apropiat un obiect de senzor pentru a verifica schimbarea starii; 
 +  * potentiometrul senzorului a fost ajustat pana cand detectia a devenit stabila; 
 +  * dupa calibrare, senzorii au fost testati impreuna in sistemul complet.
  
-5Verificare:+Pentru servo motor, calibrarea a constat in ajustarea valorilor OCR1A folosite pentru pozitiile barierei. Pozitia inchisa foloseste un impuls de aproximativ 1 ms, iar pozitia deschisa foloseste un impuls mai mare, ajustat astfel incat bariera sa ajunga in pozitia dorita.
  
-* card valid? +==== Optimizari realizate ====
-* locuri disponibile?​+
  
-6Daca da:+Principala optimizare a fost utilizarea celor doua registre 74HC595Fara acestea, cele 16 LED-uri ar fi necesitat 16 pini separati ai microcontrollerului. Prin folosirea registrelor,​ toate LED-urile sunt controlate folosind doar 3 piniDS, SH_CP si ST_CP.
  
-* deschide bariera +O alta optimizare a fost renuntarea la bibliotecile Arduino si trecerea la cod C AVR cu acces direct la registre. Astfel, codul este mai apropiat de arhitectura hardware si permite control mai precis asupra perifericelor.
-* activeaza buzzer+
  
-7. Daca nu:+Au fost realizate si optimizari hardware/​software pentru stabilitate:
  
-refuza acces+  ​servo motorul si display-ul sunt alimentate din sursa externa de 5V; 
 +  * RFID-ul este alimentat din sursa externa de 3.3V; 
 +  * toate masele sunt comune; 
 +  * un condensator de 1000uF este folosit pentru stabilizarea alimentarii servo motorului;​ 
 +  * RFID-ul este reinitializat dupa fiecare citire pentru a permite citiri repetate ale cardurilor.
  
-Structuri:+==== Demo video ====
  
-* array pentru starea locurilor +Demo-ul video al proiectului va prezenta urmatoarele etape:
-* variabila pentru numar locuri libere +
-* lista UID-uri valide+
  
-===== Rezultate Obtinute =====+  - pornirea sistemului si afisarea numarului de locuri libere pe LCD; 
 +  - activarea senzorilor IR si schimbarea LED-urilor din verde in rosu; 
 +  - actualizarea automata a numarului de locuri libere; 
 +  - citirea unui card RFID; 
 +  - ridicarea barierei si activarea buzzerului;​ 
 +  - coborarea automata a barierei; 
 +  - cazul in care parcarea este plina si accesul este refuzat.
  
-Sistemul a fost capabil sa:+Link demo videohttps://​youtube.com/​shorts/​kGitde-WedE?​is=PO4sWVbsrNmVk2R9
  
-* detecteze corect carduri valide si invalide +==== Github ====
-* deschida bariera doar cand exista locuri libere +
-* actualizeze in timp real starea locurilor +
-* afiseze corect informatiile pe display +
-* ofere feedback vizual si sonor+
  
-===== Concluzii =====+https://​github.com/​EduardG05/​ProiectPM
  
-Proiectul demonstreaza implementarea unui sistem embedded complet, integrand mai multe periferice hardware si logica software. Principalele dificultati au fost gestionarea pinilor si integrarea modulelor.+==== Bibliografie ====
  
-===== Download =====+https://​www.pcbasic.com/​ro/​blog/​ir_sensors.html
  
-===== Jurnal =====+https://​ocw.cs.pub.ro/​courses/​pm/​proiect/​xplainedmini
  
-===== Bibliografie/Resurse =====+https://​components101.com/​sites/​default/​files/​component_datasheet/​SG90%20Servo%20Motor%20Datasheet.pdf
  
-* Datasheet ATmega328P +https://​www.nxp.com/​docs/​en/​data-sheet/​MFRC522.pdf
-* Datasheet RC522 +
-* Documentatie Arduino +
-* Tutoriale RFID, servo, LCD+
  
 <​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/prj2026/alexandru.jipa2803/eduard.ghelbereu.1779175079.txt.gz · Last modified: 2026/05/19 10:17 by eduard.ghelbereu
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