Documente Academic
Documente Profesional
Documente Cultură
Seif – Arduino
PROIECT de SEMESTRU
Catedra de Calculatoare
Nechiti Radu
Grupa: 30234
Contents
1. Cerinte functionale.............................................................................................................................. 3
2. Analiza problemei ............................................................................................................................... 3
3. Implementare ...................................................................................................................................... 5
4. Concluzii si dezvoltari ulterioare ....................................................................................................... 8
5. Bibliografie .......................................................................................................................................... 9
1. Cerinte functionale
Sa se proiecteze folosind sistemul de intreruperi cifrul unui seif folosind un
sistem Arduino care va avea urmatorul mod de functionare: Initial utilizatorul va
seta o parola. Dupa setarea parolei cu succes, utilizatorul va avea sansa sa se
autentifice doar cu acea parola. La introducerea de 3 ori in mod repetat a unei
parole gresite, cifrul va intra intr-un mod protectie ce nu va mai accepta
introducerea parolei pentru fix 3 minute. Intrarea in modul protectie ii va fi
semnalizata utilizatorului sonor si visual, iar acesta nu va putea schimba nici parola
in acest timp. In afara modului protective, utilizatorul poate sa solicite cifrului
schimbarea parolei si introducerea parolei corecte de oricate ori. Ca input se va
folosi doar Serial Monitor, iar ca output Serial Monitor si difuzorul
2. Analiza problemei
Pentru a putea implementa correct cerinta problemei este esential sa intelegem
functionarea Serial Monitorului. Acesta este un terminal separat ( o fereastra ) care
comunica cu Arduino atat prin trimitere de date cat si prin primire.
Funcțiile print şi println ale clasei Serial trimit date pe portul serial. Diferența
este ca println() adaugă un caracter rând nou (‘\n’) si un caracter „carriage return”
(‘\r’) la finalul mesajului transmis. Pentru numere transmise puteți specifica si un
format de transmitere a datelor (HEX, DEC etc.)
Funcția begin() setează viteza de comunicație, in biți/secunda (baud rate).
Pentru comunicația cu computerul se folosesc în general următoarele viteze.
Funcția read() citește datele venite prin interfața seriala. Sintaxa este următoare:
IncomingByte = Serial.read();
Funcția write() trimite un octet sau o succesiune de octeți. Pentru a trimite totuși
numere se recomanda folosirea funcției print().
Urmatoarea componenta este difuzorul care poate fi conectat direct pe unul
dintre pinii PWM ai placii pentru a crea efecte sonore sau melodii.
3. Implementare
void setup() {
// initializare interfata seriala
Serial.begin(9600); // format frame serial implicit
// rezervam 200 de octeti pentru sirul de preluare a datelor de intrare
inputString.reserve(200);
Serial.println("Introduceti o parola initiala");
pinMode(LED_BUILTIN, OUTPUT);
}
void loop()
{
http://users.utcluj.ro/~rdanescu/pmp-lab05.pdf
https://learn.adafruit.com/adafruit-arduino-lesson-5-the-serial-monitor/the-serial-
monitor
https://stackoverflow.com/