Professional Documents
Culture Documents
3 Laborator-Sensoredisance
3 Laborator-Sensoredisance
Sensorët e distancës
Punoi: Pranoi:
Tiranë, 2024
Sensorët e distancës
Qëllimi
Gjetja e distancës duke përdorur karakteristikën e një sensori me ultratinguj të komanduar nga një
arduino.
Gjetja e pranisë së një objekti duke përdorur karakteristikën e një sensori me infrared të komanduar
nga një arduino.
Dedektim i një objekti duke përdorur karakteristikën e një sensori infrared të lëvizjes të komanduar
nga një arduino.
Materialet
Modulet e eksperimentit: Arduino Uno, Arduino Mega 2560, ultrasonic sensor HC-SR04, infrared
sensor FC-51, HC-SR501 PIR motion sensor, Breadboard.
Përshkrimi Teorik
1. Ultrasonic sensor HC-SR04
Sensori HC-SR04 siguron një matje jo me kontakt në distancat nga 2 cm në 400 cm, dhe saktësia
arrin deri në 3 mm. Ky modul përfshinë: transmetues, marrës dhe qarkun e kontrollit. Parimi bazë i
punë është: 1) përdoret një triger IO për të paktën 10us nivel high të sinjalit; 2) moduli dërgon tetë
40kHz dhe dedekton kur impulsi i sinjalit kthehet; 3) nëse sinjali kthehet gjatë kohës të nivelit high,
koha për daljen high të IO është koha nga dërgimi i sinjalit utratinguj deri në kthim.
Distanca= ( koha e sinjalit high x shpejtësinë e zërit (340 m/s))/2.
Parametrat elektrike
Tension i punës DC 5V
Rryma 15 mA
Frekuenca 40 Hz
Distanca maksimale 4m
Distanca minimale 2 cm
Këndi i matjes 15 gradë
Trigerim i sinjalit në hyrje 10 us TTL pulse
Echo e sinjalit në dalje Sinjali input në nivelin TTL dhe distanca
brenda range-it
Diagrama e kohës
Ju nevojitet të merrni si sinjal të trigerimit të hyrjes një impuls 10 us, dhe pastaj moduli do të fillojë
të dërgojë 8 cikle (cycle burst) të sinjalit ultratinguj në 40kHz dhe të japi echo. Echo varet nga
distanca nga objekti. Ju mund të llogarisni distancën midis sinjalit të dërguar të trigerimit të hyrjes
dhe sinjalit echo të marr. Formula: koha (us)/58= distance (cm) ose distance= koha kur sinjali është
high x shpejtësinë e zërit (350 m/s))/2.
Bazuar në këndin e reflektimit, sensori mund të llogarisni distancën nga objekti. Ekuacioni për të
llogaritur distancën (në cm) nga tensioni: Volt=(5/1024)*Leximin_Analog.
Parametrat elektrike
Tension i punës DC
Rryma mesatare e konsumuar 33 mA
Distanca maksimale 80 cm
Distanca minimale 10 cm
Koha e përgjigjes 39 ms
Kohëzgjatja e ciklit të punës së Led-it 32 ms
HC - SR501 është i bazuar në teknologjinë infra të kuqe, ka ndjeshmëri dhe besueshmëri të lartë,
punon me tension të ulët, përdoret gjerësisht në pajisje të ndryshme elektrike. Sensorët PIR lejojnë
që të dedektohet lëvizja, pothuajse gjithmonë përdoret për të zbuluar nëse një njeri lëviz brenda ose
jashtë zonës të ndjeshmërisë . Ata janë të vegjël, të lira, kanë konsum të ulët të energjisë, janë të
lehtë për t'u përdorur. Për këtë arsye kanë gjetur përdorim në aparatet dhe pajisjet e përdorura në
shtëpitë apo bizneset. Atyre u referohet shpesh si PIR sensorë : “Passive Infrared”, “Pyrooelektik”
ose “IR motion”. Sensorët PIR përbëhen kryesisht nga një sensor piroelektikë (të cilat ju mund të
shihni nga sipër, si pjesën e rrumbullakët metalike me një kristal drejtkëndëshe në qendër), e cila
mund të dedektojë nivelet e rrezatimit infra të kuq. Çdo gjë lëshon një rrezatim në nivel të ulët,
dhe sa më e ngrohtë të jetë aq më shumë rrezatim emetohet.
Së bashku me sensor piroelektrik janë dhe disa element si rezitenca dhe kapacitor. Duket se
shumica e sensorë të vegjël përdorni BISS0001 ( “Micro Fuqia PIR Motion Detector IC”), pa
dyshim një çip shumë i lirë. Ky chip merr daljen e sensorit dhe bën disa përpunime të vogla që të
mund të lëshojnë një impuls dixhitale nga sensori analog. Për shumë projekte ose produktet që
duhet për të zbuluar, kur një person ka lënë ose të hyrë në një zonën ose i është afruar, sensorë PIR
janë të mirë. Ata janë fuqi dhe kosto të ulët, kanë një gamë të gjerë lente, dhe kanë ndërfaqe të
lehtë. Vini re sensorët PIR nuk do të ju tregojnë se sa njerëz janë rreth ose sa afër sensorit janë.
Parametrat elektrike
Lidhni ultrasonic sensor HC-SR04 me arduino (Arduino ose Arduino Mega 2560) duke patur parasysh
që të lidhen: GND-GND, ECHO-Pin 12, TRIG-Pin 13, Vcc-5V (Fig.5).
Figura 5. Lidhja Arduino- Ultrasonic sensor HC-SR04 dhe lidhja e led-eve në breadbord
Lidhni tre led në paralel në breadboard, ku secili lidhet në seri me një rezistencë 220 ohm. Led-i i
kuq të lidhet me Pin 4 të Arduino-s. Led-i verdhë të lidhet me Pin 8 të Arduino-s. Led-i jeshil të
lidhet me Pin 7 të Arduino-s. Të lidhet të tre lidhjet parallel të led-eve në GND e Arduino-s.
Pasi të shkruhet kodi në vijim në programin Arduino dhe të kompilohet (Verify). Për të mundësuar
lidhjen e Arduino-s përkatëse (Arduino Uno ose Arduino Mega 2560), p.sh.: Tools->Board-> Arduino
Uno/Atmega328 (Fig.6).
Në vijim jepet kodi i shkruar për Arduino që të komandojë Ultrasonic sensor HC-SR04, duke
realizuar ndezjen dhe fikjen e semaforit me 3 led në varësi të distancës nga objekti :
int LedRed=4;
int LedYellow=8;
int LedGreen=7;
int trigerPin=13;
int echoPin=12;
float distanca;
float koha;
void setup()
{
Serial.begin(9600);
pinMode(LedRed, OUTPUT);
pinMode(LedYellow, OUTPUT);
pinMode(LedGreen, OUTPUT);
pinMode(trigerPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop()
{
digitalWrite(trigerPin,LOW);
delayMicroseconds(2); // vendoset perseri LOW per te qene te sigurt qe behet
// ndarja e sakte mes intervaleve HIGH-LOW
digitalWrite(trigerPin, HIGH);
delayMicroseconds(10); // koha e nevojshme per trigerim te "suksesshem"
digitalWrite(trigerPin, LOW);
koha= pulseIn(echoPin,HIGH);
distanca=koha/58;
Serial.print(distanca);
Serial.print(" cm ");
Serial.print (koha);
Serial.println(" usec");
delay(1000);
if (distanca<=5)
{
digitalWrite(LedRed,HIGH);
digitalWrite(LedYellow,LOW);
digitalWrite(LedGreen,LOW);
}
if (distanca >5 && distanca <=10)
{
digitalWrite(LedRed,LOW);
digitalWrite(LedYellow,HIGH);
digitalWrite(LedGreen,LOW);
}
if (distanca >10)
{
digitalWrite(LedRed,LOW);
digitalWrite(LedYellow,LOW);
digitalWrite(LedGreen,HIGH);
}
}
Nga eksperimeti:
Lidhni IR sensor FC-51 me arduino duke patur parasysh që të lidhen: Vcc-5V, GND-GND, Out-Pin
8. (Fig.7).
Pasi të shkruhet kodi në vijim në programin Arduino dhe të kompilohet (Verify). Për të mundësuar
lidhjen e Arduino-s përkatëse, sipas path-it: Tools->Board-> Arduino Uno (Fig.8).
Në vijim jepet kodi për Arduino UNO për të komanduar Infrared sensor FC-51 që të realizohet
dedektimi i objektit :
#define IR 2
int detection = HIGH; // nuk ka pengesë
void setup()
{
Serial.begin(9600);
pinMode(IR, INPUT);
}
void loop()
{
detection = digitalRead(IR);
if(detection == LOW)
{
Serial.print("Ka pengesë!\n");
}
else{
Serial.print("Nuk ka pengesë!\n");
}
delay(500); // vonesa ne ms
}
Në vijim ky kod do të upload nga Arduino (programi) tek Arduino (hardware).
Nga eksperimeti:
C. Pjesa eksperimentale
Lidhni sensorin e dedektimit të lëvizjes HC-SR501 PIR me arduino duke patur parasysh që të lidhen:
Vcc-5V, GND-GND, Out-Pin 9 (Fig.9).
Rregulloni distancën (Fig.9.1): kthehet potenciometri në drejtimin e orës duke rritur ndjeshmërinë
në distancë (rreth 7 metra), në të kundërtën ndjeshmëria ulet në distancë (rreth 3 metra) .
Rregulloni vonesën (Fig.9.1): kthehet potenciometri në drejtimin e orës duke rritur vonesën në
(600s , 10 minuta) , në të kundërt shkurtohet vonesa (0.3 sekonda).
Zbulim automatik: dalja do të jetë HIGH kur ndodhen objekte në zonën e ndjeshmërisë, dhe
automatikisht të kthehet në LOW, kur objekti largohet. Modulit i duhet një minut për tu inicializuar,
gjatë kohës së inicializimit do të ketë output 0-3 herë dhe pas një minute do të kalojë në standby.
Në vijim jepet kodi për Arduino UNO për realizuar dedektimin e objektit në lëvizje :
int pirPin = 8;
int val;
void setup()
{
Serial.begin(9600);
}
void loop()
{
val = digitalRead(pirPin); // gjendja lexo e PIR
if (val == LOW)
{
Serial.println("Ka lëvizje"); // nëse vlera që lexohet është LOW nuk ka lëvizje
}
else {
Serial.println("S’ka lëvizje!"); // nëse vlera që lexohet është HIGH nuk ka lëvizje
delay(1000);
}
Nga eksperimeti:
Konkluzione:
_______________________________________________________________________
_______________________________________________________________________
_______________________________________________________________________
_______________________________________________________________________
_______________________________________________________________________
_______________________________________________________________________
_______________________________________________________________________
_______________________________________________________________________
_______________________________________________________________________
_______________________________________________________________________
_______________________________________________________________________
_______________________________________________________________________
_______________________________________________________________________
_______________________________________________________________________
_______________________________________________________________________