Arduino nano Nokia 5110 X 2шт

DIGIUS
Offline
Зарегистрирован: 17.09.2015

Доброго времени суток.
Начал я делать проект с двумя дисплеями, под них я выделил почти все цифровые пины Arduino Nano кроме 12.
По моим подсчетам их хватит на 2 дисплея от Nokia 5110.

Большая часть манов по этим дислеям это берём провода и втыкаем в такие то пины (часто это пины с 7-3).
Но вот ведь в чем дело, в таком случае я не подключу 2 дисплея, так как один уже висит на шине SPI.

​Из всех библиотек для данного дисплея мне понравилась LCD5110_Basic.h, из за простого синтаксиса, но эта зараза при указании моих пинов, а именно:

LCD5110 LCD(4, 6, 5, 3, 2); (вместо избитых LCD5110 LCD(7, 6, 5, 4, 3);) работать не хочет ибо видимо она использует SPI.
​Ок подумал я, полез искать другие варианты и наткнулся на пример:
 

#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
Adafruit_PCD8544 display = Adafruit_PCD8544(4, 6, 5, 2, 3);
void setup()   {
  Serial.begin(9600);
  display.begin();
  display.setContrast(50);
  display.display(); 
  display.clearDisplay();  
  display.setTextSize(1);
  display.setTextColor(BLACK);
  display.setCursor(0,0);
  display.println("Hello, world!");  
  display.setTextColor(WHITE, BLACK);
  display.println("E: 60 W: 60 H: 20%");
  display.setTextSize(4);
  display.setTextColor(BLACK);
  display.println("120");
  display.display();
  delay(2000);
}
void loop() {}

Этот пример завёся на моих пинах, но взаимодействие с этой библиотекой меня не очень радует, есть ли вариации переписанной библиотеки LCD5110_Basic.h под программный SPI или альтернативы библиотеки с подобным взаимодействием?

b707
Offline
Зарегистрирован: 26.05.2017

DIGIUS пишет:

Большая часть манов по этим дислеям это берём провода и втыкаем в такие то пины (часто это пины с 7-3).
Но вот ведь в чем дело, в таком случае я не подключу 2 дисплея, так как один уже висит на шине SPI.

Шина SPI на Нано - это пины 11-13. Ни один из указанных вами пинов к SPI не имеет никакого отношения. так что ищите причину неработоспособности своих экранов в чем-то другом, а не в том "что один уже занял шину SPI"

DIGIUS
Offline
Зарегистрирован: 17.09.2015

Прошу прощения ошибся, экраны работают и причина не в них. С другой библиотекой все безпроблемно.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

И еще: SPI - это шина. А шина, как правило, предназначена для подключения нескольких устройств. Так и с SPI: для подключения N устройств нужно (3 + N) пина. Т.е. для одного устройства - 4, для двух - 5, для трех - 6 и т.д.

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

DIGIUS пишет:

Прошу прощения ошибся, экраны работают и причина не в них. С другой библиотекой все безпроблемно.

Библиотека рабочая, правда немного ограниченная, но зато очень экономная в отношении ресурсов.  Брал с их официального сайта. Недавно возникла необходимость сделать автономный контроллер ЧПУ фрезера.  Авторский вариант  не подошел тем, что использовал дисплей которого у меня нет, а ждать 2-3 месяца посылки это не вариант. Решил переписать под дисплей от 5110. Полностью завелся только с Basic.h. С остальными ругался на нехватку памяти и не работал режим чтения с CD карты.  Дисплей можно подключать на любые выводы ардуино. Если нужно два, то скорее всего их подключить параллельно (кроме выводов CS). Посмотреть можно здесь: http://www.cnc-club.ru/forum/viewtopic.php?f=41&t=10940&start=280#p551768  подключение дисплея, исключительно для упрощения и удобства монтажа.

DIGIUS
Offline
Зарегистрирован: 17.09.2015

скорее всего я 3 раза подключал все параллельно кроме выхода cs (CE) пин.
И не разу это не сработало.