Arduino pro mini 3.3v vs LCD1602

rampage
Offline
Зарегистрирован: 19.02.2014

Добрый день!

1) Приобрел Arduino pro mini 3.3v. 

2) Приобрел дисплей 16х2 (голубенький..)

3) дополнительную платку i2c для LCD дисплея

 

Вообщем сообрал это дело.

1) загрузил тестовый скетч BLINC - диодик моргает,  LCD светиться с полоской на одной из строк.

2) Загрузил тестовый скетч Liquidcristal_i2c_helloworld с адресом 0x20 (заведомо неверный) - на LCD никаких изменений.

З) Загрузил тестовый скетч Liquidcrista_i2c_helloworld c корректным адресом 0x27 -

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

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

void setup()
{
	// initialize the LCD
	lcd.begin();

	// Turn on the blacklight and print a message.
	lcd.backlight();
	lcd.print("Hello, world!");
}

void loop()
{
	// Do nothing here...
}

LCD потух, включилась подсветка на долю секунды, LCD опять потух.. и все.. 

при перезагрузке ардуины происходит тоже самое.

как вы думаете, в чем может быть проблема? в подключении? в 3.3v вместо 5v?  или попробовать в void loop перенести lcd.blacklight и принт?

StrangerM
Offline
Зарегистрирован: 02.11.2013

Проблема (скорее всего) в инициализации (адресе) смотреть в .срр. Где-то в тырнете было какие бывают.  У меня для 20Х4 сейчас вот так.

//put the LCD into 4 bit mode
	// this is according to the hitachi HD44780 datasheet
	// figure 24, pg 46
	
	  // we start in 8bit mode, try to set 4 bit mode
   write4bits(0x03 << 4);
   delayMicroseconds(4500); // wait min 4.1ms
   
   // second try
   write4bits(0x03 << 4);
   delayMicroseconds(4500); // wait min 4.1ms
   
   // third go!
   write4bits(0x03 << 4); 
   delayMicroseconds(150);
   
   // finally, set to 4-bit interface
   write4bits(0x02 << 4); 

 

rampage
Offline
Зарегистрирован: 19.02.2014

Эхх хотелось бы, чтобы проблема бы как-то попроще решалась :)

StrangerM
Offline
Зарегистрирован: 02.11.2013

А чего такого F4 нажать?Да попробовать. Почитайте. http://jt5.ru/examples/oled-i2c/  У меня при включении сначала гаснет потом зажигается. И не в 3.3 В дело. Я его и с Тива нормально запускал - там 3.3. 

MaksMS
Offline
Зарегистрирован: 11.03.2013

Тем уже по этим экранам тут тьма и уже 100 раз разжовано все .Там нужна правельная библиотека и правельная строка иницилизации,т.к. эти преобразователи i2c бывают с разной распиновкой..

rampage
Offline
Зарегистрирован: 19.02.2014

rampage
Offline
Зарегистрирован: 19.02.2014

а может у кого есть такой? :)

(я пока на работе спрашиваю, не судите строго, варианты проверить пока не могу)

 

 

____

Похоже на : http://arduino-info.wikispaces.com/LCD-Blue-I2C#v3   ("LCM1602 IIC A0 A1 A2")

думаю может завестись с ликвидкристалом написанным некоей малапартидой :)

StrangerM
Offline
Зарегистрирован: 02.11.2013

ну у меня такая плата И2С адаптера. Куплена отдельно. Я смотрю и вы паяли? Там PCF8574 вот ссылка продавца - у меня работает Заметьте, библиотеки 2 -16Х2 и 20Х4 

https://www.dropbox.com/s/9vx1m91kehiw7tg/IIC%20Data.rar

rampage
Offline
Зарегистрирован: 19.02.2014

Большое спасибо! вечером буду эксперементировать.

да, купил отдельно. Экран, в москве.. с рук :) плату заказывал на ебее.. вчера второй раз в жизни взял паяльник... ухх и эксперемент был...так что и брак пайки не исключяю :(

StrangerM
Offline
Зарегистрирован: 02.11.2013

Вы поняли мой намек.

rampage
Offline
Зарегистрирован: 19.02.2014

StrangerM
Offline
Зарегистрирован: 02.11.2013

:-)

rampage
Offline
Зарегистрирован: 19.02.2014

Надо отметить что он, почему то работает только от внешнего 5v, .. От 3.3 начинает сбоить.. Кракозябры, либо ничего не кажет..

ну да ладно, ничего страшного :))

dimitri08
Offline
Зарегистрирован: 21.04.2012

люди помогите пожалуйста.  у меня есть ардуино про мини пытался подцепить  lcd1601 дисплей через библиотеку   liquid crystal но не получается  на правой части дисплея загорались кубики но больше нечего не показывала.  на других ардуино (duemilianove) дисплей работал нормально питание от  USB порта ноутбука

 

в чем может быть проблема???????

Life23
Offline
Зарегистрирован: 10.08.2013

dimitri08 пишет:

люди помогите пожалуйста.  у меня есть ардуино про мини пытался подцепить  lcd1601 дисплей через библиотеку   liquid crystal но не получается  на правой части дисплея загорались кубики но больше нечего не показывала.  на других ардуино (duemilianove) дисплей работал нормально питание от  USB порта ноутбука

 

в чем может быть проблема???????

дайте больше информации!

dimitri08
Offline
Зарегистрирован: 21.04.2012

когда подключил к duemilinove через библиотеку liquid crystal работал нормально, только инициализовал как 1602 приходилось переставлять курсор во время отладки .

На про мини  питание через usb to ttl converter . схема подключения стандартная как в примерах ардуино. в правой части дисплея загорались кубики но больше нечего не показывала. провода которыми подключал dupont wires male to female.

arduino pin                LCD pin                 R/W Vss - на минус

12                              RS                         V0 - переменный резистор

11                              E

D5                             DB4

D4                             DB5

D3                             DB6

D2                             DB7                    

Life23
Offline
Зарегистрирован: 10.08.2013

dimitri08 пишет:

когда подключил к duemilinove через библиотеку liquid crystal работал нормально, только инициализовал как 1602 приходилось переставлять курсор во время отладки .

На про мини  питание через usb to ttl converter . схема подключения стандартная как в примерах ардуино. в правой части дисплея загорались кубики но больше нечего не показывала. провода которыми подключал dupont wires male to female.

arduino pin                LCD pin                 R/W Vss - на минус

12                              RS                         V0 - переменный резистор

11                              E

D5                             DB4

D4                             DB5

D3                             DB6

D2                             DB7                    

ну и код дайте с которым пытаетесь его запустить.

dimitri08
Offline
Зарегистрирован: 21.04.2012
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
 
void setup() {
  // set up the LCD's number of columns and rows: 
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("hello, world!");
}
 
void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(millis()/1000);
}
 
стандартным примером тестировал на прог мини
dimitri08
Offline
Зарегистрирован: 21.04.2012
теесть вот так 
 
 
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
 
void setup() {
  // set up the LCD's number of columns and rows: 
  lcd.begin(16, 2);
  // Print a message to the LCD.
lcd.setCursor(0,0);
  lcd.print("hello");
lcd.setCursor(0,1);
lcd.print("world");
 
}
 
void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(millis()/1000);
}
Life23
Offline
Зарегистрирован: 10.08.2013

попробуйте lcd.begin(16,1);

а loop  пустой.

void loop()

{}

dimitri08
Offline
Зарегистрирован: 21.04.2012

на duemilinove с библиотекой LiquidCrystal  она работает нормально как (1602 ) LiquidCrystal  (ориентировалсся по этой теме http://mk90.blogspot.com/2010/05/lcd.html ). не заработала на про мини . вроде у про мини и дуемилянове в распиновке отличий нет?