Задать вопрос
@1squzeArduino

Что делать если экран не отображает текст?

#include <Wire.h>
#include <LiquidCrystal_I2C.h>


LiquidCrystal_I2C lcd(0x27, 16, 2);

// Pin definitions
const int relay1Pin = 3;  // D3
const int relay2Pin = 4;  // D4
const int buttonPin = 7;  // D7

// Variables
int buttonState = 0;
int lastButtonState = HIGH;
unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 50;
int relayState = 0;  

void setup() {
  // Initialize pins
  pinMode(relay1Pin, OUTPUT);
  pinMode(relay2Pin, OUTPUT);
  pinMode(buttonPin, INPUT_PULLUP);
  
  // Initialize relays to off
  digitalWrite(relay1Pin, HIGH);  
  digitalWrite(relay2Pin, HIGH);
  
  // Initialize LCD
  lcd.init();
  lcd.backlight();
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Relay Control");
  lcd.setCursor(0, 1);
  lcd.print("Both relays OFF");
}

void loop() {
 
  int reading = digitalRead(buttonPin);
  
  // Check for button state change (debounce)
  if (reading != lastButtonState) {
    lastDebounceTime = millis();
  }
  
  if ((millis() - lastDebounceTime) > debounceDelay) {
    
    if (reading != buttonState) {
      buttonState = reading;
      
      
      if (buttonState == LOW) {
        
        relayState = (relayState + 1) % 3;
        
        
        updateRelays();
        updateDisplay();
      }
    }
  }
  
  lastButtonState = reading;
}

void updateRelays() {
  
  digitalWrite(relay1Pin, HIGH);
  digitalWrite(relay2Pin, HIGH);
  
  
  switch (relayState) {
    case 1:
      digitalWrite(relay1Pin, LOW);  
      break;
    case 2:
      digitalWrite(relay2Pin, LOW);  
      break;
    
  }
}

void updateDisplay() {
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Relay Status:");
  
  lcd.setCursor(0, 1);
  switch (relayState) {
    case 0:
      lcd.print("Both relays OFF");
      break;
    case 1:
      lcd.print("Relay 1 ON    ");
      break;
    case 2:
      lcd.print("Relay 2 ON    ");
      break;
  }
}

Вот скрипт, при компиляции все хорошо, все загружает, при нажатии кнопки все работает
Проблема в том что не выводится ничего на экран
Библиотека установлена, экран подключен, может быть ошибка в скрипте?
На скобки не обращайте внимания, в ардуино все стоит на своих местах
  • Вопрос задан
  • 100 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы