Дисплей SS1309 по SPI

Shyshka Roman
Offline
Зарегистрирован: 25.05.2020

Добрый день! 
Я новичок в этом деле, по этому не судите строго. 
Хочу использовать ардуино в испытательных целях (Работаю в лаборатории и не всегда рационально использовать человека для одних и тех же действий.), для автоматизации процесса. 

Купил дисплей вот такой:

Хочу подключить по SPI, но все мои попытки не увенчались успехом. В коде слабо разбираюсь, так как пробую работать с FlProg. 
Использовал библиотеки u8g2 и U8Glib, не получается даже запустить пример. 
Может у кого то есть опыт подключения данных дисплеев, прошу помочь. 
Прошу скинуть ссылку на рабочую библиотеку и код для теста, дальше буду пробовать сам разбираться. 
 

Фото подключения 

 

Заранее спасибо. 

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

Дак ты на форуме Flprog и спрашивай

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

Подключал ровно так, как было в U8G2 написано. Типа такого:

//U8G2_SSD1309_128X64_NONAME0_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8);  

Питал от 5V прямо с ардуины.

 
Shyshka Roman
Offline
Зарегистрирован: 25.05.2020

Спасибо огромное. Заработало. 

Shyshka Roman
Offline
Зарегистрирован: 25.05.2020
Добрый день. 
Моё обучение работе с Ардуино продолжается. 
Подскажите как вывести переменную (температуру) на дисплей? 
Код указан ниже, он скорее всего очень кривой. 
И может кто то подскажет, где найти команды для определенной библиотеки? 

#include <Arduino.h>
#include <U8x8lib.h>
#include "max6675.h"


#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif

U8X8_SSD1309_128X64_NONAME0_4W_SW_SPI u8x8(/* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8);  

int thermoDO = 5;
int thermoCS = 6;
int thermoCLK = 7;


MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);



void setup(void)
{
  u8x8.begin();
  u8x8.setPowerSave(0);
  u8x8.setFont(u8x8_font_5x7_r); //задали шрифт
  u8x8.drawString(0,1,"MAX6675 test"); // постоянная надпись

}

void loop(void)
{
  u8x8.setFont(u8x8_font_5x7_r); //задали шрифт для переменной надписи
  u8x8.drawString(0,3, С= ); // строка для градусов
  u8x8.drawString(20,2,"(thermocouple.readCelsius())"); // строка для переменной температуры
  
  delay(500);
      
}

 

 

Shyshka Roman
Offline
Зарегистрирован: 25.05.2020

Извините за огромное количество вопросов, но чем больше я разбираюсь, тем больше вопросов.
1. Можно ли подключить одновременно по SPI дисплей и microSD card.
2.Если да то к каким выводам подключать miсroSD карту? Пробовал освободить контакты 13 и 11, переключив дисплей к выводам SDA и SCL, но дисплей так и не заработал.
3.Или нужно в коде менять 13 и 11 на серийные выводы.
4. Выводы  подписанные SDA и SCL называются аппаратными? 

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

Shyshka Roman пишет:

-1. Подскажите как вывести переменную (температуру) на дисплей? 

0. И может кто то подскажет, где найти команды для определенной библиотеки? 

Извините за огромное количество вопросов, но чем больше я разбираюсь, тем больше вопросов.
1. Можно ли подключить одновременно по SPI дисплей и microSD card.
2.Если да то к каким выводам подключать miсroSD карту? Пробовал освободить контакты 13 и 11, переключив дисплей к выводам SDA и SCL, но дисплей так и не заработал.
3.Или нужно в коде менять 13 и 11 на серийные выводы.
4. Выводы  подписанные SDA и SCL называются аппаратными? 

-1. Поскольку эта библиотека выводит только строковые переменные, то преобразовать число в строку (читайте как это делается в си - есть оператор) и сложить с Вашей строкой, а результат вывести на дисплей

0. Команды можно посмотреть в описании библиотеки. Ваша лежит тут или в файле название_библиотеки.h.

1. Можно - читайте про SPI SS (slave select)

2. см. 1

3. Зачем?

4. Почитайте про SPI. Вдумчиво. Скорее всего Вы пробежали глазами и ничего не поняли. Особенно про SPI и ардуино.