background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

Скачать "Уроки Arduino. Расширенное управление кнопкой"

input logo icon
Теги видео
|

Теги видео

arduino
ардуино
уроки
кнопка
электроника
программирование
робототехника
alexgyver
Субтитры
|

Субтитры

subtitles menu arrow
  • enАнглийский
Скачать
00:00:01
расширенной отработки нажатия кнопок с
00:00:03
arduino такой как многократные нажатие
00:00:06
удержания и всякие инкременты а также
00:00:08
познакомимся с моей библиотекой гайвер
00:00:10
батон сейчас мы будем заниматься
00:00:22
кнопками также давайте вспомним как эти
00:00:24
кнопки подключаются к arduino эта
00:00:26
информация была в уроке номер 5
00:00:28
есть два типа подключения в первом
00:00:30
кромку подключается к земле и при
00:00:32
нажатии замыкает землю на пин arduino
00:00:34
второй тип кнопка подключается к питанию
00:00:37
и при нажатии замыкает на pink питания
00:00:39
то есть 5 вольт тут нужно понимать что
00:00:41
пин в режиме входах ловит изображающего
00:00:43
воздуха всякие наводки и при нажатии на
00:00:45
кнопку у него будет четко и напряжение
00:00:47
которое идет с кнопки а при не нажатой
00:00:50
кнопке мы получим практически случайное
00:00:52
значение потому что фильм никуда не
00:00:53
подключен микроконтроллер измеряет
00:00:55
напряжение но это напряжение получается
00:00:58
случайным для решения этой проблемы
00:00:59
используется так называемая подтяжка pin
00:01:02
она выполняется резистором с большим
00:01:04
сопротивлением чтобы через него не тек
00:01:06
большой ток обычно ставить 10 килоом это
00:01:08
самое ходовое сопротивление при работе с
00:01:10
arduino с нему делитель напряжения
00:01:12
делаются или стяжки заторов транзисторов
00:01:14
и все такое в общем фильм и подтягиваем
00:01:17
противоположно подключению кнопки то
00:01:19
есть если кнопку управляет землей тот
00:01:21
фильм и подтягиваем к питанию это
00:01:22
называется pull up
00:01:24
если же кнопка управляет питание топе на
00:01:26
подтягивая их земле это называется pull
00:01:28
down
00:01:29
и вот эти две схемы уже рабочие команда
00:01:31
те же товарец считывает правильное
00:01:33
значение спина пока кнопка не нажата
00:01:35
считывается напряжение через резистор
00:01:37
получается на пень и волевой момент
00:01:39
времени есть четкое напряжение либо ноль
00:01:41
либо 5 вольт здесь важно отметить что у
00:01:43
пинов arduino есть свой пулл ап резистор
00:01:45
который активируется установкой пины в
00:01:47
режим input лап то есть внешний резистор
00:01:50
можно не ставить и работать с кнопкой
00:01:52
вот по такой схеме
00:01:53
именно так я всегда я делаю потому что
00:01:55
это просто очень удобно также существует
00:01:57
два типа кнопок нормально разомкнутые
00:01:59
нормально замкнутые большинства кнопки
00:02:02
являются нормально разомкнутыми это
00:02:03
можно считать стандартной кнопкой нажали
00:02:06
замкнул цепь отпустили цепь замкнулась
00:02:08
второй тип встречается реже это например
00:02:11
вот такие кнопки по умолчанию она
00:02:13
замкнута на жале ра замкнулась то есть
00:02:15
вы уже понимаете что лайка работы меня
00:02:17
из ровно в противоположную сторону
00:02:19
на канале уже до урока правильно
00:02:21
работки нажатия и подавления дребезга
00:02:23
контактов там я показывал вам некий
00:02:25
кусочек своего года которую мило
00:02:27
отрабатывают длинные нажатия и что-то
00:02:29
еще с тех пор этот кусочек сильно вырос
00:02:31
и превратился в отдельную библиотеку
00:02:33
которую я время от времени дорабатывал в
00:02:35
течение года и сейчас готов поделить с
00:02:37
вами финальной версии аналога в
00:02:39
библиотеке я честно не нашел в интернете
00:02:41
давайте покажу вам что она умеет не как
00:02:44
использовать ее своих проектах скачать
00:02:46
библиотеку можно с моего сайта сайта
00:02:48
сообщества или своего гид хоп ссылки я
00:02:50
оставлю в описании под видео
00:02:52
устанавливается библиотека как обычно в
00:02:54
папку библиотек ардуины в program files
00:02:56
вы можете посмотреть примеры они очень
00:02:59
наглядно показывают все возможности
00:03:00
библиотеки но мы с вами начнем с чистого
00:03:02
листа и в качестве шпаргалки будем
00:03:04
использовать файл библиотеки . аж где
00:03:06
подписаны все доступные методы первым
00:03:09
делом включаем библиотеку затем нам
00:03:12
нужно объявить объект класса g батон и
00:03:14
назвать его как нам хочется скобках
00:03:16
указывается пин подключение
00:03:18
объявлены таким образом объект кнопки
00:03:20
получают настройки по умолчанию кнопка
00:03:22
считается нормально разомкнутый и
00:03:24
подключены к земле то есть вот по этой
00:03:26
схеме если вам нужно по другому то есть второй
00:03:29
вариант создании объекта скобках помимо
00:03:31
pin указывается тип подключения и тип
00:03:33
кнопки название этих типов указанных
00:03:35
файлик библиотеки на этом этапе все сама
00:03:37
настраивается включает пин молот кнопки
00:03:40
давайте откроем порт для общения с
00:03:42
платой и проверим как работают методы
00:03:44
отработки нажатий но сначала нужно
00:03:46
познакомиться с самым важным методом
00:03:47
библиотеки тик тик опрашивают кнопку
00:03:50
командой digital рид и обеспечивает
00:03:52
работу всех остальных функций переключая
00:03:54
кучу флагов и считая время по таймерам
00:03:56
тег должен напрашиваться всегда когда мы
00:03:58
хотим снять какие-то действия с кнопки и
00:04:00
тут есть несколько вариантов если вы уже
00:04:03
ушли от простых примеров из интернета и
00:04:05
научились писать прозрачный код то есть
00:04:07
код который не содержит функции дела и
00:04:09
тормозящих циклов то достаточно вызвать
00:04:11
тег в самом начале функции лук каждую
00:04:13
итерацию она будет вызываться и
00:04:15
обеспечивать нашу систему
00:04:16
актуальным состоянием кнопки если же ваш
00:04:19
код содержит замкнутые циклы внутри лук
00:04:21
и в этих циклах вам нужно отрабатывать
00:04:23
кнопку то можно поместить тег и туда то
00:04:26
есть дополнительно опрашивать кнопку в
00:04:27
замкнутых циклах но если у вас висит
00:04:29
откровенный дела и то нужно от него
00:04:31
избавляться освойте конструкцию с
00:04:33
таймером мелис или используйте
00:04:35
библиотеку гайвер таймера видео они
00:04:37
кстати будет одним из следующих на
00:04:38
канале ну так вот для любого проблемного
00:04:41
кода я могу предложить вам еще целых три
00:04:43
решения с опросом кнопок первое весьма
00:04:45
очевидно и использовать аппаратные
00:04:47
прерывания как в уроке на на 16 примеры
00:04:50
есть в папке с примерами библиотеки
00:04:52
второй вариант прерывания таймера то
00:04:54
есть принудительно несмотря ни на что
00:04:56
через заданные промежутки времени
00:04:57
опрашивать кнопку по прерыванию сахар
00:05:00
тварного таймера arduino пример опять же
00:05:02
есть папки с примерами и третий вариант
00:05:04
сменить режим опроса кнопки на
00:05:06
автоматические командой септик mode of
00:05:08
the ручной режим стоит по умолчанию и
00:05:10
называется mannol в автоматическом
00:05:13
режиме вызов метода tig производится
00:05:15
автоматически при вызовы и любого
00:05:17
другого метода
00:05:18
давайте сначала поговорим о не а затем
00:05:20
вернемся к авто режима и вы все поймете
00:05:22
данные методы возвращают логическое да
00:05:24
если происходит присущие методу события
00:05:27
и после вызова метод продолжают
00:05:29
возвращать логическое нет до следующего
00:05:31
наступления события как это понимать
00:05:33
делаем условии если кнопка нажата то
00:05:36
вывести строчку нажата
00:05:38
запускаем сейчас кнопка не нажата и
00:05:40
метод возвращает нет поэтому мы ничего
00:05:42
не получаем когда мы нажимаем кнопку
00:05:45
однократного водится строчка условия не
00:05:47
сработает до тех пор пока мы не отпустим
00:05:49
кнопку и вновь и и не нажмем отработка
00:05:52
производится с защитой от дребезга
00:05:53
контактов по умолчанию новое нажатии
00:05:55
засчитывается спустя минимум 80
00:05:57
милисекунд после предыдущего но это
00:05:59
время можно настроить при помощи метода
00:06:01
set the bounds для примера поставим одну
00:06:04
секунду и попробуем заставить систему
00:06:06
нажатиями но она будет обрабатывать
00:06:09
только те нажатия между которыми прошло
00:06:11
как минимум 1000 миллисекунд данную
00:06:13
фишку можно использовать не только с
00:06:15
кнопками но и например с какими-то
00:06:17
цифровыми датчиками
00:06:18
следующий метод позволяет отследить
00:06:20
отпускания кнопки после нажатия и
00:06:22
отдельная вынес проверку клика по кнопке
00:06:24
далее у нас удержание кнопки по
00:06:27
умолчанию тайм-аут удержание 500
00:06:29
миллисекунд давайте посмотрим как это
00:06:31
работает
00:06:32
после удержания получаем однократный
00:06:35
сигнал о том что кнопка была удержана я
00:06:37
дольше настроенному тайм-аута тайма
00:06:39
кстати можно настроить вручную на нужное
00:06:41
время команды set time out поставим две
00:06:44
секунды
00:06:48
поп работает
00:06:55
следующий метод начинает возвращать да с
00:06:58
момента удержания кнопки и заканчивает
00:07:00
после ее отпускания тоже полезная вещь
00:07:02
может пригодиться кого-нибудь проекте
00:07:07
показаны и методы уже позволяют при
00:07:09
помощи одной кнопки реализовать например
00:07:11
меню с настройками удержание можно
00:07:13
переключать пункты меню а кликами
00:07:15
выполнять настройку попробуйте сами
00:07:17
написать такое меню следующая группа
00:07:19
методов позволяет получить количество
00:07:21
кликов время между которыми не превышает
00:07:23
установленного тайм-аута поставим time
00:07:25
all 503 вот этих методы дают сигнал об
00:07:28
одинарном двойное и тройное нажатие
00:07:31
после каждого нажатия таймер
00:07:32
сбрасывается и если до истечении
00:07:34
тайм-аута не будет еще одного клика
00:07:36
танак ли данные книги
00:07:38
выводятся
00:07:39
[музыка]
00:07:47
это
00:07:50
[музыка]
00:07:53
следующий метод позволяет получить
00:07:55
большое количество кликов используется
00:07:57
он в паре с методом проверки haz clic
00:07:59
первый метод проверяет сработали
00:08:01
тайм-аут после последнего клика и если
00:08:04
да то можно вывести количество кликов
00:08:06
некоторые из вас спросят зачем сделано
00:08:08
два метода если можно первые засунуть в
00:08:10
2 я оставил так для удобства чтобы можно
00:08:13
было получить количество нажатий только
00:08:15
при условии что кнопку перестали
00:08:16
нажимать этот момент возможно не самый
00:08:19
оптимальный многие не придумала как
00:08:20
можно сделать лучше
00:08:23
[музыка]
00:08:28
а
00:08:35
как это использовать сейчас мы получаем
00:08:38
чист количество кликов нужно включать
00:08:40
режим и в качестве примера просто
00:08:42
засунем количество кликов в оператор
00:08:43
switch
00:08:46
[музыка]
00:08:49
вы понимаете что вместо вывода текста
00:08:51
можно запускать какие-то функции
00:08:53
поднимать флаги и прочее прочее
00:09:03
а еще вместо кнопки можно подключить
00:09:06
цифровой датчик звука и сделать
00:09:08
простенький но очень умных лобковый
00:09:10
выключатель с разным количеством платок
00:09:12
для разных функций в деле конечно нужно
00:09:14
обрабатывать аналоговый сигнал и
00:09:16
фильтровать кнопки на фоне остальных
00:09:17
шумов но это совсем другая история а так
00:09:20
работает весьма нормально купить дешевый
00:09:23
китайский датчик звука можно по ссылке
00:09:24
вы мне на сайте на страниц со всеми
00:09:26
остальными arduino компонентами все
00:09:28
ссылки на этой странице ведут на
00:09:30
проверенных продавцов я лично здесь
00:09:32
закупаешься в весьма больших количествах
00:09:34
кстати я слегка переработал дизайн
00:09:36
своего каталога думаю вы оцените
00:09:38
следующий метод работает очень
00:09:40
интересным образом он возвращает правду
00:09:43
по таймеру если кнопка была удержана
00:09:45
у него есть свое настройка тайм-аута set
00:09:48
that time out давайте поставим
00:09:50
полсекунды
00:09:54
[музыка]
00:09:58
смотрим как это работает кнопка была
00:10:00
удержана и теперь с периодом в
00:10:02
полсекунды мы получаем сигнал зачем это
00:10:05
нужно я думаю вы уже догадались при
00:10:07
помощи этого метода можно реализовать
00:10:09
настроек какой-то величины по клику
00:10:11
увеличиваем однократно а при нажатии
00:10:13
получен постоянное увеличение с шагом по
00:10:15
времени как в китайских настольных часах
00:10:17
давайте я подключу вторую кнопку и
00:10:20
попробуем управлять переменной для этого
00:10:22
дела и открою готовил пример тут
00:10:24
подключен две кнопки и объявлена
00:10:25
переменная после любого действия новое
00:10:28
значение переменной выводится в порт ну
00:10:35
вот прям как не китайских часах с такой
00:10:38
системой настраивать своего устройства
00:10:40
будет гораздо удобнее вернемся к методу
00:10:42
тег у которого есть автоматический режим
00:10:44
как я рассказывал в начале видео при
00:10:46
установке режима работы автоматически
00:10:48
происходит вот что при вызове любого
00:10:50
метода библиотеки автоматически
00:10:52
вызывается тег и вызывать его отдельно
00:10:54
уже не нужно таким образом можно не
00:10:56
задумываясь опрашивать кнопки в
00:10:58
замкнутых циклах программы что очень
00:11:00
удобно но нужно понимать что опрос
00:11:02
занимает очень маленькое но все-таки
00:11:03
время поэтому при большом количестве
00:11:05
действий с кнопками и высокими
00:11:07
требованиями к скорости работы скетч их
00:11:09
лучше использовать ручной режим но в
00:11:11
проекте для новичков такая ситуация
00:11:13
возникает редко поэтому можно работать в
00:11:15
автоматическом режиме и вообще не
00:11:16
париться и последняя фишка библиотеки
00:11:19
заключаются в возможности пользоваться
00:11:20
всеми возможностями отработки нажатий
00:11:22
кнопок матричный и резистивных клавиатур
00:11:24
как это работает если в метод текст мы
00:11:27
подаем на логическое значение то он
00:11:29
отрабатывает его как кнопку 0 не нажата
00:11:32
один нажата если взять и системную
00:11:34
клавиатуру и при помощи условий
00:11:36
закидывать в тег нажатия кнопок мы
00:11:38
получим полную отработку матричной
00:11:40
клавиатуры со всеми много- кликами
00:11:42
удержания миэм прочими плюшками мир есть
00:11:45
папки с примерами точно также через
00:11:47
условия можно работать с джойстиком и он
00:11:49
будет вести себя как кнопка для которой
00:11:51
доступен клик удержание и все остальные
00:11:53
фишки библиотеки я надеюсь что моя
00:11:55
библиотека пригодится вам в ваших
00:11:57
проектах она позволяет очень сильно
00:11:59
упростить написание и чтения кода
00:12:01
прошивки делает его компактным и
00:12:03
удобного настройки
00:12:04
если вы считаете что библиотеки можно
00:12:06
что-то улучшить или оптимизировать и вы
00:12:08
можете это сделать столь ковыряетесь и
00:12:10
подтягивайте по реке
00:12:11
или просто пишите мне на почту также
00:12:13
хочу анонсировать что у нас теперь
00:12:15
появилась сообщества которое ждет ваших
00:12:17
ардуины проектов и авторских библиотек
00:12:20
регистрируйтесь и делитесь своими
00:12:21
наработками я буду очень рад
00:12:23
на этом сегодня все не забывайте ставить
00:12:25
лайки если видео вам понравилось и
00:12:27
подписываться на канал чтобы не
00:12:28
пропустить новые уроки и гайды спасибо
00:12:31
за внимание пока пока
00:12:33
[музыка]

Описание:

Сегодня займёмся максимально расширенной отработкой кнопки при помощи Arduino и моей библиотеки GyverButton. Будем ловить множественные клики, удержания, инкрементировать величины и многое другое! Что хочу донести: можете пользоваться библиотекой, не разбираясь, как оно работает. А можете почитать исходник .cpp и попробовать понять. Также хочу приучить новичков работать с файлами .h библиотеки, в котором всегда содержатся все доступные методы (функции для объекта). В своих библиотеках я пишу подробное описание именно там. ▼ Документация к GyverButton ▼ https://alexgyver.ru/gyverbutton/ ▼ Огромный стартовый набор GyverKIT ▼ https://kit.alexgyver.ru/ ▼ Уроки Arduino на сайте ▼ https://alexgyver.ru/lessons/ ▼ Модули и датчики с Али ▼ https://alexgyver.ru/arduino_shop/ ▼ Страница "Заметок Ардуинщика" ▼ https://alexgyver.ru/arduino_lessons/ Теги: ●●●●●●●●●●●●●●●●●●●● ► Основной канал: https://www.youtube.com/c/AlexGyverShow ► Поддержать автора https://alexgyver.ru/support_alex/ ► Официальный сайт: https://alexgyver.ru/ ► Почта: [email protected]

Готовим варианты загрузки

popular icon
Популярные
hd icon
HD видео
audio icon
Только звук
total icon
Все форматы
* — Если видео проигрывается в новой вкладке, перейдите в неё, а затем кликните по видео правой кнопкой мыши и выберите пункт "Сохранить видео как..."
** — Ссылка предназначенная для онлайн воспроизведения в специализированных плеерах

Вопросы о скачивании видео

mobile menu iconКак можно скачать видео "Уроки Arduino. Расширенное управление кнопкой"?mobile menu icon

  • Сайт http://unidownloader.com/ — лучший способ скачать видео или отдельно аудиодорожку, если хочется обойтись без установки программ и расширений. Расширение UDL Helper — удобная кнопка, которая органично встраивается на сайты YouTube, Instagram и OK.ru для быстрого скачивания контента.

  • Программа UDL Client (для Windows) — самое мощное решение, поддерживающее более 900 сайтов, социальных сетей и видеохостингов, а также любое качество видео, которое доступно в источнике.

  • UDL Lite — представляет собой удобный доступ к сайту с мобильного устройства. С его помощью вы можете легко скачивать видео прямо на смартфон.

mobile menu iconКакой формат видео "Уроки Arduino. Расширенное управление кнопкой" выбрать?mobile menu icon

  • Наилучшее качество имеют форматы FullHD (1080p), 2K (1440p), 4K (2160p) и 8K (4320p). Чем больше разрешение вашего экрана, тем выше должно быть качество видео. Однако следует учесть и другие факторы: скорость скачивания, количество свободного места, а также производительность устройства при воспроизведении.

mobile menu iconПочему компьютер зависает при загрузке видео "Уроки Arduino. Расширенное управление кнопкой"?mobile menu icon

  • Полностью зависать браузер/компьютер не должен! Если это произошло, просьба сообщить об этом, указав ссылку на видео. Иногда видео нельзя скачать напрямую в подходящем формате, поэтому мы добавили возможность конвертации файла в нужный формат. В отдельных случаях этот процесс может активно использовать ресурсы компьютера.

mobile menu iconКак скачать видео "Уроки Arduino. Расширенное управление кнопкой" на телефон?mobile menu icon

  • Вы можете скачать видео на свой смартфон с помощью сайта или pwa-приложения UDL Lite. Также есть возможность отправить ссылку на скачивание через QR-код с помощью расширения UDL Helper.

mobile menu iconКак скачать аудиодорожку (музыку) в MP3 "Уроки Arduino. Расширенное управление кнопкой"?mobile menu icon

  • Самый удобный способ — воспользоваться программой UDL Client, которая поддерживает конвертацию видео в формат MP3. В некоторых случаях MP3 можно скачать и через расширение UDL Helper.

mobile menu iconКак сохранить кадр из видео "Уроки Arduino. Расширенное управление кнопкой"?mobile menu icon

  • Эта функция доступна в расширении UDL Helper. Убедитесь, что в настройках отмечен пункт «Отображать кнопку сохранения скриншота из видео». В правом нижнем углу плеера левее иконки «Настройки» должна появиться иконка камеры, по нажатию на которую текущий кадр из видео будет сохранён на ваш компьютер в формате JPEG.

mobile menu iconСколько это всё стоит?mobile menu icon

  • Нисколько. Наши сервисы абсолютно бесплатны для всех пользователей. Здесь нет PRO подписок, нет ограничений на количество или максимальную длину скачиваемого видео.