• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Решено Wemos d1r2 и lcd1602 без i2c

afefelov

New member
Коллеги, добрый день!

Занимаюсь автоматизацией теплицы и потихоньку осваиваю вемос. Столкнулся с непонятной штукой: экран не работает при подключении к d1r2. Подключение стандартное 4х битовое - проверил с mega2560 - прекрасно работает. Вместо меги подключаю вемос - и ничего.
У меня вемос синий c чипом от AI-Thinker, его распиновка отличается от ванильного.

У меня подозрения на то, что модуль переходит в какой-то специальный режим, но подтвердить или опровергнуть я не могу. Подскажите, плз, куда копать? Прошить nodemcu и там попробовать?

Код:
#include <LiquidCrystal.h>
#define D0 3
#define D1 1
#define D2 16
#define D3 5
#define D4 4
#define D5 0
#define D6 2
#define D7 14
#define D8 12
#define D9 13
#define D10 14
#define D11 13
#define D12 12
#define D13 14
#define D14 4
#define D15 5

LiquidCrystal lcd(D7,D6,D5,D4,D3,D2); // (RS, E, DB4, DB5, DB6, DB7)
void setup(){
 
  lcd.begin(16, 2);                  // Задаем размерность экрана

  lcd.setCursor(0, 0);              // Устанавливаем курсор в начало 1 строки
  lcd.print("Hello, world!");       // Выводим текст

}

void loop(){

}
 

Юрий Ботов

Moderator
Команда форума
Не надо ноги подряд выбирать.
Работа с GPIO (VGPIO) на ESP8266
"ESP8266 имеет 15 полноценных GPIO выходов. 6 из которых заняты микросхемой flash памяти. При этом GPIO 0,1,2,3,15 имеют системные функции и имеют ограничения при использовании - не рекомендуется их использовать для сухого контакта, кнопок, прерываний (хотя в некоторых случаях работать будет). Для штатной работы модуля ESP8266 GPIO 0 (D5) и 2 (D6) не должны быть подтянуты к минусу при старте модуля. GPIO 15 для старта должен подтянут к минусу через резистор 10кОм. GPIO 1 соотвествует вывод TXD. GPIO 3 - RXD.

Так же ESP8266 имеет отдельный GPIO16 , который управляется через RTC регистры, этот GPIO имеет ограничения при использовании и в прошивке используется только для режима OUTPUT (выход). Подключение датчиков к этому выводу невозможно. GPIO16 (D2)используется для пробуждения модуля при использовании спящего режима, если подключить его к выводу RESET."
 

afefelov

New member
Юрий, спасибо большое за ответ, и ссылку. Проверю вечером дома - отпишусь.
 

tretyakov_sa

Moderator
Команда форума
Код:
// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 13, 4, 0, 2, 14);

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("LCD Key Shield");
  lcd.setCursor(0,1);
  lcd.print("Press Key:");
}
void loop() {
  int x;
  x = analogRead (A0);
  lcd.setCursor(10,1);
   lcd.print ("    ");
   lcd.setCursor(10,1);
   lcd.print (x);
   delay(500);
  
}
Вот код который я использовал с LCD_Keypad_Shield
 

afefelov

New member
Нде, кучу времени потратил, у меня не стандартный Wemos, как я уже писал, у него специфическая распиновка. Которая, на обратной стороне платы, черт возьми!
Вобщем, заработало, спасибо тем, кто помог!
 
Сверху Снизу