0701 distansmetr: различия между версиями

Материал из УМКИwiki
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
 
Строка 9: Строка 9:
int Echo A4
int Echo A4
int ledPin 13
int ledPin 13
void setup()  
void setup()  
{   
{   
Строка 17: Строка 16:
   Serial.begin(9600); // инициируем и задаем скорость общения c Монитором порта
   Serial.begin(9600); // инициируем и задаем скорость общения c Монитором порта
}  
}  
 
int impulseTime=0distance_sm=0;  
int impulseTime=0;
int distance_sm=0;  
 
void loop()  
void loop()  
{   
{   

Текущая версия от 13:58, 28 ноября 2023

 //////////////////////////////////////////////
 //     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,  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); 
 }