LSD 1602 не правильно отображаются символы

patt
Offline
Зарегистрирован: 08.05.2019

Подключил экран, залил стандартный пример HelloWorld, вместо букв отображаются какие то каракули, при чем каждый раз разные, запятая и восклицательный знак отображаются правильно. Это может быть из за криво припаяных контактов? (текст стандартный Hello, World!)
Еще на экране ни чего не появляется пока не замкну контакт Е на GND.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

patt пишет:
Подключил экран, залил стандартный пример HelloWorld, вместо букв отображаются какие то каракули, при чем каждый раз разные

Под LSD еще и не такое возможно....  Это нормальное состояние/поведение, так и должно быть.  Забей. 

svm
Offline
Зарегистрирован: 06.11.2016

DetSimen пишет:

Под LSD еще и не такое возможно....  Это нормальное состояние/поведение, так и должно быть.  Забей. 

Еще цвета символов должны плавно меняться, если нет то туфту подсунули.

nik182
Offline
Зарегистрирован: 04.05.2015

Ну если Е на земле и чтот выдает, то точно неправильное подключение. Схему бы увидеть и скеч. 

Муж_Долговой
Муж_Долговой аватар
Offline
Зарегистрирован: 07.10.2018

Это уважаемый DetSimen намекает, что неплохо бы в скетч твой заглянуть ... может библиотека не той системы.

-NMi-
Offline
Зарегистрирован: 20.08.2018

Или на самом деле LSD вместо LCD    :))

patt
Offline
Зарегистрирован: 08.05.2019

Схема как в этой статье https://trampampamparam.livejournal.com/10394.html
Или этом видео
https://youtu.be/rBYnp-5TrzY

nik182, на Е не земля. Просто после загрузки скетча на экране ни чего не меняется, но если подвети 0 то либо появляется "Hello, World!" в неправильной кодировке либо происходит какая то магия... заметил когда замерял напряжение на ножках дисплея.

Муж_Долговой
Муж_Долговой аватар
Offline
Зарегистрирован: 07.10.2018

А как там напряжение мерить. Если скважность импульсов разная. Что можно увидеть на тестере.

patt
Offline
Зарегистрирован: 08.05.2019

Как минимум что на земле земля, а на 5v 5v. Ничего лучшего в голову не пришло ))

nik182
Offline
Зарегистрирован: 04.05.2015

Импульс на Е собственно переносит информацию с шины в буфер дисплея. Если это пороисходит при касании тестера то или нет программного импульса или плохой провод до Е. 

Муж_Долговой
Муж_Долговой аватар
Offline
Зарегистрирован: 07.10.2018

nik182 пишет:

Импульс на Е собственно переносит информацию с шины в буфер дисплея. Если это пороисходит при касании тестера то или нет программного импульса или плохой провод до Е. 

Точно!!! 

Обычный тестер на 20-ти вольтах имеет внутреннее сопротивление 10...20 кОм. Так это и есть стандартная подтяхка к зЗемле или питанию. Тогда уж точно - лучше не мерять. 

patt
Offline
Зарегистрирован: 08.05.2019

Почему лучше не мерять? 

вот схема и как отображается "Hello, World!":

nik182
Offline
Зарегистрирован: 04.05.2015

Возми другую библиотеку. В этой явный глюк. На гитнабе их много. 

patt
Offline
Зарегистрирован: 08.05.2019

Это стандартная. Из примеров IDE Adruino. По идее должна быть самой надежной. 

Как проверять качество пайки? я проверял сопротивлением 200om к припаяной ножке и медному контакту на плате. Он значения 0 добиться не удалось. Есть какие то допустимые значения? Или какие то еще способы проверить?

Муж_Долговой
Муж_Долговой аватар
Offline
Зарегистрирован: 07.10.2018

patt пишет:

Это стандартная. Из примеров IDE Adruino. По идее должна быть самой надежной. 

Как проверять качество пайки? я проверял сопротивлением 200om к припаяной ножке и медному контакту на плате. Он значения 0 добиться не удалось. Есть какие то допустимые значения? Или какие то еще способы проверить?

Что значит стандартна? И примеры к IDE? 

Дело в том, что при установке библиотеки ... её примеры автоматически в примерах и появляются. Какую установишь - такой и пример.

Про 200 Ом в поисках "0" - не буду комментить. Молодец!

svm
Offline
Зарегистрирован: 06.11.2016

Муж_Долговой пишет:

Про 200 Ом в поисках "0" - не буду комментить. Молодец!

Это все равно, что принять на грудь 200 грамм, вместо "0". Гаишники тоже неадекватно себя ведут. Меняйте провода или по новой обожмите или пропаяйте. Иначе счастья Вам не будет.

Муж_Долговой
Муж_Долговой аватар
Offline
Зарегистрирован: 07.10.2018

svm пишет:

Муж_Долговой пишет:

Про 200 Ом в поисках "0" - не буду комментить. Молодец!

Это все равно, что принять на грудь 200 грамм, вместо "0". Гаишники тоже неадекватно себя ведут. Меняйте провода или по новой обожмите или пропаяйте. Иначе счастья Вам не будет.

...  и какого цвета учебник физики за четвёртый класс?

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

patt пишет:

Почему лучше не мерять? 

вот схема и как отображается "Hello, World!":

Самое интересное, что отображается неплохо - на месте L некий значек, но он на всех L! Закрадывается мысль об особенностях кодировки энтого конкретного экрана. Или неправильной передаче кода символа. Прогоните все символы на позиции 1:1 с паузой полсекунды.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

УзнаЮ, это же японский экран с иероглифами!

Прийдётся вам осваивать язык....

А может быть это автоматический дисплей-переводчик с английского на японский?

bizzon
Offline
Зарегистрирован: 29.03.2016

Шо за дети пошли! Ноль от двухсот отличить не могут! Встань голыми ногами на пол и сунь голыми руками гвоздь в розетку. Сразу придёт понимание, в чём отличие. 

Сопротивление в 200 ом может на работу и не повлияет, никто ж не знает- где и как оно измерено. 

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

bizzon пишет:

Сопротивление в 200 ом может на работу и не повлияет, никто ж не знает- где и как оно измерено. 

Сопротивление в 200 ом может на работу и не повлияет, но может добавить (что скорее) или убавить битик. Тут я согласен. И получится классический японский :)

svm
Offline
Зарегистрирован: 06.11.2016

mykaida пишет:

Сопротивление в 200 ом может на работу и не повлияет, но может добавить (что скорее) или убавить битик. Тут я согласен. И получится классический японский :)

Не факт что там 200 ом. Если нет чистого "0", то явно плохо обжаты наконечники. И прозванивается через окислы или какую-то китайскую грязь. При покачивании, скорее всего сопротивление будет меняться от этих 200 ом до бесконечности. Отсюда и искажения сигнала.

bizzon
Offline
Зарегистрирован: 29.03.2016

Так и я о чём: что мерял, где и чем. Если масса - на 200 омах такое может набежать, что жуть. Если сигнальные концы, то может и ничего. А ещё мультиметры с разряженной батарейкой такие чудеса умеют показывать...

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

bizzon пишет:

Так и я о чём: что мерял, где и чем. Если масса - на 200 омах такое может набежать, что жуть. Если сигнальные концы, то может и ничего. А ещё мультиметры с разряженной батарейкой такие чудеса умеют показывать...

Данунах - скорее всего, что 1602 прошита под японско-китайский. Прошейте под русский и радуйтесь!

sadman41
Offline
Зарегистрирован: 19.10.2016

Каким образом прошить 1602 не находясь под LSD?

svm
Offline
Зарегистрирован: 06.11.2016

sadman41 пишет:

Каким образом прошить 1602 не находясь под LSD?

Прграмматор Калашникова даже рельсы прошивает.

gfx125
Offline
Зарегистрирован: 27.05.2017

Вангую что ТС под

Цитата:
сопротивлением 200om

имел ввиду положение переключателя на мультике

VladimirTsibrov
Offline
Зарегистрирован: 05.03.2019

На дисплее же видно, что буквы l и o из Hello, World! хоть и выводятся иероглифами, но они же одинаковые. Не говоря уже о запятой и восклицательном знаке. Значит проблема в шрифте дисплея.
ТС, попробуйте вывести поочередно все символы на дисплей - увидите, есть ли в нем вообще английский.

bizzon
Offline
Зарегистрирован: 29.03.2016

Ну как картинка появилась -так однозначно шрифт не тот.

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

Как же, *****, доставляет искромётный йумор™ про букву S вместо С. Просто по учебнику - сетап и панчлайн, всё на месте. Дмитрий Ларин будет доволен. И главное плюсики ставят. Мне что-ли попетросянничать? Карму наработаю...

patt, E к земле - неправильно. Подключение к проводам ардуины - RS (register select), E (enable), D4-D7, провод R/W (read/write) на землю (то есть выбирается режим только записи). В таком порядке, то есть если в скобках написано LiquidCrystal(5,4,3,2,1,0) то это значит что RS 5, E 4, D4 3, D5 2, D6 1, D7 0. Не заработает пока не подключите нормально. Внимательно читайте статью http://robocraft.ru/blog/arduino/503.html там всё предельно подробно.

Качество пайки проверять тестером в режиме омметра (2 кОм достаточно), не паять без флюса (канифоли и т. п.), не лениться смывать его (спирт, ацетон и т. п.). Не паять холодным жалом.

svm
Offline
Зарегистрирован: 06.11.2016

patt пишет:
Подключил экран, залил стандартный пример HelloWorld, вместо букв отображаются какие то каракули, при чем каждый раз разные, запятая и восклицательный знак отображаются правильно. Это может быть из за криво припаяных контактов? (текст стандартный Hello, World!) Еще на экране ни чего не появляется пока не замкну контакт Е на GND.

1 Если каракули-не совпадает таблица символов или неправильно передаются данные по ШД (обрыв/КЗ одного из разрядов)

2 Если каракули разные, плохой контакт/непропай

3 Чудес не бывает, бывает обрыв или короткое замыкание

Вам предлагали вывести все символы по порядку, возможно все вопросы-бы отпали.

Вот один из вариантов:

/*
  LiquidCrystal Library - Hello World

 Demonstrates the use a 16x2 LCD display.  The LiquidCrystal
 library works with all LCD displays that are compatible with the
 Hitachi HD44780 driver. There are many of them out there, and you
 can usually tell them by the 16-pin interface.

 This sketch prints "Hello World!" to the LCD
 and shows the time.

  The circuit:
 * LCD RS pin to digital pin 12
 * LCD Enable pin to digital pin 11
 * LCD D4 pin to digital pin 5
 * LCD D5 pin to digital pin 4
 * LCD D6 pin to digital pin 3
 * LCD D7 pin to digital pin 2
 * LCD R/W pin to ground
 * LCD VSS pin to ground
 * LCD VCC pin to 5V
 * 10K resistor:
 * ends to +5V and ground
 * wiper to LCD VO pin (pin 3)

 Library originally added 18 Apr 2008
 by David A. Mellis
 library modified 5 Jul 2009
 by Limor Fried (http://www.ladyada.net)
 example added 9 Jul 2009
 by Tom Igoe
 modified 22 Nov 2010
 by Tom Igoe

 This example code is in the public domain.

 http://www.arduino.cc/en/Tutorial/LiquidCrystal
 */


#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
//LiquidCrystal lcd(2, 8, A4,A0, A1, A2, A3);
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  lcd.setCursor(0, 1);
}
void loop() {
int i,y;
while(1)
{
  //for (i=11; i < 16; i++) //i-начало блока символов (16 шт)ПОСЛЕ ЛАТИНИЦЫ
  for (i=2; i < 16; i++) //i-начало блока символов (16 шт) ВСЕ СИМВОЛЫ
  {   
      lcd.clear();
      lcd.setCursor(0,0);
      lcd.print(String(i*16)+" - "+String(i*16+15));
      lcd.setCursor(0,1);      
      for(y=0;y<16;y++)
       lcd.print(char(i*16+y));
      delay(15000); 
   }
}
}

 

patt
Offline
Зарегистрирован: 08.05.2019

Не понял )))  Наверно я не точно объяснил: Сопротивлением в 200ом (это минимальное на моем мультиметре) я проверял качество пайки, т.к. паял первый раз за много лет. То есть дисплей был отключен, а я проверял сопротивение от медной ножки (которую припаявал) к медному контакту возле отверстия в плате дисплея в которое впаявал эту ножку.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

patt пишет:

Сопротивлением в 200ом (это минимальное на моем мультиметре) 

Это называется предел измерения. Ну или хотя бы диапазон измерений. А сопротивление мультиметра (входное) - это совсем про другое.

patt
Offline
Зарегистрирован: 08.05.2019

Купил 2й такой же дисплей, запускаю через i2c. Добился одних и тех же багов на обоих: отображается только первая буква:
 

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

LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup()
{
  lcd.init();                      // initialize the lcd 
 
  // Print a message to the LCD.
  lcd.backlight();
  lcd.print("H");
  lcd.print("e");
  lcd.print("l");
  lcd.print("l");
  lcd.print("o");

}

Если

  lcd.print("H");
  lcd.print("e");
  lcd.print("l");
  lcd.print("l");
  lcd.print("o");

заменить на 

  lcd.print("Hello");

то отображается только первая буква "H"

(не знаю важно это или не очень, но i2c к дисплею пока не припаиваю, просто прикладываю к контактам)

bwn
Offline
Зарегистрирован: 25.08.2014

patt пишет:

Добился одних и тех же багов на обоих: отображается только первая буква:

Года два назад, эту тему раз пятнадцать жевали. Воспользуйтесь поиском.