Table of Contents

Senzori de parcare - Grama Andrei

Introducere

Am dezvoltat un senzor de parcare care sa ajute soferii sa nu isi loveasca masinile!

Descriere generală

Am dezvoltat un sistem de senzori de parcare, genul acesta de sistem este dezvoltat in general in domeniul auto. Scopul acestuia este ca atunci cand un obstacol apare in aria de desfasurare a senzorului, sistemul ne atentioneaza atat vizual cat si acustic. În acest proiect, folosim un senzor ultrasonic. Senzori cu ultrasunete (ultrasonici) se bazează pe emiterea de ultrasunete, sunt foarte preciși, foarte ușor de folosit, dar din cauza faptului că sunetul se deplasează cu o viteză fixa, această categorie de senzori este considerată relativ lentă. În această categorie se încadrează senzorul HC-SR04 și senzorul de tip PING

Hardware Design

Pentru realizarea proiectului am folosit: 1x 74HC595 - registru de deplasare pe 8 biți 1x Breadboard LED-uri 8x (de exemplu: 3x roșu, 3x galben, 2x verde) Rezistențe de 9 Ohm 220 Ohm 1x Buzzer 1x senzor ultrasonic (HC-SR04) Jumper Wires

Software Design

Codul este:

int tonePin = 4;

int trigPin = 9;

int echoPin = 10;

int clockPin = 11;

int latchPin = 12;

int dataPin = 13;

byte possible_patterns[9] = { B00000000,

B00000001,

B00000011,

B00000111,

B00001111,

B00011111,

B00111111,

B01111111,

B11111111,

};

int proximity=0;

int duration;

int distance;

void setup() {

Serial.begin (9600);

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

pinMode(clockPin, OUTPUT);

pinMode(latchPin, OUTPUT);

pinMode(dataPin, OUTPUT);

pinMode(tonePin, OUTPUT);

}

void loop() {

digitalWrite(latchPin, LOW);

digitalWrite(trigPin, HIGH);

delayMicroseconds(1000);

digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);

distance = (duration/2) / 29.1;  
proximity=map(distance, 0, 45, 8, 0);

//Serial.println(proximity);  
if (proximity <= 0){

  proximity=0;
}

else if (proximity >= 3 && proximity <= 4){

  tone(tonePin, 200000, 200);
  
}

else if (proximity >= 5 && proximity <= 6){

   tone(tonePin,5000, 200);
   
}

else if (proximity >= 7 && proximity <= 8){

  tone(tonePin, 1000, 200);
  
}

shiftOut(dataPin, clockPin, MSBFIRST, possible_patterns[proximity]);

digitalWrite(latchPin, HIGH); 
delay(600);

noTone(tonePin);

}

Rezultate Obţinute

Pe masura ce distanta pana la obstacol se micsoreaza, se aprind pe rand becurile verzi, albastre iar in cele din urma cele rosii, care indica ca urmeaza sa lovesti obstacul. Simultan semnalul sonor se intensifica.

Schema