// ИС Дракон. Маршрутный транслятор.
// Y:\home\deniska\Документы\др длкр\arduino2.drt
// 13. Схема - Гном, Изменение 03.12.2017 6:34:54
unsigned int impulseTime=0;
unsigned int distance_sm=0;
// Y:\home\deniska\Документы\др длкр\arduino2.drt
// 9. Схема - процедура, Изменение 02.12.2017 22:31:29, Начало
pinMode(Trig, OUTPUT); //инициируем как выход
pinMode(Echo, INPUT); //инициируем как вход
// ==================== Шампур
// 12. Комментарий / настройка портов
// Y:\home\deniska\Документы\др длкр\arduino2.drt
// 1. Схема - процедура, Изменение 03.12.2017 7:00:18, Начало
// ==================== Шампур
// 2. Заголовок / void loop
// 4. Цикл Ветка / lupo()
// 30. Действие / замер дистанции
digitalWrite(Trig, HIGH);
/* Подаем импульс на вход trig дальномера */
delayMicroseconds(10); // равный 10 микросекундам
digitalWrite(Trig, LOW); // Отключаем
impulseTime=pulseIn(Echo, HIGH); // Замеряем длину импульса
distance_sm=impulseTime/58; // Пересчитываем в сантиметры
// 18. Вопрос / distance_sm<30 == Да
if (distance_sm<30) goto L22;
// 20. Вопрос / digitalRead(in1) < 3 == Да
if (digitalRead(in1) < 3) goto L29;
// 5. Цикл Адрес -> 4. Ветка / lupo()
// ==================== Шампур
// 29. Вывод / на управление моторами / digitalWrite(in1, HIGH); digitalWrite(in3, HIGH);
// ==================== Шампур
// 22. Вопрос / digitalRead(in1) < 3 == Нет
if (!(digitalRead(in1) < 3)) goto L27;
// ==================== Шампур
// 27. Вывод / на управление моторами / digitalWrite(in1, LOW); digitalWrite(in3, LOW);
// -31. Правый комментарий / digitalWrite() - отправляет на цифровой вывод значение HIGH или LOW. Если функцией pinMode() вывод сконфигурирован как выход (OUTPUT), то при выполнении функции digitalWrite() его напряжение будет изменено на соответствующее значение: 5 В (либо 3.3 В для плат, работающих от 3.3В) при отправке HIGH, 0 В (земля) - при LOW.
Словарик
digitalRead - Считывает уровень сигнала HIGH или LOW с указанного цифрового вывода.
digitalWrite - Отправляет на цифровой вывод значение HIGH или LOW.
pulseIn - Считывает длительность импульса (любого - HIGH или LOW) на выводе.
delayMicroseconds - Приостанавливает выполнение программы на указанный промежуток времени (в микросекундах). Для создания задержек длительностью больше, чем несколько тысяч микросекунд, используйте функцию delay().
goto - оператор безусловного перехода
int - Тип данных знаковое целое число занимает в памяти 2 байта.
unsigned int - Тип данных unsigned int - беззнаковое целое число, также как и тип int (знаковое) занимает в памяти 2 байта. Но в отличие от int, тип unsigned int может хранить только положительные целые числа в диапазоне от 0 до 65535 (2^16)-1).