LCD 1602 на PCF857AT и LiquidCrystal_I2C- master

Sergun_YA
Offline
Зарегистрирован: 02.07.2017

Уважаемые формчане. Приобрели китайский набор для ребенка 14 лет. Приобрели тут-https://ru.aliexpress.com/item/Starter-Kit-for-arduino-UNO-r3-with-MEGA-2560-Lcd1602-I2C-Hc-sr04-Sg90-HC-SR501/32727267815.html?spm=2114.13010608.0.0.1QA77h

Все пришло и работает даже удивили надписи на Ардуинках. " Мейд ин Итали".

Но "воткнулись" в LCD. Прозвонка дорожек показала полную исправность. Монитор порта бодро выдал регистр 0х3F. Но ни одна из бибилиотек не захотела работать с экранчиком. Пока не наткнулся-http://elchupanibrei.livejournal.com/27443.html

Наш случай вплоть до запятой. Правда надо быть внимательным если миропроцессор PCF857AT.

То и в скетчах  LiquidCrystal_I2C lcd(PCF8574A_ADDR_A21_A11_A01, 4, 5, 6, 16, 11, 12, 13, 14, POSITIVE);

 Дописываем букву А к PCF857. 

Бибилиотеку украли тута-https://github.com/enjoyneering/LiquidCrystal_I2C

Ребята прошу помочь со скетчами! Пример из бибилиотеки доходит до "Hello World" и все....

Куда он дел "рандом нумбер" я так и непонял.

Собственно скеч-

/***************************************************************************************************/
/*
  written by : enjoyneering79
 
  This chip uses I2C bus to communicate, 2 pins are required to interface
 
  Connect chip to pins:    SDA     SCL
  Uno, Mini, Pro:          A4      A5
  Mega2560, Due:           20      21
  Leonardo:                2       3
  ATtiny85:                0(5)    2/A1(7) (ATTinyCore  - https://github.com/SpenceKonde/ATTinyCore
                                            & TinyWireM - https://github.com/SpenceKonde/TinyWireM)
  ESP8266 ESP-xx:          ANY     ANY     (ESP8266Core - https://github.com/esp8266/Arduino)
  NodeMCU 1.0:             ANY     ANY     (D2 & D1 by default)
 
*/
/***************************************************************************************************/
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
 
#define COLUMS 20
#define ROWS   4
 
LiquidCrystal_I2C lcd(PCF8574A_ADDR_A21_A11_A01, 4, 5, 6, 16, 11, 12, 13, 14, POSITIVE);
 
void setup()
{
  Serial.begin(115200);
 
  while (lcd.begin(COLUMS, ROWS) != 1) //colums - 20, rows - 4
  {
    Serial.println("PCF8574 is not connected or lcd pins declaration is wrong. Only pins numbers: 4,5,6,16,11,12,13,14 are legal.");
    delay(5000);   
  }
  lcd.print("PCF8574 is OK...");
 
  lcd.setCursor(0, 1);                 //set 1-st colum & 2-nd row. NOTE: 1-st colum & row started at zero
  lcd.print("Hello world!");
  lcd.setCursor(0, 2);                 //set 1-st colum & 3-rd row. NOTE: 1-st colum & row started at zero
  lcd.print("Random number:");
}
 
 
void loop()
{
  lcd.setCursor(14, 2);                //set 15-th colum & 3-rd row. NOTE: 1-st colum & row started at zero
  lcd.print(random(10, 100));
 
  delay(1000);
}
 
Зарание спасибо.

 

 

 

 

 

 

 

 

 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

1. Код вставлен задницей? Правила читаем.

2. Какой дисплей в названии темы? 1602?

а в программме что написано?

Sergun_YA пишет:

#define COLUMS 20
#define ROWS   4
...........
  lcd.setCursor(14, 2);                //set 15-th colum & 3-rd row. NOTE: 1-st colum & row started at zero
...........

3-rd row - написано. Где, тра-та-та-та, третья строка в двухстрочном дисплее. 

По аглицки не читаем? Тогда - в дворники! Им язык не нужен.

Sergun_YA
Offline
Зарегистрирован: 02.07.2017

Извиняюсь за собственную невнимательность! Спсибо за подсказку!

enjoyneering
enjoyneering аватар
Offline
Зарегистрирован: 05.09.2016

рад что вы используете мою библиотеку. скоро выкачу небольшой апдейт - будет поддержка Blue Pill (STM32)