Проблемы с дисплеем 1602A ЖК-дисплей в то время как COM7 показывает результаты

Я пытаюсь использовать Arduino для датчика температуры, датчик будет использовать команду if-else, чтобы дать показания температуры. Я не написал весь код, но нашел код и внес необходимые изменения, чтобы получить желаемые результаты. Я использую дисплей 1602A с Arduino Mega 2560. Я использую следующие веб-сайты для получения желаемых результатов с помощью чернил, которыми я поделился ниже:

  1. https://www.instructables.com/Calibration-of-DS18B20-Sensor-With-Arduino-UNO/

  2. https://gist.github.com/AlexanderSavochkin/6045dad44130bbff80db.

Мне удалось получить желаемые результаты, и датчик работает, который отображается на последовательном мониторе Arduino, но я не могу получить дисплей на жидкокристаллическом экране 1602A. Я загрузил код ниже. Кто-нибудь может дать мне какие-нибудь предложения?

- Спасибо.

#include <Wire.h>

#include <LiquidCrystal_I2C.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 7
#define RELAY1  4  // Реле нагрева
#define RELAY2  6  // Реле охлаждения

int red = 8; // red LED heating
int blue = 2; // blue LED cooling

OneWire oneWire(ONE_WIRE_BUS);


DallasTemperature sensors(&oneWire);

LiquidCrystal_I2C lcd(0x27, 2, 16); // установить адрес ЖК-дисплея на 0x27 для 16 символов и 2-строчного дисплея

void setup()
{
  Serial.begin(9600);//  инициализация последовательного монитора со скоростью передачи данных 9600
  sensors.begin(); //Инициализация датчика
  lcd.backlight(); //Включает подсветку
  

  lcd.begin(0, 0);
  //lcd.clear();// очистить выход
  pinMode(red, OUTPUT);//установка контакта как выход 8
  pinMode(blue, OUTPUT);// установка контакта как выход 2
  pinMode(RELAY1, OUTPUT);// установка контакта как выход 4
  pinMode(RELAY2, OUTPUT);// установка контакта как выход 6


}


void loop()
{
  sensors.requestTemperatures();

  //Читать первый датчик
  float temperature = sensors.getTempCByIndex(0);
  Serial.print(" Temperature Control");
  lcd.setCursor(0, 0);
  Serial.println(sensors.getTempCByIndex(0));
  lcd.write(temperature);
  Serial.print(temperature);
  Serial.print((char)10);

  if (temperature < 25)
  {
    digitalWrite(red, HIGH);
    digitalWrite(blue, LOW);
    digitalWrite(RELAY1, 0);
    digitalWrite(RELAY2, 1);
    lcd.setCursor(2, 2);
    Serial.print("Heating is required");
    lcd.print(temperature);
    //Подождать 0.1 sec
    delay(1000);

  }

  else if (temperature > 25)
  {
    digitalWrite(RELAY1, 1);
    digitalWrite(RELAY2, 0);
    digitalWrite(red, LOW);
    digitalWrite(blue, HIGH);
    lcd.setCursor(2, 2);
    Serial.print("Cooling is required ");
    lcd.print(temperature);
    delay(1000);
    //Wait 0.1 sec

  }
}

, 👍1

Обсуждение

Просто предложение: возьмите поваренную книгу Arduino и прочтите главу 11, там есть ваш ответ. Я не могу следовать вашему коду, он неправильно отформатирован, он не был загружен должным образом. Мое предложение состоит в том, чтобы нарисовать схему, а не какую-то вьющуюся штуку и подключить к ней провод. Затем используйте программу сканера I2C, чтобы найти ваш дисплей, если вы не можете его найти, он не подключен должным образом. Как только вы это сделаете, начните с простого "Привет, Кетан". К этому моменту вы закончите читать кулинарную книгу и будете уже на пути к ее самостоятельному созданию. Простое правило: если вы не разбираетесь в программном обеспечении, не используйте его., @Gil

Поддерживая предложение Гила запустить [сканер I2C](https://playground.arduino.cc/Main/I2cScanner/), предполагая, что у вас действительно есть дисплей I2C, как следует из вашего кода. Показать, как вы его подключили, может помочь. Увидеть, как выглядит дисплей в данный момент, также может помочь., @timemage

да! Я использую дисплей 20x4 I2C с Arduino Mega 2560, @Ketan

Они не все одинаковы. Они используют по крайней мере два разных расширителя GPIO, что делает их несовместимыми библиотеками, а те, которые используют одни и те же расширители GPIO, не все используют одно и то же сопоставление контактов. Таким образом, это может помочь точно знать, что у вас есть как для оборудования, так и для установленных библиотек., @timemage