Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите составить код пожалуйста

Маргарита Некрасова Ученик (116), на голосовании 32 минуты назад
Проект должен содержать 1 ультразвуковой датчик, 1 кнопку и 1 жк экран, при нажатии на кнопку должно выводить текущее расстояние до объекта
(Я пропустила тему пока болела, подскажите как подсоединить и написать код, буду очень благодарна)
Голосование за лучший ответ
Хенки Гренки Профи (642) 1 месяц назад
#include <Ultrasonic.h>
#include <LiquidCrystal.h>

Ultrasonic ultrasonic(12, 13); // Объявляем объект ультразвукового датчика
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // Объявляем объект жидкокристаллического дисплея
int buttonPin = 2; // Пин кнопки

void setup() {
pinMode(buttonPin, INPUT);
lcd.begin(16, 2); // Инициализируем дисплей
}

void loop() {
if (digitalRead(buttonPin) == HIGH) { // Если кнопка нажата
int distance = ultrasonic.Ranging(CM); // Считываем расстояние до объекта в см
lcd.clear(); // Очищаем дисплей
lcd.setCursor(0, 0); // Устанавливаем курсор на первую строку
lcd.print("Distance:"); // Выводим текст
lcd.setCursor(0, 1); // Устанавливаем курсор на вторую строку
lcd.print(distance); // Выводим расстояние
delay(500); // Ждем полсекунды
}
}
Маргарита НекрасоваУченик (116) 4 недели назад
Выдает ошибку на #include <Ultrasonic.h>
Хенки Гренки Профи (642) Маргарита Некрасова, хз тогда
ауцыв уафсыв Гуру (4717) 1 месяц назад
 #include <LiquidCrystal.h> 

// Инициализация библиотеки с номерами интерфейсных пинов
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

// Пины ультразвукового датчика
const int trigPin = 9;
const int echoPin = 10;

// Пин кнопки
const int buttonPin = 7;

// Переменные для расчета расстояния
long duration;
int distance;

// Состояние кнопки
int buttonState = 0;

void setup() {
// Настройка ЖК-дисплея с 16 столбцами и 2 строками
lcd.begin(16, 2);

// Настройка пинов ультразвукового датчика
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);

// Настройка пина кнопки с внутренним подтягивающим резистором
pinMode(buttonPin, INPUT_PULLUP);

// Приветственное сообщение
lcd.print("Press button");
}

void loop() {
// Чтение состояния кнопки
buttonState = digitalRead(buttonPin);

// Проверка, нажата ли кнопка
if (buttonState == LOW) { // Нажата (т.к. используем INPUT_PULLUP)
// Очистка дисплея
lcd.clear();

// Измерение расстояния
distance = measureDistance();

// Вывод расстояния на дисплей
lcd.setCursor(0, 0);
lcd.print("Distance:");
lcd.setCursor(0, 1);
lcd.print(distance);
lcd.print(" cm");

// Ожидание отпускания кнопки
while (digitalRead(buttonPin) == LOW);

// Небольшая задержка для устранения дребезга контактов
delay(200);
}
}

int measureDistance() {
// Генерация 10-мкc импульса на trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);

digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

// Считывание продолжительности импульса с echoPin
duration = pulseIn(echoPin, HIGH);

// Расчет расстояния в сантиметрах
distance = duration * 0.034 / 2; // Скорость звука 340 м/с

return distance;
}
Похожие вопросы