Получение ошибок я не понимаю

Я следовал учебнику для своего класса (учебник был назначен) и делал все, что парень делал с письмом, но я получал ошибки, которых он не делал, и это были ошибки, которые я не получал, программируя подобные вещи точно такими же командами, как то, что я получаю сейчас.

Код

#include "DHT.h" 
#define Type DHT11
#include <LiquidCrystal.h>
int rs=7;
int en=8;
int d4=9;
int d5=10;
int d6=11;
int d7=12
LiquidCrystal lcd(rs,en,d4,d5,d6,d7);
int sensePin=2;
DHT HT(sensePin,Type);
float humidity;
float tempC;
float tempF;
int setTime=500;
int dt=1000;

void setup() {
   // put your setup code here, to run once:
   Serial.begin(9600);
   HT.begin();
   delay(setTime);
   lcd.begin(16,2);
}

void loop() {
   humidity=HT.readHumidity();
   tempC=HT.readTemperature();
   tempF=HT.readTemperature(true);

   lcd.setCursor(0,0);
   lcd.print("Temp F= ");
   lcd.print(tempF);
   lcd.setCursor(0,1);
   lcd.print("Humidity= ");
   lcd.print(humidity);
   lcd.print(" %");
   delay(500);
   lcd.clear();

   Serial.print("Humidity: ");
   Serial.print(humidity);
   Serial.print("% Temperature ");
   Serial.print(tempC);
   Serial.print(" C ");
   Serial.print(tempF);
   Serial.print(" F ");
}

Сообщение об ошибке

Arduino: 1.8.13 (Windows 10), Board: "Arduino Uno"

DHT_LCD_lab:10:2: error: expected ',' or ';' before 'LiquidCrystal'
  LiquidCrystal lcd(rs,en,d4,d5,d6,d7);
  ^~~~~~~~~~~~~
C:\Users\zacha\Desktop\DHT_LCD_lab\DHT_LCD_lab.ino: In function 'void setup()':
DHT_LCD_lab:24:1: error: 'lcd' was not declared in this scope
 lcd.begin(16,2);
 ^~~
C:\Users\zacha\Desktop\DHT_LCD_lab\DHT_LCD_lab.ino: In function 'void loop()':
DHT_LCD_lab:34:1: error: 'lcd' was not declared in this scope
 lcd.setCursor(0,0);
 ^~~
exit status 1
expected ',' or ';' before 'LiquidCrystal'

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

, 👍2

Обсуждение

Re “Я сделал все [...] для письма”: Буквы важны, но пунктуацией пренебрегать не следует. Вы прочитали сообщение об ошибке? Там написано: “ожидается "," или"; " перед "LiquidCrystal""., @Edgar Bonet

Похоже, в вашем коде действительно есть только одна ошибка, и первое сообщение об ошибке четко говорит о том, что это такое. Проблема в том, что строка, которую компилятор замечает и сообщает об ошибке (строка 10 в соответствии с сообщением), на самом деле не там, где произошла реальная ошибка. Все остальные сообщения об ошибках являются результатом этого. *Подсказка: посмотрите на свои объявления переменных и найдите лишнее.*, @StarCat

Отсутствует точка с запятой после объявления "d7"., @chrisl


1 ответ


-1
#include "DHT.h" 
#define Type DHT11
#include <LiquidCrystal.h>
int rs=7;
int en=8;
int d4=9;
int d5=10;
int d6=11;
int d7=12;
LiquidCrystal lcd(rs,en,d4,d5,d6,d7);
int sensePin=2;
DHT HT(sensePin,Type);
float humidity;
float tempC;
float tempF;
int setTime=500;
int dt=1000;

void setup() {
  // put your setup code here, to run once:
   Serial.begin(9600);
   HT.begin();
   delay(setTime);
   lcd.begin(16,2);
 }

void loop() {
   humidity=HT.readHumidity();
   tempC=HT.readTemperature();
   tempF=HT.readTemperature(true);

   lcd.setCursor(0,0);
   lcd.print("Temp F= ");
   lcd.print(tempF);
   lcd.setCursor(0,1);
   lcd.print("Humidity= ");
   lcd.print(humidity);
   lcd.print(" %");
   delay(500);
   lcd.clear();

   Serial.print("Humidity: ");
   Serial.print(humidity);
   Serial.print("% Temperature ");
   Serial.print(tempC);
   Serial.print(" C ");
   Serial.print(tempF);
   Serial.print(" F ");
  }
,

Хотя это может быть правильный код, он, безусловно, поможет оператору, если вы сможете описать, что не так с исходным кодом и что вам нужно было сделать, чтобы это исправить., @Majenko