Помогите пожалуйста! Пытаюсь написать программу, чтобы ультразвуковой дальномер считывал расстояние и передавал его на ЖК дисплей.
Основа уже есть #include <LiquidCrystal.h> #define Trig 11 #define Echo 12 #define ledPin 13 LiquidCrystal lcd(10, 9, 8, 7, 6, 5); void setup() { pinMode(Trig, OUTPUT); //инициируем как выход pinMode(Echo, INPUT); //инициируем как вход pinMode(ledPin, OUTPUT); lcd.begin(16, 2); } unsigned int impulseTime=0; unsigned int distance_sm=0; void loop() { digitalWrite(Trig, HIGH); /* Подаем импульс на вход trig дальномера */ delayMicroseconds(10); // равный 10 микросекундам digitalWrite(Trig, LOW); // Отключаем impulseTime=pulseIn(Echo, HIGH); // Замеряем длину импульса distance_sm=impulseTime/58; // Пересчитываем в сантиметры if (distance_sm<10) // Если расстояние менее 30 сантиметром { digitalWrite(ledPin, HIGH); // Светодиод горит } else { digitalWrite(ledPin, LOW); // иначе не горит } delay(1000); /* ждем 0.1 секунды, Следующий импульс может быть излучён, только после исчезновения эха от предыдущего. Это время называется периодом цикла (cycle period). Рекомендованный период между импульсами должен быть не менее 50 мс. */ }
1000 мс это 1 сек, а не 0.1 сек. Чего в основе не работает? Вывод на экран? Попробуйте вывести на него что то еще, хоть из файла с примером, а потом выведите то что надо, По аналогии.