Table of Contents

Nu Parcați!

Introducere

Proiectul este destinat persoanelor care doresc sa fie avertizate atunci cand cineva blocheaza o cale de acces, de exemplu un garaj. Astfel, proprietarul se poate feri de situatiile in care nu poate scoate masina din garaj. Avertizarea se realizeaza prin trimiterea unei notificari pe telefon, de tipul “Garaj blocat!”. De asemenea, sistemul va trimite o alta notificare pentru a anunta eliberarea caii de acces, de tipul “Garaj liber!”.

Descriere generală

Componenta sistemului consta in 2 senzori de distanta conectati la Arduino UNO si un modul de conexiune WiFi.


Dupa indeplinirea criteriului de detectie a masinii care ocupa zona de interes, Arduino va stabili starea in care se afla cei doi senzori:

In cazul in care se ajunge in stare blocata sau libera se va trimite o notificare corespunzatoare pe telefonul proprietarului prin IFTTT.

Hardware Design

Listă de piese:

  • Arduino UNO
  • Modul WiFi - Wemos D1 mini
  • Senzori de distanta cu ultrasunete x2
  • Breadboard

Schema electrica

Software Design

Este utilizat Arduino IDE ca mediu de dezvoltare.

Bibliotecile folosite in implementare sunt urmatoarele:

Proiectul consta in doua coduri: unul pentru Arduino UNO si unul pentru modului de WiFi Wemos D1 mini. Modulul Wemos D1 mini se conecteaza la Acces Point-ul de WiFi local prin intermediul SSID-ului (Service Set Identifier) si a parolei. In variabila INPUT_state se retine starea primita de la Arduino si se verifica daca aceasta s-a modificat, folosind o variabila last_INPUT_state ce retine fosta stare a sistemului. Astfel, daca starea sistemului se schimba (din liber in blocat sau invers) atunci se trimite catre Google o cerere de tip HTTP request catre serverul de IFTTT. Astfel serviciul de IFTTT va trimite notificarea corespunzatoare cererii pe telefonul proprietarului. Cererile au fost realizate cu ajutorul aplicatiei IFTTT prin crearea a doua evenimente denumite astfel: “Iot_Event_01” pentru garaj blocat si “Iot_Event_02” pentru garaj liber. Evenimentele folosesc serviciul Webhook.

Modulul Arduino UNO seteaza pinii de trigger pentru cei doi senzori de distanta pe HIGH timp de 10 microsecunde si masoara cu pulseIn durata de timp a impulsului Echo. Distanta se calculeaza cu ajutorul urmatoarei formule: distanta = durata * 0.034 / 2.

Avand amandoua distante calculate, se delimiteaza o zona de interes (zona din fata garajului ce exclude trotuarul si strada pe care circula masini). Astfel, daca senzorii detecteaza ceva in zona de interes, se afiseaza la seriala distanta calculata (in scop de debugging) si se modifica contorii asociati acestora astfel: incrementeaza contorii daca au detectat ceva in zona de interes sau ii decrementeaza in caz contrar. Contorii nu pot fi incrementati sau decrementati in afara intervalului [-lim_cnt, lim_cnt] (care in cazul implementarii curente este 3, caz in care timpul permis realizarii unei manevre este de 7 secunde). Astfel, daca cel putin un contor a atins valoarea lim_cnt se va seta pinul de output pe HIGH (de unde rezulta o notificare de tipul “Garaj blocat!”) iar daca amandoi contorii au ajuns la valoarea –lim_cnt, se va seta OutPin pe LOW (de unde rezulta o notificare de tipul “Garaj liber!”).

Rezultate Obţinute

Sistemul trimite o notificare pe telefon de fiecare data cand grarajul devine blocat sau liber dupa cum se poate observa si in urmatorul videoclip:
link youtube.

Concluzii

Proiectul a reprezentat o metoda interactiva si placuta de a recapitula ceea ce am invatat la PM dar si de a invata ceva nou, anume IFTTT. Am observat o satisfactie mai mare in realizare proiectului fizic in comparatie cu alte proiecte realizate in simulatoare online. Planuiesc sa completez si sa continui proiectul pentru a putea fi utilizat pe un garaj de marimi reale.

Download

cod_sursa.zip

Bibliografie/Resurse

Export to PDF