Implementarea Unui Sistem de Alarma
Capitolul 1. Elemente de structura
Introducere
Exemplul urmator prezinte implementarea unei alarme de casa. Scopul alarmei a fost crearea unei aplicatii care sa aiba o tenta practica, sa exemplifice legarea si controlarea diferitelor dispositive periferice la microcontroller si folosirea acestora intr-o aplicatie de tip “masina de stare finita”. Utilitatea acestuia consta in a ne arata cum anume poate fi create o aplicatie interesanta, folosind un nivel de cunostinte nu foarte avansat.
Descriere
Componentele principale ale proiectului sunt:
Arduino UNO
A-GSM shield
Bread board
Dioda laser
Fotorezistor (LDR)
Rezistenta 10KΩ
Fire pentru conexiuni
Conectori
Cum functioneaza
Dioda laser si fotorezsitorul creeaza un sensor bariera de lumina. Atunci cand este activat si bariera de lumina este intrerupta (incalcata) scutul GSM va trimite o alerta SMS la numerele de tefon predefinite in cadrul codului sursa. Sistemul are 3 stari: armat, nearmat si alarma declansata. Programul Arduino este proiectat astfel incat se poate arma sau dezarma alarma folosind telefonul mobil. Exista posibilitatea criptarii mesajelor insa e nevoie de mici modificaro aduse codului.
Pentru comunicarea cu scutul GSM am folosit ultimul lor cod numit “kickstart pentru Arduino”. Acest lucru este ca o biblioteca pentru scutul GSM si ma ajuta sa ating obiectivul proiectului. [1]
Software design
#include "Timer.h"
Timer t, t1, t2; //Timers that will be used for launching functions at specific intervals
int once;//when a breach is detected send only one SMS
String trustedNo = "+40732228002";//This is the phone number that the system will send or receive SMS from
String password = "123456";//Password for ARM and DISARM
int stare = 0;//State of the system
int sensorValue;//Value of LDR
//a-gsm variables============================
#include <SoftwareSerial.h>
#define powerPIN 7//Arduino Digital pin used to power up / power down the modem
#define resetPIN 6//Arduino Digital pin used to reset the modem
#define statusPIN 5//Arduino Digital pin used to monitor if modem is powered
int state = 0, i = 0, powerState = 0, ready4SMS = 0, ready4Voice = 0;
#define BUFFDSIZE 240
SoftwareSerial SSerial(2, 3); //RX==>2 ,TX soft==>3
char ch;
char buffd[BUFFDSIZE];
char o_buffd[BUFFDSIZE];
int noSMS = 0, totSMS = 0;
char readBuffer[200];
///========================================
int effect[] = {13, 12, 11, 10, 9, 8};//Pins on wich are connected LED's for visual effect
int count, n = 0;//Various variables
void setup() {
//Timers initialization
t.every(250, alarmSMS);
t1.every(50, lightEffect);
t2.every(1, sensor);
//Led pin's initialization
for (int i = 0; i < 6; i++)
{
pinMode(effect[i], OUTPUT);
}
// a-gsm setup================================
SSerial.begin(9600);
Serial.begin(57600);//1ms
clearSSerial();
clearSerial();
delay(10);
pinMode(resetPIN, OUTPUT);
digitalWrite(resetPIN, LOW);
pinMode(powerPIN, OUTPUT);
pinMode(statusPIN, INPUT);
digitalWrite(powerPIN, LOW);
delay(100);
Serial.flush();
SSerial.flush();
if (!digitalRead(statusPIN)) restartMODEM();
clearBUFFD();
ready4SMS = 0;
ready4Voice = 0;
Serial.println("SMSAlarm ready");
//==========================================
}
void loop() {
t.update();//Check for SMS
t1.update();//Light effect
t2.update();//Check sensor status
}
//This function is responsable to check for SMS and change the state of the system
void alarmSMS() {
listSMS();
int cnt;
cnt = noSMS;
while (cnt > 0) {
readSMS(cnt);
if ((trustedNo == getValue(buffd, ',', 1).substring(1, 13)) && (password == getValue(buffd, ',', 4))) {
if (stare == 0) {
stare = 1;
Serial.println("ARMED");
sendSMS("+40732228002", "ARMED");
}
else if (stare == 1) {
stare = 0;
Serial.println("DISARMED");
sendSMS("+40732228002", "DISARMED");
}
else if (stare == 2) {
stare = 1;
Serial.println("ALARM CANCEL BUT STILL ARMED");
sendSMS("+40732228002", "ALARM CANCEL BUT STILL ARMED");
}
}
deleteSMS(cnt);
clearBUFFD();
clearSSerial();
cnt–;
}
}
//Function responsable for the LED effects
void lightEffect() {
if (stare == 0) {
for (int i = 0; i < 6; i++) {
digitalWrite(effect[i], HIGH);
delay(50);
digitalWrite(effect[i], LOW);
}
for (int i = 6; i >= 0; i–) {
digitalWrite(effect[i], HIGH);
delay(50);
digitalWrite(effect[i], LOW);
}
}
else if (stare == 1)
{ once = 0;
for (int i = 0; i < 6; i++) {
digitalWrite(effect[i], HIGH);
}
}
else if (stare == 2)
{
for (int i = 0; i < 6; i++) digitalWrite(effect[i], HIGH);
delay(50);
for (int i = 0; i < 6; i++) digitalWrite(effect[i], LOW);
}
}
//Function that is continuously checking the sensor value and in case of trigger it will send an alert
void sensor()
{
sensorValue = analogRead(A0);
if ((stare == 1) && (sensorValue <= 950))
{ stare = 2;
if ((sendSMS("+40732228002", "INTRUDER DETECTED") == 1) & (once == 0)) {
t1.update();//Light effect
once = 1;
}
}
}
1.5 Hardware design
Capitolul 2. Fotorezistorul
2.1 Definitie
Este un resistor, realizat dintr-un material semiconductor omogen, a carui rezistenta se modifica sub incidenta unui flux luminous incident. Se bazeaza pe fenomenul de fotoconductivitate prin care sub influenta radiatiei luminoase sunt eliberati electroni liberi care cresc conductivitatea electrica a semiconductorului si implicit scad rezistenta rezistorului (este o aplicatie a efectului fotoelectic intern).[2]
2.2 Structura
Fotorezistorul este format dintr-o pelicula din material semiconductor, depusa prin evaporare in vid pe un gratar metallic care este fixat pe o placa izolatoare. Pelicula este prevazuta la capete contacte ohmmice care reprezinta terminalele si este protejata prin acoperire cu lac sau prin incapsulare in material plastic (figura 1si figura 2).
Fig. 1 Alcatuirea fotorezistorului
Fig. 2 Structura fotorezistorului
In general conductanta fotorezisrentei este proportional cu fluxul luminous. Materialele din care se realizeaza fotorezistentele sunt sulfurile, seleniurile, precum si compusi de tipul A3B5, mai utilizate sunt PbS, PbTe, PbSe, InSb, Ge pentru infrarosu, iar pentru vizibil si ultraviolet apropiat CdS, CdSe si TI2S. Simbolurile grafice ale fotorezistorului sunt prezentate in figura 3. [2]
Fig. 3 Simoluri grafice fotorezistor
2.3 Comportarea fotorezistorului la modificarea intensitatii fluxului luminos
Rezistenta electirca a fotorezistorului scade o data cu cresterea intensitatii fluxului luminos aplicat pe suprafata sensibila a fotorezistorului. In figura 4 se observa cum rezistenta fotorezistorului se modifica in functie de gradul de acoperire a suprafetei sensibile
Fig. 4 Comportarea fotorezistorului la modificarea intensitatii fluxului luminos
Conectat intr-un circuit electric, fotorezistorul modifica intensitatea curentului din circuit. Intensitatea curentului este proportional cu crestera intensitatii fluxului luminos. In ciorcuitele electronice in functie de modul de conectare, fotorezistorul poate fi activat de lumina (Fig 5 a) sau poate fi activat de intuneric (Fig 5b)
Fig. 5 a – montaj cu fotorezistor activat de lumina
Fig. 5 b – montaj cu fotorezistor activat de intuneric
Din potentiometrul P se regleaza sensibilitaea fotorezistorului R3. Rezistenta R1 protejeaza fotorezistorul.[2]
2.4 Performantele fotorezistorului
Performantele fotorezistorului se apreciaza prin marimile: rezistenta la intuneric – dependenta de dimensiunile geometrice (w, d, l) si de concentratia de impuritati a semiconductorului, pragul fotoelectric – reprezentand lungimea de unda maxima pana la care dispozitivul mai functioneaza, sensibilitatea spectrala – reprezinta raportul dintre conductanta fotorezistentei si fluxul luminos incident, inertia fotorezistentei – reprezentand timpul dupa care rezistenta elementului se stabilizeaza la noua valoare, atunci cand fluxul luminos variaza prin salt. Parametrii specifici uni fotorazistor sunt : valoarea rezistentei electrice la intuneric, tesiunea maxima admisa la borne, puterea maxima disipata si sensibilitatea la lumina.[2]
2.5 Utilizari
Fotorezistentele se utilizeaza cel mai adesea ca detectoare de radiatii in gama de frecvente vizibil – infrarosu indepartat, cat si la controlul camerleor de luat vederi, comanda iluminatului, pana la fotospectrometre. [2]
Capitolul 3. Dioda Laser
3.1 Principiul de functionare
Acronimul LASER inseamna Light Amplificationby Simulated Emission of Radiation. Primul laser functional a fost construit pe rubin de catre americanul Theodore Meiman, in anul 1960. Fundamentele teoretice si practice pentru aceasta realizare au fost oferite de americanul Charles Townes si rusii Alexander Prokhorov si Nikolay Basov, care au si partajat premiul Nobel in fizica pentru anul 1964.
Interesant este ca laserul nu este un amplificator de lumina, asa cum sugereaza numele, ci u generator de lumina. Laserul este un dispozitiv care genereaza lumina prin emisie stimulate de radiatie.[4]
3.2 Radiatia spontana si stimulate
Exista doua tipuri de radiatii: spontana si stimulate. Spontana inseamna ca radiatia are loc fara cauze externe. Exact acest lucru se intampla in LED-uri: electronii excitati din banda de conductie cad, fara nici un stimulent extern , in banda de valente, producand radiatie spontana.
Proprietatile radiatiei spontane sunt urmatoarele:
1. Saltul elecrtonilor intre diferite nivele energetice ale benzii de conductie si benzii de valenta determina producerea radiatiei, ceea ce explica latimea spectrala asa de mare a acestor surse. Din acest motiv un LED are o latime spectrala de aproximativ 60 nm pentru o functionare pe lungimea de unda 850 nm si de 170 nm pentru o functionare pe 1300 nm.
2. Deoarece fotonii sunt radiati pe directii arbitrare, foarte putini dintre ei participa la creearea luminii pe directia dorita, ceea de reduce puterea de iesire a unui LED. Aceasta inseamna ca conversia current – lumina are loc cu eficienta redusa.
3. Fotonii care contribuie la puterea de iesire, nu se misca strict intr-o singura directive. Prin urmare ei se propaga in interiorul unui con, ceea ce conduce la o imprasiere spatiala a radiatiei. Din acest motiv, LED-ul este modelat ca o sursa Lambertiana.
4 Tranzitia electronilor, si prin urmare emisia fotonilor, are loc la momente aleatorii de timp, deci fotonii sunt create independent unul de altul. Prin urmare nu exista nici o corelare de faza intre fotoni, motiv pentru care radiatia este numita necoerenta.
Cele patru caracteristici de mai sus ale radiatiei unui LED, fac din acest emitator o componenta inutilizabila pentru legaturile optice la mare distanta.
Un alt process are loc atunci cand un foton extern loveste un electron excitat , fig. 6. Interactiunea dintre ei include o tranzitie si radiatie de nou foton. In acest caz, emisia indusa este stimulate de fotonul extern. Prin urmare aceasta radiatie este numita stimulata.
Radiatia stimulata are urmatoarele proprietati:
1. Un foton extern forteaza emisia unui foton cu energie similara. Cu alte cuvinte fotonul extern stimuleaza radiatie cu aceeasi lungime de unda ca a lui. Aceasta proprietate face ca latimea spectrala a luminii radiate sa fie mai ingusta. Este obisnuit ca la un laser, latimea spectrala sa fie in jur de 1 nm, atat la 1300 nm cat si la 1550 nm.
Fig 6 – Radiatia stimulata
2. Deoarece toti fotonii se propaga in aceeasi directive, toti contribuie la puterea luminoasa. Prin urmare, eficienta conversiei current-lumina este mare si drept consecinta si puterea de iesire va fi la fel. De exemplu in comparative cu un LED pentru care o putere de iesire de 1 mW poate necesita un current direct pana la 150 mA, o dioda laser poate radia 1 mW la doar 10 mA.
3. Fotonii stimulati se propaga in aceeasi directie cu fotonii care i-au stimulat. Prin urmare, lumina stimulate va fi bine directionata.
4. Deoarece un foton stimulat este radiat doar cand un foton extern amorseaza aceasta actiune, abii fotoni se spune ca sunt sincronizati Aceasta inseamna ca ambii fotoni sunt in faza si astfel reactia stimulata este coerenta.[4]
3.3 Reactia pozitiva
Pentru a radia lumina stimulata cu putere semnificativa, avem nevoie de milioane de miloane de fotoni. Pentru astimula o astfel de reactie, se plaseaza o oglinda la un capat al regiunii active ca in Fig 7.
Fig 7 – Reactia pozitiva
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Implementarea Unui Sistem de Alarma (ID: 116340)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
