Ultrazvukovy senzor HC-SR04 - manual: Rozdiel medzi revíziami
Vytvorená stránka „=== Ultrazvukový senzor === Dostali ste ultrazvukový senzor '''HC-SR04'''. Pred dvoma úlohami sme sa naučili ako generovať zvuk rýchlym zapínaním a vypínaním bzučiaka. Teraz použijeme rovnaký princíp – ale na iný účel: '''meranie vzdialenosti'''. Senzor HC-SR04 má na sebe zabudovaný reproduktor aj mikrofón: * '''Reproduktor''' vyšle krátky ultrazvukový impulz cez pin '''TRIG''' * Impulz sa odrazí od objektu pred senzorom a vráti sa spä…“ |
dBez shrnutí editace |
||
| (4 medziľahlé úpravy od 2 ďalších používateľov nie sú zobrazené) | |||
| Riadok 1: | Riadok 1: | ||
[[Electronics | Späť do zoznamu]] | [[HC-SR04 - setup|HW príprava senzora HC-SR04]] | |||
=== Ultrazvukový senzor === | === Ultrazvukový senzor === | ||
Ultrazvukový senzor '''HC-SR04''' sa v niečom podobá na pasívnu sirénku, pomocou ktorej sa dá generovať zvuk rýchlym zapínaním a vypínaním bzučiaka. Teraz použijeme podobný princíp – ale na iný účel: '''meranie vzdialenosti'''. | |||
Senzor HC-SR04 má na sebe zabudovaný reproduktor aj mikrofón: | Senzor HC-SR04 má na sebe zabudovaný reproduktor aj mikrofón: | ||
| Riadok 81: | Riadok 83: | ||
| <code>float</code> || Dátový typ pre desatinné čísla – na rozdiel od <code>int</code>, ktorý uchováva iba celé čísla. | | <code>float</code> || Dátový typ pre desatinné čísla – na rozdiel od <code>int</code>, ktorý uchováva iba celé čísla. | ||
|} | |} | ||
Aktuálna revízia z 18:25, 8. september 2026
Späť do zoznamu | HW príprava senzora HC-SR04
Ultrazvukový senzor
Ultrazvukový senzor HC-SR04 sa v niečom podobá na pasívnu sirénku, pomocou ktorej sa dá generovať zvuk rýchlym zapínaním a vypínaním bzučiaka. Teraz použijeme podobný princíp – ale na iný účel: meranie vzdialenosti.
Senzor HC-SR04 má na sebe zabudovaný reproduktor aj mikrofón:
- Reproduktor vyšle krátky ultrazvukový impulz cez pin TRIG
- Impulz sa odrazí od objektu pred senzorom a vráti sa späť
- Mikrofón zachytí odrazený signál a vyšle ho cez pin ECHO
Celý tento proces trvá nejaký čas – a práve z tohto času vieme vypočítať vzdialenosť.
Pozor – nie každý objekt odrazí ultrazvuk spoľahlivo. Mäkké a porézne materiály (napr. látka, molitan) zvuk pohlcujú namiesto odrazu, a senzor ich nemusí detekovať.
Zapojenie
| Pin senzora | Pin na RP2350-Zero |
|---|---|
| VCC | 5V |
| GND | GND |
| TRIG | GP6 |
| ECHO | GP7 |
Kód – meranie času impulzu
Vyskúšaj toto: Skopíruj a spusti nasledujúci program. Otvor sériový monitor (9600 baud) a pohybuj rukou pred senzorom. Sleduj ako sa mení nameraná vzdialenosť.
const int TRIG = 6;
const int ECHO = 7;
void setup() {
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
Serial.begin(9600);
}
// Funkcia odošle impulz a vráti nameraný čas v mikrosekundách
long measurePulse() {
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
return pulseIn(ECHO, HIGH);
}
void loop() {
long trvanie = measurePulse();
Serial.print("Čas: ");
Serial.print(trvanie);
delay(100);
}
Princíp
| Novinka | Vysvetlenie |
|---|---|
pulseIn(pin, HIGH) |
Čaká kým pin prejde do stavu HIGH, potom meria ako dlho v ňom zostane. Vráti čas v mikrosekundách. |
digitalWrite(TRIG, HIGH) + delayMicroseconds(10) |
Odošleme presne 10µs impulz – to je požiadavka senzora HC-SR04 na spustenie merania. |
trvanie * 0.0343 / 2.0 |
Prepočet: čas (µs) × rýchlosť zvuku (cm/µs) ÷ 2 (tam aj späť) = vzdialenosť v cm. |
float |
Dátový typ pre desatinné čísla – na rozdiel od int, ktorý uchováva iba celé čísla.
|