Что бы там ни говорили "серьёзные дядьки-программисты", осознание того, что светодиод загорелся потому, что это микроконтроллер выполнил, написанный тобой, программный код, доставляет огромную радость! Алекс, спасибо за твои уроки! Смотрю и учусь потихоньку, восторгаясь открытиями :)
вы пишите не код, а СИ-образный скрипт. а уже среда компилирует его в код данного МК. с ей (среде) только известной степенью эффективности. если хочется писать код, то это ассемблер. разный, с кучей разных заморочек под разные МК.
@@fokinDim но ведь программа, написанная на языке ассемблера, - это тоже скрипт для ассемблера. Вот если хочется писать "настоящий код", тогда уже машинными кодами в бинарном виде. Все остальное так - детские поделки всяких ассемблер скриптеров-недоучек. А если по существу, так все эти ваши ужимки на программируемом чипе - это неэффективно, программы надо паять прямо в железе nand-гейтами, тогда работать будет быстро. Это точно тру.
@@agilov @agilov нет, ассемблер это не скрипт! это и есть машинный код определенного процессора/контроллера, просто в виде лучше читаемой мнемоники. например, эти записи совершенно тождественны. это одно и то же: org $A000 ld a, FF call $1000 A000: 3E A001: FF A002: CD A003: 00 A004: 10 A005: но я кажется понял, о чём вы: если вы выставляете кусок на асме (да хоть в 0x0000h кодах) среди скрипта в си-компиляторе приложений под операционные системы (!) и такой радостный думаете, что на этом куске процессор, для которого вы пишите реально откроет вам свои регистры, какие вы назначили, флаги, адресное пространство .. то хаха, скорее всего - нет. но это не отменяет факта, что ассемблер - это и есть машинный код.
@@fokinDim все верно ассемблер это не скрипт, ассемблер это программа, которая читает скрипт написанный на языке ассемблера, интерпретирует его и на выходе выдает последовательность машинных комманд уже на чистом машинном языке. Если мне не верите - почитайте вот эту статью например: ru.wikipedia.org/wiki/Ассемблер. Прошу прощения, конечно, что срываю покровы и разрываю шаблоны, но файл с текстом на языке ассемблера это скрипт и с этим ничего не поделать, придется с этим жить.
Когда я первый раз запрограммировал моргание светодиода лет 20 назад, и он заморгал, я поумал, что это совпадение, и на этой ноге всегда все моргает и лишь изменив delay я понял что я повелитель моргания
Где были эти уроки, когда я решился попробовать дуинки и писать скетчи... Без понимания простых вещей даже сайт с описанием команд не особо помогал. А теперь вот смотрю выпуски, имея маленькое понимание происходящего, да познаю новое) большое спасибо!
Самое главное даже ребёнку в 12 лет все понятно. Я поражаюсь до них доходит быстрее, чем до некоторых взрослых. Классно приподносишь материал. Респект!
Так детский мозг более пластичен и готов ко всему новому. Я помню в младших классах запоминала английские слова чуть ли не с первого раза, а сейчас так не могу, надо напрягаться немного.
Спасибо за видео. Можно дополнить, что если включить между А5 и 5+ резистор (по примеру резистора между А5 и GND), то получим INPUT_PULLUP с внешним резистором (А5 "притянется" к 5+). То же самое произойдет со всеми остальными входами, они перестанут "дребезжать" и притянутся туда куда включат резистор.
Алекс, спасибо за материал. Только по синтаксису хотел бы тебе на заметку сказать, что есть практики написания "читаемого" кода, в котрых рекомендуется, например, в обязательном порядке, ставить фигурные скобки для конструкций иф-элс, и прочее-прочее (есть дажее штуки типа tslint и типа того, которые подсвечивают "кривой" синтаксис в средах разработки).... В том числе различные принципы типа DRY и тому подобное. Думаю тебе, как человеку увлеченному, полезно будет ознакомиться, хотя бы для общего развития + опять же плюс в карму от бородатых трукодеров :) Код станет более читаемый и понятный. Это не претензия и не нравоучение - просто заметка бывалого программиста :) В остальном - спасибо! Большое дело делаешь, и делаешь хорошо!
Это все правильно и хорошо, но Arduino IDE просто заставляет ненавидеть чистый код со всеми ее через задницу работающими отступами, глючащими подсказками и прочими "прелестями".
Блин, ну ты даешь! Я поставил видео на паузу, написал код как ты показал - так все начало глючить при приближении руки к плате. Полез в нет, ничего толком не нашел, задолбал после посетителей форума амперки - и тогда нашел эти два варианта с резистором и через пуллап. После этого как все начало получатся продолжил смотреть ролик - и ты все через 30 сек сказал!)
Одно понять не могу, на 4:37 у автора пропиcан pinMode(13, INPUT); И при запуске COM порта на button2 нулевое значение, а сведиот L не светиться, у меня также прописан код,только (МК UNO), но при запуске светиод L загорается и button2 выдает значение 1. C чем это связано?
В самом последнем скетче: строку boolean button1 и далее - упразднить. Cледующую за ней строку тоже стоит упразднить (ибо 13 порт - выходной, и зачем мы с него что-то читаем - непонятно). Условие if - упразднить. добавить digitalWrite(13,!digitalRead(A5));
Алекс, ты МОЛОДЕЦ!!! У меня есть то набор, который ты показывал(или рекламировал))) и ещё дополнительно куча барахла к нему. Вот я в JavaScript - прошареный паца, а в c++ вообще 0. Половину того, что ты рассказываешь я знаю. Только немного отличается.
😅 отлично но здесь надо было добавить в описании подтягивающий резистор входу Ардуино. Но и так понятно. Но выходным ненужны ли стягивающие? Потому что они тоже могут давать наводки или нет? Потому что если один выход равно 1 а другой выход 0. То будут ли неверные показатели??😊
Привет, Алекс! Никак не могу понять почему на моменте 4:52 у тебя на второй кнопке сигнал равен нулю. Ведь ты убрал старую прошивку, на которой подавал на D13 низкий сигнал. Разве светодиод на плате не должен снова гореть и сигнал быть единицей на Button2 ?
отлично работает от USB, но когда питаю от кроны 9В через входы Vin и GND то не работает. Как правильно подключать кнопку при использовании внешнего питания?
Алекс, дай пожалуйста ссылку, чтобы почитать и понять, зачем и когда и насколько Ом подключать резисторы?! (что здесь, что при работе с масфет-транзисторами - не пойму) Буду очень признателен!
Спасибо. Но хотелось бы обьяснения почему с подключением резистора сигнал начал читаться нормально. И почему когда мы используем PULLUP нам не нужны +5V, а вместо этого мы подключаем к земле. Откуда у нас тогда высокий сигнал идет?
Я с тобой не соглашусь по портам. Один порт объединяет несколько пинов. На ардуино нано доступно три порта: PORTD(цифровые пины D0-D7), PORTB(цифровые пины D8-D13), PORTC(аналоговые пины А0-А5). Вместо того, чтобы возиться с каждым пином по отдельности, иногда легче задавать значение всего порта сразу, к примеру, при управлении семи-сегментным дисплеем в режиме развёртки напрямую от ардуино.
Вот информация на официальном сайте arduino: www.arduino.cc/en/Reference/PortManipulation Следует заметить, что управление портами напрямую работает быстрее, нежели digitalWrite или digitalRead, об этом написано тут, например: www.billporter.info/2010/08/18/ready-set-oscillate-the-fastest-way-to-change-arduino-pins/
У проводов есть паразитная емкость. Убираем провод - заряд остаётся. С резистором по другому - у него огромное сопротивление, и когда подключены настоящие 5 вольт, то он не может спустить весь ток на землю (ардуино видит высокий сигнал), но когда мы выдернули провод - резистор спускает маленький остаточный заряд на землю (ардуино видит слабый сигнал 0v или LOW). С pullup резистором всё примерно так же, но притягиваем не к земле, а к 5 вольтам. Как то так.
+kkjey wheiss он не убирает ошибки. Он устанавливает на пине четко понятное для микроконтроллера напряжение. Без подтяжки пин висит в воздухе, и ловит всякие наводки
Спасибо огромное!!!! Я новичек и мне дико понравилось особенно в вашем изложении. Не откажите в любезности у меня два вопроса 1 - как сделать что бы светодиод моргнул один раз при включении? 2- как написать скетч что бы светодиод загорался только в том случае когда на трех входах единица а если хотть на одном ноль то не загорался? Возможно это банально но мне пока сложно. Буду очень рад если поможете.
@@Bagasl Нет. КЗ это короткое замыкание, при котором по элементам цепи идёт недопустимо большой ток, в следствии чего как правило элемент выходит из строя. А резистор ограничивает этот ток до приемлемых величин
Недавно узнал: "тактовая кнопка" на самом деле ТАКТИЛЬНАЯ кнопка. )) Т.е. такая кнопка, которая отзывается кликом на нажатие (обеспечивает оператору тактильные ощущения = осязание события нажатия кожей пальца ). Даже не знаю, зачем я всё это написал. Всё равно всё останется как есть. +1 за труды, всех благ!
Для новичков. Итоговый код будет более оптимален в таком виде: boolean but; void setup() { Serial.begin(9600); pinMode(A5, INPUT_PULLUP); pinMode(13, OUTPUT); } void loop() { if (but == digitalRead(A5)) { but = !digitalRead(A5); digitalWrite(13, but); Serial.print("Button: ");Serial.println(but); }
} Не будет постоянной отправки данных на 13 пин и в консоль, в которой не будет постоянного мерцания значений.
Жаль с универом у тебя нет времени на уроки ) пока ждал уже сам разобрался с шаговиком, лсд и некоторыми другими штуками ) Но все равно то-то полезное, но узнаю. Благодарю )
Алекс, а что по поводу встроенной поддтяжки входов, есть ограничения? Читал рассуждения на тему выжигания ног МК... Не будет ли надежнее использовать внешние резисторы? Что думаешь на этот счет?
Быстро все объясняешь, на скорости 0.75 только можно уловить суть. А так отличные видео, с книгой по ардуино сидел неделю, так и ничего не понял, а тут все понятно. Спасибо, ждем новые видео. С термодатчиками бы что нибудь и датчиками влажности.
Алекс, я так обрадовался когда ты начал делать эти уроки. Ждал каждый, но пока они выходили выучил всё сам. Перерывы чертовски долгие. Я понимаю тебе сложно, но выбери определённую тему. Страдают все! И люди с квадрокоптерами и всякие оружейники и Ардуинщики и чёрт возьми даже вейперы!!!
Всё очень интересно и понято. Спасибо большое за урок! Кстати, у меня одного проблема с контактами, когда подключаю к белой плате? Контакт то есть, то его нет. Если делаю всё напрямую, то норм, а на плате как-то странно...
Хотелось бы подробнее узнать о нюансах ардуинки и основах электроники, для понимания, а не для запоминания. Например, не понятно откуда берётся питание 5v в последней схеме на входе pinMode(A5, INPUT_PULLUP). Как я понял, вписывая "INPUT_PULLUP", мы не просто добавляем подтягивающий резистор, а ещё напряжение 5v на входной пин. То есть, ардуинка замыкает 5v и пин и постоянно выдаёт логическую единицу на любом пине, где прописано "INPUT_PULLUP".
Пулап и есть подключение (подтягивание) пина внутренним резистором к пяти вольтам. То есть на пине они есть и стабильно читаются как логическая единица. Однако при прямом замыкании пина на землю кнопкой на нем получается логический ноль.
Непередаваемое ощущение, когда впервые зажигаешь светодиод на плате) Спасибо) Кодревью: Можно без if/else писать: --------------------------------------------------------------------------------- boolean buttonIsPressed = false; void setup() { pinMode(A0, INPUT_PULLUP); pinMode(13, OUTPUT); } void loop() { buttonIsPressed = !digitalRead(A0); digitalWrite(13, buttonIsPressed); } --------------------------------------------------------------------------------- В данном случае, можно и переменную не объявлять, тогда код будет выглядеть так: --------------------------------------------------------------------------------- void setup() { pinMode(A0, INPUT_PULLUP); pinMode(13, OUTPUT); } void loop() { digitalWrite(13, !digitalRead(A0)); } ---------------------------------------------------------------------------------
Вот это совсем другой вид уроков! я заново все учу и выкидую стили других уроковедов! Я думал что кнопке нужно +5 вольт всегда на ее распознавание и подачи тока на цель. светодиод скажим!
Алекс, давно за твоей работой наблюдаю, молодец. Спасибо тебе. У меня вопрос такой покажи как выводить тактовую частоту процессора разделив её на переменную равную от 2 до 128. Спасибо
Алекс, а какая мощность рассеивания у встроенного резистора (ВР) в Ардуинках? Я правильно понимаю, что ВР всегда будет работать штатно (ведь ток управления копеечный должен быть...), и можно все пины управления/чтения на всех навешанных модулях притягивать через него?
Здравствуйте! Не могли бы вы сделать что-то типа сигнализации, работающей через модуль NRF24L01 с вибродатчиком? При вибрации идет сигнал на ардуино и загорается светодиод на 3-4 секунды. Буду благодарен! Смотрю все ваши видео, так вот и сам хочу что-то смастерить.
Здоров Саня! Такой вопрос. Как к одной ардуино, (допустим нано) подключить и реле на 8 выходов, от 8 ми кнопок, и градусник, и сервопривод, от резистора, все одновременно. имею в виду как скетч выглядит...
Здравствуйте. Имеется Ардуино Леонардо. Нужно подключить кнопки к всем входам. Тоисть 14 кнопок. Но, все работаю кроме пин 0. Как можно его задействовать?
(5:00) Может статься, что у меня NANO слишком уж китайская, но в моем случае определение цифрового сигнала происходит корректно без резистора и без INPUT_PULLUP
Здравствуйте, задали такое задание, нужно использовать три тумблера или кнопки (Т1, Т2, Т3) и три разноцветных светодиода (красный, жёлтый и зелёный). Включение светодиодов должно определяться состоянием тумблеров в соответствии с таблицей вариантов заданий. Условия включения красного светодиода -Одновременно включены 1 и 2 тумблеры или выключен 3 тумблер. Условия включения жёлтого светодиода - Одновременно включены 1 и 3 тумблеры. Условия включения зелёного светодиода - Включён 2 тумблер. Помогите разобраться с кодом пожалуйста. Тут основано на булевых переменных, код необходимо писать исходя из таблицы истинности(имеется).
*Изначально очень нравился подход и манера объяснения.. Но чем больше сам погружался в мир ардуино, тем больше материал который предоставляет Алекс начинает становиться пустым. А именно, когда я не понимал вообще ничего, то казалось все элементарно и просто, и Алекс все классно и подробно объясняет... Но как это обычно и бывает, при изучении материала лично, начинают появляться вопросы, которые никто тебе не объясняет изначально и чем больше ты вникаешь, тем больше таких вопросов.... И когда спустя время ты начинаешь пересматривать Алекса, ты понимаешь что это все больше ШОУ, чем реальные уроки, так как он перескакивает и пропускает огромное количество материала, без которого понять или воспроизвести "его работы" просто не возможно. Ну и касаемо "его проектов", чем больше гуляешь по сети и миру ардуино, тем больше понимаешь, что написаного и созданного именно им - мало, все копируется с различных сайтов... я не считаю что это плохо... просто в итоге, главное не воспринимать это как что то действительно полезное, иначе можно и по "Воскресный вечер с Владимиром Соловьевым" геополитику и историю изучать.... ШОУ, оно и есть ШОУ.*
привет, Алекс. У меня плата ардуино уно, код в IDE точно такой же как у тебя. Ардуинка прошита этим кодом, подключена, но не работает с кнопкой это можно как нибудь пофиксить или нет?
Алекс привет. Мне кажется последний пример не совсем правильный. Я вот сижу тестирую и получается, что ты проверяешь на 13 пине все, а он так и так подключен к светодиоду. Если убрать все из функции loop, то он все равно будет гаснуть и загораться. Не важно даже, что написано в pinMode. У меня не кнопка, а переключатель.
Алекс, у меня Arduino NANO. Я установил все программы, всё работает, но у меня не горит светодиод зелёным на ардуинке как у Вас на видео. Это проблема или нет?
Что бы там ни говорили "серьёзные дядьки-программисты", осознание того, что светодиод загорелся потому, что это микроконтроллер выполнил, написанный тобой, программный код, доставляет огромную радость! Алекс, спасибо за твои уроки! Смотрю и учусь потихоньку, восторгаясь открытиями :)
вы пишите не код, а СИ-образный скрипт. а уже среда компилирует его в код данного МК. с ей (среде) только известной степенью эффективности.
если хочется писать код, то это ассемблер. разный, с кучей разных заморочек под разные МК.
@@fokinDim но ведь программа, написанная на языке ассемблера, - это тоже скрипт для ассемблера. Вот если хочется писать "настоящий код", тогда уже машинными кодами в бинарном виде. Все остальное так - детские поделки всяких ассемблер скриптеров-недоучек. А если по существу, так все эти ваши ужимки на программируемом чипе - это неэффективно, программы надо паять прямо в железе nand-гейтами, тогда работать будет быстро. Это точно тру.
@@agilov @agilov нет, ассемблер это не скрипт! это и есть машинный код определенного процессора/контроллера, просто в виде лучше читаемой мнемоники.
например, эти записи совершенно тождественны. это одно и то же:
org $A000
ld a, FF
call $1000
A000: 3E
A001: FF
A002: CD
A003: 00
A004: 10
A005:
но я кажется понял, о чём вы: если вы выставляете кусок на асме (да хоть в 0x0000h кодах) среди скрипта в си-компиляторе приложений под операционные системы (!) и такой радостный думаете, что на этом куске процессор, для которого вы пишите реально откроет вам свои регистры, какие вы назначили, флаги, адресное пространство .. то хаха, скорее всего - нет.
но это не отменяет факта, что ассемблер - это и есть машинный код.
@@fokinDim все верно ассемблер это не скрипт, ассемблер это программа, которая читает скрипт написанный на языке ассемблера, интерпретирует его и на выходе выдает последовательность машинных комманд уже на чистом машинном языке. Если мне не верите - почитайте вот эту статью например: ru.wikipedia.org/wiki/Ассемблер. Прошу прощения, конечно, что срываю покровы и разрываю шаблоны, но файл с текстом на языке ассемблера это скрипт и с этим ничего не поделать, придется с этим жить.
@@fokinDim А вы - душите без особой на то причины
не думал, что когда-то буду так радоваться загорающемуся диоду на микросхеме
ааааа я аж плакал когда прочитал +++++++++++++++++++++++
@@ИльяЕвгеньевич-б9ь ))))))))))))))))
Добрый день! Сделайте пожалуйста видео как сделать сервотестер штобы углы отклонения сервомашинки можно было видеть на экране монитора.
Когда я первый раз запрограммировал моргание светодиода лет 20 назад, и он заморгал, я поумал, что это совпадение, и на этой ноге всегда все моргает и лишь изменив delay я понял что я повелитель моргания
я который затрахался искать нужный резистор, выпаивал его с платы...... а потом мне сказали про встроенный
Где были эти уроки, когда я решился попробовать дуинки и писать скетчи... Без понимания простых вещей даже сайт с описанием команд не особо помогал. А теперь вот смотрю выпуски, имея маленькое понимание происходящего, да познаю новое) большое спасибо!
Самое главное даже ребёнку в 12 лет все понятно. Я поражаюсь до них доходит быстрее, чем до некоторых взрослых. Классно приподносишь материал. Респект!
какие умны дети мне 40 лет нихрена не понятно
Так детский мозг более пластичен и готов ко всему новому. Я помню в младших классах запоминала английские слова чуть ли не с первого раза, а сейчас так не могу, надо напрягаться немного.
Какой же ты молодец, фантастически качественный контент! Тысячу раз благодарю!
Спасибо! Благодоря этим уроком время от времени делаю всякие полезные штучки!
Автор, огромная благодарность тебе за твои уроки. Все понятно и приятно слушать. Обнял!
приподнял
Во вот таких уроков по больше, для меня новичка очень понятно стала работа кнопки
Огрооомнейшее спасибо, Алекс!
спасибо за input_pullup а то я уже замучился с этими резисторами (много кнопок), теперь буду знать
Спасибо за видео.
Можно дополнить, что если включить между А5 и 5+ резистор (по примеру резистора между А5 и GND), то получим INPUT_PULLUP с внешним резистором (А5 "притянется" к 5+). То же самое произойдет со всеми остальными входами, они перестанут "дребезжать" и притянутся туда куда включат резистор.
спустя 2 дня и кучи нервов этот чертов светодиод начал загораться с кнопки!!!!! паск*уда)))))
Спасибо Гайвер сделал урок счастья до конца дня.
Алекс) спасибо за труды!
Ураа! Новая серия! Божеж, ты можешь, прям счастье!
Я заказал с твоего сайта ардуинок пару тройку штук, уже 3 недели едут, думаю скоро доедут, ох как не терпится повтоять за тобой.
Алекс, спасибо за материал. Только по синтаксису хотел бы тебе на заметку сказать, что есть практики написания "читаемого" кода, в котрых рекомендуется, например, в обязательном порядке, ставить фигурные скобки для конструкций иф-элс, и прочее-прочее (есть дажее штуки типа tslint и типа того, которые подсвечивают "кривой" синтаксис в средах разработки).... В том числе различные принципы типа DRY и тому подобное. Думаю тебе, как человеку увлеченному, полезно будет ознакомиться, хотя бы для общего развития + опять же плюс в карму от бородатых трукодеров :) Код станет более читаемый и понятный. Это не претензия и не нравоучение - просто заметка бывалого программиста :) В остальном - спасибо! Большое дело делаешь, и делаешь хорошо!
vsem pohui
@@llllNEOllllchannel я не все, мне нужны скобки и комментарии.
Это все правильно и хорошо, но Arduino IDE просто заставляет ненавидеть чистый код со всеми ее через задницу работающими отступами, глючащими подсказками и прочими "прелестями".
Добротные уроки, спасибо!
Блин, ну ты даешь! Я поставил видео на паузу, написал код как ты показал - так все начало глючить при приближении руки к плате. Полез в нет, ничего толком не нашел, задолбал после посетителей форума амперки - и тогда нашел эти два варианта с резистором и через пуллап. После этого как все начало получатся продолжил смотреть ролик - и ты все через 30 сек сказал!)
Одно понять не могу, на 4:37 у автора пропиcан pinMode(13, INPUT);
И при запуске COM порта на button2 нулевое значение, а сведиот L не светиться, у меня также прописан код,только (МК UNO), но при запуске светиод L загорается
и button2 выдает значение 1. C чем это связано?
В самом последнем скетче: строку boolean button1 и далее - упразднить. Cледующую за ней строку тоже стоит упразднить (ибо 13 порт - выходной, и зачем мы с него что-то читаем - непонятно).
Условие if - упразднить.
добавить digitalWrite(13,!digitalRead(A5));
+Chuviw да знаю. Это не готовый код, это просто пример работы
Ты великий ардуинщик, желаю тебе удачи
Мужик, ты крутой, спасибо тебе!
Спасибо, все очень понятно. Очень хорошо объяснил
Алекс, ты МОЛОДЕЦ!!! У меня есть то набор, который ты показывал(или рекламировал))) и ещё дополнительно куча барахла к нему. Вот я в JavaScript - прошареный паца, а в c++ вообще 0. Половину того, что ты рассказываешь я знаю. Только немного отличается.
4:38 странно, у меня изначально не по нулям, а с лева 1, а справа 0. Почему так?
у меня тоже, не могу найти проблему
Сделай ,пожалуйста, следующий урок по подключению дисплеев к ардуино и их программированию
чего
Да сделай
@@skyhobby611 а что такого
Алекс, расскажи пожалуйста подробнее про интерфейс I2C. Как подключить к ардуино сразу несколько устройств по данному интерфейсу.
Жаль, редко уроки. Пока следующего ждёшь- предыдущий забудешь))
+Юрий Замятин очень время быстро летит. Вы сидите ждете, а я как будто вчера монтировал 4ый. Универ, мать его
в армию пойдешь долг отдавать? тогда вообще долго ждать придется. а потом и вовсе забить можешь на канал.
Алекс, я понимаю, учёба- основное.
+Donald Trump нет, я лейтенантом выйду
+Юрий Замятин учеба не основное. Просто никто не любит получать пиздюлей и тройки
Лайк за зачётный видос!
Спасибо за помощь) благодаря тебе все заработало)
😅 отлично но здесь надо было добавить в описании подтягивающий резистор входу Ардуино. Но и так понятно. Но выходным ненужны ли стягивающие? Потому что они тоже могут давать наводки или нет? Потому что если один выход равно 1 а другой выход 0. То будут ли неверные показатели??😊
спасибо за твои уроки трудновата но потихоньку вкуриваю
Огромное спасибо!
Привет, Алекс! Никак не могу понять почему на моменте 4:52 у тебя на второй кнопке сигнал равен нулю. Ведь ты убрал старую прошивку, на которой подавал на D13 низкий сигнал. Разве светодиод на плате не должен снова гореть и сигнал быть единицей на Button2 ?
тоже самое, плюсую
На 5:15 пин D13 работает корректно потому что по умолчанию на схеме к нему подключен светодиод через резистор?
Спасибо за видео и советы
отлично работает от USB, но когда питаю от кроны 9В через входы Vin и GND то не работает. Как правильно подключать кнопку при использовании внешнего питания?
Сударь, вы изумительные видео снимаете. Я восхищён до охуения. Премного благодарю вас.
когда на практике пришло осознание нахера подтягивать к земле резистором питание, прям кайфанул :-D
Спс, я ждал этого урока
Алекс, дай пожалуйста ссылку, чтобы почитать и понять, зачем и когда и насколько Ом подключать резисторы?! (что здесь, что при работе с масфет-транзисторами - не пойму) Буду очень признателен!
у меня почему-то, пока к пину не подключить нагрузку( светодиод например) то в мониторе показывает 1 на цифровых пинах
та же проблема
БОГ ЕСТЬ ЛЮБИТЕ БОГА И СВОИХ БЛИЖНИХ!!!☦❤🙏
Спасибо. Но хотелось бы обьяснения почему с подключением резистора сигнал начал читаться нормально. И почему когда мы используем PULLUP нам не нужны +5V, а вместо этого мы подключаем к земле. Откуда у нас тогда высокий сигнал идет?
Высокий сигнал идёт с pullup
ура! неужели видео!
Ты красавчик
Я с тобой не соглашусь по портам. Один порт объединяет несколько пинов. На ардуино нано доступно три порта: PORTD(цифровые пины D0-D7), PORTB(цифровые пины D8-D13), PORTC(аналоговые пины А0-А5). Вместо того, чтобы возиться с каждым пином по отдельности, иногда легче задавать значение всего порта сразу, к примеру, при управлении семи-сегментным дисплеем в режиме развёртки напрямую от ардуино.
+Engie вот такой инфы я еще нигде не видел....
Вот информация на официальном сайте arduino:
www.arduino.cc/en/Reference/PortManipulation
Следует заметить, что управление портами напрямую работает быстрее, нежели digitalWrite или digitalRead, об этом написано тут, например:
www.billporter.info/2010/08/18/ready-set-oscillate-the-fastest-way-to-change-arduino-pins/
где-то есть видео как ускорить программы написанные в "ардуино иде" в 20 раз.
Не совсем понял про подтягивающий резистор, точнее про принцип его работы. Почему он убирает "ошибки"?
У проводов есть паразитная емкость. Убираем провод - заряд остаётся. С резистором по другому - у него огромное сопротивление, и когда подключены настоящие 5 вольт, то он не может спустить весь ток на землю (ардуино видит высокий сигнал), но когда мы выдернули провод - резистор спускает маленький остаточный заряд на землю (ардуино видит слабый сигнал 0v или LOW). С pullup резистором всё примерно так же, но притягиваем не к земле, а к 5 вольтам. Как то так.
+kkjey wheiss он не убирает ошибки. Он устанавливает на пине четко понятное для микроконтроллера напряжение. Без подтяжки пин висит в воздухе, и ловит всякие наводки
Спасибо огромное!!!! Я новичек и мне дико понравилось особенно в вашем изложении. Не откажите в любезности у меня два вопроса 1 - как сделать что бы светодиод моргнул один раз при включении? 2- как написать скетч что бы светодиод загорался только в том случае когда на трех входах единица а если хотть на одном ноль то не загорался? Возможно это банально но мне пока сложно. Буду очень рад если поможете.
Спасибо за урок, не хватает обьяснения почему резистор тут помогает.
4:39 написал код идентично, только порты другие, т.к. использую мегу 2560. в мониторе на button2 показывает 1. В чем причина может быть?
Аналогично
PULLUP можно использовать один раз? Или сколько угодно, и не перегрузится ли резистор?
10ком, даже если 20 портов не страшно, до 50ма не дойдет
@@МаксЛычагин-ъ5э ты, я смотрю, шаришь в электронике, резистор для чего там нужен?
@@Bagasl чтобы не спалить плату, если + 5 вольт соединить с - 5 вольт (землёй или gnd) без резистора получится короткое замыкание.
@@deceiveitself7275 с резистором же такое же КЗ просто ток меньше, не?
@@Bagasl Нет. КЗ это короткое замыкание, при котором по элементам цепи идёт недопустимо большой ток, в следствии чего как правило элемент выходит из строя. А резистор ограничивает этот ток до приемлемых величин
Важная мелочь - к аналоговым пинам можно подключать дискретные сигналы, и обрабатывать их.
Недавно узнал: "тактовая кнопка" на самом деле ТАКТИЛЬНАЯ кнопка. )) Т.е. такая кнопка, которая отзывается кликом на нажатие (обеспечивает оператору тактильные ощущения = осязание события нажатия кожей пальца ). Даже не знаю, зачем я всё это написал. Всё равно всё останется как есть. +1 за труды, всех благ!
Для новичков. Итоговый код будет более оптимален в таком виде:
boolean but;
void setup() {
Serial.begin(9600);
pinMode(A5, INPUT_PULLUP);
pinMode(13, OUTPUT);
}
void loop() {
if (but == digitalRead(A5)) {
but = !digitalRead(A5);
digitalWrite(13, but);
Serial.print("Button: ");Serial.println(but);
}
}
Не будет постоянной отправки данных на 13 пин и в консоль, в которой не будет постоянного мерцания значений.
Объясните пожалуйста, для чего нужны циклы if, если можно на светодиод напрямую выводить состояние с кнопки?
Жаль с универом у тебя нет времени на уроки ) пока ждал уже сам разобрался с шаговиком, лсд и некоторыми другими штуками ) Но все равно то-то полезное, но узнаю. Благодарю )
Алекс, а что по поводу встроенной поддтяжки входов, есть ограничения? Читал рассуждения на тему выжигания ног МК... Не будет ли надежнее использовать внешние резисторы? Что думаешь на этот счет?
+Вячеслав Бард думаю что такой херни у меня никогда не случалось
Быстро все объясняешь, на скорости 0.75 только можно уловить суть. А так отличные видео, с книгой по ардуино сидел неделю, так и ничего не понял, а тут все понятно. Спасибо, ждем новые видео. С термодатчиками бы что нибудь и датчиками влажности.
Я смотрю на скорости 2
Алекс, я так обрадовался когда ты начал делать эти уроки. Ждал каждый, но пока они выходили выучил всё сам. Перерывы чертовски долгие. Я понимаю тебе сложно, но выбери определённую тему. Страдают все! И люди с квадрокоптерами и всякие оружейники и Ардуинщики и чёрт возьми даже вейперы!!!
+mine miner ну, увы...
А если подключить кнопку через резистор могу ли я узнать его сопротивление в режиме input_pullup при нажатии на кнопку?
Через аналоговый пин можно. Загугли омметр на ардуино
Всё очень интересно и понято. Спасибо большое за урок!
Кстати, у меня одного проблема с контактами, когда подключаю к белой плате? Контакт то есть, то его нет. Если делаю всё напрямую, то норм, а на плате как-то странно...
Да, контакты изнашиваются, можно их достать поджать
А если gnd задействован на подключение nrf24l01, то внутренний резистор уже не подтянуть?
Хотелось бы подробнее узнать о нюансах ардуинки и основах электроники, для понимания, а не для запоминания.
Например, не понятно откуда берётся питание 5v в последней схеме на входе pinMode(A5, INPUT_PULLUP). Как я понял, вписывая "INPUT_PULLUP", мы не просто добавляем подтягивающий резистор, а ещё напряжение 5v на входной пин. То есть, ардуинка замыкает 5v и пин и постоянно выдаёт логическую единицу на любом пине, где прописано "INPUT_PULLUP".
Пулап и есть подключение (подтягивание) пина внутренним резистором к пяти вольтам. То есть на пине они есть и стабильно читаются как логическая единица. Однако при прямом замыкании пина на землю кнопкой на нем получается логический ноль.
и я тоже в панике смотрю.. откуда ток если оба конца в минусе стоят... что за волшебство и откуда взялась инверсия...
Непередаваемое ощущение, когда впервые зажигаешь светодиод на плате) Спасибо)
Кодревью:
Можно без if/else писать:
---------------------------------------------------------------------------------
boolean buttonIsPressed = false;
void setup()
{
pinMode(A0, INPUT_PULLUP);
pinMode(13, OUTPUT);
}
void loop()
{
buttonIsPressed = !digitalRead(A0);
digitalWrite(13, buttonIsPressed);
}
---------------------------------------------------------------------------------
В данном случае, можно и переменную не объявлять, тогда код будет выглядеть так:
---------------------------------------------------------------------------------
void setup()
{
pinMode(A0, INPUT_PULLUP);
pinMode(13, OUTPUT);
}
void loop()
{
digitalWrite(13, !digitalRead(A0));
}
---------------------------------------------------------------------------------
Вот это совсем другой вид уроков! я заново все учу и выкидую стили других уроковедов!
Я думал что кнопке нужно +5 вольт всегда на ее распознавание и подачи тока на цель. светодиод скажим!
как ты открыл COM3
Привет. Очень интересно все это. Ты обещал рассказать как сделать блютуз передатчик для контроллеров без танцев с бубном))). Поделись плиз.
Алекс, давно за твоей работой наблюдаю, молодец. Спасибо тебе. У меня вопрос такой покажи как выводить тактовую частоту процессора разделив её на переменную равную от 2 до 128. Спасибо
1:25 - аналоговые порты UNO точно могут работать, как выходы? Везде указано, что они только принимают напряжение с датчиков.
"везде" никто не проверяет информацию, прежде чем ее написать
Добрый вечер скажи а как тут прописать чтоб при одном нажатии горела лампочка при втором тухла
Ну где ты был когда я мучился с кучей резисторов?? Оказывается можно так просто программно это всё сделать!
Под конец видео, собрал, из земли к кнопке, из кнопки в А5.. откуда плюсовой взялся ток, для работы цепи? Земля принимает же (-)?
+Александр Гришанов input_pullup - подтяжка к плюсу встроенным резистором
Заметки Ардуинщика от какого же порта + идет? Да, я немного чайник)
+Александр Гришанов изнутри микроконтроллера, он просто так "может"
Алекс, а какая мощность рассеивания у встроенного резистора (ВР) в Ардуинках? Я правильно понимаю, что ВР всегда будет работать штатно (ведь ток управления копеечный должен быть...), и можно все пины управления/чтения на всех навешанных модулях притягивать через него?
Здравствуйте! Не могли бы вы сделать что-то типа сигнализации, работающей через модуль NRF24L01 с вибродатчиком? При вибрации идет сигнал на ардуино и загорается светодиод на 3-4 секунды. Буду благодарен! Смотрю все ваши видео, так вот и сам хочу что-то смастерить.
Подскажите название исполнителя джазовой музыки в ваших роликах.
Спасибо!!!!!!!!!!
Александр, расскажи как создавать классы и использовать их в сложных программах.
Напряжение высокого уровня не равно 5В из-за защитного диода на входе питания от USB, он находится прямо под разъёмом.
Отлично, как всегда на высоте
Здоров Саня! Такой вопрос. Как к одной ардуино, (допустим нано) подключить и реле на 8 выходов, от 8 ми кнопок, и градусник, и сервопривод, от резистора, все одновременно. имею в виду как скетч выглядит...
Здравствуйте. Имеется Ардуино Леонардо. Нужно подключить кнопки к всем входам. Тоисть 14 кнопок. Но, все работаю кроме пин 0. Как можно его задействовать?
Здравствуйте! можно ли к одному цифроаому порту подключить несколько кнопок сразу?
(5:00) Может статься, что у меня NANO слишком уж китайская, но в моем случае определение цифрового сигнала происходит корректно без резистора и без INPUT_PULLUP
Спасибо за комментарий! У меня теперь тоже заработала кнопка!!!!!
Начинаю понимать.
А можешь сделать видео так же, но про уно, я пытался повторить но не получилось.
А я вот написал digitalWrite(6, button); и результат такой же, как и у тебя. светодиод загорается при нажатии кнопки.
у меня короче.
Когда уже будет проект ЧПУ......жду не могу прям
Здравствуйте, задали такое задание, нужно использовать три тумблера или кнопки (Т1, Т2, Т3) и три разноцветных светодиода (красный, жёлтый и зелёный). Включение светодиодов должно определяться состоянием тумблеров в соответствии с таблицей вариантов заданий.
Условия включения красного светодиода -Одновременно включены 1 и 2 тумблеры или выключен 3 тумблер.
Условия включения жёлтого светодиода - Одновременно включены 1 и 3 тумблеры.
Условия включения зелёного светодиода - Включён 2 тумблер.
Помогите разобраться с кодом пожалуйста. Тут основано на булевых переменных, код необходимо писать исходя из таблицы истинности(имеется).
А возможно из цифровоого или аналогового пина сделать землю?
Можно, но только из цифрового. Для этого нужно его сконфигурировать как выход и задать на нем постоянное значение низкого уровня, то есть 0.
*Изначально очень нравился подход и манера объяснения.. Но чем больше сам погружался в мир ардуино, тем больше материал который предоставляет Алекс начинает становиться пустым. А именно, когда я не понимал вообще ничего, то казалось все элементарно и просто, и Алекс все классно и подробно объясняет... Но как это обычно и бывает, при изучении материала лично, начинают появляться вопросы, которые никто тебе не объясняет изначально и чем больше ты вникаешь, тем больше таких вопросов.... И когда спустя время ты начинаешь пересматривать Алекса, ты понимаешь что это все больше ШОУ, чем реальные уроки, так как он перескакивает и пропускает огромное количество материала, без которого понять или воспроизвести "его работы" просто не возможно. Ну и касаемо "его проектов", чем больше гуляешь по сети и миру ардуино, тем больше понимаешь, что написаного и созданного именно им - мало, все копируется с различных сайтов... я не считаю что это плохо... просто в итоге, главное не воспринимать это как что то действительно полезное, иначе можно и по "Воскресный вечер с Владимиром Соловьевым" геополитику и историю изучать.... ШОУ, оно и есть ШОУ.*
Класc👍👍👍
У меня слишком короткий провод от ардуинки, поэтому приходится работать под столом)Можно ли его как-то удлинить?
привет, Алекс. У меня плата ардуино уно, код в IDE точно такой же как у тебя. Ардуинка прошита этим кодом, подключена, но не работает с кнопкой
это можно как нибудь пофиксить или нет?
Такая же проблема
почему у меня не работает команда boolean?
попробуй bool
Алекс привет. Мне кажется последний пример не совсем правильный. Я вот сижу тестирую и получается, что ты проверяешь на 13 пине все, а он так и так подключен к светодиоду. Если убрать все из функции loop, то он все равно будет гаснуть и загораться. Не важно даже, что написано в pinMode. У меня не кнопка, а переключатель.
Хорошие уроки и понятно.Можно желательно все подробней обяснять например зачем двойное равно и т.д.
+Arduino esp это объяснялось в прошлых уроках. Если я буду объяснять все заново в каждом выпуске, никакого прогресса не будет вообще
спс за видос
Алекс, у меня Arduino NANO. Я установил все программы, всё работает, но у меня не горит светодиод зелёным на ардуинке как у Вас на видео. Это проблема или нет?