Table of Contents

SafeFuse Simulator

Autor: Simionescu Andreea-Daniela

Grupa: 333CD

Introducere

SafeFuse Simulator oferă o experiență intensă în care o persoană își poate dovedii perspicacitatea și abilitatea de a se descurca sub presiune. Dacă aceasta ajunge cu degetul aproape de un senzor, se va declansa un sunet tulburător, iar din punctul acesta, persoana trebuie să caute în jur indicii pentru a pune parola corectă la tastatură. Tensiunea începe să crească deoarece timpul trece rapid și neintroducerea unei parole corecte va duce la un eșec nemilos. Dacă este introdusă corect parola, sunetul înspăimântător se va oprii, iar lumina verde va strălucii triumfător alături de un mesaj de victorie pe un LCD.

Descriere generală

Acesta este un proiect în care va exista un senzor de atingere, care dacă este declanșat, va porni un buzzer, respectiv pe LCD va aparea un anumit timp care se va scurge pana cand este introdusa parola la tastatura.Din acest punct, scopul persoanei care a pus degetul pe senzorul de atingere e de a găsi parola corectă pe care trebuie să o introducă la o tastatură. Dacă parola este corectă se va aprinde un led verde, LCD-ul va arăta un mesaj de victorie, iar buzzer-ul se va oprii. Dacă, în schimb, parola este incorectă, LCD-ul va afișa un mesaj care sa semnifice ca teoretic s-a declansat bomba, iar lumina roșie se va aprinde și buzzer-ul se va oprii.

Functionalitate:

In punctul in care Arduino este conectat la laptop, apare pe LCD un mesaj in care anunta ca e necesara atingerea senzorului pentru a se afla ce se intampla mai departe. In punctul in care senzorul este atins, va aparea un mesaj in care sa anunte ca o sa inceapa numaratoarea inversa, iar dupa apare timpul care cu cat trec secundele, tot descreste, iar buzzer-ul incepe sa-si faca prezenta . Din momentul acesta exista 3 scenarii:

Dupa fiecare scenariu, daca trec cateva secunde se va relua starea initiala a proiectului, acela unde se asteapta atingerea senzorului

Urmatoarea poza contine niste indicii legate de parola corecta.

-hint: ce se gaseste se ia de la stanga la dreapta

Hardware Design

Piese utilizate:

Schema electrica:

Implementare hardware fizic:

Software Design

Ca mediu de dezvoltare am folosit Arduino IDE. Librariile pe care le-am folosit sunt: LiquidCrystal_I2C(acesta este folosit pentru a afisa diferite mesaje pe LCD), Keypad(Acesta l-am ales pentru tastatura matriceala 4×4). Tot codul scris se afla in functiile setup si loop. In setup am initializat LCD ul si am setat diferiti pini ca fiind de intrare sau iesire(senzorul de atingere de input, iar celelalte gen buzzer, led-uri ca output).

Am o variabila globala countdown_on care atunci cand valoarea de input a senzorului de atingere e pe low se face 1 si determina faptul ca a inceput procesul in care se va scurge timpul.Aceasta variabila in punctul in care se termina numaratoarea/ se ajunge la mesajul final se va reseta la 0 ca sa se poata relua procesul de la inceput.

Initial ma gandeam atunci cand scadeam din timp sa folosesc delay() dar in punctul in care voiam sa fac si buzzer-ul sa sune din 2 in 2 secunde tot cu ajutorul delay-ului mi-am dat seama ca nu ar fi prea eficient si ca o sa se stranga prea mult timp de inactivitate. Asa ca pentru scurgerea timpului si pentru a seta buzzer-ul sa sune din 2 in 2 secunde si pentru atunci cand se ajunge intr-o stare finala si doresc dupa 4 secunde sa se reseteze tot joculetul am facut operatii cu functia millis().

Pentru a face sa sune sau sa se opreasca buzzer-ul am folosit functiile noTone si tone, pentru a aprinde sau a stinge ledurile am folosit digitalWrite.

Atunci cand numaratoarea inversa este pornita, salvez intr-un string daca este apasata vreo tasta de la tastatura, iar daca timpul nu s-a scurs si string-ul corespunde cu parola setata de lungime 3 atunci variabila ok se seteaza pe 1, buzzer-ul se opreste si este setat mesajul de victorie si beculetul verde este aprins, dupa 4 secunde se va relua jocul si se va reseta tot. Daca parola este gresita variabila ok va devenii ok = 2, se va inchide buzzer-ul, va aparea un mesaj de esec si se va aprinde becul rosu, dupa 4 secunde se va relua jocul.

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Initial, cand m-am decis pana la urma ce proiect vreau sa fac, mi-a fost putin teama ca n-o sa ma descurc, avand in vedere ca n-am mai facut niciodata un proiect hardware. Dar, in final, dupa ce m-am documentat de cum functioneaza piesele pe care le-am ales si cum pot sa le conectez ca sa iasa un produs functionabil si dupa ce am pus toate cunostiintele in aplicare hardware si software obtinute si din cadrul laboratoarelor, mi-am dat seama ca n-a fost asa rau precum credeam si chiar a fost un proces interesant.

Pe parcursul dezvoltarii proiectului, am intampinat niste mici probleme cu LCD-ul, deoarece nu intelegeam de ce il detecteaza si mi arata adresa, dar nu-mi afisa nimic pe ecran. Rezolvarea a fost sa dau cate putin din potentiometrul din spate :)). In rest ce probleme am intampinat la nivel software am folosit Serial Monitor-ul unde am printat diferite chestii ca sa-mi dau seama daca functioneaza tot cum trebuie.

Download

In acest zip exista codul in Arduino IDE si un video cu proiectul.

safefusesimulator_zip.zip

Jurnal

Bibliografie/Resurse

Export to PDF