Как написать меню для дисплея на Arduino
HTML-код
- Опубликовано: 3 июл 2024
- В этом уроке мой коллега покажет вам несколько способов создания простого меню на Arduino и любом дисплее при помощи стандартных методов print и setCursor. Все примеры можно посмотреть и скачать здесь: github.com/AlexGyver/tutorial...
► Поддержать автора: yoomoney.ru/to/410019154264963
► По всем вопросам: nich1con36@mail.ru
★ Инструменты, приборы и материалы для пайки ★
- Удобные мультиметры: ali.ski/2nn13 ali.ski/fTDAW9
- Тестеры компонентов: ali.ski/ZFLC7Y ali.ski/Mb_7W
- Карманные осциллографы: ali.ski/JdkQw
- Паяльная станция HakkoT12: ali.ski/pEUz9I
- Паяльный фен 8858: ali.ski/3cSLjp ali.ski/OtB10-
- Коврик для пайки: ali.ski/gF7bWW
- Стриппер для проводов: ali.ski/RiVwcj ali.ski/Thu_i
- Оловоотсос: ali.ski/1MLjH ali.ski/1K-IS
- Куча дешевого припоя: ali.ski/ZGkkx ali.ski/S3h5V
- Шпильки для выпайки: ali.ski/WSv7wx
- Хороший флюс-гель: ali.ski/uFflw
▼ Огромный стартовый набор GyverKIT ▼
kit.alexgyver.ru/
▼ Уроки Arduino на сайте ▼
alexgyver.ru/lessons/
▼ Модули и датчики с Али ▼
alexgyver.ru/arduino_shop/
▼ Страница "Заметок Ардуинщика" ▼
alexgyver.ru/arduino_lessons/
00:00 - Вступление
00:19 - Урок по прогмем
00:27 - Выбор дисплея
01:19 - Инициализация
01:46 - Простой вывод пунктов (F macro)
02:12 - Вывод указателя меню
04:41 - Переход в пункт меню
05:21 - Многостраничные меню
05:47 - Меню с параметрами
07:07 - Вывод пунктов из пгм
08:23 - Меню с вертикальным скроллингом
08:48 - Меню с параметрами и скроллингом
09:23 - Меню со статическим указателем
10:40 - Эпилог
Теги: #arduino #уроки #ардуино #alexgyver
●●●●●●●●●●●●●●●●●●●●
► Основной канал: / alexgyvershow
► Поддержать автора alexgyver.ru/support_alex/
► Официальный сайт: alexgyver.ru/
► Почта: alex@alexgyver.ru Наука
Не в укор автору, а просто пожелание, думаю многие со мной согласятся - поработайте над тем как правильно доносить информацию до своего зрителя. Сейчас складывается ощущение, что вы просто читаете текст и при этом пытаетесь не отставать от видеоряда. Это очень сильно напоминает не очень хорошего препода в универе, который тупо начитывает материал, и тебе потом один хрен приходится читать конспект, и самому во всем разбираться, а в вашем случае приходится перематывать, просматривать и прослушивать заново. Я не знаю как Гайвер делал, когда вел эту рубрику, возможно он тоже читал, но делал он это как то проще, как тот самый препод, лекции которого заходят на ура и конспект которого нужно пролистать лишь перед экзаменом.
@@m_kolotushkin , зачем мне что-то кому то показывать и доказывать? Я не преподаватель по своей сути, поэтому и не претендую на это звание. А то как надо, уже всем продемонстрировал Гайвер. Канал создавался для обучения людей, а не просто для чтения с бумажки, таких ресурсов полно, читай зачитайся. Здесь как у алкашей - градус понижать нельзя, а он с уходом Гайвера, увы, но понизился, и чем обьемнее урок, тем градус ниже.
@@MYDIYby каким уходом гайвера?
если ты сам профи, то тебе это и не нужно смотреть. если нужно, то смотри, перематывай, думай. все нормально изложено.
з.ы. с первого раза я и сам ничего не запомнил, но запомнил, что все разжовано
Видео считаю правильным потому , что нет в нем нудного вдалбливания и повторений. Если не успел вкурить то просто смотришь ещё и ещё. А самое главное на мой взгляд - это нет слов паразитов, таких как (то-есть и на самом деле) которыми даже Гайвер заражен.
есть такое, буду сильнее пинать товарища Nich1con чтобы делал медленнее. Тут тема ещё попалась такая, что проще самому закодить, чем понять как работает чужой код
Дождался того, чего ждал несколько лет ❤️
Спасибо за достаточно сложный, но очень востребованный урок.
Задолбался его пересматривать -- многое сложно понять. Но понимаю, что понять -- важно.
Блин, толи я дурак, толи... Алекс у тебя както понятние получалось
У меня были базовые уроки. Здесь эти базовые уроки уже непосредственно применяются
@@ArduNotes , я твои базовие уроки по 5 раз пересмотрел и досих пор пересматриваю(когда чтото делаю). Получаеться я дурак :(
@@user-ve8om5zg3s Сервера и клиенты - это тема как минимум на десяток видосов! И да, на эту тему уже сотни видосов есть! Берёшь в руки какой-нить ESPxxx и - полный вперёд! 👍😁🤪
Ничекон, молодец.
Круто, наконец понял как это кодить, про подачу материала - автор сам прокачает скил, главное что полезно и понятно)
Спасибо большое! В интернете смотрел ничего не понимал, а здесь всё понятно
Очень хорошо. Отдельно спасибо за подробности с указателем
Отличный пример меню, спасибо
Орнул с библиотеки и то что можно автору предъявить... 🤣
Гери, чего орёшь? Рожаешь что ли?
Можно было в начале не зачеркнуть alexgyver и написать сверху Nich1con,а сделать меню:
Nich1con <
AlexGyver
Кстати да! Зачёркивание акцентирует на полную замену, а указатель показывает на возможные варианты.
Спасибо, полезная штука!
Как в всегда полезно :)
Безконечно долго ждали
Давно ждал такое видео
Спасибо за урок! Со второго просмотра разобрался.
О полезное видео. Такого нет ни у кого понятного видео. Спасибо за четкий урок👍
Спасибо) вторая часть видео помогла допилить логику работы моего меню)
Спасибо за видео, очень интересно было смотреть.
Сделано классно в плане текстового меню, хотелось бы ещё увидеть реализацию графического меню когда есть отдельные кнопки для перехода на другие страницы, на которых есть ещё кнопки и т.д. Так же не могу не кинуть камень за бесконечный цикл, который, конечно, удобный, но делает непрозрачным весь код, а в большинстве случаев нужно не только выводить меню, но и опрашивать датчики, управлять чем то.
Спасибо, то что доктор прописал
Спасибо! Как раз такое меню мне и нужно сделать.
Интересный урок, лайк
Бомбический видос!!!
По-моему, все супер.
Всё понятно Ардуино програмирою не первый год. А говорю об интонации и точке зрения к зрителям. Я не осуждаю автора, только хочу помочь и пожелать успехов в следующих роликах. А вообще ты классно рассказываешь, но не хочется чтобы канал стал похожим на остальные. У Александра особенность, интересно рассказывал и етим он поднял канал. Сейчас ето самый популярный канал об уроках ардуино, желаю и дальше быть лутшеми!!! 😀
... я так полагаю, что сначала нужно Русский язык выучить. А потом только пытаться освоить С/С++. Иначе, ни там, ни там не получается.
Ура!!! Новый видос!
Голос Алекс Гайвера в 100000000 раз лучше подходит для видео уроков по ардуино !!!
ты вернулся ну наконецто
Очень полезное видео для новичков, но всё равно лайк
о господи, он вернулся, канал ожил
Отлично 👍
Воу-хоу, новое видио, дождались....
По чаще видосы !
Топ 🔥🔥🔥🔥🔥🔥🔥
По какой чаще? Про чащу?
спасибо автору, всё понятно. Кто хоть чуток с этим связан, то прочитает без проблем. Коды читаемы.
Спасибо за видео
А я писал своё меню с инверсией выделенной строки. Но ваше гораздо проще в понимании кода :-)
Нужен update видео, ибо:
1. setCursor переводит по y построчно, а вот по x попиксельно.
2. F macro, не работает корректно с /n, нужно вводить /r/n - нужно добавить перевод каретки
Спасибо, решил проблему :)
ну наконец-то!
Ну наконецто!
Где же вы были с вашим видео, когда два года назад, я писал свое меню на свое термореле. Ох я мучился. Но все же написал код который работает до сих пор. Все по сути тоже самое, что и вашем видео. Только этот цзен мне пришлось постичь самому методом тыка.
Нормана, всегда смотрел на эти меню и диву давался.
Спасибо!
Даешь голос Гайвера!
Каналов об Ардуино мелион а хороший ведущий только один.
Желаю успехов.
сделай пожалуйста видео по настройки часов реального времени с помощью меню и энкодера. пытался изучить скетч по теплице но там все очень запутанно так как множество дополнительного функционала
и да соглашусь с некоторыми комментаторами что нужно чуть поподробнее разъяснять
ЛЮДИ, ТОВАРИЩИ - не выпендривайтесь! Для вас сделали неплохую работу. А вы, - то голос, то подача... По мне - замечательно.
👍
было бы время всем этим заниматься.
Было бы желание, а время найдётся)
@@TedFanat просто есть приоритетные дела.
Топчик ничекон
Дочекалися!
Надо несколько видео на данную тему сделать! Но более развернуто!
Например как текст сделать крупнее... чтоб две строки помещалось на экран...
Анимации, различные графические эффекты...
Отлично! Я как раз бьюсь на подобной задачей! Но с применением энкодера... Было бы кстати, увидеть урок на эту тему.
У гайвера есть же либа для работы с энкодером. Там почти так же что и с кнопками, только вместо вверх-вниз будет по-против часовой, а вместо кнопки окей - нажатие на энкодер.
@@dmitriibannikovasx Точно. Сейчас только увидел. Спасибо 😉✌
Крутяк!
Молодец так держать!!!
👍
Но всеже рассказывай по проще, Alex всем нравился из-за простоты речи. Кажется что он один из нас.❤️
Привет Алекс удачи и успехов тебе.
Если не понятно, то можно посмотреть какие-либо уроки из серии "введение в ардуино". Здесь же автор уместил максимальное количество полезного материала на единицу времени. В данном контексте что-то разжёвывать смысла нет. Да и вообще, попробуйте сами повторить материал не банальным копипастом, тогда точно придет понимание того что вы делаете.
@@xswwsxzaqqaz Всё понятно Ардуино програмирою не первый год. А говорю об интонации и точке зрения к зрителям. Я не осуждаю автора, только хочу помочь и пожелать успехов в следующих роликах. А вообще ты классно рассказываешь, но не хочется чтобы канал стал похожим на остальные. У Александра особенность, интересно рассказывал и етим он поднял канал. Сейчас ето самый популярный канал об уроках ардуино, желаю и дальше быть лутшеми!!! 😀
Указатель на экране. 😊. Что то вначале подумал про другой указатель
Хорошее видео. Но я бы использовал вместо свитча массив указателей на функции. Свитч хорошо пойдет, если меню состоит из пары пунктов, но если делать меню с большим количеством пунктов и подпунктов, то в свитчах можно просто запутаться, да и добавление нового пункта будет проблематично. А с массивом указателей все проще, просто в инициализации указывается новая функция, которая должна отвечать за конкретный пункт. Количество пунктов можно будет получать из размера массива. Плюс свитча в том, что он понятен начинающим программистам, в то время, как указатели более сложная , но крайне полезная тема)
Олед дисплей это хорошо, но хотелось бы увидеть ролик про жк, и построение на них меню. И да, подача тяжеловата для усвоения
+1. Есть куча таких же дешёвых цветных дисплеев. На них бы обзор и разбор ещё как на паяльники))) и урок по менюшкам на них. Может либу даже)) GyverMenu
Спасибо
отлично, лаконично и понятно. спасибо 🙏!!!
Крутотень
Чёткие понятные видео.
конечно интересно но алекс рассказывал более интересно. А то получается какая-то лекция(((((
Добавление дисплея в мой проект оказалось сложнее, чем осуществление самого проекта)
Нифига не понял, но очень интересно
Извините , я один не могу найти библиотеку GyverOled?
Нашел прошлогодний проект Гайвера, есть библиотека на гитхабе. Кнопки скачать не нашел, пришлось ручками копипастить на комп, чуть дольше, но работает. Вроде) У меня 1106, не завелся, ска. Видимо только 1306.
github.com/AlexGyver/SDreader/tree/master/libraries
@@FuJLuII спасибо)
7:29 какие проблемы в будущем может создать двумерный массив, не совсем понимаю?
Спасибо. Я не хера не понял! всё мелькает, печатается, базарит ещё, как Канделаки! Уже и на паузу ставил, чтобы посмотреть, потом на средине плюнул, напишу комент и на фиг отсюда.
😂😂😂
Шиза
Приветствую новый ведущий рубрики!
Желаю успехов, много идей для новых и интересных видео!!!
Отдельно не могу не согласиться с другими комментирующими про изложение темы. Пожалуйста, чуть помедленнее, а то нам новичкам не успеть переварить услышанное и связать с тем, что на видео показанно, хотя Гайвера я пересматриваю тоже помногу раз, может от непривычки кажется так. Понимаю ты стараешься сделать видео максимально-коротким, но при этом усваиваемость материала страдает.
Может привыкнув к тебе будет уже не так необычно.
Спасибо мне понравилось, я всё понял, а то что не понятно или забыто, можно пересмотреть видео снова, как я это часто делаю...
И снова желаю успехов и много интересных идей в Твоём не простом деле...
Ого, супер!!! Продолжай!!!
f аме нравится. информация четко дозирована и подается в нужной последовательности. ничего лишьнего.
только вчера думал как сделать такое и тут БАЦ и и видео
ДОЖДАЛИСЬ
Урааааа
С п а с и б о!
Ура
ВАША библиотека GyverOLED может поддерживать дисплеи с драйвером CH1116.
Нужно изменить смешение. Файл GyverOLED.h строка 767 .
sendCommand(2 & 0xf); //set lower column address
заменить на
sendCommand(0 & 0xf); //set lower column address
Формат "без соплей и по делу" хорош. Но случать тяжеловато. И тем более вникнуть во все, не останавливая и не просматривая по нескольку раз. Впрочем, для этого и существуют уроки на Ютюбе. :) Молодцы! А как зовут-то ведущего???
Подскажите пожалуйста. У меня дисплей SH1106. При выводе изменяющегося числового значения оно наслаивается на себя же. Если использовать clear.display или вырисовывать сначала на этом месте черный приямокгольник, то экран мигает. Можно ли как то обойти эту проблему?
У Гайвера где-то есть проект светомузыки. Нет желания доделать его с дисплеем? И вот так с менюшками? За видео спасибо
БЛАГОДАРЮ ЗА ОЧЕНЬ ИНТЕРЕСНЫЙ УРОК! Я ранее сам сделал меню с управлением яркостью светодиода через меню на таком же дисплее как вы используете. Но у меня вопрос: как подключить одновременно 2 дисплея по шине I2C, но так чтобы они могли показывать разную информацию? Адрес одного дисплея я изменил, чтобы они отличались, вопрос только в библиотеке.
Можете подключить 2 параллельно, но использовать 2 выхода МК для поочередного разрешения записи данных в разные дисплеи
Для начинающих этот меню очень сложный, можно немного легче через integer, для каждой страницы и точки меню один, который просто изменяется при нажатии кнопки, а от него зависит что показано на экране, можно просто через if...then или switch...case. Но так только пункты возможны сколько на одну страницу поместятся. Если кого-то интересует, я сделаю маленький пример.
Можно исходный код обучалки, надо на своем экране разобраться
лайк
Отличный видос, спасибо. Поддерживаю "Богдан Фесенко", будь проще и люди потянутся.
Спасибо за видео. Но, скетчи из примера жутко тормозят и энкодер/кнопки отрабатывают не каждый раз. Оказалось, из-за отрисовки меню в каждом цикле loop. Если отрисовывать только после движения энкодера - отрабатывает на ура.
Давай тоже самое с энкодером
Поздно я это видео увидел. Пришлось догадываться самому.
Как можно вывести данные например с датчика влажности почвы
збс объяснил👍 если это для новичков смысл такого урока, когда протораторил текст и нафиг, а если для опытных, то им это вообще не надо, так для кого урок то
что делать при ошибке wrong card! в проекте чаталка текста?
Хочется засесть и освоить ардуинину нормально, не наскоками, но как обычно находится что-то более важное... :(
Самое же главное в моем случае - я знаю где находится! И подопрёт жизнь - позаимствую.
За это и поклон ;)
Всех приветствую! Подскажите, пожалуйста, каким образом можно сделать что бы первые два пункта открывали подменю, а другие два только изменяли параметр?
Эх, вспомнил времена как я продумывал алгоритм стирания последнего символа. Загвостка была в том что команда clear совсем стирала запись. Тогда я это исправил с помощью массива без последнего добавленного элемента
Бэлин, а как релюхи исполнения прикрутить к коду то???
Можно пжлст видос по работе с WiFi на esp8266 :)
А чо вас в поиске ютуба и googl'а пожизненно забанили?! 👍😁🤪
@@user-dq2ci5ln5g да
@@MrTeStO-gc4tl 😥😪😭 Грусть, печаль, тоска! 👍😁🤪
Канал называется "заметки ардуинщика",а не "заметки esp-шника".
@@retrometanol2510 да хоть заметки шеф повара, есп тоже нужная штука
Эхх... А можно "для чайника" сделать урок про меню с LCD-дисплеем 20x4 и управлением от энкодера. Пункты - длинные, почти во всю строку и их 16-20. А ещё здорово было бы сохранять настройки (то, что выбрали в том или ином пункте) в EEPROM, и при старте, если настройки сохранены - читаем и применяем их.
"Звучит довольно запутано" У плюсовиков есть правило - если код запутан значит ты что-то делаешь неправильно. Код должен быть прозрачен и понятен. Когда у тебя код с магическими числами вперемешку с тернарными операторами, значит что-то пошло не так.
Парни, запомните! По нажатии и по окончании. Только так следует писать и говорить, когда предлог "по" в значении "после". По приезде и по прилете, тоже надо запомнить. А так вы молодцы! Спасибо.
да-да есть правило про "приезде" и он у русских из-за несозвучности, придуманого мудрыми мужами, идёт по "приезде". Есть правила а есть созвучность и гладкость речи, об том ещё Пушкин писал. ИМХО если приезде не может использоваться без приставки "по" - они должны писаться вместе или через дефис. Ибо "приезде" само по себе Абсурдно, для применения (как и нажатИИ - ну бред же косноязычный). И опираясь на то, что Я и другие Носители Живого языка - мы его(язык) меняем под свои потребности и удобства. Так что если Там в кабинетах, де юре не поспевают за де факто - это так тугие тормоза, а мы в своём праве говорить как нам чувствуется правильным. и у меня никак не получается склонять как вам Хочется - это звучит косноязычно.
хмм, при попытке залить скетч выдает такую ошибку
no matching function for call to 'GButton::GButton(int, int)'
библиотеки установлены, что не так?
Новый ведущий?
Поставил скорость просмотра 0,5. Пересматривать буду года два, снова и снова. Последний раз касался программирования еще до появления Z80. Как думаете, осилю?
Есть скетч в котором указан дисплей 0.96" со своей библиотекой ,что изменить в скетче если дисплей1.3" SH1106