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ä…“ |
|||
| Riadok 1: | Riadok 1: | ||
=== Ultrazvukový senzor === | === Ultrazvukový senzor === | ||
[[Príprava elektroniky - hardware setup | Späť k zoznamu]] | |||
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'''. | 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'''. | ||
Aktuálna revízia z 12:59, 26. júl 2026
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äť
- 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.
|
Čo sme sa naučili?
- Ultrazvukový senzor HC-SR04 meria vzdialenosť pomocou odrazu zvuku – princíp podobný netopierom alebo parkovacím senzorom áut.
- Funkcia
pulseIn()meria čas trvania signálu na pine v mikrosekundách. - Dátový typ
floatpoužívame vtedy, keď potrebujeme pracovať s desatinnými číslami. - Nie každý materiál odráža ultrazvuk rovnako – mäkké povrchy ho môžu pohltiť.