Table of Contents

Sistem de acces multi-nivel pentru șoferi

Autor: Raluca-Zinca-Ioana Guceanu
Grupa: 331CD
GitHub: https://github.com/ralucaguceanu/Sistem-de-acces-multi-nivel-pentru-soferi

Introducere

Acest proiect reprezintă un sistem de acces pentru vehicule închiriate, care permite deblocarea mașinii doar după ce utilizatorul este identificat corect.

Accesul se face pe baza:

Scopul principal este de a adăuga un nivel suplimentar de securitate în procesul de închiriere a unei mașini. Am pornit de la ideea că vehiculele închiriate pot fi folosite în mod necorespunzător sau de persoane nepotrivite, iar o asemenea verificare ar putea reduce semnificativ aceste riscuri.

Consider că sistemul ar putea fi benefic pentru:

Pentru mine, acest proiect este o ocazie practică de a învăța să:

Descriere generală

Schemă bloc


Modul principal: Arduino UNO

Rolul său este de a controla întregul sistem:


Modul de autentificare


Senzor de verificare


Feedback utilizator

Hardware Design

Listă de piese

Schemă electrică

Software Design

Mediu de dezvoltare

Librării externe utilizate

Bibliotecă Rol
Wire.h Comunicare I2C cu LCD
LiquidCrystal_I2C.h Control ecran LCD
SPI.h Comunicare SPI între Arduino și cardul microSD
SD.h Citire/scriere fișiere pe card microSD
SHA256.h Hash-uirea parolei pentru securitate sporită

Arhitectura software

  1. Inițializare componente:
    1. LCD, card microSD, tastatură, LED-uri, buzzer, senzor MQ-3
  2. Autentificare:
    1. Introducerea unei parole de 4 cifre
    2. Fiecare tastă apărută ca `*` pe LCD
    3. Generare hash simplificat
  3. Validare parolă:
    1. Citirea fișierului ce conține hash-ul pentru parola corectă de pe card SD
    2. Comparare hash-uri
  4. Test alcool MQ-3:
    1. Afișare mesaj „Ready? Start!” și countdown 5 → 1
    2. Citirea valorii senzorului
    3. Aprindere LED verde dacă valoarea < limită
    4. Aprindere LED roșu dacă valoarea ≥ limită

Funcții implementate

Funcție Scop
sha256Hex(const char *msg, char *hexOut) Generează un hash din parola
addChar(char) Adaugă o cifră în șirul parolei și o afișează cu `*`
resetPasswordInput() Resetează parola și reafișează „Enter Password”
playSuccessTone() Emite un sunet de succes prin buzzer
playErrorTone() Emite două sunete de eroare
runAlcoholTest() Rulează testul de suflare și afișează rezultatul

Parametri configurabili

Rezultate Obţinute

Funcționalitate sistem

În urma implementării și testării, sistemul este complet funcțional și reușește să îndeplinească toate cerințele propuse:

Calibrare și testare senzor alcool MQ-3

Fiabilitate și comportament în timp

Obiective atinse

Sistem de acces multi-nivel pentru șoferi - Demo

Concluzii

Realizarea acestui proiect mi-a oferit ocazia de a îmbina teoria cu practica și de a învăța să integrez mai multe module hardware într-un singur sistem, cu funcționalitate reală.

Am reușit să:

Sistemul s-a dovedit funcțional, stabil și extensibil. În plus, poate fi aplicat în contexte reale, precum:

Consider că obiectivele propuse au fost atinse integral, iar experiența acumulată va fi utilă în proiecte viitoare ce implică atenție la detalii, securitate și integrarea mai multor componente într-un sistem.

Cod sursă

GitHub Repository

Resurse

Resurse software

Resurse hardware

Resurse software și hardware