0701 distansmetr

Материал из УМКИwiki
Перейти к навигации Перейти к поиску
 //////////////////////////////////////////////
 //     2023.01.11 woronin,  umkiedu@gmail.com
 //     Датчик расстояния ульразвуковой - без библиотек pulseIn()
 //     Robot UMKI controller  K6_3
 //     Замер расстояния от датчика до препятствия, вывод в Сериал порт
 //////////////////////////////////////////////
int Trig A3
int Echo A4
int ledPin 13

void setup() 
{  
  pinMode(Trig, OUTPUT); //инициируем как выход 
  pinMode(Echo, INPUT); //инициируем как вход 
  pinMode(ledPin, OUTPUT); 
  Serial.begin(9600); // инициируем и задаем скорость общения c Монитором порта
} 

int impulseTime=0; 
int distance_sm=0; 

void loop() 
{  
  digitalWrite(Trig, HIGH); 
  delayMicroseconds(10); //Подаем импульс на вход trig дальномера равный 10 микросекундам 
  digitalWrite(Trig, LOW); // Отключаем 
  impulseTime=pulseIn(Echo, HIGH); // Замеряем длину импульса 
  distance_sm=impulseTime/58; // Пересчитываем в сантиметры 
  Serial.println(distance_sm); // Выводим сообщение в монитор порта
  if (distance_sm<30) // Если расстояние менее 30 сантиметром 
  {     
    digitalWrite(ledPin, HIGH); // Светодиод горит 
  }  
  else 
  {   
    digitalWrite(ledPin, LOW); // иначе не горит 
  }   
  delay(100); 
 }