Проблемы с дисплеем 1602A ЖК-дисплей в то время как COM7 показывает результаты
Я пытаюсь использовать Arduino для датчика температуры, датчик будет использовать команду if-else, чтобы дать показания температуры. Я не написал весь код, но нашел код и внес необходимые изменения, чтобы получить желаемые результаты. Я использую дисплей 1602A с Arduino Mega 2560. Я использую следующие веб-сайты для получения желаемых результатов с помощью чернил, которыми я поделился ниже:
https://www.instructables.com/Calibration-of-DS18B20-Sensor-With-Arduino-UNO/
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
}
}
@Ketan, 👍1
Обсуждение0
- Кнопка двойного состояния Nextion
- mcufriend 2.4 tft мега 2560
- ЖК-дисплей 16x2, показывающий блоки под текстом
- Печать содержимого файла SD - карты на ЖК-дисплее
- Как подключить LCD i2c, используя только контакты A0 и A1 (приведены SDA, SCL, GND и VCC)
- Проверить переключатель уровня с помощью Arduino и некоторых данных
- Использование модуля JYETech 2.4 Inch LCD Display Screen Module с Arduino?
- lcd.clear не работает с Serial.begin(9600) на Arduino Mega 2560
Просто предложение: возьмите поваренную книгу Arduino и прочтите главу 11, там есть ваш ответ. Я не могу следовать вашему коду, он неправильно отформатирован, он не был загружен должным образом. Мое предложение состоит в том, чтобы нарисовать схему, а не какую-то вьющуюся штуку и подключить к ней провод. Затем используйте программу сканера I2C, чтобы найти ваш дисплей, если вы не можете его найти, он не подключен должным образом. Как только вы это сделаете, начните с простого "Привет, Кетан". К этому моменту вы закончите читать кулинарную книгу и будете уже на пути к ее самостоятельному созданию. Простое правило: если вы не разбираетесь в программном обеспечении, не используйте его., @Gil
Поддерживая предложение Гила запустить [сканер I2C](https://playground.arduino.cc/Main/I2cScanner/), предполагая, что у вас действительно есть дисплей I2C, как следует из вашего кода. Показать, как вы его подключили, может помочь. Увидеть, как выглядит дисплей в данный момент, также может помочь., @timemage
да! Я использую дисплей 20x4 I2C с Arduino Mega 2560, @Ketan
Они не все одинаковы. Они используют по крайней мере два разных расширителя GPIO, что делает их несовместимыми библиотеками, а те, которые используют одни и те же расширители GPIO, не все используют одно и то же сопоставление контактов. Таким образом, это может помочь точно знать, что у вас есть как для оборудования, так и для установленных библиотек., @timemage