Dnes dorazila zásilka z Číny, která mimo jiné obsahovala i ultrazvukový měřič vzdálenosti. Pracovně tomu říkáme Wall-e’s eyes 🙂

Takže následovala rychlovka o kterou se podělím:

int pingPin = 3;
int inPin = 2;
long microseconds;

void setup() {
Serial.begin(9600); }

void loop() {
long duration, inches, cm;
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(10);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
pinMode(pingPin, OUTPUT);
pinMode(inPin, INPUT);
duration = pulseIn(inPin, HIGH);
inches = microsecondsToInches(duration);
cm = microsecondsToCentimeters(duration);
Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(100);
tone(11,cm*10);
}

long microsecondsToInches(long microseconds) {
return microseconds / 74 / 2;
}

long microsecondsToCentimeters(long microseconds) {
return microseconds / 29 / 2;
}

Připojil jsem repráček a do něj generuje tón Arduino podle vzdálenosti od modulu. Video nutno pouštět se zvukem!!