Большие цифры для дисплея LCD1602 (2004)
- Войдите на сайт для отправки комментариев
Пнд, 11/09/2017 - 18:15
Решил немного помочь начинающим :)
Написал библиотеку отрисовки больших цифр на дисплее LCD1602 (2004). Когда то видел такой способ отображения в буржуйской книжке по Arduino, код не запомнил и за выходные накидал свою версию.
Библиотеку с примером можно скачать по ссылке
https://github.com/roman2712/LCD1602_bigNumbers_Arduino
К особенностям библиотеки относяться:
1) используются только 3 знакоместа из 8 (0 - 2), остальные доступны пользователю.
2) минимальный обьем используемой памяти
3) простоя работа с библиотекой (Все сводиться к методу printNumber(<цифра>, <позиция в строке>, <номер строки>))
Интересны замечания и предложения от сообщества.
Пример (картинка не моя):
у меня поплотнее есть, время на полэкрана, а не на весь. Долго мучался ;)... поищу... возможно завтра найду. Использую все пользовательские.
.... О! Нашел. Что-то тестовое от старых лет... сорри - не комментировано. Кому интересно разберется. Это была заготовка для чего-то с часами и термометром... уже не помню, для чего.
вот... собрал и экран сфотографировал... может и правда кому пригодится.
Бегущая строка из больших цифр:
http://arduino.ru/forum/programmirovanie/etyud-2-stroki-po-40-simvolov-n...
Переделал первую библиотеку под
дисплей I2C.
Если кому надо пишите.
Под I2C не работала старая
Не, там вообще либа козырная, мало весит памяти не ест, символы оставляет.
Только править надо для работы с i2c
Сколько пользовательских символов использовал ?
восемь
восемь
А тут всего 3
восемь
А, разве тут соревнование в количестве символов ?
Тогда можно соревноваться и в количестве знакомест на цифру... у меня на одно меньше :-)
Можете написать скетч для Arduino NANO+LCD1602+DS18B20, что бы слева бал тахометр на 4 цифры(2 импульса на один оборот) а справа как у вас два термометра для показания температуры охлождающей жидкости(с округлением до двух знаков) в авто. Термометры с подключением на разные пины. В программировании я не гуд. Собрать и воплотить в жизнь авто могу.
Напишу на возмездной основе. По вопросам: хххххххх
Модератор: Вас уже вроде предупреждали! Все коммерческие предложения, в ветке "Ищу исполнителя".
дисплей I2C.
Если кому надо пишите.
Если можно мне скинь.
На деревню дедушке письмо писать ?
romanspotar@mail.ru
Можно мне тоже библиотеку?
apocrifa@yandex.ru
А что не выложите на github или просто какой-нибудь файлообменник?
Я не автор библиотеки(и не гивер, который плевал на авторские права и все выдает за свое) , чтоб ее выкладывать. Просто интерфейс под свой модуль поправил.
Ну вот мой код большими буквами и цифрами #198
Ну вот мой код большими буквами и цифрами #198
Похвально конечно, но это не совсем библиотека и совместно с LiquidCristal.h работать , вряд ли будет.
Ну а почему тогда не закоммитить в github автора?
Код примера для обновленной библиотеки
Ух ты))) я же эту библу написал))) интересно, её скока народу скачало)))
I2C добавлю в ближайшее время. Я думаю еще стоит добавить поддержку библиотеки экрана с русскими шрифтами.
Там из всех добавления тока переопрнделить в .h файле используем версию библиотеки экрана.
Жду с нетерпением , я только начал изучать Ардуино , и как происходит в скетче сложение из символов в единую картинку для меня китайская грамота , а библиотек кроме этой я не смог найти
I2C добавлю в ближайшее время. Я думаю еще стоит добавить поддержку библиотеки экрана с русскими шрифтами.
Там из всех добавления тока переопрнделить в .h файле используем версию библиотеки экрана.
Ничего там для русских шрифтов изменять не надо. Вроде корректно работает с LCD_1602_RUS.h
И да, все изменения заключаются в изменении конструктора объекта.
Как вариант сделать два конструктора и для обычного подключения и для I2C
Не, ну если красиво выглядит - что не качнуть.
Я сейчас на сверлилку делаю тахометр. Пока жду 7-сегментные дисплеи от нефиг делать цепляю к скетчу те экраны, какие есть в наличии. 4 здоровых цифири на увеличенном 16*2 экране смотрятся феерично.
Итак. Добавил поддержку дисплеев, подключенных по i2с
Смотрим :) https://github.com/roman2712/LCD1602_bigNumbers_Arduino/tree/master/bigNumbers
P.S. Если точнее, то через шаблонную магию с++ (template) реализовал шаблонный класс, что позволяет указать любую библиотеку, аналогичную по функциям библиотеке LiquidCrystal.
Итак. Добавил поддержку дисплеев, подключенных по i2с
Спасибо, попробую.
Итак. Добавил поддержку дисплеев, подключенных по i2с
Работает. Огромное спасибо!
Обнаружил интересную особеность при работе с моим скетчем.
Плата Arduino Pro MIni клон
При первой загрузке цифры отображаются нормально. Перезапуск платы резетом ничего не меняет, скетч работает. Но стоит снять питание с платы и заново включить, в цифрах появляется мусор.
Пример из библиотеки работает нормально. Как думаете, в чем может быть косяк?
Ну нельзя же так подставляться. Вот и я заметил такую особенность. Как только я пострал в унитаз, обнаружил что там говно плавает. Видно канализация плохо работает. Я бачек не смываю, так как это увеличивает расход воды.
В вашем случае контролер дисплея отключается раньше чем МК.
С большой долей вероятности когда вы питание обратно включаете, МК все еще продолжает работать по программе, но так как дисплей надо уже инициировать заново, а этого никто не сделал, так как МК работает по программе идет и в setup не заходит, то появляется мусор на дисплее. Для этих дисплеев это нормальная ситуация.
Подтверждается перезагрузкой по ресету, когда мусор на экране. Если после ресета все хорошо - то значит надо что то решать с питанием. к примеру Brown-Out Detection настроить на 4.3 в. При такой настройке, МК уже точно вырубиться по BOD, а дисплей еще не сброситься.
Я не успел отписаться. В setup пропустил генерацию пользовательских символов. Теперь все нормально
Здравствуйте roman2712@mai ,у меня к вам огромная просьба,я новичок в программировании,подскажите пожалуйста ,этот код счётчика с вашей библиотекой,работает отлично,но он написан под экран 1602.Что нужно дописать что бы его можно было вывести на экран 2004 на две нижние строчки.Помогите пожалуйста.
//Счётчик
5-я строка:
LiquidCrystal_I2C lcd(0x3f, 20, 4);
А дальше попробуйте выводить цифры в виде (значение, позиция Х, позиция У)
Тоесть :
bigNumbersLcd.printNumber(n, 12, 1);
Это если я правильно понимаю.
Правильно понимаете...
Здравствуйте,сижу пробую.
Правильно понимаете...
А библиотека оперирует только 2 строками или можно цифры вывести в центре экрана?
Библиотека оперирует номером знакоместа и номером строки.
т.е. если указать к примеру bigNumbersLcd.printNumber(5, 8, 1)
то это значит напечатать цифру 5. верхний угол которой будет располагаться на 8 знакоместе 1 строки.
т.е. для 4-х строчного дисплея это будет как раз в середине экрана, так как строки у 4-х строчного дисплея нумеруются 0,1,2,3.
Кто может помочь выводить время на 2004 с помощью rtc ds3231 ?
Как делить время на 4 числа ?
Я использовал остаток от деления
Ему ещё и «выводить» нужно помочь, готовь код... ))
Решил немного помочь начинающим :)
Написал библиотеку отрисовки больших цифр на дисплее LCD1602 (2004). Когда то видел такой способ отображения в буржуйской книжке по Arduino, код не запомнил и за выходные накидал свою версию.
Библиотеку с примером можно скачать по ссылке
https://github.com/roman2712/LCD1602_bigNumbers_Arduino
К особенностям библиотеки относяться:
1) используются только 3 знакоместа из 8 (0 - 2), остальные доступны пользователю.
2) минимальный обьем используемой памяти
3) простоя работа с библиотекой (Все сводиться к методу printNumber(<цифра>, <позиция в строке>, <номер строки>))
Интересны замечания и предложения от сообщества.
Пример (картинка не моя):
Моё почтение!
Подскажите пример, как использовать вашу библиотеку в счетчике приращения/убывания, скажем от 0 до 200, с использованием энкодера?
С уважением, Александр.