Уроки Arduino #6 - отработка нажатия кнопки при помощи флажков

  Рет қаралды 488,434

Заметки Ардуинщика

Заметки Ардуинщика

7 жыл бұрын

В этом уроке научимся работать с флажками и сделаем расширенную отработку нажатия кнопки с защитой от дребезга контактов.
▼ Скетчи из урока ▼
alexgyver.ru/arduino/lesson_6_...
▼ OneButton library ▼
github.com/mathertel/OneButton
▼ Огромный стартовый набор GyverKIT ▼
kit.alexgyver.ru/
▼ Уроки Arduino на сайте ▼
alexgyver.ru/lessons/
▼ Модули и датчики с Али ▼
alexgyver.ru/arduino_shop/
▼ Страница "Заметок Ардуинщика" ▼
alexgyver.ru/arduino_lessons/
Теги: #arduino #уроки #ардуино #alexgyver
●●●●●●●●●●●●●●●●●●●●
► Основной канал: / alexgyvershow
► Поддержать автора alexgyver.ru/support_alex/
► Официальный сайт: alexgyver.ru/
► Почта: alex@alexgyver.ru

Пікірлер: 480
@SlavikSelin
@SlavikSelin 6 жыл бұрын
Незнание о существовании некоторых библиотек благоприятно влияет на умственное развитие)
@Lobzik01
@Lobzik01 5 жыл бұрын
Золотые слова!
@anon3696
@anon3696 5 жыл бұрын
Со смыслом
@Dmitriitube
@Dmitriitube 5 жыл бұрын
Жиза
@lifegood6083
@lifegood6083 4 жыл бұрын
@@anon3696 САС МЫСЛОМ ПРАВИЛЬНО
@anon3696
@anon3696 4 жыл бұрын
Life Good 🤣🤣🤣 извиняюсь
@DenaGur
@DenaGur 4 жыл бұрын
С каждым уроком становится только интереснее и сам материал разобран практически до мелочи, всё очень доходчиво)) Спасибо автору!!!
@georgijwlassow7430
@georgijwlassow7430 5 жыл бұрын
Интересные знания, четкое изложение, лаконичность, понятность и точнось и качество монтажа. Супер. Спасибо.
@_91th
@_91th 7 жыл бұрын
Огромное спасибо автору за работу, очень круто. Лучшие уроки на русском ютубе!
@user-tx4hu2fp7s
@user-tx4hu2fp7s 3 жыл бұрын
Тоже начал осваивать язык ардуино. Спасибо автору за интересные ролики и доступное объяснение! Заметил один нюанс (возможно тут уже кто то об этом писал). Код с millis(); отрабатывает антидребезг только при нажатии на кнопку но не при отпускании (что при отпускамии у меня приводило к ложным срабатываниям). Антидребезг при отпускании устранился дописыванием той же конструкции (- last_press > 50 и last_press = millis();) во второй оператор if.
@mikurrey416
@mikurrey416 2 ай бұрын
Воот, а я думал, это кнопка у меня такая задолбанная, что ей надо 200мс прописывать. Оказалось, тоже отпускание шумит. Спасибо за комментарий!
@user-oe6ol2yt4l
@user-oe6ol2yt4l 7 жыл бұрын
Автор! Твои уроки просто замечательны! все легко и понятно, формат помогает полностью усвоить все что ты говоришь и показываешь! Продолжай в том же духе! Ты красавчик)
@user-rj5oz5fv2z
@user-rj5oz5fv2z 7 жыл бұрын
Все доступно, понятно, лаконично - максимум информации за минимум времени. Наглядно и качественно. Подписка, лайки и пожелание всех благ. Не останавливайтесь!!!
@user-dn5to9ow9s
@user-dn5to9ow9s 7 жыл бұрын
Лучшие уроки по ардуинке:)
@Lomosat
@Lomosat 7 жыл бұрын
Прекрасные уроки. Всё по делу, куча полезного материала в единицу времени, приятный голос и музыкальное сопровождение. Вы талантливый преподаватель.
@droncheg
@droncheg 4 жыл бұрын
Спасибо за труд. Подача материала на высоте, благодаря этим урокам, рискнул взяться за освоение Ардуино
@iserdead458
@iserdead458 7 жыл бұрын
Шикарные уроки, ждём продолжения!
@user-yi7fv6fh6o
@user-yi7fv6fh6o 6 жыл бұрын
Как и в остальных Уроках: четко, последовательно и обстоятельно. Великолепно!
@wolchara25
@wolchara25 4 жыл бұрын
Спасибо большое за твои уроки, очень хорошо помогли быстро разобраться во всем и решить поставленную задачу)
@vsmakeev
@vsmakeev 7 жыл бұрын
Как всегда коротко, но при этом детально разобран вопрос. Спасибо!
@user-fi3yo1lm4y
@user-fi3yo1lm4y 3 ай бұрын
Уважаемый автор! Большое вам спасибо за ваши уроки!
@user-gl8oq2sm8p
@user-gl8oq2sm8p 4 жыл бұрын
Спасибо! На основе этого урока сделал себе простой сигнализатор наполнения ванны =) Взял 1 Arduino Nano, 1 спикер от ПК и из кусочка старого текстолита сделал "датчик дождя". Выяснилось что спикер тихий и взял у жены старую круглую моно-колонку. Сваял все это дело так, разъем Jack 3.5 землю к земле Arduino, левый и правый канал замкнул на пин D3 (3 pin), далее "датчик дождя" по принципу кнопки, 1 контакт к земле Arduino, 2 к пину A5 (19 pin). Код из этого урока с не большыми поправками: #define b 3 //3 pin спикера if (button1H) { Serial.println("hold"); tone (b, 500); //Пищание с частотой 500 Hz delay(100); //Задержка tone(b, 1000); delay(100); button1H = 0; } void setTone(int pin, int note, int duration) { tone(pin, note, duration); delay(duration); noTone(pin); //Прекращение пищания } Коробку потом из под Тик-Так возьму =) А вообще с ESP8266 или с RFками можно зацепить к "умному" проекту как "датчик дождя", сырости или наполнения резервуара.
@vidi3266
@vidi3266 4 жыл бұрын
Очень классно всё объясняешь!! Спасибо!
@edelectron1080
@edelectron1080 2 жыл бұрын
Человек, ты просто молодец!!!! Я пока ничерта в этом не соображаю, но мне ОЧЕНЬ ИНТЕРЕСНО!!!!
@__520
@__520 7 жыл бұрын
Спасибо, что в описании всё оставил!
@LigSei
@LigSei 4 жыл бұрын
Капец! Как же это интересно!
@iriska2255
@iriska2255 6 жыл бұрын
Вот умеет же человек обьяснить, просто и по делу.
@user-fw6zz2qi6l
@user-fw6zz2qi6l 7 жыл бұрын
Как всегда просто и полезно! С кнопками уже разобрался, но всё равно полезно иметь такую напоминалку =D
@SMTHelse01
@SMTHelse01 3 жыл бұрын
боже, Гайвер спасибо огромное! Только тут нашёл то, что искал 10 часов! СПАСИБО!
@user-mg6zy3st5p
@user-mg6zy3st5p 6 жыл бұрын
сколько книг с темами по запоминанию состояния кнопки прочитал, это видео - самое понятное и эффективное объяснение! Молодчина, Алекс!
@user-vu6hn4ul2i
@user-vu6hn4ul2i 3 жыл бұрын
Эмммм, мне кажется, что вы слегка преувеличиваете. КНИГ (!) по запоминанию состояния кнопки.
@igorpopov5584
@igorpopov5584 8 ай бұрын
пошел вон
@sf_fs_kida
@sf_fs_kida 2 жыл бұрын
Качественно, доходчиво, понятно!!!! КЛАС
@romaibragimov9872
@romaibragimov9872 5 жыл бұрын
Спасибо!!! Очень интересное видео!
@Daniel-lg9rg
@Daniel-lg9rg 7 жыл бұрын
Нужно больше видео!!!
@skeppi8412
@skeppi8412 7 жыл бұрын
я вот ожидал шутки "батт-флаг - баттплаг". но я с годами, видимо, стал слишком пошлым :-) а вообще хорошее дело делаешь. я ради интереса смотрю, как второй канал любимого автора, хотя мне, к примеру, учиться тут особо нечему, ибо пишу давно и приходилось на дельфи, сишарпе, разных скриптах пилить код. даже клятые ладдеры копать приходилось :-) а со временем привыкаешь, что синтаксис - дело десятое, главное алгоритм :-) но очень многим без опыта поможет. респект!
@ArduNotes
@ArduNotes 7 жыл бұрын
спасибо =) А шутка и правда лучше моей
@user-ws5jf6qz1x
@user-ws5jf6qz1x 7 жыл бұрын
Спасибо за видео. Вы лучший
@Chitinec75rus
@Chitinec75rus 7 жыл бұрын
Все оч. круто!!!!Жду с нетерпение обещанный урок по спящему режиму ардуино.
@user-xk9dk3gh4j
@user-xk9dk3gh4j 7 жыл бұрын
как всегда все понятно.
@user-fr1nh1yx2k
@user-fr1nh1yx2k 4 жыл бұрын
Понял все. Спасибо!
@korbinos
@korbinos 4 жыл бұрын
very well, please keep going in this way :)
@neatcut5194
@neatcut5194 6 жыл бұрын
Просто ОФИГЕННЫЙ УРОК !!!!!!!!
@user-sc8ye9qj5e
@user-sc8ye9qj5e 7 жыл бұрын
Молодец. Видео приятно посмотреть, несмотря на то, что ты это всё давно уже знаешь. )
@Yaroslav.22
@Yaroslav.22 Жыл бұрын
Спасибо за классные видео
@Jackson_Sam
@Jackson_Sam 7 жыл бұрын
Спасибо! Всё супер!
@Klagerh
@Klagerh Ай бұрын
Спасибо за урок ! - КРУТО !!!
@Andrew-hh7ht
@Andrew-hh7ht 3 жыл бұрын
СПАСИБО ЗА УРОК
@elenapoplos9537
@elenapoplos9537 3 жыл бұрын
Спасибо за видео и советы
@sparksoul5814
@sparksoul5814 3 жыл бұрын
Класс,наслаждение от видоса)
@user-ck4pn1wn9n
@user-ck4pn1wn9n 3 жыл бұрын
спасибо все понятно.РАБОТАЕТ!!!
@kanjosidr
@kanjosidr 6 жыл бұрын
Отсылку оценил, спасибо :D
@user-yz3us4qu2u
@user-yz3us4qu2u 7 жыл бұрын
Чувак самый что есть крутяк. УВАЖУХА
@joni1234ize
@joni1234ize 4 жыл бұрын
Спасибо за уроки, очень все классно. Единственная проблема у меня - качество моих кнопок такое, что время на устранение дребезга близко к времени, когда уже HOLD надо принимать))))
@user-mt7rt8ib2z
@user-mt7rt8ib2z 2 жыл бұрын
спасибо за урок
@igorpr.8188
@igorpr.8188 2 жыл бұрын
Класс! Спасибо большое!
@jcdfce2707
@jcdfce2707 6 жыл бұрын
Спасибо за видео. Переработаю свой код кнопки в проекте бортового компьютера для игры ETS2. На языке С не писал до ардуино, так что в новинку некоторые вещи. А Com-порт использую не только для дебага, но и для двухстороннего обмена ардуино с программой на Perl в проекте, в частности надо отслеживать нажатие кнопки.
@Werbard
@Werbard 5 жыл бұрын
Как всегда лайк лучшему ардуинщику ютуба! Но... Есть проблемка... Такой обработчик кнопок отвалится через 49 (49,71026961805556) дней непрерывной работы устройства. Расковырял библиотеку - та же фигня, переход millis через 0 она не отрабатывает. Так что если устройство должно работать нонстоп (у меня это контроллер отопления на даче), то придется корчить сволй обработчик. Вот для примера счетчик секунд, можно и обработчик кнопок аналогично сделать ;) Кстати, пойду сделаю, я сюда именно в расчете на него и залез ) void loop(){ if(!isNewMillis && millis() > nextSec){ newSecond(); } else if(isNewMillis && millis() < oldSec && millis() > nextSec){ newSecond(); } } void newSecond(){ oldSec = nextSec; //задаем значение текущей секунды nextSec += 1000; //вычисляем следующую секунду if(nextSec < oldSec){ //проверяем будет ли следующая меньше текущей (таймер обнулился) isNewMillis = true; } else{ isNewMillis = false; } }
@amantaeveldar1300
@amantaeveldar1300 7 жыл бұрын
if aa_old a^= digitalRead(); Функция XOR; С помощью нее можно взвести и сбросить флаг. Сократив цикл if.
@geek4277
@geek4277 6 жыл бұрын
if это не цикл)
@jdy.
@jdy. 3 жыл бұрын
самое нормальное объяснение, которое я только смог найти, не то что хрень типа debounce прописаная в setup
@user-bf4cz4qj6e
@user-bf4cz4qj6e 4 жыл бұрын
Супер!!!
@xxx166
@xxx166 7 жыл бұрын
Крутой канал все понятно и доступно, уважение !!!!!!!!!!!!!!!!!!!!!!! так держать, тебя ждет большое успех!!!! Когда следующие видосы ?
@ArduNotes
@ArduNotes 7 жыл бұрын
+David Poshelyk осенью
@nyanband2291
@nyanband2291 7 жыл бұрын
Было бы классно твои видосы внедрить в школы на уроки информатики, потому что там сейчас полный агхтунг! Пейнт, Карл, пейнт ещё самый первый((((( Ты не думал об этом?
@user-oy1sq7mc4d
@user-oy1sq7mc4d 7 жыл бұрын
а кто там препода1ёт информатику? Зп начинающего учителя 12 000 р. Теперь к зарплате начиначиющего учителя добавь зп начинающего программиста хотя бы. В школе не должны учить программированию. Это прирагатива специализированных кафедр в вузах
@Werbard
@Werbard 7 жыл бұрын
nyan band Герман совершенно прав. Ардуино вообще было придумано именно для студентов. А если внедрять это на уроках информатики - это уже уклон в одну сторону... или нужно все уроки усложнить до такого уровня... ммм... литература на уровне первых курсов филфака...
@alexeibelousov3279
@alexeibelousov3279 7 жыл бұрын
в конце 90х в школе было то же самое, примитивные рисовалки в винде, примитивная печать текста в текстовых редакторах, немного электронных таблиц + бейсик. К сожалению многие даже этого не тянули. Ардуино в школе можно рассматривать как дополнительный кружок по интересам робототехники\моделирования
@hisbelhul
@hisbelhul 7 жыл бұрын
программирование в среде паскаль с 7-9 класс
@nooooordy
@nooooordy 7 жыл бұрын
программированию надо учить начиная с детского сада. Никто ж не заставляет учить С++
@Mexahoid
@Mexahoid 7 жыл бұрын
Лайк за отсылку к флагштоку =)
@мемныйкот
@мемныйкот 3 жыл бұрын
Спасибо.
@junyjell8614
@junyjell8614 5 жыл бұрын
СПАСИБО! НАКОНЕЦТО КНОПКА ЗАРАБОТАЛА
@user-hh3cd9yv7b
@user-hh3cd9yv7b 7 жыл бұрын
Хорошо было бы если ты разобрал в видео функции и команды отдельно ,а уже потом показывал их применение .
@sergeyselishchev4010
@sergeyselishchev4010 7 жыл бұрын
Алекс предлагаю идейку для проекта на ардуинке. Предлагаю сделать сигналку для дома, дачи квартиры. Канала так на четыре для возможности подключить разные датчики дым ,газ ,вода ,движение. Ну и конечно с оповещением на телефон что за лини сработала.
@paulogorodetsky3656
@paulogorodetsky3656 7 жыл бұрын
Так вот чем ардуинщики в воскресенье утром занимаются:)
@morkoffka
@morkoffka 7 жыл бұрын
Это вчера вечером под пивко, а выложено утром :-)
@paulogorodetsky3656
@paulogorodetsky3656 7 жыл бұрын
Владимир Белов возможно 😉
@SergeyKardakov
@SergeyKardakov 7 жыл бұрын
Привет. Ты так классно все разжевываешь! Можешь запилить видео по созданию суточного таймера для включения-выключения света на несколько каналов? Таких видео много, но они какие-то неполные.. Авторы показывают конечный результат, и только...
@user-iy2us9rq6o
@user-iy2us9rq6o Жыл бұрын
большое спасибо тебе даже мне школьнику всё ясно
@MrSteep2
@MrSteep2 7 жыл бұрын
Класс
@maksymskachkov1098
@maksymskachkov1098 6 жыл бұрын
Круто
@user-sc8ye9qj5e
@user-sc8ye9qj5e 7 жыл бұрын
Delay - бичёвская команда! )
@user-vu6hn4ul2i
@user-vu6hn4ul2i 3 жыл бұрын
Delay team...
@Disorrder
@Disorrder 3 жыл бұрын
Oh, yeees! Touch mu butt harder! А вообще, крайне рекомендую или полностью писать button, или хотя бы btn - это более широко известное сокращение, чтобы не было таких казусов) Вместо hold рекомендую события up/down. И в коде программы уже принимать решения как с ними быть. Хоть холд, хоть просто обработка нажатия.
@vicitacal11
@vicitacal11 7 жыл бұрын
ахахахах Библиотека)))) Я об этом не знал, но инженерное мышление подсказало как регистрировать и нажатие, и удержание, и двойное нажатие без всяких библиотек. Теперь такая гордость из за этого.
@TheVitall
@TheVitall 7 жыл бұрын
Расскажи пожалуйста про это.
@vicitacal11
@vicitacal11 7 жыл бұрын
Когда кнопка нажата, запускается цикл, который каждые 100 мс добавляет 1 к переменной, потом когда кнопка отпущена, цикл заканчивается. Затем можно задавать параметры для интервала этой переменной. То есть в ней записано сколько времени кнопка была нажата.
@MakeFirePro
@MakeFirePro 7 жыл бұрын
Привет из Люберец :)
@sergeikolesnikov6596
@sergeikolesnikov6596 3 жыл бұрын
Ochen bistro kommentiruesh i pechataesh, dlya novichkov ochen tiazhelo za toboi uspevat. ne vse zhe programmers like you.
@BDV41
@BDV41 9 ай бұрын
Pause
@murwi9675
@murwi9675 7 жыл бұрын
Алекс, привет! Покажи пожалуйста туториал по ИК приемнику.
@pozh_rom-64.
@pozh_rom-64. 7 жыл бұрын
ждем новое видео!
@pavel_light2179
@pavel_light2179 7 жыл бұрын
Сделай ещё один урок пожалуйста!!)
@Vadim_Dudin
@Vadim_Dudin 7 жыл бұрын
Pavel_Light он уехал минимум до августа, поэтому роликов за это время точно не будет.
@user-pb2gp7qp8x
@user-pb2gp7qp8x 6 жыл бұрын
Сделай пожалуйста видео про графику.Что-бы ардуино по желанию могла рисовать на экране.
@Taras195
@Taras195 6 жыл бұрын
Первые два правила интернетов не забывай. Отсылка, конечно, хороша, но названия переменных и флагов в уроке хорошо было-бы использовать разными по звучанию, очень легко запутаться.
@FaxMaxx
@FaxMaxx 4 жыл бұрын
Цитата с сайта alexgyver.ru/lessons/arduino-libraries/ "oneButton - библиотека для расширенной работы с кнопкой. На мой взгляд неудобная". А в видео говорится, что ЗАМЕЧАТЕЛЬНАЯ. За уроки СПАСИБО!!!
@user-br5po5dn6f
@user-br5po5dn6f 7 жыл бұрын
у тебя можно многому научиться у тебя всё понятно но к ардуино можно подключать не только датчики но и LCD display 2004А и выводить на них разную информацию . Если будет время то вот одна идея для следующего урока.
@channeltovar
@channeltovar 2 жыл бұрын
спасибо теперь надо сообразить как работает гирлянда и попытаться повторить в качестве урока
@sergeygordich
@sergeygordich 4 жыл бұрын
вот сейчас снова удивил! на кнопке 3 команды! блин это только кнопу тыкаем )) а что же дальше !
@netlineWiFi
@netlineWiFi 7 жыл бұрын
*Уроки замечательные!* Все шесть прошел и вот жду следующий выпуск, так интересно стало. Кстати, что ты думаешь о Fritzing, я имею ввиду писать код, прошивать МК и смотреть в монитор COM-порта, почти все нужное там есть для прошивки, как в Arduino IDE. Или дефолтная IDE лучше?
@ElfimAirman
@ElfimAirman 7 жыл бұрын
подскажи Arduino PRO micro прошивать только через специальную плату для прошивки или можно на прямую с компа
@Vetalfoto
@Vetalfoto 5 жыл бұрын
Спасибо за классное видео. А как обрабатывать несколько разных кнопок?
@bitbanan4ik766
@bitbanan4ik766 3 жыл бұрын
На разные порты подключать кнопки от земли, либо можно помучаться и сделать все кнопки на аналоговый порт(разное напряжение - разный сигнал)
@titan-fu7iz
@titan-fu7iz 6 жыл бұрын
замутил токую вещь с пьезо пищялкой и о боги работает
@valery4653
@valery4653 7 жыл бұрын
Расскажи, пожалуйста, как самому написать библиотеку для ардуино.Думаю, многим будет интересно.
@Pavel_Degen_R4HKG
@Pavel_Degen_R4HKG 7 жыл бұрын
Давай больше видео уроков
@volodya185
@volodya185 6 жыл бұрын
Я взял этот скетч.... Флажки - хорошо, но почему-то путает иногда двойное нажатие с одиночным, подумал, подумал, решил сам написать свою программку обработки и ура, всё работает. ( я решил, что выполнение кода всё время пока зажата кнопка не нужно и не добавлял это, а главное, если понадобится можно всегда дописать )
@ArduNotes
@ArduNotes 6 жыл бұрын
+MrKpoT а скинь на почту :3 адрес на странице о канале, для коммерческих вопросов
@megacatsky3152
@megacatsky3152 Жыл бұрын
дякую
@slavit100
@slavit100 6 жыл бұрын
Здравствуйте. Помогите пожалуйста правильно написать часть скетча: Такое условие работает отлично if(temp < 25)digitalWrite(rele, HIGH); else digitalWrite(rele, LOW); но мне нужно включать реле по условию температуры, а выключать кнопкой S1. Но самое важное - условие будет повторяться с другой температурой и нужно включать это же реле, а вот отключить потом реле нужно уже кнопкой S2.
@DEDUS.ARASAKA
@DEDUS.ARASAKA 4 жыл бұрын
было бы неплохо начинать названия логических переменных со слова is. например isButtonPressed. повышает читаемость
@user-db4cx2ww5b
@user-db4cx2ww5b 5 жыл бұрын
Подскажите какую библиотеку или скейч установить для открывания автоматических варот.
@user-ou8yb3tf4d
@user-ou8yb3tf4d 7 жыл бұрын
Код в конце видео не спасает от дребезга. Дребезг срабатывает, через указанную millis. Если задержку поставить в секунду, то дребезг и сработает через секунду. Флаг меняется в цикле if, тоесть, сработает после задержки millis. Хорошо только то, что срабатывает повторно, если совпадет условие после дребезга кнопки, а не 5-10 раз как дребезжит кнопка. =)) Надеюсь поняли))) Если попробовать двойной if сделать, в первом меняется логика кнопки, во втором, если задержка меньше - игнорировать, если больше - выполнить код в if. Что-то наподобие вот этого: if (butt == 1 && butt_flag == 0) { butt_flag = 1; if (millis() - last_press > 1000) { releOn = !releOn; digitalWrite(rele1, releOn); Serial.println("Button pressed"); last_press = millis(); } else { Serial.println("drebezggg"); } } Но это не точно. У меня этот код вроде работает. У меня всё на реле завязано, поэтому подписано реле )) В целом код мне нравится, попробовал сделать включение нескольких источников на 4 кнопки, задержку миллис поставил в секунду. Мне нравится, да и эта миллис просто открытие для меня, не то, что этот делей))
@dmitry5754
@dmitry5754 6 жыл бұрын
Проверку (millis() - last_press>0) надо вставить на отпускание кнопки: if( !butt && butt_flag && millis() - last_press>0) в примере возможно неточность, т.к. там проверяется время повторного нажатия, что бессмысленно (нажатие уже зафиксировано в butt_flag ).
@Radio-hobby
@Radio-hobby 7 жыл бұрын
Автор, хотелось бы еще увидеть переключение команд (режимов работы) одной кнопкой , ну к примеру, нажал кнопку, бегущий огонь, еще раз нажал кнопку бегущая тень и так далее, почему-то многие, кто делает подобные обучающие ролики эту функцию игнорируют.
@dmitrij34
@dmitrij34 7 жыл бұрын
Потому, что это задача для вас. Ну тривиально же. Создаём ещё одну переменную с числовым значением, которая будет в себе хранить статус ващей программы 0 - Огоньки выключены, 1 - Моргают, 2 - бегают. Далее в функции loop по нажатию кнопки меняем значение переменной, а ещё ниже в loop чекаем if'ом в каком состоянии сейчас переменная и ведём себя соответственно (ну а как сами режимы сделать я надеюсь вы знаете. Можно например по времени отсчитывать и т.д). Да, я не рассказал про прерывания, захотите, сами найдёте. Но начинайте с этого.
@contentex1
@contentex1 7 жыл бұрын
Уважаемый Алекс! Ваши уроки - очень классные!!! Не могли бы вы когда-нибудь рассказать в отдельном видео как вы все это снимаете? Какие проги, режиссура, озвучка, анимация. Просто у вас так это здорово все выглядит, звучит и толково, что хочется и тут понять и научиться как делается. Большое спасибо! ВЫ МОЛОДЕЦ!
@ArduNotes
@ArduNotes 7 жыл бұрын
+contentex спасибо) думаю после цикла уроков я сделаю такой ролик, типо завершающий
@igorpopov5584
@igorpopov5584 8 ай бұрын
Уважаемый Алекс! Ваши уроки - очень классные!!! Не могли бы вы когда-нибудь рассказать в отдельном видео как вы все это снимаете? Какие проги, режиссура, озвучка, анимация. Просто у вас так это здорово все выглядит, звучит и толково, что хочется и тут понять и научиться как делается. Большое спасибо! ВЫ МОЛОДЕЦ!
@kelrimor2720
@kelrimor2720 4 жыл бұрын
Пасиба, решил свою задачу. Но дописал удобную функцию, чтоб меньше руками писать. Мою функцию вставить после конца главного цикла ... bool btn1=false; bool btn1_flag=false; void loop{ //Здесь ваш код if(btn1 && !btn1_flag && cooldown() ) { btn1_flag=true; } // } // // //Отсюда начинается //моя функция // unsigned long last_press=millis(); unsigned long Time=0; bool cooldown(){ Time=millis()-last_press; bool x=Time>50; //50 можно заменить на //любую свою задержку //в миллисекундах last_press=millis(); return x; } Суть в том, что функция отработает задержку сама если ее вызвать в виде if(A&& cooldown()) ,где А - ваши проверки кнопок или чего-нибудь ещё cooldown () - проверка как в играх откат способности. Тот же смысл и здесь. Проверка на возможность использования части кода в данный момент времени
@kelrimor2720
@kelrimor2720 4 жыл бұрын
Есть возможность добавить аргумент по умолчанию в функцию для указания времени задержки. Но после этого функция сразу потребовала указывать себя до основного кода. Поэтому сюда не привёл.
@gflviv3917
@gflviv3917 7 жыл бұрын
Алекс, привет! Хочу предложить тебе крутую идею для нового видео. В чем суть: прибор на ардуино который будет считать витки, сделанные намоточным станком и выводить их на экран, но при кручении намоточной болванки в одну сторону ардуино будет прибавлять витки, а при кручении в обратную отнимать их. Я думал об этом и вот, к чему дошёл: Появилась идея использовать 2 датчика холла таким образом, чтобы при считывании последовательного сигнала сначала с первого датчика, а потом з второго ардуина понимала , что нужно прибавить виток, а если наоборот (сначала с второго а потом с первого), то убавить. Или как-нибудь механически передавать информацию о стороне кручения болванки на ардуину. Думаю эта идея тебе понравиться. Отпиши мне что думаешь об этом. (или помоги советом)))) Надеюсь на твою помощь.
@user-lo8co2nl5u
@user-lo8co2nl5u 7 жыл бұрын
Алекс!!! АУ, когда gyvermod!??
@x_mouzzer_x
@x_mouzzer_x 5 жыл бұрын
привет, а можно на флажках меню собрать? чтобы выполнять действие по очереди, выставля флаг на след действие и снимая с "себя" как уже завершонее, и чтоб не стопорить луп?
@user-zr7rj9qd8x
@user-zr7rj9qd8x 5 жыл бұрын
Скажите пожалуйста, как вы саму схему собирали? в дигитал 3 совали плюс, и со стороны дигитал гнд? или как?
@kirznervadim7072
@kirznervadim7072 5 жыл бұрын
Кстати, скорее всего , что надо устанавливать задержку на антидребезг и для отжатия состояния. Т.к. если нажать кнопку и удерживать ее дольше времени на антидребезг, то может проскочить дребезжание при отжатии кнопки. как-то так.
@MrTripsin
@MrTripsin 6 жыл бұрын
А мне приглянулась библиотека Bounce2. Рекомендую
@nikolaiuser3190
@nikolaiuser3190 Жыл бұрын
дребезг можно легко убирать программно. if(digitalRead(0) == 0){ //делаем что-то while (digitalRead(0) == 0); // не даем программе выйти пока кнопка держится) }
@user-ms3id7jv7v
@user-ms3id7jv7v 8 ай бұрын
спасибо, работает
@MrBestKenny
@MrBestKenny 3 жыл бұрын
Смотрю Ваши уроки. Возник вопрос с переключанием светодиода. Зачем писать состояние светодиода? Его разве нельзя считать через digitalRead? К примеру, когда кнопка нажата выполнять digitalRead пина, к которому подключен светодиод, и если там LOW, то ставить HIGH и наоборот. Или я что-то не так понимаю?
🤖Я в шоке! ChatGPT пишет Arduino проекты
28:24
Heartwarming: Stranger Saves Puppy from Hot Car #shorts
00:22
Fabiosa Best Lifehacks
Рет қаралды 21 МЛН
MEGA BOXES ARE BACK!!!
08:53
Brawl Stars
Рет қаралды 36 МЛН
🛠️ТОП 15 САМОДЕЛОК 2019 [AlexGyver]
17:24
AlexGyver
Рет қаралды 1,8 МЛН
Уроки Arduino #7 - подключение светодиода
3:39
Заметки Ардуинщика
Рет қаралды 440 М.
Фишки Arduino, о которых ты не знал!
13:37
Заметки Ардуинщика
Рет қаралды 108 М.
Уроки Arduino. Расширенное управление кнопкой
12:42
Заметки Ардуинщика
Рет қаралды 220 М.
You can learn Arduino in 15 minutes.
16:34
Afrotechmods
Рет қаралды 9 МЛН
Опыт использования Мини ПК от TECNO
1:00
Андронет
Рет қаралды 770 М.
КРУТОЙ ТЕЛЕФОН
0:16
KINO KAIF
Рет қаралды 5 МЛН
Самый дорогой кабель Apple
0:37
Romancev768
Рет қаралды 340 М.
Как правильно выключать звук на телефоне?
0:17
Люди.Идеи, общественная организация
Рет қаралды 761 М.
Мой инст: denkiselef. Как забрать телефон через экран.
0:54
Simple maintenance. #leddisplay #ledscreen #ledwall #ledmodule #ledinstallation
0:19
LED Screen Factory-EagerLED
Рет қаралды 30 МЛН