Ultrazvuk - streda 2526

From Krúžok Robotiky CENADA
Revision as of 14:22, 26 November 2025 by Palo (talk | contribs) (Created page with "<syntaxhighlight lang="C++"> #define TRIG 3 #define ECHO 4 void setup() { Serial.begin(9600); pinMode(TRIG, OUTPUT); pinMode(ECHO, INPUT); } int meraj() { // 1. vysli 10 usec pulz na pin TRIG digitalWrite(TRIG, 1); delayMicroseconds(10); digitalWrite(TRIG, 0); // 2. cakaj kym sa na ECHO neobjavi hodnota 1 (kym je tam 0, cakaj) while (digitalRead(ECHO) == 0) {} // 3. zisti aky je prave cas (funkcia micros()) a zapamataj si ho unsigned long cas1...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
#define TRIG 3
#define ECHO 4

void setup() {
  Serial.begin(9600);
  pinMode(TRIG, OUTPUT);
  pinMode(ECHO, INPUT);
}

int meraj()
{
  // 1. vysli 10 usec pulz na pin TRIG
  digitalWrite(TRIG, 1);
  delayMicroseconds(10);
  digitalWrite(TRIG, 0); 
  // 2. cakaj kym sa na ECHO neobjavi hodnota 1 (kym je tam 0, cakaj)
  while (digitalRead(ECHO) == 0) {}  
  // 3. zisti aky je prave cas (funkcia micros()) a zapamataj si ho 
  unsigned long cas1 = micros();
  // 4. cakaj kym sa na ECHO neobjavi hodnota 0 (kym je tam 1, cakaj)
   while (digitalRead(ECHO) == 1) {}  
  // 5. zisti aky je prave cas, premenna cas2
  unsigned long cas2 = micros();
  // 6. vypocitaj vzdialenost v cm  (cas2 - cas1) / 58 a vrat tu hodnotu
  return (cas2 - cas1) / 58;
}

void loop() {
  Serial.println(meraj());
  delay(500);
}