0701 distansmetr: различия между версиями
Перейти к навигации
Перейти к поиску
Woronin (обсуждение | вклад) Нет описания правки |
Woronin (обсуждение | вклад) Нет описания правки |
||
Строка 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=0, distance_sm=0; | |||
int impulseTime=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);
}