// Контакты ультразвукового датчика: впиши номера из таблицы проводки своего робота. const int TRIG_PIN = -1; const int ECHO_PIN = -1; // Расстояние в сантиметрах или -1, если эхо не вернулось. int readDistanceCm() { digitalWrite(TRIG_PIN, LOW); delayMicroseconds(2); digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); unsigned long echoUs = pulseIn(ECHO_PIN, HIGH, 25000); if (echoUs == 0) { return -1; } return echoUs / 58; } void setupSonar() { // Без контактов датчика программа дальше не пойдёт. if (TRIG_PIN < 0 || ECHO_PIN < 0) { while (true) { } } pinMode(TRIG_PIN, OUTPUT); pinMode(ECHO_PIN, INPUT); } void setup() { Serial.begin(9600); setupSonar(); } void loop() { int distance = readDistanceCm(); if (distance < 0) { Serial.println("нет эха"); } else { Serial.print(distance); Serial.println(" см"); } delay(200); }