Как отправлять информацию о данных без работы Wi-Fi на LCD?

Всем привет, я начинаю изучать кодирование и второй язык-английский. У меня есть небольшой проект , я использую Arduino uno , esp8266 , dht11, жк-дисплей I2C и использую приложение blynk в своем проекте, у меня есть код и, вероятно, работает, когда включен Wi-Fi, но у меня есть вопрос, как я могу получить информационные данные с dht на ЖК-дисплей, не открывая Wi-Fi. Теперь я получаю информацию ( температуру и влажность ) на ЖК-дисплее только при включенном Wi-Fi. Как я могу сделать отображение температуры и влажности на ЖК-дисплее с Wi-Fi и без него.

#include <BlynkSimpleShieldEsp8266.h>
#include <DHT.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F, 20, 4);
char auth[] = "*******************************";
char ssid[] = "***********";
char pass[] = "*********";
#include <SoftwareSerial.h>
SoftwareSerial EspSerial(2, 3); // TX, RX
#define ESP8266_BAUD 9600
ESP8266 wifi(&EspSerial);
#define DHTPIN 8
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);

void setup()
{
  Serial.begin(9600);
  lcd.init();
  lcd.backlight();
  EspSerial.begin(ESP8266_BAUD);
  Blynk.begin(auth, wifi, ssid, pass);
  dht.begin();
}

void loop()
{
  LCD();
  int h = dht.readHumidity();
  int t = dht.readTemperature();
  Blynk.virtualWrite(V1, t);
  Blynk.virtualWrite(V2, h);
}
void LCD()
{
  int h = dht.readHumidity();
  int t = dht.readTemperature();
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print(" ******************");
  lcd.setCursor(3, 1);
  lcd.print("TEMP: ");
  lcd.print(t);
  lcd.setCursor(3, 2);
  lcd.print("HUM : ");
  lcd.print(h);
}

, 👍1

Обсуждение

вы просто считываете температуру и влажность, а затем выводите значения на ЖК-дисплей ... зачем вам нужен Wi-Fi?, @jsotola

потому что использовать в качестве интернета вещей Blynk, @AbuWeSaM

Поэтому возьмите код, который записывается на ЖК-дисплей, из функции, вызываемой вашим таймером, и просто вызовите его из цикла. Используйте стиль мигания без задержки с миллисом, чтобы это происходило с интервалом в одну секунду. Существуют тысячи руководств о том, как управлять синхронизацией на Arduino без blynk., @Delta_G

Спасибо, дорогая,,, Ты можешь помочь мне в этом больше, потому что я понятия не имею, @AbuWeSaM

Начните с простого примера, который просто выводит значения из DHT11 и продвигается дальше. Код, который вы включили, делает некоторые очень странные и ненужные вещи, и я не рекомендую вам использовать его повторно. Откуда взялся этот код?, @StarCat

Спасибо, я стараюсь упростить код, но все та же проблема с отображением на ЖК - дисплее без включения Wi-Fi, @AbuWeSaM

Я работаю с nano v3 (клон) и esp-01 в качестве Wi-Fi-щита для отправки данных с датчиков, таких как dht11, DS18B20 и датчик освещенности на основе ldr от гидропонной системы и управляет водяным насосом и 1 водонагревателем с 2 релейными модулями. Я использую приложение Blynk для чтения этих данных, потому что не хочу смотреть ЖК-дисплей за пределами дома. Так что мой скетч делает что-то похожее на ваш, а другие, очевидно, нет. Но у меня та же проблема. Я хотел бы запустить свой скетч без необходимости подключения к blynk, например, на случай, если я по какой-то причине потерял связь. Я заметил, что в вашем скетче есть некоторые вещи, которые, @Cristian


1 ответ


1

Функция Blynk.connected() возвращает значение true, когда оборудование подключено к серверу Blynk, поэтому вы можете защитить код Blynk с помощью

if( Blynk.connected() ){
  // мигать здесь
}

// Обновите ЖК - дисплей в любом месте за пределами приведенного выше утверждения "если".

,