Ультразвуковой датчик Arduino и ЖК-дисплей - Нужна помощь -
Недавно я купил Arduino Uno 3 и хотел сделать ультразвуковой датчик расстояния, который выводит показания на ЖК-дисплей 16x2. Я следовал этому руководству: http://www. .mertarduino.com/using-ultrasonic-distance-sensor-hc-sr04-with-lcd-display-and-arduino/2018/11/22/, но при загрузке кода выдается ошибка. Ошибка заключалась в следующем: здесь не допускается определение функции перед токеном '{'. Я не слишком много знаю об ардуино, поэтому мне нужна помощь. Спасибо всем, кто откликнется!
Вот код:
// поместите сюда код установки для однократного запуска:
#include <LiquidCrystal.h> //Пожалуйста, замените символы одинарной кавычки ('') символом скобки (<>)
LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Создает ЖК-объект. Параметры:
(rs, enable, d4, d5, d6, d7)
const int trigPin = 9;
const int echoPin = 10;
long duration;
int distanceCm, distanceInch;
void setup() {
lcd.begin(16,2); // Инициализирует интерфейс для ЖК-экрана и
specifies the dimensions (width and height) of the display
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distanceCm= duration*0.034/2;
distanceInch = duration*0.0133/2;
lcd.setCursor(0,0); // Устанавливает место, в которое будет записываться последующий текст
the LCD will be displayed
lcd.print("Distance: "); // Печатает строку «Расстояние» на ЖК-дисплее
lcd.print(distanceCm); // Печатает значение расстояния от датчика
lcd.print(" cm");
delay(10);
lcd.setCursor(0,1);
lcd.print("Distance: ");
lcd.print(distanceInch);
lcd.print("inch");
delay(10);
}
@PiGuy01, 👍0
Обсуждение1 ответ
Корень вашей проблемы вот в чем:
LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Создает ЖК-объект. Параметры:
(rs, enable, d4, d5, d6, d7)
Я думаю, что при копировании и вставке вы получили строку, разделенную на две, что привело к ошибке. Следует читать:
LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Создает LCD-объект. Параметры: (rs, enable, d4, d5, d6, d7)
У вас похожая проблема:
lcd.begin(16,2); // Инициализирует интерфейс для LCD экрана и
specifies the dimensions (width and height) of the display
Опять же, оно разделено на две строки и должно читаться так:
lcd.begin(16,2); // Инициализирует интерфейс ЖК-экрана и указывает размеры (ширину и высоту) дисплея
И третье:
lcd.setCursor(0,0); // Устанавливает место, в которое будет записываться последующий текст
the LCD will be displayed
что должно быть:
lcd.setCursor(0,0); // Устанавливает место, в котором будет отображаться последующий текст, записанный на ЖК-дисплей
Когда эти три исправления исправлены, код компилируется правильно.
Почему минус? Что-то *не так* с этим ответом?, @Majenko
Спасибо за ответ! код теперь работает, и я не знаю, кто поставил отрицательный голос, поскольку на самом деле у меня нет учетной записи., @PiGuy01
Проголосовал за; ничего плохого в ответе (как обычно)., @Michel Keijzers
- Чувствительный к силе резистор Arduino с ЖК-дисплеем
- Датчики I2C не работают при подключении к LCD дисплею 20X04
- Проблема стабильности кода прерываний, связанного с датчиком расхода
- ЖК-дисплей отображает неверный символ при подсчете оборотов
- Я работал над проектом и получил ошибку компиляции для платы arduino uno. пожалуйста, помогите
- Печать string and integer LCD
- Какова работа pulseIn?
- Сколько датчиков может поддерживать один модуль Arduino?
ваши комментарии сломаны. Пожалуйста, пройдите курс кодирования, @Juraj