Помогите разобраться с библиотекой U8glib

Genri5
Offline
Зарегистрирован: 31.05.2016

b707 пишет:

Ghost33 пишет:

Спасибо за статью. Мне вывести не текст нужно а переменную.

а что, есть принципиальная разница? - я ж говорю - идиот... а ты обижаешься.

Давайте не будем грубить, а то получится балаган. Просто нужно человека направить в правильное русло.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

.

b707
Онлайн
Зарегистрирован: 26.05.2017

Genri5 пишет:

Давайте не будем грубить, а то получится балаган. Просто нужно человека направить в правильное русло.

Давайте.

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

 

Да и вообще - это не грубость, это трезвое отношение к способностям автора.  Кстати. я стараюсь подобным образом относится и к своим ошибкам. Вон, в теме про ватчдог - из трех вариантов, почему у меня не работает - первый и наиболее вероятный - "я идиот".

Так что когда я вижу. что человек ни-бум-бум - я так и говорю. И про себя тоже.

 

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ghost33 пишет:

В идеале вообще бы отказаться от библиотеки и прописать все ручками самому. 

А Вы попробуйте. Начните и шаг за шагом топайте. Если реально хотите сделать, я с удовольствием помогу. Хотите? Если будете делать, дайте точную ссылку на дисплей, а то по ссылке из первого поста у меня не открывается. Сейчас же закажу. Пока мы будем ковыряться с даташитом и теорией, глядишь и приедет.

А на идиота не обижайтесь, это же было доброжелательно сказано. Относитесь к этому с юмором и швейковским пофигизмом. Помните, как у Швейка:

-- Неужели вы такой идиот?
-- Так точно, господин обер-лейтенант, такой!

и всё, вопрос снят :)))

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

После этого

Ghost33 пишет:

Спасибо за статью. Мне вывести не текст нужно а переменную. 

я с Вами согласен. 

Ghost33
Offline
Зарегистрирован: 07.01.2018

Да, я хочу, понять научится, сделать. Буду очень благодарен за помощь и разьяснения. Скажите почту или вайбер,ватс-ап,дабы тут не флудить.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Если это мне, то лучше тут пофлудить - тема для того и создана.

Ghost33
Offline
Зарегистрирован: 07.01.2018

Вам

Ghost33
Offline
Зарегистрирован: 07.01.2018

Вот ссылка на дисплей https://ru.aliexpress.com/item/0-91-128x32-IIC-I2C-OLED/32836647725.html... я заказвал отсюда. 

если что вот подробное описание дисплея 

0.91 дюймов 128x32 IIC I2C синий OLED ЖК-дисплей Дисплей модуль

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Заказал. 

Ghost33 пишет:

если что вот подробное описание дисплея 

0.91 дюймов 128x32 IIC I2C синий OLED ЖК-дисплей Дисплей модуль

Ну, что Вы - это совсем не продробное описание. Подробное описание там на странице товара есть. Оно очень короткое, всего лишь "SSD1306". Вот это дейтсвительно подробное описание, т.к. если программировать дисплей без библиотек, то придётся иметь дело именно с этой микросхемой.

Так что, скачивайте даташит и приступайте к его общему изучению. Пока диспоей не придёт мне, я буду периодически давать Вам задание, что делать, Вы будете делать и говорить.ю чтополучается. Как придёт, дела повеселее пойдут.

Первойе задание, просто прочитайте даташит, чтобы представлять себе какие там есть возможности, что можно и что нельзя делать.

Ghost33
Offline
Зарегистрирован: 07.01.2018

Даташиты читать я умею)) я видел уже его, видел и команды какие в какой последовательности нужно подать. Умею управлять портами на ардуино))) терия пройдена..

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Вот и изучайте какие там есть команды. Что означает в этом случае скроллинг. Там ведь по даташиту память на 128х64, а у Вас 32. Означает ли это, что можно загрузить все 64, а потом просто скроллить? Нужно хорошо ориентироваться в наборе команд, передать-то их небольшая проблема.

И ещё, Вы хотите обходиться без специализированной библиотеки экрана или заодно и I2C руками делать?

Наконец, какой у Вас контроллер?

Ghost33
Offline
Зарегистрирован: 07.01.2018

вот я не понимаю как раз ка ких передать? по порту все понятно PORTF=1111111 назначаем порт как выход

дирректива DDRF = 1111111 - передача на весь порт 5 вольт. а вот как работать с  I2C 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Оххх. Мда, я конечно понимал, что Вы не профи, но то, что Вы ни разу не видели Arduino IDE я как-то не думал. На чём же Вы скетчи компилируете?

Ладно,

Делай раз

Окрываете Arduino IDE, в меню выбираете Файл|Примеры|Wire и видите там кучу примеров и как слать и как обратно принимать.

Делай два

Заходите в гугл (надо объяснять где это?) и набираете там "Работа с I2C в Ардуино" b gjkexftnt [htyjde ujhe cnfntq (только не видео, а именно статей!) и читаете, сравниваете с примерами, смотрите и запускаете чужие коды и так до тех пока проблем "не знаю как слать" не исчезнет.

И ещё,

раз уж мы взялись работать, прошу делать что я говорю. В посте #62 я Вам задал два вопроса. Где ответы? Вы думаете. я буду их клещами тянуть из Вас? не буду.Пару раз такое повторится, и я решу, что наша совместная работа мне нужна больше, чем Вам, ну а поскольку у меня с I2C проблем отродясь не было, то я её просто прекращу.

b707
Онлайн
Зарегистрирован: 26.05.2017

ЕвгенийП пишет:

Оххх. Мда, я конечно понимал, что Вы не профи, но то, что Вы ни разу не видели Arduino IDE я как-то не думал. На чём же Вы скетчи компилируете?

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

если человек написал "11111111" - это не означает. что он сидит и программирует ардуину в регистрах. Вы очень сильно ошибаетесь. Для начала внимательно вчитайтесь в эту фразу "по порту все понятно PORTF=1111111 назначаем порт как выход" :)

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

b707, вот и я думаю, что это за семиразрядные коды...

PS. Самый известный 7-разрядный код - ASCII, в нем семью единицами кодируется "забой".

5N62V
Offline
Зарегистрирован: 25.02.2016

b707 пишет:

Евгений. учеников надо выбирать осмотрительнее :)  

У Евгения пречудесно выходят понятные  и лаконичные объяснения! Пререстаньте пугать человека, не только ТС интересуется вопросом. ;)

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

5N62V пишет:
У Евгения пречудесно выходят понятные  и лаконичные объяснения! Пререстаньте пугать человека, не только ТС интересуется вопросом. ;)
 

Разговор 2-х преподавателей:

- Ну и группа мне в этом году попалась тупая!

- А что так?

- Представляешь себе, объясняю теорему - не понимают! Объясняю второй раз - не понимают!! В третий раз объясняю. Сам уже понял. А они не понимают...

Так что секрет удачного объяснения прост. Надо объянять так, что бы самому себе было понятно. Так хоть один человек точно поймет.

5N62V
Offline
Зарегистрирован: 25.02.2016

qwone пишет:

Так что секрет удачного объяснения прост. Надо объянять так, что бы самому себе было понятно. Так хоть один человек точно поймет.

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

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

5N62V пишет:
Надеюсь, Вы уже на том этапе, когда поняли в чей камень собираетесь кинуть огород. :))
Нормальный подход и без всяких камней. Если нормального объяснения для себя не нашел, то начинай объяснять это самому себе. Все неясности вылезут сами, как и решение их. 

5N62V
Offline
Зарегистрирован: 25.02.2016

qwone пишет:

 Нормальный подход и без всяких камней. Если нормального объяснения для себя не нашел, то начинай объяснять это самому себе. Все неясности вылезут сами, как и решение их. 

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

Т.е. готовность правильно объяснить какой-то вопрос - это демонстрация на порядок большего понимания этого вопроса, нежели у молчаливых соглядатаев. 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

5N62V пишет:

Т.е. готовность правильно объяснить какой-то вопрос - это демонстрация на порядок большего понимания этого вопроса, нежели у молчаливых соглядатаев. 

Вывод - логически ошибочный. Если вы вывели его из предыдущего абзаца, где про доклад и пр. - всё равно вывод неверный. Хотя бы потому, что "правильно" - суть сущность, относящаяся к субъективизму, а готовности у инициативного дурака - хоть отбавляй бывает. И что тот дурачок продемонстрирует при таком раскладе?

Ну и наоборот: молчаливый соглядатай, могущий правильно объяснить вопрос и имеющий понимание этого вопроса - может быть мизантропом, и ему незачем демонстрировать порядки своего понимания этого вопроса. При этом да - готовность правильно объяснить вопрос у него есть, необходимости (потребности) объяснить - нет, по вашему - нет демонстрации, следовательно, должно отсутствовать понимание вопроса - логический тупик, вводные неверны.

5N62V
Offline
Зарегистрирован: 25.02.2016

DIYMan пишет:

логический тупик, вводные неверны.

Вы упустили слово "поручалось", т.е. выбора у специалиста не было. 

Разумеется , к данному форуму мои утверждения имеют опосредованное отношение. 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

5N62V пишет:

Вы упустили слово "поручалось", т.е. выбора у специалиста не было. 

Наличие данного побудительного мотива никоим образом не влияет на факт о неправильных логических выводах из вводных, ибо - заставь (поручи) дурака богу молиться... - дальше сами знаете. Логика, субъективизм - вещи интересные.

А пример ваш из жизни - да, хороший, поучительный. Просто выводы из него про выражающих готовность и молчаливых соглядатаев - были сделаны неверные, вот и всё ;)

5N62V
Offline
Зарегистрирован: 25.02.2016

DIYMan пишет:

А пример ваш из жизни - да, хороший, поучительный. Просто выводы из него про выражающих готовность и молчаливых соглядатаев - были сделаны неверные, вот и всё ;)

Ну, инициативный дурак - это очень чатсный случай,  слабо кореллирующийся , в моем понимании, с понятием специалист. :)   Я имею ввиду, что в силу нашего вербального мышления, если информация, которой мы владеем, прошла стадию формулирования в словесных выражениях, то уровень осознания этой информации значительно повышается. 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

5N62V пишет:

если информация, которой мы владеем, прошла стадию формулирования в словесных выражениях, то уровень осознания этой информации значительно повышается. 

Согласен.

b707
Онлайн
Зарегистрирован: 26.05.2017

5N62V пишет:

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

В жизни нередко случается, что вербальные выражения формулируются и без досточного владения информацией - попросту говоря, слов много, а знаний нет :)

arduino328
Offline
Зарегистрирован: 01.09.2016

5N62V пишет:

b707 пишет:

Евгений. учеников надо выбирать осмотрительнее :)  

У Евгения пречудесно выходят понятные  и лаконичные объяснения!

Похоже в данной теме их не будет, он будет лишь пинать ТС в нужном направлении.

5N62V
Offline
Зарегистрирован: 25.02.2016

b707 пишет:

 

В жизни нередко случается, что вербальные выражения формулируются и без досточного владения информацией - попросту говоря, слов много, а знаний нет :)

Есссно. Поэтому важен объективный критерий оценки изложенного. Из моего примера - это наличие неких перцев, на данном форуме - присутствие товарищей в нужную минуту могущих настроить на конструктивный лад фразой "ты что, идиот?! "   :))

b707
Онлайн
Зарегистрирован: 26.05.2017

arduino328 пишет:

Похоже в данной теме их не будет, он будет лишь пинать ТС в нужном направлении.

Согласен. С той поправкой, что и пинать данного персонажа он особо не станет - по-моему, это бессмысленно.

Хорошо читать лекции тем, кто схватывает обьяснения и задает "правильные" вопросы, помогающие лектору. А когда ученику на каждом шагу надо обьяснять азы - а он еще и понимает только с третьего раза - это имеет смысл делать только "за очень отдельную плату" :)

Хотя может я ошибаюсь и педагогический талант Евгения сотворит чудо.

5N62V
Offline
Зарегистрирован: 25.02.2016

arduino328 пишет:

Похоже в данной теме их не будет, он будет лишь пинать ТС в нужном направлении.

Правильный учащийся счастлив должен быть такому раскладу. 

b707
Онлайн
Зарегистрирован: 26.05.2017

5N62V пишет:

Есссно. Поэтому важен объективный критерий оценки изложенного. Из моего примера - это наличие неких перцев, на данном форуме - присутствие товарищей в нужную минуту могущих настроить на конструктивный лад фразой "ты что, идиот?! "   :))

если вы обо мне, то на чужое мнение я так стараюсь не отвечать :) Только на полное отсутствие каких-либо мнений вообще, так сказать, на нехватку "света разума" в виртуальных глазах собеседника :)

arduino328
Offline
Зарегистрирован: 01.09.2016

b707 пишет:

arduino328 пишет:

Похоже в данной теме их не будет, он будет лишь пинать ТС в нужном направлении.

Согласен. С той поправкой, что и пинать данного персонажа он особо не станет

Тогда мы должны ему помочь пинать, но без объяснений :)

Ghost33
Offline
Зарегистрирован: 07.01.2018

Так ребятки (умники, учителя, гениии) идем лесом! вместо того чтобы обсуждать меня займитесь собой. Учителя ебучие. Вы как будто родились и сразу все знали.... уроды кнопочные. Один человек согласился помочь, из всех! остальные только сидят и самоутверждаются, тыкают пальцем неучь, неучь пришел! уроды сука. не нравится, тогда позаткнулись и не обращаем внимания. Из 10 человек реально помогают 2! остальные уроды моральные которые не понимают что люди все разные и могут что-то не понимать. Не нужно тыкать в меня пальцем, ткните себе в глаз чтобы меня не видеть

Ghost33
Offline
Зарегистрирован: 07.01.2018

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

Ардуино -Мега 2560, китайская

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Оххх, мне, конечно, не жалко, Мега  так Мега, слава Богу, у меня парочка валяется. Но если бы у Вас была уно или нано для начала, было бы чуть проще. Нету?

Ghost33
Offline
Зарегистрирован: 07.01.2018

Нет Евгений, нету. все что есть это Мега

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ладно, примеры с I2C смотрите. Там пример записи всего несколько строк. Разбирайтесь.

Ghost33
Offline
Зарегистрирован: 07.01.2018

Ос сенсей))

arduino328
Offline
Зарегистрирован: 01.09.2016

Ghost33 пишет:

Вы как будто родились и сразу все знали...

Разумеется нет. Но в моё время Интернетов не было. Читал книжки, проверял на компьютере и микроконтроллерах - так и научился.

Ghost33 пишет:

Один человек согласился помочь, из всех!

У ЕвгенийП наверно времени огромное количество, чтобы повторно написать код готовой библиотеки (Adafruit_SSD1306 например). Вот обидно ему будет, если проблема не в библиотеке...

Ghost33 пишет:

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

Мы пинаем тебя в нужном направлении, так как по другому ты не понимаешь. От тебя так и не поступило внятной информации о том, выводит ли твой дисплей примеры из библиотеки.

Ghost33 пишет:

неучь пришел

Но это же факт. Не нравиться, так исправляйся: становись умнее.

Ghost33 пишет:

люди все разные и могут что-то не понимать

Если вокруг тебя уроды и идиоты, то срочно выходи из зеркальной комнаты.

Ghost33 пишет:

чтобы меня не видеть

Так тебя на форуме никто и не видит, ты же 33-й призрак :)

sav liana
Offline
Зарегистрирован: 28.11.2016

Подскажите, библиотека u8glib (u8g2) позволяет использовать OLED с чипом SSH1106 при подключении по SPI ?

Genri5
Offline
Зарегистрирован: 31.05.2016

sav liana пишет:

Подскажите, библиотека u8glib (u8g2) позволяет использовать OLED с чипом SSH1106 при подключении по SPI ?

В перечне :  

/U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9

//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED)
//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI 
//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI
//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK
sav liana
Offline
Зарегистрирован: 28.11.2016

Ранее использовал библиотеку SSD1306 (OLED 0.96 SPI) с подключением:

#define OLED_MOSI   11//9           // данные на OLED
#define OLED_CLK   13//10           // оно же SCK, такт
#define OLED_DC   8//11
#define OLED_CS   9//12
#define OLED_RESET 7//13
Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);
 
Теперь используем SSH1106 (OLED 1.3 SPI) и соответственно подключаем:
 
U8GLIB_SH1106_128X64 u8g(13, 11, 9, X); // SW SPI Com: SCK = 13, MOSI = 11, CS = 9, A0 = X
 
Вопрос: Что такое A0? Неужели аналоговый вывод??

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

sav liana пишет:

Вопрос: Что такое A0? Неужели аналоговый вывод??

Пин, отвечающий за то команда пересылается или данные (см. даташит). Думаю, можно на цифровой выводить. Хотя, гляньте в библиотеку как она там используется.

sav liana
Offline
Зарегистрирован: 28.11.2016
Это понятно, но на моем OLED 1.3 маркировка: MOSICLK, DC, CS, RESET, +5в, 0в. (7 штырей, A0 нет)
[третий OLED уже приходит и с SSD1306 не работает...]
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

sav liana пишет:

[третий OLED уже приходит и с SSD1306 не работает...]

Вот с этого места поподробнее. Вы методом тыка подбираете с чем будет работать? Там маркировки на микросхеме нет? Или её не видно?

sav liana
Offline
Зарегистрирован: 28.11.2016

При замене OLED 0.96 (SSD1306) на 1.3 (SSH1106) выяснилось, что там другой чип (), а ранее я пользовался библиотекой Adafruit SSD1306:

https://www.ebay.com/itm/0-96-1-3-SPI-Serial-128X64-OLED-LCD-Display-Screen-Module-Arduino-UNO-R3/172354986412?ssPageName=STRK%3AMEBIDX%3AIT&var=471179883839&_trksid=p2057872.m2749.l2649

Поэтому придется переписывать программу на другую библиотеку U8glib.

Но для этого сначала я пытаюсь запустить демо программу "Bitmap" из библиотеки  U8glib.

Судя по библиотеке, надо подключить к плате Arduino вывод дисплея под названием A0Но на дисплее только выводы MOSICLK, DC, CS, RESET, +5в, 0в. (7 штырей, A0 нет). 

 [Пример из библиотеки: U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9]

Получается: A0 равносильно DC (выбор режима), а RESET вообще не используется. С подключением понятно.

Все OLED 1.3'' так работают при загрузке примера SSD1306, что там за чип может быть? :

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ghost33, я получил дисплей. Вы разобрались как там I2C выводить?

sav liana
Offline
Зарегистрирован: 28.11.2016

Все OLED 1.3'' так работают при загрузке примера SSD1306, что там за чип может быть? :

 

https://youtu.be/qGtTgSYeyHU

Библиотеку U8glib запустить не удается ...

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

sav liana пишет:

При замене OLED 0.96 (SSD1306) на 1.3 (SSH1106) выяснилось, что там другой чип ()

Действительно? И как это выяснилось? :)))

sav liana пишет:

что там за чип может быть? :

А если Вашу первую цитату (в начале данного поста) перечитать? Мне одному кажется, что ответ Вы там сами же и дали?

sav liana пишет:

Поэтому придется переписывать программу на другую библиотеку U8glib.

А чем не устраивает модифицированная под 1106 адафрутовская библиотека для 1306? Вроде, с I2C она работала хорошо (у Вас же I2C дисплей?) и программу переписывать не надо, т.к. интерфейс такой же. Просто заменить библиотеку и всё.