Jump to content
dancezar

[tutorial]Senzor de parcare cu arduino

Recommended Posts

  • Active Members

Pentru a putea realiza acest proiect aveti nevoie de:

-o placa arduino (depinde placa puteti gasi clone pe okazii la 80 de lei sau pe teguna la 50-60 lei)

-6 leduri(2 verzi,2 galbene,2 rosii) (Se gasesc oriunde)

-6 rezistente de 1kohm (in orice aparat electronic)

-un zenzor de distanta (pe okazii la 28 de lei Modul / Senzor / Shield HC-SR04 Ultrasonic masurarea distantei pentru Arduino uno mega AVR ARM - Okazii (124962590) )

-baterie 9v si un soclu(cam 5-6 lei)

-intrerupator

Cum functioneaza senzorul de distanta?

Principiul este simplu este ca la un sonar.Atunci cand pinul trigger are 5 volti la capat ,modulul trimite o unda de suntet.Atunci cand unda intalneste un obiect in cale sunetul este trimis inapoi iar pinul echo analizeaza timpul de raspuns in care unda este trimisa inapoi.

View image: tut01

Conecsiunea componentelor arata astfel:

View image: Arduino RGB Rainbow pq

trigger-pin 13

echo -pin 12

ledurile-de la pin 11 pana la pin 6

Codul(am explicat aproape tot ce se putea):

int trigPin=13;

int echPin=12;

int led1=11;//led verde

int led2=10;//led verde

int led3=9;//led galben

int led4=8;//led galben

int led5=7;//led rosu

int led6=6;//led rosu

int limita=30;//limita de distanta dintre masina este de 30 de cm

//pini pentru led si triggerul de la sharp sunt de iesire iar echo pin este de intrare

void setup(){//Initializam pini

pinMode(trigPin,OUTPUT);

pinMode(echPin,INPUT);

pinMode(led1,OUTPUT);

pinMode(led2,OUTPUT);

pinMode(led3,OUTPUT);

pinMode(led4,OUTPUT);

pinMode(led5,OUTPUT);

pinMode(led6,OUTPUT);

}

//functia pentru determinarea distantei in centimetri

int distanta(){

long duration, distance;

digitalWrite(trigPin, LOW);//inchidem senzorulul

delayMicroseconds(2);//asteptam 2 microsecunde

digitalWrite(trigPin, HIGH);//deschidem senzorul

delayMicroseconds(10);//asteptam 10 micro secunde

digitalWrite(trigPin, LOW);//inchidem senzorul

duration = pulseIn(echoPin, HIGH);//analizam durata

distance = (duration/2) / 29.1;//calcule

return distance; //intoarcem distanta

}

//functia loop se repeta la infinit

void loop(){

int cm=distanta();

if(cm==limita){

//aprindem toate ledurile

digitalWrite(led1,HIGH);

digitalWrite(led2,HIGH);

digitalWrite(led3,HIGH);

digitalWrite(led4,HIGH);

digitalWrite(led5,HIGH);

digitalWrite(led6,HIGH);

}else if(cm>=limita&&cm<=40){

digitalWrite(led1,LOW);

digitalWrite(led2,HIGH);

digitalWrite(led3,HIGH);

digitalWrite(led4,HIGH);

digitalWrite(led5,HIGH);

digitalWrite(led6,HIGH);

}else if(cm>=40&&cm<=50){

digitalWrite(led1,LOW);

digitalWrite(led2,LOW);

digitalWrite(led3,HIGH);

digitalWrite(led4,HIGH);

digitalWrite(led5,HIGH);

digitalWrite(led6,HIGH);

}else if(cm>=50&&cm<=80){

digitalWrite(led1,LOW);

digitalWrite(led2,LOW);

digitalWrite(led3,LOW);

digitalWrite(led4,HIGH);

digitalWrite(led5,HIGH);

digitalWrite(led6,HIGH);

}else if(cm>=80&&cm<=130){

digitalWrite(led1,LOW);

digitalWrite(led2,LOW);

digitalWrite(led3,LOW);

digitalWrite(led4,LOW);

digitalWrite(led5,HIGH);

digitalWrite(led6,HIGH);

}else{

digitalWrite(led1,LOW);

digitalWrite(led2,LOW);

digitalWrite(led3,LOW);

digitalWrite(led4,LOW);

digitalWrite(led5,LOW);

digitalWrite(led6,HIGH);

}

}

Dupa ce ati incarcat codul pe placa.Puneti totul intr-o cutie frumos iar senzorul de dinstanta il camuflati undeva in bara din spate,iar panoul cu leduri si placa arduino in fata cu soferul.Sezorul nu masoara foarte bine dupa calculele mele la 10 cm el masoara 8 cm.Daca am greseli de gramtica va rog sa le treceti cu vederea si da desenele sunt jalnice.

Edited by danyweb09
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...