Почему мой arduino теперь работает с моими ЖК-дисплеями 16x2?

Поэтому я попробовал использовать 3 разных жидкокристаллических экрана и каждый из них дал мне что то свое (https://imgur.com/a/EVzFoVv) а вот и мой код

#include "LiquidCrystal.h"

// initialize the library by providing the nuber of pins to it
// LiquidCrystal lcd(8,9,4,5,6,7);
LiquidCrystal lcd(52, 50, 48, 46, 44, 42);

bool isSetup = false;

int want = 600;
int live = 615;

void setup() {
  lcd.setCursor(0,1);
  lcd.print("   Booting Up");

}
void loop()
{
  if(isSetup == false)
    Set();
}

void setupIs(){
  Clear();
  isSetup = true;
  lcd.setCursor(0,0);
  lcd.print("Want: ");
  lcd.setCursor(0,1);
  lcd.print("Live: ");
}
void Set(){
  lcd.begin(16,2);

// set cursor position to start of first line on the LCD
lcd.setCursor(0,0);
//text to print
lcd.print("WANT: 1500");
// set cusor position to start of next line
lcd.setCursor(0,1);
lcd.print("LIVE: 1800");
}

void Clear(){
  lcd.setCursor(0, 0);
  lcd.print("                ");
  lcd.setCursor(0, 1);
  lcd.print("                ");
}```

, 👍1

Обсуждение

Значит, теперь с вашим текущим кодом это работает? Как мы должны находить проблемы из прошлого? Или это фальшивый код?, @chrisl

@chrisl То, что не работает, - это сам жидкокристаллический экран, потому что для одного из них, когда я нажимаю кнопку сброса, он на секунду превращается из испорченного в действительно работающий, а затем снова испорченный. Я пытаюсь это исправить. Я тоже пробовал разные контакты, @Alex S.

вставьте в свой код` while (1) {}'... это в основном остановит выполнение кода в этот момент ... переместите его ... попробуйте найти место, где на дисплее отображается разборчивый текст, @jsotola

может быть вы хотите исправить название, @Juraj

Ваш код вызывает lcd.begin снова и снова и снова в Set() from loop(). Конечно, это не хорошо. Вы хотите вызвать begin ОДИН РАЗ в функции setup, ПРЕЖДЕ чем выполнять какие-либо другие команды на жидкокристаллическом дисплее. Вы должны напечатать его в настройках еще до того, как позвоните в "Начало"., @Delta_G


1 ответ


0

Ну, во-первых, при просмотре вашего кода вы, по сути, делаете с помощью функции Clear() то, что вы снова записываете что-то в память своего ЖК-экрана.Если вы действительно хотите очистить дисплей, вы можете использовать lcd.clear().Попробуй это изменить. И убедитесь, что ваша проводка правильная.

,

Вы использовали одни и те же ЖК-библиотеки? Они не все одинаковы., @Gil