Proiect de diplomă [629959]

Proiect de diplomă
11

Cuprins
Cuprins …………………………………………………………………………………………11
Lista acronimelor ……………………………… ……………….. ……………………………………………………… 13
1. INTRODUCERE ȘI MOTIVAȚIA PROIECTULUI DE LICENȚĂ ………………………. 15
1.1. Motivație ………………………….. ………………………….. ………………………….. …………………… 15
1.2. IoT ………………………….. ………………………….. ………………………….. ………………………….. .. 16
1.3. Soluție ………………………….. ………………………….. ………………………….. ………………………. 16
2. DESCRIEREA COMPONENTELOR HARDWARE ………………………….. ……………….. 17
2.1. Descrier e generală ………………………….. ………………………….. ………………………….. ………. 17
2.2. Placa de dezvoltare Arduino Nano ………………………….. ………………………….. ……………. 17
2.2.1 Caracteristici tehnic e ………………………….. ………………………….. ……………………….. 17
2.2.1.1 Alimentarea ………………………….. ………………………….. ………………………….. 18
2.2.1.2 Memoria ………………………….. ………………………….. ………………………….. ….. 18
2.2.1.3 Intrări și ieșiri ………………………….. ………………………….. ……………………….. 18
2.2.2 Comunicare ………………………….. ………………………….. ………………………….. ……….. 19
2.2.3 Programare ………………………….. ………………………….. ………………………….. ………… 19
2.2.4 Resetare (Software) automată ………………………….. ………………………….. …………… 20
2.3. Modulul GSM ………………………….. ………………………….. ………………………….. ……………. 20
2.3.1 Descriere Modul GSM ………………………….. ………………………….. ……………………. 20
2.3.2 Caracteristici Modul GSM GA6 ………………………….. ………………………….. ……….. 20
2.3.3 Descriere Modul Sim 800L ………………………….. ………………………….. ………………. 21
2.3.4 Caracteristicile Modulului SIM 800L ………………………….. ………………………….. … 21
2.4. Modulul Bluetooth ………………………….. ………………………….. ………………………….. ……… 22
2.4.1. Descriere Bluetooth HC -06 ………………………….. ………………………….. …………….. 22
2.4.2. Caracteristici generale ………………………….. ………………………….. ……………………. 22
2.4.3. Asocierea modulului Bluetooth HC -06 ………………………….. …………………………. 22
2.5. Modul cu 4 relee ………………………….. ………………………….. ………………………….. ………… 23
2.5.1 Caracteristici tehnice ………………………….. ………………………….. ……………………… 23
2.5.2 Instrucțiuni de utilizare ………………………….. ………………………….. ………………….. 24
2.5.2.1 Conectarea consumatorilor la relee ………………………….. ……………………. 24
2.5.2.2 Scrierea codului care controlează releele ………………………….. ……………. 24
2.5.2.3 Alimentarea modulului se poate realiza în două moduri …………………… 25
2.5.2.4 Conectarea pinilor digitali la pinii de control de pe modul ………………… 25
2.5.2.5 Alimentarea plăcii de dezvoltare și încărcarea codului. ……………………. 25
2.6 Modul RFID cu MFRC522 ………………………….. ………………………….. ……………………….. 25
2.6.1 Descrierea Modulului RFID ………………………….. ………………………….. ……………. 25
2.6.2 Caracteristici tehnice ………………………….. ………………………….. ……………………… 25
2.6.3 Modul de utilizare ………………………….. ………………………….. …………………………. 26
2.6.3.1 Conexiunile hardware ………………………….. ………………………….. ………… 26
2.6.3.2 Instalarea bibliotecii RFID ………………………….. ………………………….. …. 27
2.6.3.3 Verificarea conexiunilor modulului ………………………….. …………………. 27
2.7 Modul RTC DS1302 ………………………….. ………………………….. ………………………….. ……. 27
2.7.1 Caracteristicile tehnice ale modulului RTC ………………………….. ……………………. 28
2.7.2 Descrierea Modulului RTC ………………………….. ………………………….. ……………… 28

Proiect de diplomă
12
2.7.3 Sistem ul de operare ………………………….. ………………………….. ………………………… 28
2.7.4 Resetarea și controlul ceasului ………………………….. ………………………….. …………. 29
2.7.5 Introducere și rezultatul datelor ………………………….. ………………………….. ………… 29
2.8 Senzor PIR HC -SR501 ………………………….. ………………………….. ………………………….. …. 30
2.8.1 Descriere generală ………………………….. ………………………….. ………………………….. 30
2.8.2 Date tehnice ale senzorului PIR ………………………….. ………………………….. ……….. 30
2.8.3 Caracteristicile senzorului PIR ………………………….. ………………………….. …………. 31
2.8.4 Ajustarea senzorului PIR ………………………….. ………………………….. …………………. 31
2.8.5 Instrucțiuni de folosire a senzorului PIR ………………………….. ………………………… 32
2.9 Senzorul BME280
2.9.1 Descriere generală ………………………….. ………………………….. ………………………….. 32
2.9.2 Detalii tehnice ale senzorului ………………………….. ………………………….. …………… 32
2.10 Afișajul alfanumeric – LCD HD44780 ………………………….. ………………………….. …….. 33
2.11 Yala electr ică YE-302A ………………………….. ………………………….. …………………………. 34
2.11.1 Descriere generală ………………………….. ………………………….. ……………………. 34
2.11.2 Specificații tehnice ………………………….. ………………………….. …………………… 34
2.12 Cablu de alimentare ………………………….. ………………………….. ………………………….. ….. 35
2.12.1 Cablu de alimentare pentru placa de dezvoltare Arduino Nano ………………. 35
2.12.2 Cablu de alimentare pentru yala electrică și alte componente …………………. 35
2.13 Modulul Buzzer ………………………….. ………………………….. ………………………….. ………… 36
3. REALIZAREA PRACTICĂ ………………………….. ………………………….. ………………………… 37
3.1 Tema propusă pentru proiectul de diplomă ………………………….. ………………………….. ….. 37
3.2 Schemele proiectului ………………………….. ………………………….. ………………………….. ……. 37
3.2.1 Schema bloc a sistemului ………………………….. ………………………….. ………….. 37
3.2.2 Schema electrică de funcționare a sistemului ………………………….. …………… 38
3.2.3 Schema logică, algoritmul de funcționare a sistemului ………………………….. 40
4. REZULTATE ȘI MĂSURĂTORI EXPERIMENTAL E ………………………….. ……………. 41
5. CONCLUZII, AVANTAJE ȘI PERSPECTIVE ………………………….. ………………………… 45
5.1. Concluzii ………………………….. ………………………….. ………………………….. …………………… 45
5.2. Avantajele sistemului ………………………….. ………………………….. ………………………….. ….. 45
5.3. Perspective și îmbunătățiri ulterioare ………………………….. ………………………….. ………… 45

Bibli ografie ………………………….. ………………………….. ………………………….. ………………………….. . 47

Anexa ………………………….. ………………………….. ………………………….. ………………………….. ……….. 49

Proiect de diplomă
13

LISTA ACRONIMELOR

ADC – Analog to Digital Converter
DTR – Data Terminal Ready
EEPROM – Electrically Erasable Programmable Read -Only -Memory
FTDI – Future Te chnology Device s International
GND – Ground
GPRS – General P acket Radio Service
GSM – Global System for Mobile
I2C- Inter-Integrated Circuit
ICSP- Programare serială în cicuit
IoT- Internet of Things
LCD – Liquid-Crystal Display
LED – Light Emitting Diode
MISO – Master Input Slave Output
MOSI – Master Output Slave Input
PCB – Printed Circuit Board
PIN- Personal Identification Number
PIR- Passive Infrared sensor
POS- Point O f Sale
PWM – Pulse Width Modulation
RAM – Random Acces Memory
RFID – Radio -Frequency Identification
RST- Reset
RTC – Real Time Clock
SCLK- Serial Clock
SDA – Serial Data
SIM- Suscribed Identity Module
SMS – Short Message Service
SPI- Serial Peripheral Interface
SRAM – Static Random Access Memory
TTS- Text-to-Speech
UART – Universal Asynchronous Receiver and Transmitter
USB – Universal Serial Bus
VAC – Voltage Alternating Cur rent
VCC – Voltage C ommon Collector

Proiect de diplomă
14

Proiect de diplomă
15

1. INTRODUCERE ȘI MOTIVAȚIA PROIECTULUI DE LICENȚĂ

Populația este într -o constantă căutare de metode pentru a crea un mediu înconjurător
confortabil, chiar dacă vrem sau nu să acceptăm, asta începe cu locuința lor. Un mediu înconjurător
curat este una din necesitățile tradiționale la care oamenii se gândesc atunci când se referă la zona de
confort, ceea ce i -a condus la angajarea celor mai bune companii de deratizare pentru a crea o locuință
igienică. Bineînțeles, igiena este un lucru vital atunci când vorbim despre o l ocuință . Cu toate acestea,
conceptul convențional de casă excelentă si convenabilă suferă în prezent o schimbare care se ocupă
foarte mult de utilizarea tehnologiei casnice. Din acest motiv, anumite conexiuni și rețele devin noua
față a societății actuale.
Tehnologia inteligentă pentru casă se referă la un ansamblu de dispozitive și sisteme conectate
la anumite rețele pentru a permite accesul unic și centrat. Un beneficiu al acestui sistem este faptul că
acordă acces doar celor conectați în sistem. Cu alte cuvinte, chiar dacă sunteți proprietarul casei, dacă
nu sunteți logat în sistem, nu veți putea intra în casă. În afară de asta, noul sistem a adus într -adevăr
mai multe schimbări și a oferit mai mult confort beneficiarilor. Astfel, prin introducere se înc earcă
evidențierea motivelor pentru care această tehnologie este crucială pentru mulți.
Comoditatea a fost un factor enorm în determinarea acestui subiect. Astfel, factorul se ocupă și
de modul în care se pot gestiona toate dispozitivele și aparatele dintr -un singur loc. În loc să alergați
prin casă pentru a vă asigura că toate întrerupătoarele sunt deja în poziții adecvate, puteți controla totul
de pe gadgetul dumneavoastră și tot ce trebuie să faceți este să descărcați aplicația necesară.
Încorporarea nou lui sistem în locuință se referă de asemenea și la flexibilitatea oferită de acesta. Este
foarte folositor în special când instalarea unor noi dispozitive și aparate devine inevitabilă la un
moment dat . Sistemul se dovedește a fi flexibil în acomodarea cu sistemele suplimentare.
Siguranța locuinței este, de asemenea, una dintre cele mai importante caracteristici de care
beneficiază proprietarul prin sistemul inteligent. Camerele de supraveghere și alte dispozitive de
securitate sunt în general compatibile c u majoritatea rețelelor inteligente disponibile oferite de marile
companii. Aceste companii sunt conștiente că este crucial să producă produse flexibile și este motivul
pentru care câștigă și mai multă popularitate în ultima perioadă.
Populația caută const ant modalități de a reduce consumul de energie și instalarea sistemului
inteligent în locuințele lor este una dintre cele mai eficiente metode de a face acest lucru. Ideea se
referă la modul în car e se pot economisii până la treizeci la sută din totalul ch eltuielilor locuinței, cum
ar fi: facturile de energie electrică, consumul de gaze naturale, internet sau alte nevoi. Motivația de
bază, și cea mai importantă, a creării sistemului este participarea conștientă la salvarea pământului.

1.1 Motivație

Inovații le tehnologice din ultimii ani au cunoscut o creștere exponențială , iar astfel a fost
nevoie de noi strategii de abordare. Pentru a răspunde cerințelor venite din partea utilizatorilor, s -a pus
accent pe dezvoltarea sistemelor autonome. Cel mai bun mod de comunicare între om și mașinărie este
prin folosirea unui gadget la îndemână, precum ar fii un smartphone. Prin acest mod de comunicare,
poate fii comandat un sistem de casă inteligentă, să execute anumite sarcini, venind în întâmpinarea
nevoilor utilizato rului. Într -un interval de timp redus, creșterea puterii de calcul integrabile pe
dispozitive, permite îndeplinirea unor cerințe mult mai complexe.
Datorită monotoniei zi de zi și a rutinei, poate fii afectat gradul de creativitate al persoanelor.

Proiect de diplomă
16
Din ace ste motive, după o zi stresantă de muncă, oamenii au nevoie de condiții pentru a se detașa de
mediul de lucru. Dovedit științific, sistemul de iluminare al locuinței și muzica ambientală sunt factori
importanți care influențează starea unei persoane. Un si stem de casă inteligentă presupune faptul că o
persoană își poate crea acest mediu într -un mod facil, utilizând un sistem de casă inteligentă.

1.2 IoT

Conceptul Internet of Things (IoT) reprezintă o multitudine de dispozitive înzestrate cu
componente elect ronice, senzori si conexiuni la internet, ce preiau date si le prelucrează. Acest concept
a fost folosit în special în domeniul unei case inteligente capabil să execute anumite comenzi, în
momentul în care utilizatorul îi cere acest lucru. Aceste case inte ligente sunt case ecologice ce ajută la
scăderea consumului și în același timp la satisfacerea nevoilor utilizatorului. Spre exemplu, o casă
inteligentă va putea controla intensitatea luminii becurilor rezultând într -un consum minim de energie
electrică. N umărul de dispozitive IoT a crescut cu treizeci și unu la sută de la an la an, la opt miliarde
in 2017, și este estimat ca numărul să crească până la treizeci miliarde până în 2020. Valoarea pieței
este preconizată să atingă o cifră de șapte trilioane de d olari americani până în 2020.

1.3 Soluție

Acest proiect de diplomă se bazează pe realizarea unui program software care poate controla de
la distanță prin folosirea unui modul GSM si a unui modul Bluetooth un sistem hardware. Acest sistem
hardware folos ește o placă de dezvoltare Arduino Nano, bazată pe micro controlerul Atmega328 p, un
modul GSM pentru a putea controla sistemul din orice loc ație, un modul Bluetooth folosit în incinta
locuinței, senzori de mișcare pentru a crea o alarmă pentru intervenții p rin efracție , senzori de
temperatură, umiditate pentru a seta o temperatură potrivită in locuință , o yală electr ică și un modul
RFID pentru a securiza intrarea în locuință, precum și alți senzori și module. În funcție de comanda
utilizatorului, sistemul va executa una din următoarele comenzi: aprinderea sau stingerea luminilor din
locuință, modificarea temperaturii sau verificarea alarmei.
Proiectul de față prezintă contribuțiile mele personale pentru a personaliza un sistem de casă
inteligentă conform ce rințelor mele, având costuri reduse . Unul dintre motivele principale pentru care
am construit un sistem de casă inteligentă este ca atunci când intervine o eroare de soft sau defecțiune
mecanică, să poată fii remediată de către mine în cel mai scurt timp p osibil, fără a apela la firmele
specializate ceea ce ar reduce si costurile de reparații.

Proiect de diplomă
17

2. DESCRIEREA COMPONENTELOR HARDWARE

2.1 Descriere generală

Componentele hardware ce au fost folosite pentru re alizarea proiectului de diplomă sunt:

 Placa de dezvoltare Arduino Nano
 Modul GSM
 Modul Bluetooth HC06
 Modul cu 4 R elee
 Modul RFID cu MFRC522
 Modul RTC DS 1302
 Senzor PIR HC -SR501
 Senzor BME280
 Afișajul alfanumeric – LCD HD44780
 Yală electrică YE -302A
 Cablu de alimentare
 Buzzer

2.2 Placa de dezvoltare Arduino Nano

În figura 2.1 este prezentată placa de dezvoltare Arduino Nano .

Fig.2.1. Placa de dezvoltare Arduino Nano [5]

2.2.1 Caracteristici tehnice

 Tensiune de alim entare suportată de limitator: 6 V – 20 V;
 Tensiune de alimentare: 5 V;

Proiect de diplomă
18
 Pini Input/Output: 14;
 Pini ADC: 8 (din cei 14 de Inpu t/Output);
 Pini PWM: 6 (din cei 14 de Input/Output);
 Memorie flash: 32 kB / 16 kB (din care 2 kB sunt folosiți de bootloader);
 Comunicație TWI, SPI și UART;
 Curent pentru pini Input/Output: 40 mA/pin;
 Frecvență de funcționare: 16 MHz;
 Dimensiuni: 45 x 18 m m

2.2.1.1 Alimentarea

Placa de dezvoltare Arduino Nano este echipată cu același micro -controller performant,
Atmega328p, de pe Arduino Uno și convertorul USB serial CH340, bazată pe software și hardware
flexibil și simplu de folosit. Unul dintre avantaje le acestuia îl reprezintă dimensiunile reduse ale
acestuia iar astfel se poate integra în diverse proiecte cu spațiul componentelor foarte mic.
Arduino Nano poate fi alimentat prin intermediul conexiunii USB Mini -B, a alimentării externe
nereglementate de 6-20V (pinul 30) sau a alimentării externe reglementate 5V (pin 27). Sursa de
alimentare este selectată automat la cea mai mare sursă de tensiune.

2.2.1.2 Memoria

ATmega328p are 32 KB, de asemenea, cu 2 KB utilizați pentru bootloader. ATmega328 p are 2
KB SRAM și 1 KB EEPROM.

2.2.1.3 Intrări și ieșiri

Fiecare dintre cei 14 pini digitali de pe Nano pot fi folosiți ca intrare sau ieșire, folosind funcții
pinMode (), digitalWrite () și digitalRead (). Ele funcționează la 5 volți. Fiecare pin poate furniz a sau
primi maxim 40 mA și are o rezistență internă de tragere (deconectată implicit) de 20 -50 kOhms. În
plus, unii pini au funcții specializate precum:

 Serial: 0 (RX) și 1 (TX). Folosit pentru a primi (RX) și a transmite (TX) date seriale TTL.
Acești pin i sunt conectați la pinii corespunzători ai cipului Serial USB -to-TTL FTDI.
 Întreruperi externe: 2 și 3. Acești pini pot fi configurați pentru a declanșa o întrerupere la o
valoare scăzută, o margine în creștere sau în scădere sau o modificare a valorii. C onsultați
funcția attachInterrupt () pentru detalii.
 PWM: 3, 5, 6, 9, 10 și 11. Oferiți o ieșire PWM pe 8 biți cu funcția analogWrite ().
 SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Acești suport acceptă comunicarea SPI, care,
deși este furnizată de hard ware -ul de bază, nu este în prezent inclusă în limba Arduino.
 LED: 13. Există un LED încorporat conectat la pinul digital 13. Când pinul are valoare HIGH,
LED -ul este pornit, când pinul este LOW, este stins.
 Nano are 8 intrări analogice, fiecare dintre ace stea furnizând 10 biți de rezoluție (adică 1024
valori diferite). În mod implicit, acestea măsoară de la sol la 5 volți, însă este posibil să schimbi
capătul superior al intervalului lor folosind funcția analogReference (). Pinii analogici 6 și 7 nu
pot fi folosiți ca pini digitali. În plus, unii pin au funcționalitate specializată:
 I2C: A4 (SDA) și A5 (SCL). Sprijină comunicarea I2C (TWI) folosind biblioteca Wire
(documentație pe site -ul de cablare).

Proiect de diplomă
19
Există câțiva alți pini pe placă:
 AREF. Tensiune de re ferință pentru intrările analogice. Folosit cu analogReference ().
 Reset. Aduceți această linie LOW pentru a reseta microcontrolerul. De obicei este folosit
pentru a adăuga un buton de resetare la scuturile care îl blochează pe placă.

2.2.2 Comunicare

Arduino Nano are o serie de facilități pentru comunicarea cu un computer, un alt Arduino sau
alte microcontrolere. ATmega328 p oferă comunicații seriale UART TTL (5V), care este disponibil pe
pinii digitali 0 (RX) și 1 (TX). Un FTDI FT232RL de pe placă canal izează această comunicare serială
prin USB și driverele FTDI (incluse cu software -ul Arduino) oferă un port virtual pentru software de
pe computer. Programul Arduino include un monitor serial care permite trimiterea de date textuale
simple către și de pe p laca Arduino. LED -urile RX și TX de pe placă vor clipi atunci când datele sunt
transmise prin cip FTDI și conexiunea USB la computer (dar nu pentru comunicarea în serie pe pinii 0
și 1). O bibliotecă Software Serial permite comunicarea în serie pe oricare dintre pinii digitali ai lui
Nano. ATmega328 p suportă, de asemenea, comunicarea I2C (TWI) și SPI. Software -ul Arduino
include o bibliotecă Wire pentru a simplifica utilizarea magistralei I2C.

2.2.3 Programare

Arduino Nano poate fi programat cu ajutoru l programului Arduino. Selectați „Arduino Nano
ATmega328p” din meniul Instrumente> Placă. ATmega328p de pe Arduino Nano vine sigilat cu un
bootloader care vă permite să încărcați un cod nou la acesta fără utilizarea unui programator hardware
extern. Comun ică folosind protocolul STK500 original. Puteți, de asemenea, să ocoliți bootloader -ul și
să programați microcontrolerul prin antetul ICSP (Programare serială în circuit) folosind Arduino ISP
sau similar.
În figura 2.2 este prezentat modul de programare Arduino .

Fig.2.2 Programarea Arduino [5]

Proiect de diplomă
20
2.2.4 Resetare (Software) automată

Mai degrabă, necesită o apăsare fizică a butonului de resetare înainte de încărcare, Arduino
Nano este proiectat într -un mod care să îi permită resetarea prin software -ul care rulează pe un
computer conectat. Una dintre liniile de control al fluxului hardware (DTR) ale FT232RL este
conectată la linia de resetare a ATmega328p printr -un condensator de 100 nanofarazi. Când se afirmă
această linie (scăzută), linia de resetare scade suficient de mult pentru a reseta cipul. Software -ul
Arduino utilizează această capacitate pentru a vă permite să încărcați codul prin simpla apăsare a
butonului de încărcare în mediul Arduino. Aceasta înseamn ă că bootloader -ul poate avea un interval de
timp mai scurt, deoarece coborârea DTR poate fi bine coordonată cu începerea încărcării. Această
configurație are alte implicații. Când Nano este conectat la un computer care rulează Mac OS X sau
Linux, acesta s e resetează de fiecare dată când se face o conexiune la acesta prin intermediul software –
ului (prin USB). Pentru următoarea jumătate de secundă, bootloader -ul rulează pe Nano. În timp ce
este programat pentru a ignora datele malformate (adică orice în afar ă de încărcarea unui cod nou),
acesta va intercepta primii câțiva octeți de date trimiși pe placă după deschiderea unei conexiuni. Dacă
o schiță care rulează pe placă primește o configurație o singură dată sau alte date la prima pornire,
asigurați -vă că so ftware -ul cu care se comunică așteaptă o secundă după deschiderea conexiunii și
înainte de a trimite aceste date.

2.3 Modulul GSM

2.3.1 Descriere Modul GSM

Întotdeauna online: atâta timp câ t activarea aplicațiilor GPRS rămâne online, similar servicii lor
de rețea fără fir.
Încărcare: serviciul GPRS este întotdeauna pe linie, dar nu trebuie să vă faceți griji cu privire la
problema co sturilor.
Transmisie de mare viteză: actualul GPRS poate suporta 85,6 Kbps vârf de transmisie, vârful
teoretic de trans misie este de până la 100 Kbps.
Ieftin: în comparație cu seria SIM, prețul modulului este doar jumătate din acesta. S-a redus
mult p ragul de intrare al ec hipamentelor Internet of Things.
GA6 este o soluție ideală pentr u aplicații M2M pentru automatizări , urmărire personală,
inspecție a mediului de putere, POS wireless, contorizare inteligentă și alte aplicații M2M cu
dimensiuni ultra -mici, putere ultra -scăzută și gamă largă de temperatură de funcționare, pentru a oferi
un perfect Servicii GSM / GPRS, serv icii de transmisie de date și voce.
Modulul GSM GA6 a fost primul modul pe care am testat funcționalitatea acestuia la sistemul
de casă inteligent. Deoarece nu am reușit să facem conexiunile și să fie funcțional proiectului, am decis
să îl înlocuim cu un alt modul, SIM 800L.

2.3.2 Caracteristici Modul GSM GA6

 Dimensiune GA6 22,8 mm x 16,8 mm x 2,2 mm;
 Temperatura de oper are normală: -30 ° C ~ +80 ° C;
 Temperatură de funcționare limitată: de la -40 ° C la -30 ° C și + 80 ° C la + 85 ° C;
 Tensiune de luc ru 3.5V -4.2V;
 Tensiune de pornire > 3.5V;
 Debitul în modul uSLEEP este de 0,9mA;
 Quad-band: GSM850, EGSM 900 și DCS 1800, PCS1900 poate căuta automat patru

Proiect de diplomă
21
benzi ;
 Sensibilitate < -107;
 Suport apeluri vocale;
 Suport SMS;
 Suport mobil și Unicom 2G , prec um și rețeaua globală GSM;
 UGPRS, rata maximă de date, descărcați 85,6 Kbps, încărcați 42,8 Kbps;
 Suportă funcția de multiplexare a porturilor seriale conform protocolului GSM 07.10 ;
 Suport 2 porturi seriale, un port serial de descărcare, un port de coma ndă AT;
 Comanda uAT acceptă interfețe de comandă standard AT și TCP / IP;
 Suport audio digital și audio analogic, suport HR, FR, EFR, codare vocală AMR;
 Suport FCC, certificare CE;
 Pachet USMT 42PIN.

În figura 2.3 este prezentat Modulul GSM GA6 .

Fig.2.3 Modulul GSM GA6 [4]

2.3.3 Descriere Modul SI M800L

Indiferent dacă doriți să ascultați ce se întâmplă în casa dvs. care se află la kilometri distanță de
dumneavoastră, modulul SIM800L GSM / GPRS servește ca un punct de lansare solid pentru a vă începe
cu IoT!
Modulul SIM800L GSM / GPRS este un mod em GSM în miniatură, care poate fi integrat într –
un număr mare de proiecte IoT. Puteți utiliza acest modul pentru a realiza aproape orice poate un telefon
mobil normal; Mesaje SMS, Efectuați sau primiți apeluri telefonice, conectându -vă la internet prin
GPRS, TCP / IP și multe altele! Pentru a rezista, modulul acceptă rețeaua quad -band GSM / GPRS, ceea
ce înseamnă că funcționează aproape oriunde în lume.

2.3.4 Caracteristicile Modulului SIM800L

În centrul modulului se află un cip celular SIM800L GSM d e la SimCom. Tensiunea de
funcționare a cipului este de la 3.4V la 4.4V, ceea ce îl face un candidat ideal pentru alimentarea directă
a bateriei LiPo. Aceasta face o alegere bună pentru integrarea în proiecte fără mult spațiu.
În figura 2.4 este prezentat Modulul SIM800L.

Proiect de diplomă
22

Fig.2.4 Modulul SIM800L [8]

Toți pini de date ai cipului SIM800L GSM sunt împărțiți la un antet de pas de 0,1 ″. Aceasta
include ace necesare pentru comunicarea cu un microcontroler prin UART. Modulul acceptă viteza de
transfer de la 1200bps la 115200bps cu detectare Auto -Baud.
Mod ulul are nevoie de o antenă externă pentru a se conecta la o rețea. Modulul vine de obicei
cu o antena elicoidala si se lipește direct pe pinul de pe placă. Placa are și o instalație de conector U.FL
în cazul în care doriți să țineți antena departe de plac ă. Există o priză SIM pe spate! Orice card micro
SIM 2G activat ar funcționa perfect. Direcția corectă pentru introducerea cartelei SIM este în mod
normal gravată pe suprafața soclului SIM.
O antenă este necesară pentru a utiliza modulul pentru orice fel de comunicații de voce sau de
date, precum și pentru unele comenzi SIM. Deci, selectarea unei antene ar putea fi un lucru crucial.
Există două moduri în care puteți adăuga o antenă la modulul dvs. SIM800L.
Prima dintre ele este o antenă GSM elicoidală, care de regulă vine cu modulul și se lipește
direct la pinul NET de pe PCB. Această antenă este foarte utilă pentru proiectele care trebuie să
economisească spațiu, dar care luptă pentru a obține conectivitate, mai ales dacă proiectul
dumneavoastră este în interior.

2.4 Modulul Bluetooth HC -06

2.4.1 Descriere Bluetooth HC -06

Arduino poate comunica cu alt dispozitiv prin Bluetooth folosind modulul HC -06 (slave).
Acesta permite conectarea Arduino și schimbul de date cu alte dispozitive, cum ar fi Smartpho ne,
computer sau alte microcontrolere. Modulul de operare Bluetooth nu are nevoie de unitate și poate
comunica cu celălalt dispozitiv Bluetooth care are serial, dar comunicarea între cele două module
Bluetooth necesită cel puțin două condiții: (1) Comunica rea trebuie să fie între master și slave (2)
Parola trebuie să fie corectă. Comunicare se face pe serial RX și TX fără fir la 2,4 GHz. Comunicarea
Bluetooth poate fi utilizată pentru a controla un robot de la distanță, pentru a afișa și a stoca date pe
computer sau pe smartphone, de exemplu.

2.4.2 Caracteristici generale

Modulul Bluetooth HC -06 are 4 pini principali , 2 pentru alimentare și 2 pentru a stabili
conexiunea.
 Sursă de alimentare cu curent continuu. În mod obișnuit conectați pinul până la 5V l a Arduino;

Proiect de diplomă
23
 Pinul de masă, GND. De obicei este conectat la pinul GND al Arduino;
 Pinul de recepție RX. De obicei este conectat la pinul de transmisie (TX) al Arduino;
 Pinul de transmisie TX. În mod obișnuit este conectat la pinul de recepție (RX) al Arduino .

Deoarece modulul HC -06 este un modul slave, nu se poate conecta singur la alt dispozitiv.
Pentru aceasta, aveți nevoie de un modul principal, cum ar fi modulul Bluetooth HC05.
Configurarea modulului HC -06 poate fi interesantă pentru a verifica dacă f uncționează,
conectat corect și pentru a modifica parametrii, cum ar fi numele acestuia, cod PIN și viteză de
comunicare. Pentru a permite configurarea, modulul HC06 trebuie alimentat, dar nu asociat.
În figura 2.5 este prezentat Modulul Bluetooth HC -06.

Fig.2. 5 Modulul Bluetooth HC -06 [7]

2.4.3 Asocierea mo dulului Bluetooth HC -06

Odată ce modulul este configurat după cum doriți, puteți asocia modulul HC -06 cu dispozitivul
la alegere ca orice dispozitiv Bluetooth. Selectați numele modulului dumneavoastră în lista
dispozitivului Bluetooth disponibil (implici t este HC -06) și introduceți codul PIN (implicit este 1234).
Când este terminat, LED -ul ar trebui să înceteze să clipească.

2.5 Modul cu 4 Relee

Modulul cu 4 relee este util pentru controlul a mai multe aparate ce funcționează la tensiune
înaltă cu ajut orul plăcuțelor de dezvoltare, cum ar fi Arduino. De asemenea este util pentru diferite
proiecte IoT, cu ajutorul cărora se poate automatiza casa. De exemplu, se poate telecomanda diferite
aparate electrocasnice de la distanță, prin internet sau bluetooth, folosind o plăcuță de dezvoltare
Arduino și shield -urile necesare.

2.5.1 Caracteristici tehnice

 Tensiune: 250VAC sau 30VDC;
 Curent: 10A (MAX);
 Fiecare releu este comandat separat de câte un optocuplor;

Proiect de diplomă
24
 Tensiune de alimentare necesară funcționării optocu ploarelor este de 5V;
 Curent necesar pentru control: 5mA.
 Dimensiuni: 7.5cm x 5.5cm x 1.85cm.

2.5.2 Instrucțiuni de utilizare

2.5.2 .1 Conectarea consumatorilor la relee .

Consumatorii se conectează la terminale cu șuruburi, fiecare terminal are configurația următ oare:

Fig.2. 6 Modul cu 4 Relee [10]

Pin-ul "Normally Closed" este în legătură cu pin -ul "Common" atunci când nu se aplică
tensiune pe pin -ul de control, iar pin -ul "Normally Open" este deconectat. Atunci când se aplică
tensiune pe pin -ul de control, "Norma lly Closed" este deconectat, fiind în legătură pinii "Common" și
"Normally Open".
Conectarea consumatorilor se face doar atunci când aceștia nu sunt alimentați de la rețeaua
electrică pentru a evita eventualele accidente, iar firele consumatorilor trebuie verificate să nu facă
scurtcircuit după ce acestea au fost fixate in terminale cu șuruburile respective.

2.5.2 .2 Scrierea codului care controlează releele .

Activarea sau dezactivarea releelor este foarte facilă deoarece tot ce trebuie să faceți este să aplicați o
tensiune de 5 V pe pin -ul corespunzător releelor ( de la IN1 până la IN4 ). În cazul în care folosiți o
placă de dezvoltare compatibilă cu Arduino, trebuie să urmați următorii pași pentru a utiliza modulul:

Proiect de diplomă
25
 în funcția "void setup()" trebuie să declara ți pinii digitali pe care îi folosiți ca fiind de ieșire.
Exemplu: "pinMode ( digitalPin , OUTPUT);" , unde "digitalPin" reprezintă pinul digital pe
care îl utilizați pentru a controla releul;
 în funcția "void loop()" trebuie să utilizați următoarea instru cțiune pentru a activa releul
"digitalWrite ( digitalPin , LOW);" și pentru a -l dezactiva " digitalWrite( digitalPin , HIGH);".

După ce ați terminat de scris codul, apăsați pe butonul de compilare pentru a verifica dacă nu
există greșeli de sintaxă.

2.5.2 .3 Alimentarea modulului se poate realiza în două moduri:

 de la o sursă externă: Scoateți jumper -ul aflat în partea din dreapta și conectați VCC -ul sursei
externe la pin -ul JD -VCC și GND la pin -ul GND. Pentru a funcționa cum trebuie, conectați și
pin-ul de 5V a l plăcii de dezvoltare la pin -ul VCC aflat lângă pinii IN1 -4 . Acest mod de
alimentare este util pentru a menține placa de dezvoltare izolată.
 de la placa de dezvoltare: Conectați pinii VCC și JD -VCC folosind jumper -ul. Conectați pinii
VCC și GND aflați în partea dreaptă a modulului la pinii 5V, respectiv GND ai plăcii de
dezvoltare utilizate.

2.5.2 .4 Conectarea pinilor digitali la pinii de control de pe modul.

Identificarea unui pin care controlează un anumit releu se realizează foarte ușor. De exemplu,
pin-ul "IN1" corespunde primului releu, pin -ul "IN2" corespunde celui de -al doilea releu și așa mai
departe.

2.5.2 .5 Alimentarea plăcii de dezvoltare și încărcarea codului.

Pasul final reprezintă încărcarea codului scris la pasul 2. În cazul în care alimentați modulu l de
la o sursă externă, asigurați -vă că alimentarea este pornită.

2.6 Modul RFID cu MFRC522

2.6.1 Descrierea Modulului RFID

Modulul de citire RFID RC522 echipat cu MFRC522 este unul din cele mai utilizate module
pentru citirea tagurilor RFID. Protoco lul de comunicare UART/I2C/SPI și tensiunea de lucru de 3.3V
permite utilizarea cu ușurință a acestui modul împreună cu majoritatea platformelor.
Vă recomand în cazul î n care acest modul va fi utilizat cu procesoare sau platforme care au semnale
logice de 5V, să se folosească adaptoare de nivel logic.

2.6.2 Caracteristici tehnice

 Tensiune de alimentare: 3.3 V;
 Curent idle: 10 – 13 mA;
 Cure nt de adormire : 80 uA;
 Curent maxim: 30 mA;
 Frecvență de funcționare: 13.56MHz.
 Carduri suportate: S50, S70, UltraLigh t, Pro și Desfire.

Proiect de diplomă
26
 Versiune firmware: 0x12 ;
 Dimensiune circuit: 40 x 60 mm;
 Protocoale de comunicare:
 RS232 Serial UART : până la 1228.8 kBd;
 SPI: până la 10 MBit/s;
 I2C: până la 400 kBd în Fast Mode și până la 3400 kBd în High -Speed Mode.
 Buffer FIFO;
 Mod uri flexibile de întrerupere;
 Temperatură optimă de funcționare: -25 °C – +85 °C;
În figura 2.7 este prezentat Modulul RFID.

Fig.2.7 Modulul RFID [8]

Modulul RFID este utilizat pentru a scrie sau a citi date de pe tag -uri suportate ( S50, S70,
UltraLight, Pro și Desfire ) prin intermedi ul comunic ației radio ( RFID ) . Acest lucru se face cu
ajutorul circuitului integrat RC522. Proiectele de electronică în care poate fi inclus acest modul , sunt
cele care necesită identificarea persoanelor de acces, cum ar fi un interfon. Gestionarea datelor
colectat e de modul este realizată de către o placă de dezvoltare, cea mai populară fiind Arduino Uno,
dar se poate folosi cu orice placă de dezvoltare compatibila cu modulul.

2.6.3 Modul de utilizare

2.6.3 .1 Conex iunile h ardware

Realizați conexiunile hardware necesare, conform schemei de co nectare de mai jos dintre o
placa de dezvoltare Arduino Nano si modulul RFID

Proiect de diplomă
27

Fig.2. 8 Schema de conectare a unui modul RFID la o placă de dezvoltare Arduino Nano [5]

2.6.3 .2 Instalarea bibliotecii RFID

Biblioteca necesară pentru a utiliza acest modul RFID nu est e inclusă în mediul de dezvoltare
Arduino IDE, așa că va trebui să o instalați dumneavoastră. Adăugarea unei biblioteci se face astfel:

 Descărcați biblioteca în format ZIP;
 Deschideți Arduino IDE;
 Selectați Schiță -> Încărcare bibliotecă -> Adaugă bibliot ecă .ZIP și selectați fișierul descărcat;
 Reporniți Arduino IDE.

2.6.3 .3 Verificarea conexiunilor modulului

Încărcați un program în placa de bază pentru a verifica daca ați realizat toate conexiunile
corespunzător și puteți să încărcați un exemplu de program inclus în biblioteca MFRC522, tastând c ele
două tag -uri incluse , adică cartela și brelocul.

2.7 Modul RTC DS1302

Modulul DS1302 Real Time Clock este un ceas sau calendar cu 31 de byte -ți de RAM.
Comunică cu procesorul printr -o simplă interfață serială, oferind aceste detalii în secunde, minu te, ore,
zile, luni și ani.
Pentru comunicare sunt necesare 3 fire(CE,SCLK,Data). Ceasul este gândit să consume puțin
curent și păstrează toate informațiile pentru mai puțin de 1 μW pe oră.
În figura 2.9 este prezentat Modulul RTC.

Proiect de diplomă
28

Fig 2. 9 Modulul RTC DS1302 [8]

2.7.1 Caracteristicile tehnice ale modulului RTC

 Ceasul în timp real contează secunde, minute , ore, data lunii, săptămâna și anul cu
compensație pentru anul biseric valabil până în 2100 ;
 31 x 8 RAM pentru stocarea datelor de la zero;
 I / O în serie pentru numărul minim de pini;
 Funcți onează complet între 2 și 5.5V;
 Utilizează mai puțin de 300 nA la 2V;
 Un singur octet sau un octet multiplu și transfer de date pentru citire sau scriere de ceas;
 Interfață simplă cu 3 fire;
 Compatibil cu TTL (VCC = 5V);
 Domeniu opțional de temperatură ind ustrială este cuprinsă intre –40° C și + 85° C;
 Este compatibil și cu modelul DS1202

2.7.2 Descrierea Modulului RTC

Comunică cu un microprocesor prin intermediul unei interfețe seriale simple. Acest ceas sau
calendar în timp real oferă informații des pre secunde, minute, ore, zi, dată, lună și an. Data sfârșitului
lunii este ajustat automat pentru luni cu mai puțin de 31 de zile, inclusiv corecțiile pentru anul biseric.
Ceasul funcționează fie în format de 24 de ore, fie de 12 ore cu un indicator AM / PM.
Interfața modulului DS1302 cu un microprocesor este simplificată prin utilizarea
comunicațiilor seriale sincrone. Doar trei fire sunt necesare pentru a comunica cu ceasul / RAM: (1)
RST (Resetare), (2) I / O (Linie de date), și (3) SCLK (Ceas serial). Datele pot fi transferate către și
din ceasul / octetul RAM 1 la un moment sau la o explozie de până la 31 de octeți. DS1302 este
proiectat pentru a funcționa cu o putere foarte mică și pentru a reține date și ceas informații despre mai
puțin de 1 microwa tt. DS1302 este succesorul DS1202. În plus față de funcțiile de bază ale cronologiei
DS1202, DS1302 are caracteristicile suplimentare ale pinilor cu putere duală pentru puterea primară și
de rezervă consumabile, încărcător programabil pentru V CC1 și șapte octeți suplimentari de memorie de
blocare.

2.7.3 Sistemul de operare

Elementele principale ale cronometrului serial sunt prezentate în figura de mai jos: registrul de
schimburi, logica de control, oscilatorul, ceas în timp real și memorie RAM.
În figura 2.10 este prezentată diagrama block a modulului RTC.

Proiect de diplomă
29

Fig 2 .10 Diagrama block a modulului RTC DS1302 [8]

2.7.4 Resetarea și controlul ceasului

Toate transferurile de date sunt inițiate prin conducerea nivelului de intrare RST. Intrarea RST
servește două funcții. Primul, RST pornește logica de control care permit e accesul la registrul de
schimburi pentru adresă / comandă secvență . În al doilea rând, semnalul RST furnizează o metodă de
încheiere a fiecărui octet sau a unui octet multiplu transfer de date.
Un ciclu de ceas este o secvență a unei margini în scădere urmată de o margine în creștere.
Pentru intrările de date, datele trebuie să fie valabile în timpul creșterii muchiei ceasul ui și biții de date
sunt emiși pe marginea care scade. Dacă intrarea RST este scăzută, toate transferurile de date se
termină, iar p inul I / O trece la o stare de impedanță ridicată. La pornire, RST trebuie să aibă 0 logic
până când VCC> 2 volți. De asemenea, SCLK trebuie să fie la 0 logic când RST este condus către o
stare de 1 logic.

2.7.5 Introducere și rezultatul datelor

După cel e opt cicluri SCLK care introduc un octet de comandă de scriere, un bit de date este introdus
pe marginea în creștere din următoarele opt cicluri SCLK. Ciclurile suplimentare SCLK sunt ignorate
în cazul în care acestea apar accidental. Datele sunt introdus e începând cu bitul 0.
După cele opt cicluri SCLK care introduc un octet de comandă de citire, un octet de date este
emis la scădere marginea următoarelor opt cicluri SCLK. Primul bit de date care se transmite apare la
prima cădere după ce se scrie ultimu l bit al octetului de comandă. Cicluri SCLK suplimentare
retransmit octeții de date ar trebui să apară din neatenție atât timp cât RST rămâne ridicat. Această
operație permite o explozie continuă de citire a modului. De asemenea, pinul I / O este tri -decla rat pe
fiecare margine în creștere a SCLK. Datele sunt rezultate începând cu bitul 0.

Proiect de diplomă
30
2.8 Senzor PIR HC -SR501

2.8.1 Descriere generală

Senzorul PIR HC -SR501 este un detector de mișcare, un dispozitiv de recunoaștere a mișcărilor
de corpuri în apropier ea lui. Un astfel de detector conține un mecanism fizic sau un senzor electronic
care cuantifică mișcarea și care poate să fie integrat sau conectat la alte dispozitive care să alerteze
utilizatorul de prezența unei persoane în mișcare în raza de acțiune a senzorului. Detectoarele de
mișcare sunt o componentă vitală a sistemelor de securitate atât pentru locuințe cât și pentru companii.
Senzorul infraroșu pasiv este cel mai utilizat senzor în detectoare de mișcare. Acesta se
adaptează optim la detecția miș cărilor ce provoacă schimbări în poziționarea unghiulară față de el a
corpurilor, atunci când ele se află în raza de acțiune a senzorului.
În figura 2.11 este prezentat senzorul PIR.

Fig 2.1 1 Senzorul PIR HC -SR501 [8]

Senzorul HC -SR501 se bazează pe tehnologia infraroșu, modul de control automat, folo sind
proiectarea sondei LHI778 importată din Germania, sensibilitate ridicată, înaltă fiabilitate, modul de
funcționare ultra -joasă tensiune, utilizat pe scară largă în diferite echipamente electrice cu auto -senzor,
în special pentru automate cu baterii produse controlate .

2.8.2 Date tehnice ale senzorului PIR

 Tensiunea de alimentare este cuprinsă între 5V și 20V;
 Consumul de energie este de 65mA;
 Timpul de blocare este de 0,2 secunde ;
 Metode de declanșare: L – dezactivează declanșatorul de repetare, H ac tivează declanșarea
repetării ;
 Domeniu de detectare: mai puțin de 120 de grade, la 7 metri ;
 Temperatura este cuprinsă intre -15 și +70° C ;
 Timpul de întârziere este reglabil între 3 și 5 minute;
 Dimensiune: 32 * 24 mm, distanța dintre șuruburi 28mm, d imens iunea obiectivului în diametru
este de 23mm .

Proiect de diplomă
31

Fig 2.1 2 Senzorul PIR HC -SR501 [8]

2.8.3 Caracteristici le senzorului PIR

 Controlul fotosensibil (opțional, nu setat din fabrică) poate fi setat cu control fotosensibil, de
altfel și ziua sau intensitatea luminii făr ă inducție.
 Compensarea temperaturii (opțional, resetare din fabrică): vara, când temperatura ambiantă
crește la 30 ° C la 32 ° C, detectarea distanț ei este puțin mai scurtă, compensarea temperaturii
poate fi folosită pentru compensarea performanței.
 Declanșat în două moduri: (po ate fi selectat ca jumper)
 Declanșator c are nu poate fi repetat: randamentul senzorului este mare , timpul de
întârziere se încheie , ieșirea este modificată automat de la nivel înalt la nivel scăzut;
 Declanșator repetabil: randa mentul senzorului este mare, se activează perioada de
întârziere dacă există o activitate umană î n raza sa de detectare, randamentul rămâne
mereu mare până când oamenii rămași vor fi la un nivel scăzut (modulul senzor
detectează fiecare activitate umană și punctul de plecare pentru perioada de întârziere
până la ultimul eveniment al timpului se mărește ).
 O gamă largă de tensiune de funcționare: tensiune implicită DC4.5V -20V.
 Consumul de energie electrică: curent static <50 microampe, adecvat în special pent ru
produsele de control automat cu baterie.
 Semnal ridicat de ieșire: conectare ușoară cu diferite tipuri de circuite.

2.8.4 Ajustarea senzorului PIR

 Se reglează distanța de rotire a potențiometrului în sensul acelor de ceasornic , distanța de
detectare crește (aproximativ 7 metri), sau distanța de sesizare scade (aproximativ 3 metri).
 Se reglează senzorul de rotație în sensul a celor de ceasornic cu timp de întârziere (300S), iar
inducția întârzierii se scurtează (5S).

Proiect de diplomă
32
2.8.5 Instrucțiuni de folosire a senzorului PIR

 Modulul senzorului este alimentat după un minut, în acest interval de timp de inițializare
modulul va da randament între 0-3 ori, un minut mai târziu intră în starea de așteptare.
 Ar trebui să încerce să evite luminile și alte surse de interferență , să închidă suprafața directă a
modulu lui, pentru a evita perturbarea semnalului de interf erență; evitar ea vântului în mediul de
acțiun e a senzorului , vântul va provoca interferențe asupra senzorului.
 Modul senzor cu sondă dublă, fereastra sondei este dreptungh iulară, duală (A B) în ambele
capete ale direcției longitudinale
 Deci, atunci când corpul uman se mișcă de la stânga la dreapta sau de la dreapta la
stânga prin sp ectrul infraroșu se activează dubla diferență de distanță, cu atât mai mare
diferența, cu cât senzorul este mai sensibil,
 Sensul dual al senzorului trebuie instalat paralel, pe cât posibil, în linie cu mișcarea umană.

2.9 Senzorul BME280

2.9.1 Descriere generală

Senzorul BME280 este un pachet combinat de senzori de presiune barometrică, tem peratură și
umiditate. Folosind acest tablou de declanșare, îl puteți conecta la porturile i2c ale unui Arduino, și
puteți citi valorile de precizie pentru toate cele trei măsurători. Este foarte convenabil să ai toți cei trei
senzori pe un singur dispozit iv. Înseamnă mai puțin cablaj și o instalație potențial mult mai compactă.
Un lucru indispensabil dacă configurați o stație meteo sau un registru de date.
În figura 2.13 este prezentat senzorul de temperatură și umiditate.

Fig 2.1 3 Senzorul BME280 [11]

Fiind un senzor foarte performant, produs de compania Bosch, acesta vă o feră informații
precise, cu o eroare foarte mică despre datele măsurate. Acest senzor poate fi inclus în foarte multe
proiecte și are un consum foarte mic, putând fi alimentat și de la un panou solar sau baterie.

2.9.2 Detalii tehnice ale senzorului

 Tensiunea de alimentare este cuprinsă între 1.71V și 3.6V;
 Curentul consumat este de 3.6uA, măsurători la 1Hz pentru toate datele;
 Comunicație I2C până la 3.4MHz;

Proiect de diplomă
33
 Comunicație SPI până la 10MHz;
 Temperatură măsurată fiind cuprinsă între -40°C și + 85°C;
 Umiditate relativă este cuprinsă între 0% și 100%;
 Presiunea atmosferică poate fii cuprinsă între 300 și 1100 hPa.

2.10 Afișajul alfanumeric – LCD HD44780

Afișajul alfanumeric în baza controllerului LCD HD44780 , a devenit standard pentru
afișoarele de acest tip, este unul din cele mai utilizate dispozitive de ieșire alfanumerice. Fiind limitat
doar la reprezentarea textului monocrom este pe larg întâlnit la copiatoare, fax, im primante, și alte
dispozitive de uz comun.
Afișajul are câteva configurații standard: 8×1, 16×2, 20×2, 20×4, fiind capabil să afișeze maxim
80 de caractere. Pentru configurații mai mari a afișajul ui, vizualizarea unui număr mai mare de 80 de
caractere, c a de exemplu Afișajul 40×4, se va utiliza un chip adițional.
Cel mai des utilizat este afișajul cu configurația 16×2, care poate fi ușor găsit în magazinele de
componente electronice. Este utilizat pe larg pentru construcția de prototipuri și în rândurile amatorilor
de aplicații cu microcontrolere. Anume acest tip îl vom lua ca exemplu pentru explicațiile lucrului cu
afișajul alfanumeric.
Interfața afișajul ui prezentat aici este una paralelă. Orice afișor interfațat paralel care se poate
găsi în prezent v a avea la bază un controler de tip Hitachi HD44780 sau unul compatibil cu acest cip.
Ca regulă afișajul are 14 pini de conexiune.
În figura 2.14 este prezentat un afișaj LCD 16×2.

Fig. 2.1 4 Afișaj alfanumeric – LCD HD44780 [6]

 D0 – D7 – Bus de date bidirecțional .
 R/W – determină scrierea sau citirea pe ntru afișor
 RS – selectarea registrului pentru transfer. RS = 0 registrul de instrucțiuni este selectat, RS = 1
registrul de date este selectat. Cu acest bit se poate configura ca prin bus -ul de date să se transfere o
comandă sau un caracter.
 E – Bit de ac tivare al LCD. Când E = 0, LCD nu este activ respectiv semnalele de pe D, RW si
RS vor fi ignorate, Când E = 1, Afișajul este activat și va procesa datele de pe ceilalți pini de
interfațare. De menționat că scrierea datelor este aplicată pe frontul descres cător al semnalului E, iar la

Proiect de diplomă
34
citire, datele vor fi valide odată cu frontul crescător și se vor păstra până la următorul front
descrescător.
 Vo – Setarea contrastului pentru afișor.
 Vdd si Vss – pini de alimentare a Afișajul ui

2.11 Yală electrică YE -302A

2.11.1 Descriere generală

YE-302A este o închizătoare electromecanică, fail -secure, cu limbă, recomandată pentru
instalarea pe uși de dimensiuni reduse precum vestiare, dulapuri, sertare.
În figura 2.15 este prezentată yala electrică.

Fig 2. 15 Yala electrică YE -302A [12]

2.11.2 Specificații tehnice

 Tens iunea de alimentare este de 12Vcc
 Consum: 1100 mA
 Rezistența bobinei este de 13 Ω
 Func ționare: fail -secure
 Acționare: folosește impuls uri cuprinse între 1 și 5 secunde
 Montare: aplicata
 Material: metal
 Temperatura cuprinsă între -40°C aproximativ și 50°C
 Umiditate cuprinsă între 0 și 90% (fără condensare)
 Dimensiuni corp: 28(H) x 55(L) x 39(l) mm
 Dimensiuni bolț: 10(H) x 9(L) x 9(l) mm
 Masa brută : 0.18kg

Durata maximă de alimentare a încuietorii pentru o deschidere nu trebuie să depășească 8 secunde!

Proiect de diplomă
35
2.12 Cablul de alimentare

2.12.1 Cablu de alimentare pentru placa de dezvoltare Arduino Nano

Cablu USB type A la Mini USB type B permite conectarea numeroaselor dispozitive care
utilizează USB mini, cum ar fi Arduino Nano, la computer sau la o sursa de curent.
În figura 2.16 este prezentat cablu de alimentare compatibil cu placa de dezvoltare Arduino
Nano.

Fig 2.1 6 Cablu de alimentare pentru placa de dezvoltare Arduino Nano [5]

2.12.2 Cablu de alimentare pentru yala electrică și alte componente

Deoarece yala electrică YE-302A are nevoie de o sursă de alimentare de 12V și de 2A, avem
nevoie de un alimentato r separat pentru aceasta. Alimentatoarele comercializate sunt produse de cele
mai renumite companii de echipamente IT. Aceste produse trebuie sa respecte cele mai importante
standarde de calitate internaționale, precum CE, UL, ISO 9001, 9002, si sunt puse pe piață numai după
ce au trecut de aceste teste de calitate.
În figura 2.17 este prezentat cablul de alimentare pentru componentele de 12V.

Fig 2. 17 Alimentator pentru yala electrică YE -302A de 12V [8]

Proiect de diplomă
36
2.13 Modulul Buzzer

Acest modul este constituit dintr -un buzer piezoelectric activ, ce generează un sunet atunci
când se depășește o valoa re predefinită. Produce un sunet de aproximativ 2,5KHz. Ajutat de senzorul
PIR, buzerul este folosit pentru a emite sunete cu scop de alarmă .
În figura 2.18 este prezentat modulul bu zzer.

Fig 2. 18 Modulul Buzzer [8]

Proiect de diplomă
37

3. REALIZAREA PRACTICĂ

3.1 Tema propusă pentru proiectul de diplomă

,,Sistem de comandă de la distanță a unei case inteligente ” este titlul proiectului ce are ca scop
realizarea unei sistem personalizat . Caracteristicile care fac deosebită această lucrare de diplomă sunt
următoarele:
 Dispozitivul nu necesită personal de deservire în incintă.
 Comenzile principale de pornire ale stației sunt adresate din locuință, sau de la depărtare, fără
limită de distanță, ( aproape din orice loc de pe glob) prin intermediul undelor radio (GSM), cu
ajutorul aplicației SMS a telefonului mobil.
 Odată ce sistemul este pornit, ace sta funcționează în mod automat asigurând o temperatură
exactă, sau una dorită, și control asupra luminilor din locuința respectivă.
 Tot de la distanță se poate comanda și acționarea alarma sistemului, siguranța ușii principale ,
cât și căldura din locuința respectivă.
 Sistemul este prevăzut cu un senzor de alarmă propriu care, la detectarea unei prezențe
neautorizate, se declanșează sonor în casă , după care prin intermediul modulului radio GSM,
transmite un SMS ce conține o noti ficare referitoare la efracția în curs. Această notificare
poate fi direcționată spre proprietarul casei sau direct spre un echipaj de pază si protecție.

3.2 Schemele proiectului

3.2.1 Schema bloc a s istemului

În figura 3.1 am prezentat blocurile funcționa le ale proiectului precum și legăturile dintre ele.
Descrierea schemei bloc:
– telefonul mobil se află la distanță și comunică cu stația prin unde radio.
– modulul GSM recepționează comenzi și transmite feedback spre telefonul mobil. Comunică
prin UART c u unitatea de control.
– microcontrolerul primește date de la modulul radio, de la senzorii de nivel și de alarmă.
Decodifică conținutul mesajelor primite prin modulul radio și comandă acționarea releelor.

Proiect de diplomă
38

Fig 3.1 Schema bloc a sistemului de comandă a casei inteligente

3.2.2 Schema electrică de funcționare a sistemului

În figura 3.2 și 3.3 este prezentată schema electrică de funcționare a montajului.
Aceasta cuprinde toate conexiunile dintre componente din punct de vedere electric. Se
evidențiază conexiunile electrice dintre:
– modulul GSM și placa microcontrolerului
– modulul Bluetooth și placa microcontrolerului
– microcontroler și senzor ul de temperatură și umiditate
– microcontroler și senzorul alarmei
– microcontroler și modulul RTC
– microcontroler și modulul RF ID cu ajutorul căruia deschidem yala electrică
De asemenea sunt ilustrate detaliile de acționare ale releelor. Acestea asigură:
– alimentarea yalei electric e
– alimentarea ledurilor reprezentative pentru lumina din casă
– alimentare a ledului reprezentati v pentru centrala termică din casă
Afișajul alfanumeric de tipul 16×2 este alimentat cu tensiunea de 5V prin circuitul integra t
stabilizator de tensiune .

Proiect de diplomă
39

Fig.3.2 Schema electrică de funcționare a sistemului fără blocul cu relee

Fig.3.2 Schema electrică de funcționare a blocului de relee

Proiect de diplomă
40
3.2.3 Schema logică, algoritmul de funcțion are a sistemului

În figura 3.3 am ilustrat schematic algoritmul de funcționare al sistemului de comandă a casei
inteligente . În ordinea rulării programului soft acesta efectuează următorii pași:
 Start:
-la alimentarea montajului se efectuează operațiile de atribuire de pini ai
microcontro lerului prin care se stabilesc rolurile acestora ( pini de ieșire, pini de
intrare) și modul de scriere al acestora (LOW sau HIGH).
 Achiziția de date:
– aceasta se face începând din momentul în care programul a fost inițiat si a intrat în
bucla care se repetă pe roată durata menținerii alimentării microcontrolerului
– microcontrolerul primește datele transmise de către senzori precum și cele transmise
de către modulul radio GSM în urma recepționării mesajelor de la proprie tar de la
distanță.

 Instrucțiuni, decizii:
– în funcție de datele achiziționate, unitatea de control poate comanda acționarea
ledurilor reprezentative pentru luminile din încăpere
– poate fi comandată yala electrică în cazul în care se pie rde cartela RFID
– se poate iniția transmiterea unui feedback SMS
– dacă e cazul se comandă activarea alarmei
– temperatura din casă poate fi setată pentru a porni sau a opri centrala termică

Fig.3.3 Algoritmul de funcționare a sistemului

Proiect de diplomă
41

4. REZULTATE ȘI MĂSURĂ TORI EXPERIMENTALE

Imaginea din figura 4.1 reprezintă rezultatul obținut în urma asamblării tuturor componentelor
sistemului d e casă inteligentă.

Fig.4.1 Realizare practică

Carcasa propriu zisă conține în interior placa de dezvoltare, Arduino Nano, modulul Bluetooth,
modulul GSM, modulul RTC, blocul cu relee, yala electrică, senzorul de temperatură și umiditate, cât
și buzerul.
Pe ușa flexibilă a carcasei se află modulul RF ID, iar pe partea superioară a carcasei se află atât
afișajul LCD, cât și senzorul de mișcare PIR al sistemului.

Proiect de diplomă
42
Proiectul mai conține fire conductoare iz olate care asigur ă conexiunile electrice între module și
componente.
În figura 4.2 este prezentat modulul RFID.

Fig.4.2 Partea frontală exterioară a carcasei

Proiect de diplomă
43
În figura 4.3 este prezentată aplicația Bluetooth folosită pentru a controla sistemul din incinta
locuinței. Aplicația Bluetooth are rolul de a putea da comenzi sistemului, cum ar fi :
– Tastar ea literei ,,a” dup ă care ,,Send” va trimite comanda de verificare a stării
alarmei, iar în funcție de statut, se va genera un mesaj de către aplicație prin care
se va comunica statutul actualizat, după care se poate activa sau dezactiva
alarma, folosind c omanda ,, 0” sau ,,1” și ,,Send”.
– Tastarea literei ,,t” după care ,,Send” va trimite comanda de verificare a stării
temperaturii si umidității, iar în funcție de statut, se va genera un mesaj de către
aplicație prin care se va comunica statutul actualizat,
– Tastarea literei ,,y” după care ,,Send” va genera mesajul ,,DESCHIDE
INCUIETOARE(1)”, după care prin tastarea numărului indicat, adică ,,1 ”, și
,,Send ”, yala se va debloca pentru 3 secunde. Această comandă a fost creată
pentru momentele în care modulul RF ID nu poate fi accesat.

Fig.4.3 Aplicația Bluetooth

Proiect de diplomă
44
În figura 4.4 sunt prezentate notificări SMS expediate de sistem, în scopul de a confirma
executarea comenzii primite.

Fig.4.3 Primire SMS de confirmare pe telefon

Prin trimiterea unui SMS c u textul ,,Date ”, vom primi un SMS cu starea actuală a datelor, iar
prin trimiterea unui SMS cu textul ,,On led ”, se va acționa comanda de aprindere a ledului fără a primi
un răspuns prin SMS. De asemenea, folosind alte comenzi cum ar fi ,,On alarma ”, ,,On incalzire”, ,,On
yala”, sau altele, se vor genera diferite acțiuni aferente comenzilor.

Proiect de diplomă
45

5. CONCLUZII, AVANTAJE ȘI PERSPECTIVE

5.1 Concluzii

• Sistemul funcționează în parametrii prescriși.
• Fiecare instrucțiune executată poate fii verificată print r-un SMS sau prin aplicația Bluetooth,
ceea ce constituie atât un feedback imediat cât și un status al sistemului.
• În cazul în care modulul RFID nu funcționează, prin aplicația Bluetooth sau printr -un SMS
putem deschide yala electrică.

Acest proiect a reprezentat o provocare pentru mine și m -a ajuta t să îmi dezvolt aptitudini noi
pe care o să le p ot folo si mai departe în carieră . Am învățat s ă lucrez organizat ș i distribuit, fapt care
m-a ajutat să finalizez proiec tul.

5.2 Avantajele sis temului

• Sistemul nu necesită deservire de către personal.
• Sistemul poate fi acționat de la distanță prin modulul GSM sau din apropiere folosind aplicația
Bluetooth.
• Comenzile și răspunsurile pot fi transmise și recepționate aproape din/în orice loc geogr afic de
pe glob.
• Prin implementarea sistemului în locuință costurile energetice vor scădea.

5.3 Perspective și îmbunătățiri ulterioare

• Proiectul de față poate fi pus în aplicare oricând, fiind proiectat la scară normală.
• Utilitatea funcțiilor poate fi e xtinsă sau modificată astfel încât să poată controla/comanda și/alte
sisteme tehnice (ex. electrocasnice , tablouri electrice, relee , etc).
• Sistemul prezentat poate fi utilizat ca sistem principal de comandă și control, ca sistem auxiliar
sau pur și simplu atunci când lipsim din obiectivul vizat.
• Primul concept ce trebuie înțeles la un proiect cu tema casă inteligentă este evoluția dinamică
pe care acesta poate să o aibă. Din punct de vedere al posibilităților hardware, sistemul poate fi
extins atât în interiorul casei cât și afară.

Proiect de diplomă
46

Proiect de diplomă
47

BIBLIOGRAFIE

1. Manoel Carlos Ramon , Arduino IDE and Wiring Language , Decembrie 2014, p.93-143
2. Nicola So rin, Microcontrolere. Aplicații în mecatronică , Editura Universitaria, Craiova, 2005.
3. Viorel -Constantin Petre, Introducere în microcontrolere și automate programabile , Editura
Matrixrom, București, 2008.
4. https://alphatroniclk.com/mini -a6-ga6-gprs-gsm-kit-wireless -extension -sri-lanka
5. https://store.arduino.cc/arduino -nano
6. https://www.mypersonalfarmers.com/the -importance -of-smart -home -technology/
7. https://www.aranacorp.com/en/arduino -and-bluetooth -module -hc-06/
8. https://www.optimusdigital.ro/ro/
9. https://en .wikipedia.org/wiki/
10. https://www.optimusdigital.ro/ro/electronica -de-putere -module -cu-releu/478 -modul -releu -cu-4-
canale -albastru.html
11. https://www.bosch -sensortec.com/bst/products/all_p roducts/bme280
12. https://www.ultramaster.ro/incuietoare -electrica -aplicabila -cu-limba -pentru -vestiare -dulapuri –
ye-302a.html

Proiect de diplomă
48

Proiect de diplomă
49

ANEXA

Codul sursă pentru funcționarea sistemului

#include <SoftwareSerial.h>
#include <SPI.h>
#include <MFRC522.h>
#include <Wire.h>
#include "SparkFunBME280.h"
#include <LiquidCrystal_I2C.h>
#define SS_PIN 10
#define RST_PIN 9
#include <stdio.h>
#include <DS1302.h>

MFRC522 mfrc522(SS_PIN, RST_PIN);
BME280 senzor_umiditate_temperatura;
LiquidCrystal_I2C lcd(0x27, 20, 4);
SoftwareSerial mySerial(A1, A2); // (Rx,T x >
Tx,Rx) //PORTOCALIU A2

char incomingByte;
String inputString;

int bec = 7;
int led = 6;
int incalzire = 5;
int releu_yala = 4; int senzor_prezenta = 3;
int buzzer = 8;
bool autentificare_reusita = false;
bool porneste_program = false;

bool configu rare_alarma = false;
bool configurare_yala = false;
bool configurare_centrala = false;
bool configurare_bec = false;
bool configurare_led = false;
bool cere_date = false;
bool configurare_temperatura = false;

bool val_alarma = true;
bool val_yala = false;
bool val_centrala = false;
bool val_bec = false;
bool val_led = false;
bool val_cere_date = false;

bool porneste_PIR = false;
bool incalzire_pornita=false;
bool usa_deschisa=false;
int temperatura_setata =0;

Proiect de diplomă
50

//////////////////////////////////////////// ////RTC
int minutP=0;

namespace {

const int kCePin = 2; // Chip Enable
const int kIoPin = A3; // Input/Output
const int kSclkPin = A0; // Serial Clock

// Create a DS1302 object.
DS1302 rtc(kCePin, kIoPin, kSclkPin);

String dayAsString(const Time::Day day) {
switch (day) {
case Time::kSunday: return "Dum.";
case Time::kMonday: return "Lun.";
case Time::kTuesday: return "Mar.";
case Time::kWednesday: return "Mie.";
case Time::kThursday: return "Joi";
case Time::kFrida y: return "Vin.";
case Time::kSaturday: return "Sam.";
}
return "(unknown day)";
}

void printTime() {
// Get the current time and date from the chip.
Time t = rtc.time();

// Name the day of the week.
const String day = dayAsString(t.day);

// Format the time and date and insert into the
temporary buffer.
char buf[50];
snprintf(buf, sizeof(buf), "%s %04d -%02d –
%02d %02d:%02d:%02d",
day.c_str(),
t.yr, t.mon, t.date,
t.hr, t.min, t.sec);

// Print the f ormatted string to serial so we can
see the time.
Serial.println(buf);
}

} // namespace /////////////////////////////////////////////////////////////////////
////////////

void setup() {
Serial.begin(9600);
Wire.begin();

rtc.writeProtect(false);
rtc.halt(false);
Time t(2019, 9, 6, 17, 9, 0, Time::kFriday);
//rtc.time(t);

senzor_umiditate_temperatura.setI2CAddress(0
x76);
if (senzor_umiditate_temperatura.beginI2C()
== false) {
Serial.println("Sensor B connect failed");
}

mySer ial.begin(9600);

while (!mySerial.available()) {
mySerial.println("AT");
delay(1000);

}
//trimite_date_gsm();
mySerial.println("AT+CMGF=1");
delay(1000);
mySerial.println("AT+CNMI=1,2,0,0,0");
delay(1000);
mySerial.println("AT+CMGL= \"REC
UNREAD \"");

SPI.begin();
mfrc522.PCD_Init();
lcd.init();
lcd.backlight();
pinMode(releu_yala, OUTPUT);
pinMode(bec, OUTPUT);
pinMode(led, OUTPUT);
pinMode(incalzire, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(senzor_prezenta,
INPUT_PULLUP);
digitalWrite(bec, HIGH);

Proiect de diplomă
51
digitalWrite(led, HIGH);
digitalWrite(incalzire, HIGH);
digitalWrite(releu_yala, HIGH);

initializarePIR();

lcd.clear();
lcd.setCursor(0, 0);
lcd.print("APROPIATI CARDUL");
}

///********************** **************
**************************************
**************************************
**************************************
*************///
///––––––––––––––––––-
–––––––––––––––––– –-
––––––––––––––––– ///

void loop() {

modulGSM();
RF_ID();
if (autentificare_reusita == false) {
PIR();
}

if ( porneste_PIR == true) {
PIR();
}

pornesteProgram();
bluetooth();

program();

if(usa_deschisa==true){
RTC();
}

}

///––––––––––––––––––-
–––––––––––––––––––
––––––––––––––––– /// ///************************************
************ **************************
**************************************
**************************************
*************///

void program() {

if (val_yala == true) {
digitalWrite(releu_yala, LOW);
delay(3000);
digitalWrite(releu_yala, HIGH);
val_yala=false;

} else {

digitalWrite(releu_yala, HIGH);
}

if (val_centrala == 1) {
digitalWrite(incalzire, LOW);
delay(100);

} else {

digitalWrite(incalzire, HIGH);
}

if (val_bec == 1) {
digitalWrite(bec, LOW);

} else {

digitalWrite(bec, HIGH);
}

if (val_led == 1) {
digitalWrite(led, LOW);

} else {

digitalWrite(led, HIGH);
}

if (val_alarma == 1) {
porneste_PIR = true;
} else {
porneste_PIR = false;

Proiect de diplomă
52
}

porneste_i ncalzire();

}

void pornesteProgram() {

while (Serial.available() > 0) {

char c = Serial.read();

if (c == 'A' || c == 'a') { // alarma
configurare_alarma = true;
}
else if (c == 'Y' || c == 'y') {
configurare_yala = true; // yala
}
else if (c == 'C' || c == 'c') { // centrala
termica
configurare_centrala = true;
}
else if (c == 'B' || c == 'b') { // bec
configurare_bec = true;
}
else if (c == 'L' || c == 'l') { // led
configurare_led = true;
}
else if (c == 'D' || c == 'd') { // led
cere_date = true;
}
else if (c == 'T' || c == 't') { // setare
temperatura
configurare_temperatura = true;
}

}

}

void bluetooth() {

String z = " "; int temp = 0;

while (configurare_alarma == true) {

Serial.print("STOP/START ALARMA
(0/1) –> ");

while (Serial.available() > 0) {
char d = Serial.read();

}

while (Serial.available() <= 0) {}

z = Serial.r eadStringUntil(' \n');
temp = (bool) z.toInt();
val_alarma = temp;
Serial.println(temp);

if (val_alarma == 1) {
porneste_PIR = true;
} else {
porneste_PIR = false;
}

configurare_alarma = false;
}
//––- ––––––––––––––––
––––––––– //

while (configurare_yala == true) {

Serial.print("DESCHIDE INCUIETOARE
(1) –> ");

while (Serial.available() > 0) {
char d = Serial.read();
}

while ( Serial.available() <= 0) {}

z = Serial.readStringUntil(' \n');
temp = (bool) z.toInt();
val_yala = temp;

Proiect de diplomă
53
Serial.println(temp);

configurare_yala = false;
}
//––––––––––––––––––
––––––- ––– //

while (configurare_centrala == true) {

Serial.print("OPRESTE/PORNESTE
INCALZIRE (0/1) –> ");

while (Serial.available() > 0) {
char d = Serial.read();
}

while (Serial.available() <= 0) {}

z = Serial.readStringUnt il('\n');
temp = (bool) z.toInt();
val_centrala = temp;
Serial.println(temp);

configurare_centrala = false;
}
//––––––––––––––––––
––––––––– //

while (configurare_bec == true) {

Serial.print("STINGE/APRINDE BEC (0/1) –
–> ");

while (Serial.available() > 0) {
char d = Serial.read();
}

while (Serial.available() <= 0) {}

z = Serial.readStringUntil(' \n');
temp = (bool) z.toInt();
val_bec = temp;
Serial.println(temp);

configurare_bec = false;
} //––––––––––––––––––
––––––––– //

while (configurare_led == true) {

Serial.print("STINGE/APRINDE LED (0/1) –
–> ");

while (Serial.av ailable() > 0) {
char d = Serial.read();
}

while (Serial.available() <= 0) {}

z = Serial.readStringUntil(' \n');
temp = (bool) z.toInt();
val_led = temp;
Serial.println(temp);

configurare_led = false;
}
//–––- –––––––––––––––
––––––––– //

while (cere_date == true) {

Serial.println("temp –> ");

Serial.println(senzor_umiditate_temperatura.re
adTempC());
Serial.print("umiditate –> ");

Serial.println( senzor_umiditate_temperatura.re
adFloatHumidity());

cere_date = false;
}
//––––––––––––––––––
––––––––– //

while (configurare_temperatura == true) {

Serial.print("SETEAZA TEMPERATURA –
-> ");

while (Serial.available() > 0) {

Proiect de diplomă
54
char d = Serial.read();
}

while (Serial.available() <= 0) {}

z = Serial.readStringUntil(' \n');
temp = z.toInt();
temperatura_setata = temp;
Serial.println(temp);

configurare_t emperatura = false;
}
//––––––––––––––––––
––––––––– //

}

void LCD() {

lcd.clear();
lcd.setCursor(3, 0);
lcd.print("temp: ");
int temperatura =
senzor_umiditate_temperatura.readTempC();
lcd.setCursor(11, 0);
lcd.print(temperatura);
lcd.setCursor(14, 0);
lcd.print((char)223);
lcd.setCursor(15, 0);
lcd.print('C');
lcd.setCursor(3, 1);
lcd.print("umid: ");
int umiditate =
senzor_umiditate_temperatura.readFloatHumid
ity();
lcd.setCursor(11, 1);
lcd.print(umiditate);
lcd.setCursor(14, 1);
lcd.print("%");

}

void PIR() {

int prezenta = digitalRead(senzor_prezenta); if (prezenta == 1 && val_alarma == true) {

digitalWrite(buzzer, HIGH);
delay(1000);
digitalWrite(buzzer, LOW);
delay(1000);
}

}

void RF_ID() {

// Look for new cards
if ( ! mfrc522.PICC_IsNewCardPresent()) {
digitalWrite(releu_yala, HIGH);
return;
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial())
{
return;
}
//Show UID on serial monitor

String content = "";
byte letter;
for (byte i = 0; i < mfrc522.uid.size; i++)
{

content.concat(String(mfrc522.uid.uidByte[i]
< 0x10 ? " 0" : " "));

content.concat(String(mfrc522.uid.uidByt e[i],
HEX));
}

content.toUpperCase();
if (content.substring(1) == "20 18 9D 7C") {
digitalWrite(releu_yala, LOW);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("SALUT, DAVID");
delay(2000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("SA AI O ZI FAINA");
lcd.setCursor(6, 1);

Proiect de diplomă
55
lcd.print(":D");
delay(2000);
LCD();
delay(4000);
usa_deschisa=true;

/*
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("APROPIATI CARDUL");
*/
autentificare_reusita = true;
val_alarma=0;
} else {

digitalWrite(releu_yala, HIGH);
lcd.clear();
lcd.setCursor(3, 0);
lcd.print("UID GRESIT!");
delay(2000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("APROPIATI CARDUL") ;
}

}

void initializarePIR() {

lcd.setCursor(0, 0);
lcd.print("INITIALIZARE PIR");
lcd.setCursor(0, 1);
lcd.print("");
lcd.setCursor(13, 1);
lcd.print("0/6");
delay(10000);
lcd.setCursor(0, 1);
lcd.print(".");
lcd.setCursor(13, 1);
lcd.print("1/6");
delay(10000);
lcd.setCursor(0, 1);
lcd.print(".."); lcd.setCursor(13, 1);
lcd.print("2/6");
delay(10000);
lcd.setCursor(0, 1);
lcd.print("…");
lcd.setCursor(13, 1);
lcd.print("3/6");
delay(10000);
lcd.setC ursor(0, 1);
lcd.print("….");
lcd.setCursor(13, 1);
lcd.print("4/6");
delay(10000);
lcd.setCursor(0, 1);
lcd.print("…..");
lcd.setCursor(13, 1);
lcd.print("5/6");
lcd.setCursor(0, 1);
delay(10000);
lcd.setCursor(0, 1);
lcd.print ("……");
lcd.setCursor(13, 1);
lcd.print("6/6");
delay(1000);

}

void porneste_incalzire() {

int temp =
senzor_umiditate_temperatura.readTempC();
if (temp < temperatura_setata) {
digitalWrite(incalzire, LOW);
delay(100);

incal zire_pornita=true;
} else {
digitalWrite(incalzire, HIGH);
incalzire_pornita=false;
}

}

void modulGSM(){

Proiect de diplomă
56

if(mySerial.available()){
delay(100);

// Serial Buffer
while(mySerial.available()){
incomin gByte = mySerial.read();
inputString += incomingByte;
}

delay(10);

inputString.toUpperCase();

////////////////////////////////////////////////////////////
if (inputString.indexOf("ON LED") > -1){
val_led=1;

}
if (inputString.indexOf("OFF LED") > –
1){
val_led=0;
}

delay(50);
////////////////////////////////////////////////////////////

/////////////////////////////////// /////////////////////////
if (inputString.indexOf("ON BEC") > -1){
val_bec=1;
}
if (inputString.indexOf("OFF BEC") > –
1){
val_bec=0;
}

delay(50);
////////////////////////////// //////////////////////////////

////////////////////////////////////////////////////////////
if (inputString.indexOf("ON
INCALZIRE") > -1){
temperatura_setata=1000;
} if (inputString.indexOf("OFF
INCALZIRE") > -1){
temperatura_setata=0;
}

delay(50);
////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////
if (inputString.indexOf("ON ALARM A")
> -1){
val_alarma=1;
}
if (inputString.indexOf("OFF
ALARMA") > -1){
val_alarma=0;
}

delay(50);
////////////////////////////////////////////////////////////

/////////////////////// /////////////////////////////////////
if (inputString.indexOf("ON YALA") > –
1){
val_yala=1;
}

delay(50);
////////////////////////////////////////////////////////////

///////////////////////////////////////////// ///////////////
if (inputString.indexOf("DATE") > -1){
trimiteDateLocuinta();
}

delay(50);
////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////// ///

if (inputString.indexOf("OK") == -1){
mySerial.println("AT+CMGDA= \"DEL
ALL \"");
}
delay(1000);

}

Proiect de diplomă
57
inputString = "";

}

void trimiteDateLocuinta(){

int
t=senzor_umiditate_temperatura.readTempC();
int
u=senzor_umiditate_temperatura.readFloatHu
midity();

mySerial.println("AT+CMGF=1");
delay(1000);

mySerial.println("AT+CMGS= \"+4074104677
7\"\r");
delay(1000);
mySerial.print("tempe ratura actuala: ");
mySerial.print(t);
mySerial.println(" grade Celsius");

mySerial.print("temperatura setata: ");
mySerial.print(temperatura_setata);
mySerial.println(" grade Celsius");

mySerial.print("umiditate: ");
mySerial.print(u);
mySerial.println(" %");

mySerial.print("stare bec: ");
mySerial.println(val_bec);

mySerial.print("stare led: ");
mySerial.println(val_led);

mySerial.print("stare incalzire: ");
mySerial.println(incalzire_pornita);

mySerial.print("stare a larma: ");
mySerial.println(val_alarma);

mySerial.println((char)26);
delay(1000);
}
void RTC(){

Time t = rtc.time();

int minutA=t.min;

if(minutA!=minutP){
int oraI=t.hr;
int minutI=t.min;

int dataI=t.date;
int lunaI=t.mon;

String zi = dayAsString(t.day);
String an=String(t.yr);
String luna=String(t.mon);
String data=String(t.date);
String ora=String(t.hr);
String minut=String(t.min);

if(dataI<10){
data='0'+data;
}else{data=data;}

if(lunaI<10){
luna='0'+luna;
}else{luna=luna;}

if(oraI<10){
ora='0'+ora;
}else{ora=ora;}

if(minutI<10){
minut='0'+minut;
}else{minut=minut;}

lcd.clear();
lcd.setCursor(0,0);
lcd.print(zi);

lcd.setCursor(6,0);
lcd.print(data);

lcd.setCursor(8,0);
lcd.print("/");

Proiect de diplomă
58
lcd.setCursor(9,0);
lcd.print(luna);

lcd.setCursor(11,0);
lcd.print("/");

lcd.setCursor(12,0);
lcd.print(an);

lcd.setCursor(0,1);
lcd.print("ORA: ");
lcd.setCursor(6,1); lcd.print(ora);

lcd.setCursor(8,1);
lcd.print(" : ");
lcd.setCursor(11,1);
lcd.print(minut);

minutP=minutA;
}

}

Similar Posts