From Krúžok Robotiky CENADA
(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);
}