HC-SR04 ultrazvukový sensor

HC-SR04 ultrazvukový sensor.

img_0973Nepotřebuješ žádný knihovny, jednoduchý kód!

HC-SR04 ultrazvukový sensor dokáže měřit vzdálenost. Hodí se např.: pro roboty, kteří se díky němu umí vyhnout překážkám.

Po tom, co jsem koupil HC-SR04, jsem se to ho snažil zprovoznit, ale nepodařilo se. Hledal jsem nějaký jednoduchý návod, jak to zprovoznit. Po tom, co jsem nad tím strávil hodně času jsem se rozhodl, že napíšu článek to tom, jak tento problém řešit.

Chtěl jsem udělat něco, k čemu by nebyl potřeba počítač. I to byl důvod, proč jsem použil LED. Jedna LED je použita na překročení minimální vzdálenosti, druhá na překročení vzdálenosti maximální.

Krok 1: Seznam součástek

  1. 1x Arduino UNO R3
  2. 1x HC-SR04 ultrazvukový sensor
  3. 1x červena LED
  4. 1x zelena LED
  5. 2x 560 ohm rezistor
  6. 1x Malý breadboard
  7. Kablíky
  8. Pravítko 🙂

Krok 2: Zapojení součástek

Zapoj součástky a dráty tak, jak je ukázáno na obrázku.hc-sr04_bb

hcsr-04-9117 img_0975

Krok 3: Nahrát kód

 
		kopírovat
/*
 HC-SR04 ULTRAZVUKOVÝ SENZOR]
 */

#define trigPin 13			// Trigger Pin
#define echoPin 12			// Echo Pin
#define ledMin 11			// Červena LED na pinu 11
#define ledMax 10			// Zelena LED na pinu 10

int maximumRange = 200; 			// maximální vzdálenost
int minimumRange = 0; 			// minimální vzdálenost
long duration, distance; 		// Vypočítání vzdálenosti

void setup() {
	Serial.begin (9600);
	pinMode(trigPin, OUTPUT);
	pinMode(echoPin, INPUT);
	pinMode(ledMin, OUTPUT);
	pinMode(ledMax, OUTPUT);
}

void loop() {
	digitalWrite(trigPin, LOW);
	delayMicroseconds(2);
	digitalWrite(trigPin, HIGH);
	delayMicroseconds(10);
	digitalWrite(trigPin, LOW);
	duration = pulseIn(echoPin, HIGH);
	distance = (duration/2) / 29.1;		//vypočítání v cm
	
	// To je místo, kde LED rozsvítíme a zhasneme.
if (distance < 4) { 				// rozsvítíme červenou LED, vzdálenost do 4cm 
	digitalWrite(ledMin,HIGH); 		// Když rozsvítíme červenou, zelenou musíme zhasnout 
	digitalWrite(ledMax,LOW);
} else if (distance > 200) {  			// rozsvítíme zelenou LED, vzdálenost > 200cm
    	digitalWrite(ledMax,HIGH); 		// Když rozsvítíme zelenou, červenou musíme zhasnout
	digitalWrite(ledMin,LOW);
}
  else {					// normální provoz, vzdálenost od 4 do 200cm, nesviti nic
    digitalWrite(ledMin,LOW);
    digitalWrite(ledMax,LOW);
  }
  if (distance >= maximumRange  || distance <= minimumRange){
	Serial.println("Mimo dosah");
  }
  else {
    Serial.print(distance);
    Serial.println(" cm");
  }
  //počkání 500ms
  delay(500);
}

Zkopíruj kód do Tvého Arduina a sleduj blikající diody.

 

hc-sr04

Já jsem Ledky neměl. Proto jsem použil Ledku na Arduino a druhou jsem vůbec nezapojoval.

Napsat komentář