Что бы там ни говорили "серьёзные дядьки-программисты", осознание того, что светодиод загорелся потому, что это микроконтроллер выполнил, написанный тобой, программный код, доставляет огромную радость! Алекс, спасибо за твои уроки! Смотрю и учусь потихоньку, восторгаясь открытиями :)
вы пишите не код, а СИ-образный скрипт. а уже среда компилирует его в код данного МК. с ей (среде) только известной степенью эффективности. если хочется писать код, то это ассемблер. разный, с кучей разных заморочек под разные МК.
@@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+). То же самое произойдет со всеми остальными входами, они перестанут "дребезжать" и притянутся туда куда включат резистор.
Одно понять не могу, на 4:37 у автора пропиcан pinMode(13, INPUT); И при запуске COM порта на button2 нулевое значение, а сведиот L не светиться, у меня также прописан код,только (МК UNO), но при запуске светиод L загорается и button2 выдает значение 1. C чем это связано?
В самом последнем скетче: строку boolean button1 и далее - упразднить. Cледующую за ней строку тоже стоит упразднить (ибо 13 порт - выходной, и зачем мы с него что-то читаем - непонятно). Условие if - упразднить. добавить digitalWrite(13,!digitalRead(A5));
Блин, ну ты даешь! Я поставил видео на паузу, написал код как ты показал - так все начало глючить при приближении руки к плате. Полез в нет, ничего толком не нашел, задолбал после посетителей форума амперки - и тогда нашел эти два варианта с резистором и через пуллап. После этого как все начало получатся продолжил смотреть ролик - и ты все через 30 сек сказал!)
Алекс, спасибо за материал. Только по синтаксису хотел бы тебе на заметку сказать, что есть практики написания "читаемого" кода, в котрых рекомендуется, например, в обязательном порядке, ставить фигурные скобки для конструкций иф-элс, и прочее-прочее (есть дажее штуки типа tslint и типа того, которые подсвечивают "кривой" синтаксис в средах разработки).... В том числе различные принципы типа DRY и тому подобное. Думаю тебе, как человеку увлеченному, полезно будет ознакомиться, хотя бы для общего развития + опять же плюс в карму от бородатых трукодеров :) Код станет более читаемый и понятный. Это не претензия и не нравоучение - просто заметка бывалого программиста :) В остальном - спасибо! Большое дело делаешь, и делаешь хорошо!
Это все правильно и хорошо, но Arduino IDE просто заставляет ненавидеть чистый код со всеми ее через задницу работающими отступами, глючащими подсказками и прочими "прелестями".
(5:00) Может статься, что у меня NANO слишком уж китайская, но в моем случае определение цифрового сигнала происходит корректно без резистора и без INPUT_PULLUP
Привет, Алекс! Никак не могу понять почему на моменте 4:52 у тебя на второй кнопке сигнал равен нулю. Ведь ты убрал старую прошивку, на которой подавал на D13 низкий сигнал. Разве светодиод на плате не должен снова гореть и сигнал быть единицей на Button2 ?
отлично работает от USB, но когда питаю от кроны 9В через входы Vin и GND то не работает. Как правильно подключать кнопку при использовании внешнего питания?
😅 отлично но здесь надо было добавить в описании подтягивающий резистор входу Ардуино. Но и так понятно. Но выходным ненужны ли стягивающие? Потому что они тоже могут давать наводки или нет? Потому что если один выход равно 1 а другой выход 0. То будут ли неверные показатели??😊
Алекс, ты МОЛОДЕЦ!!! У меня есть то набор, который ты показывал(или рекламировал))) и ещё дополнительно куча барахла к нему. Вот я в JavaScript - прошареный паца, а в c++ вообще 0. Половину того, что ты рассказываешь я знаю. Только немного отличается.
Я с тобой не соглашусь по портам. Один порт объединяет несколько пинов. На ардуино нано доступно три порта: 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/
@@Bagasl Нет. КЗ это короткое замыкание, при котором по элементам цепи идёт недопустимо большой ток, в следствии чего как правило элемент выходит из строя. А резистор ограничивает этот ток до приемлемых величин
Спасибо. Но хотелось бы обьяснения почему с подключением резистора сигнал начал читаться нормально. И почему когда мы используем PULLUP нам не нужны +5V, а вместо этого мы подключаем к земле. Откуда у нас тогда высокий сигнал идет?
Я сам не очень шарю и возможно стоить спросить у ChatGPT. Насколько я понимаю все дело в законе Ома(можете погуглить), короче говоря, без сопраьевления что-то сгорит
Конкретно в этом случае резистор нужен, так как после отключения порта А5 от порта 5V, тот остается «чувствительным» и ловит всякие шумы, поэтому его значение может скакать то на 0, то на 1. А резистор это как клапан, через который мы сливаем этим заряды-шумы в заземление, чтобы они нам не мешали. И так как сопротивление маленькое, то оно при этом никак не влияет на то, когда мы порт А5 снова подключаем к 5V - порт будет снова показывать 1. ЧатГПТ и правда может неплохо объяснить. Можно его еще просить объяснить подробнее и с аналогией в виде воды и труб.
Если брать аналогию с водой, то без резистора у нас порт А5 чувствительный остается и на нем может оседать роса или дождик мелкий идет (шумы из окружающей среды) и он это улавливает, и то 1 показывает, то 0. Заземление в нашем случае это огромный бездонный бак в земле для слива воды в него ненужной. А резистор это тоненький шланг небольшого диаметра - такой тоненький, что через него совсем немного воды утекает. И он подключен к А5 порту и к заземлению. И поэтому все шумы, которые оказываются на порту А5 - вся эта небольшая влага, стекают в наш бездонный бак заземления и никак не влияют на порт А5, поэтому он показывает 0 благополучно, а не скачет туда-сюда. А если мы подключаем порт 5В, то это как водонапорная башня - в ней вода под давлением и вода с нее стекает по обычному проводу-шлангу в порт А5. И этот провод - он не такой узкий, как резисторный шланг, по нему сразу много воды течет от водонапорной башни 5V к порту А5. При этом через резисторный шланг по-прежнему вода стекает помаленьку. Но это значение такое маленькое, что никак не влияет на основную подачу, поэтому когда от порта 5В ток идет к А5, резистор не влияет особо, и А5 показывает, что напор воды большой (Button1: 1)
У проводов есть паразитная емкость. Убираем провод - заряд остаётся. С резистором по другому - у него огромное сопротивление, и когда подключены настоящие 5 вольт, то он не может спустить весь ток на землю (ардуино видит высокий сигнал), но когда мы выдернули провод - резистор спускает маленький остаточный заряд на землю (ардуино видит слабый сигнал 0v или LOW). С pullup резистором всё примерно так же, но притягиваем не к земле, а к 5 вольтам. Как то так.
+kkjey wheiss он не убирает ошибки. Он устанавливает на пине четко понятное для микроконтроллера напряжение. Без подтяжки пин висит в воздухе, и ловит всякие наводки
Алекс, дай пожалуйста ссылку, чтобы почитать и понять, зачем и когда и насколько Ом подключать резисторы?! (что здесь, что при работе с масфет-транзисторами - не пойму) Буду очень признателен!
Всё очень интересно и понято. Спасибо большое за урок! Кстати, у меня одного проблема с контактами, когда подключаю к белой плате? Контакт то есть, то его нет. Если делаю всё напрямую, то норм, а на плате как-то странно...
Для новичков. Итоговый код будет более оптимален в таком виде: 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 пин и в консоль, в которой не будет постоянного мерцания значений.
Хотелось бы подробнее узнать о нюансах ардуинки и основах электроники, для понимания, а не для запоминания. Например, не понятно откуда берётся питание 5v в последней схеме на входе pinMode(A5, INPUT_PULLUP). Как я понял, вписывая "INPUT_PULLUP", мы не просто добавляем подтягивающий резистор, а ещё напряжение 5v на входной пин. То есть, ардуинка замыкает 5v и пин и постоянно выдаёт логическую единицу на любом пине, где прописано "INPUT_PULLUP".
Пулап и есть подключение (подтягивание) пина внутренним резистором к пяти вольтам. То есть на пине они есть и стабильно читаются как логическая единица. Однако при прямом замыкании пина на землю кнопкой на нем получается логический ноль.
Алекс, а что по поводу встроенной поддтяжки входов, есть ограничения? Читал рассуждения на тему выжигания ног МК... Не будет ли надежнее использовать внешние резисторы? Что думаешь на этот счет?
Алекс, а почему у тебя программа работает, при несоблюдении синтаксиса ? 6:52 Там ты не ставишь фигурные скобки, после условия, и все работает. А у меня так не работает ? Это зависит от версии IDE ? Или я что то неправильно делаю ?
Недавно узнал: "тактовая кнопка" на самом деле ТАКТИЛЬНАЯ кнопка. )) Т.е. такая кнопка, которая отзывается кликом на нажатие (обеспечивает оператору тактильные ощущения = осязание события нажатия кожей пальца ). Даже не знаю, зачем я всё это написал. Всё равно всё останется как есть. +1 за труды, всех благ!
привет, Алекс. У меня плата ардуино уно, код в IDE точно такой же как у тебя. Ардуинка прошита этим кодом, подключена, но не работает с кнопкой это можно как нибудь пофиксить или нет?
Спасибо огромное!!!! Я новичек и мне дико понравилось особенно в вашем изложении. Не откажите в любезности у меня два вопроса 1 - как сделать что бы светодиод моргнул один раз при включении? 2- как написать скетч что бы светодиод загорался только в том случае когда на трех входах единица а если хотть на одном ноль то не загорался? Возможно это банально но мне пока сложно. Буду очень рад если поможете.
Здравствуйте. Имеется Ардуино Леонардо. Нужно подключить кнопки к всем входам. Тоисть 14 кнопок. Но, все работаю кроме пин 0. Как можно его задействовать?
Быстро все объясняешь, на скорости 0.75 только можно уловить суть. А так отличные видео, с книгой по ардуино сидел неделю, так и ничего не понял, а тут все понятно. Спасибо, ждем новые видео. С термодатчиками бы что нибудь и датчиками влажности.
@@serega3214 Индикаторная лампочка L у порта 13 имеет неопределенное напряжение без установки подтягивающего резистора (INPUT_PULLUP в коде), то есть значения могут прыгать от 0 до ~ 1В. Вы тем более у компа наверняка сидите, а это источник помех. Можно замерить вольтметром на "чистой" программе контакты порта и земли, там не всегда 0. Короче не заморачивайтесь, главное чтобы с подтягивающих резистором все работало.
@@ПавелОсокин-ш3г, у меня после кодключения подтягивающих резисторов всё равно значение прыгает 1-0. Юзаю плату Arduino DUO. Может знаете, с чем это связано? Может из-за того, что резисторы на самой плате слабые, ибо когда подсоединяю дополнительно, то проблема пропадает...
@@artemkhrb3071 Вы про 13 пин говорите? Просто достаточно давно сталкивался с такой проблемой у UNO с 13-й индикаторной лампочкой, искал в интернете почему у меня такое происходит, даже подумал, что плата сломана) У нее (мелкой лампочки) там прикол в строении, к тому же плата же не оригинальная (хотя проблем у меня не было, только с подключением - драйвер скачать). Да и на самом деле пофигу) На практике вы скорее всего будете выводить на отдельный пин обычный 2-вольтовый красненький светодиод (нагрузка - ключевое слово) и использовать INPUT_PULLUP в коде, когда захотите отследить нажатие кнопок например. Проблем не будет.
Алекс, я так обрадовался когда ты начал делать эти уроки. Ждал каждый, но пока они выходили выучил всё сам. Перерывы чертовски долгие. Я понимаю тебе сложно, но выбери определённую тему. Страдают все! И люди с квадрокоптерами и всякие оружейники и Ардуинщики и чёрт возьми даже вейперы!!!
у меня ардуино UNO выдает 1 без какого либо подключения, когда подаю LOW (GND) значение меняется на 0, то есть инвертированные показатели, почему так? void setup() { pinMode(A5, INPUT_PULLUP); Serial.begin(9600); } void loop() { boolean but1 = digitalRead(A5); Serial.println(but1); }
То же самое, диод горит при подключении (по умолчанию), соответственно 1, а в ролике он не горит (0). Это именно на УНО, а подключаю Нано и всё идет как в ролике.
подтверждаю! Тут непонятки на UNO, Алекс, внеси ясность, такой баг с самого начала изучения подталкивает на уничтожение ардуинки)) Инверсия выходит, когда подаю сигнал на 13й пин - диод потухает. Инверсия ничего не дает, только отображение в окне вывода, но на диод не влияет.
Здравствуйте! Не могли бы вы сделать что-то типа сигнализации, работающей через модуль NRF24L01 с вибродатчиком? При вибрации идет сигнал на ардуино и загорается светодиод на 3-4 секунды. Буду благодарен! Смотрю все ваши видео, так вот и сам хочу что-то смастерить.
Вот это совсем другой вид уроков! я заново все учу и выкидую стили других уроковедов! Я думал что кнопке нужно +5 вольт всегда на ее распознавание и подачи тока на цель. светодиод скажим!
Здоров Саня! Такой вопрос. Как к одной ардуино, (допустим нано) подключить и реле на 8 выходов, от 8 ми кнопок, и градусник, и сервопривод, от резистора, все одновременно. имею в виду как скетч выглядит...
Непередаваемое ощущение, когда впервые зажигаешь светодиод на плате) Спасибо) Кодревью: Можно без 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)); } ---------------------------------------------------------------------------------
может кто подсказать!!?? у меня Arduino UNO R3 сделать все как у автора на 5:00 минуте но почему-то вижу что оба пина выдают 1 а не 0 (без подключения 5V) проблему решил изменением INPUT на OUTPUT почему так? может кто подсказать? и ещё у меня все работает стабильно даже без подключения резистора это нормально?
Здравствуйте, задали такое задание, нужно использовать три тумблера или кнопки (Т1, Т2, Т3) и три разноцветных светодиода (красный, жёлтый и зелёный). Включение светодиодов должно определяться состоянием тумблеров в соответствии с таблицей вариантов заданий. Условия включения красного светодиода -Одновременно включены 1 и 2 тумблеры или выключен 3 тумблер. Условия включения жёлтого светодиода - Одновременно включены 1 и 3 тумблеры. Условия включения зелёного светодиода - Включён 2 тумблер. Помогите разобраться с кодом пожалуйста. Тут основано на булевых переменных, код необходимо писать исходя из таблицы истинности(имеется).
Алекс, а какая мощность рассеивания у встроенного резистора (ВР) в Ардуинках? Я правильно понимаю, что ВР всегда будет работать штатно (ведь ток управления копеечный должен быть...), и можно все пины управления/чтения на всех навешанных модулях притягивать через него?
Почему то у меня D12 и D13 по умолчанию в ком порте выдают 1, даже в сетапе вводил digitalWrite(13, 0) после компиляции и загрузке все равно выдает 1 и зажигает светодиод. Зато с А5 все нормально, работает как в видео...
Serial.print("Button1: " + (String)but1 + ", Button2: " + (String)but2 + " "); То же самое, только занимает одну строку. оператор + объединяет строковые значения тоже.
Алекс, вопрос. Ты говоришь, что в этом видео речь о цифровых пинах, но выдаёшь ток на аналоговом. Пул_ап резистор он один для все выходов, или у каждого выхода свой? И не совсем понятно, декларируя я могу сказать int a = A5 но для диджитал D5 писать не надо, откуда система знает что int b = 5 это константа b, а не выход 5-ого пина?
Цифровой пин это такое себе условное название, большинство пинов с индексом А также могут работать в режимe Input/Output. Подтягивающий резистов свой для каждого пина. А5 в системе это имя постоянной переменной, значение которой задано 19; вызовите контекстное меню на А5(правая кнопка мыши) и выберите "Go to Definition"
Нет, видео наблюдение это сложно ибо видеопоток не потянет ардуинка, это просто микроконтроллер, который умеет решать поставленные математические и логические задачи.
можно, только не видео, а фото наблюдение :) скорости не хватит для видео потока, ну разве если картинка видео будет 320 x 240 с частотой 1 кадр в сек. И то получаем 76800 байт плюс столько же на кодирование цвета, и еще половина этого на синхроимпульсы. если минимальный битрейт принять 16 кбит/с для монохрома или в трое больше для цвета со звуком получим поток больше или практически равный максимальной скорости порта Com порта 30KБ/сек ( камеры для ардуино работают по последовательному интерфейсу). Но если рассматривать вариант с отправкой фото скажем по тревоге или каждые 5 минут - то как бы можно смерится :) Еще есть камеры на интерфейсе I2C, но они то же особой картинкой не отличаются. Вариант домофона с качеством картинки «говорящая голова» более реален :)
товарищи подскажите почему перед digitalWrite не должно быть фигурных скобок (ну и после соответственно)? я конечно проверил, что с ними код не работает, но все одно, почему скобок то нет?
Жаль с универом у тебя нет времени на уроки ) пока ждал уже сам разобрался с шаговиком, лсд и некоторыми другими штуками ) Но все равно то-то полезное, но узнаю. Благодарю )
Подключил для управления шаговым движком 2 кнопки (крутиться вперед и назад) но обнаружил на маленькой скорости что при одном коротком нажатии на кнопку двигатель все равно потихоньку крутится пока полоборота не сделает. Как это можно вылечить?
Что бы там ни говорили "серьёзные дядьки-программисты", осознание того, что светодиод загорелся потому, что это микроконтроллер выполнил, написанный тобой, программный код, доставляет огромную радость! Алекс, спасибо за твои уроки! Смотрю и учусь потихоньку, восторгаясь открытиями :)
вы пишите не код, а СИ-образный скрипт. а уже среда компилирует его в код данного МК. с ей (среде) только известной степенью эффективности.
если хочется писать код, то это ассемблер. разный, с кучей разных заморочек под разные МК.
@@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 лет нихрена не понятно
Так детский мозг более пластичен и готов ко всему новому. Я помню в младших классах запоминала английские слова чуть ли не с первого раза, а сейчас так не могу, надо напрягаться немного.
Где были эти уроки, когда я решился попробовать дуинки и писать скетчи... Без понимания простых вещей даже сайт с описанием команд не особо помогал. А теперь вот смотрю выпуски, имея маленькое понимание происходящего, да познаю новое) большое спасибо!
Какой же ты молодец, фантастически качественный контент! Тысячу раз благодарю!
спустя 2 дня и кучи нервов этот чертов светодиод начал загораться с кнопки!!!!! паск*уда)))))
Спасибо за видео.
Можно дополнить, что если включить между А5 и 5+ резистор (по примеру резистора между А5 и GND), то получим INPUT_PULLUP с внешним резистором (А5 "притянется" к 5+). То же самое произойдет со всеми остальными входами, они перестанут "дребезжать" и притянутся туда куда включат резистор.
Во вот таких уроков по больше, для меня новичка очень понятно стала работа кнопки
Спасибо! Благодоря этим уроком время от времени делаю всякие полезные штучки!
Автор, огромная благодарность тебе за твои уроки. Все понятно и приятно слушать. Обнял!
приподнял
Одно понять не могу, на 4:37 у автора пропиcан pinMode(13, INPUT);
И при запуске COM порта на button2 нулевое значение, а сведиот L не светиться, у меня также прописан код,только (МК UNO), но при запуске светиод L загорается
и button2 выдает значение 1. C чем это связано?
спасибо за input_pullup а то я уже замучился с этими резисторами (много кнопок), теперь буду знать
Огрооомнейшее спасибо, Алекс!
В самом последнем скетче: строку boolean button1 и далее - упразднить. Cледующую за ней строку тоже стоит упразднить (ибо 13 порт - выходной, и зачем мы с него что-то читаем - непонятно).
Условие if - упразднить.
добавить digitalWrite(13,!digitalRead(A5));
+Chuviw да знаю. Это не готовый код, это просто пример работы
4:38 странно, у меня изначально не по нулям, а с лева 1, а справа 0. Почему так?
у меня тоже, не могу найти проблему
Спасибо Гайвер сделал урок счастья до конца дня.
Блин, ну ты даешь! Я поставил видео на паузу, написал код как ты показал - так все начало глючить при приближении руки к плате. Полез в нет, ничего толком не нашел, задолбал после посетителей форума амперки - и тогда нашел эти два варианта с резистором и через пуллап. После этого как все начало получатся продолжил смотреть ролик - и ты все через 30 сек сказал!)
Я заказал с твоего сайта ардуинок пару тройку штук, уже 3 недели едут, думаю скоро доедут, ох как не терпится повтоять за тобой.
Ураа! Новая серия! Божеж, ты можешь, прям счастье!
Сделай ,пожалуйста, следующий урок по подключению дисплеев к ардуино и их программированию
чего
Да сделай
@@skyhobby611 а что такого
Алекс, спасибо за материал. Только по синтаксису хотел бы тебе на заметку сказать, что есть практики написания "читаемого" кода, в котрых рекомендуется, например, в обязательном порядке, ставить фигурные скобки для конструкций иф-элс, и прочее-прочее (есть дажее штуки типа tslint и типа того, которые подсвечивают "кривой" синтаксис в средах разработки).... В том числе различные принципы типа DRY и тому подобное. Думаю тебе, как человеку увлеченному, полезно будет ознакомиться, хотя бы для общего развития + опять же плюс в карму от бородатых трукодеров :) Код станет более читаемый и понятный. Это не претензия и не нравоучение - просто заметка бывалого программиста :) В остальном - спасибо! Большое дело делаешь, и делаешь хорошо!
vsem pohui
@@llllNEOllllchannel я не все, мне нужны скобки и комментарии.
Это все правильно и хорошо, но Arduino IDE просто заставляет ненавидеть чистый код со всеми ее через задницу работающими отступами, глючащими подсказками и прочими "прелестями".
Алекс, расскажи пожалуйста подробнее про интерфейс I2C. Как подключить к ардуино сразу несколько устройств по данному интерфейсу.
На 5:15 пин D13 работает корректно потому что по умолчанию на схеме к нему подключен светодиод через резистор?
Алекс) спасибо за труды!
4:39 написал код идентично, только порты другие, т.к. использую мегу 2560. в мониторе на button2 показывает 1. В чем причина может быть?
Аналогично
у меня почему-то, пока к пину не подключить нагрузку( светодиод например) то в мониторе показывает 1 на цифровых пинах
та же проблема
(5:00) Может статься, что у меня NANO слишком уж китайская, но в моем случае определение цифрового сигнала происходит корректно без резистора и без INPUT_PULLUP
Спасибо за комментарий! У меня теперь тоже заработала кнопка!!!!!
Привет, Алекс! Никак не могу понять почему на моменте 4:52 у тебя на второй кнопке сигнал равен нулю. Ведь ты убрал старую прошивку, на которой подавал на D13 низкий сигнал. Разве светодиод на плате не должен снова гореть и сигнал быть единицей на Button2 ?
тоже самое, плюсую
Ты великий ардуинщик, желаю тебе удачи
1:25 - аналоговые порты UNO точно могут работать, как выходы? Везде указано, что они только принимают напряжение с датчиков.
"везде" никто не проверяет информацию, прежде чем ее написать
Жаль, редко уроки. Пока следующего ждёшь- предыдущий забудешь))
+Юрий Замятин очень время быстро летит. Вы сидите ждете, а я как будто вчера монтировал 4ый. Универ, мать его
в армию пойдешь долг отдавать? тогда вообще долго ждать придется. а потом и вовсе забить можешь на канал.
Алекс, я понимаю, учёба- основное.
+Donald Trump нет, я лейтенантом выйду
+Юрий Замятин учеба не основное. Просто никто не любит получать пиздюлей и тройки
Добротные уроки, спасибо!
отлично работает от USB, но когда питаю от кроны 9В через входы Vin и GND то не работает. Как правильно подключать кнопку при использовании внешнего питания?
😅 отлично но здесь надо было добавить в описании подтягивающий резистор входу Ардуино. Но и так понятно. Но выходным ненужны ли стягивающие? Потому что они тоже могут давать наводки или нет? Потому что если один выход равно 1 а другой выход 0. То будут ли неверные показатели??😊
Алекс, ты МОЛОДЕЦ!!! У меня есть то набор, который ты показывал(или рекламировал))) и ещё дополнительно куча барахла к нему. Вот я в JavaScript - прошареный паца, а в c++ вообще 0. Половину того, что ты рассказываешь я знаю. Только немного отличается.
Я с тобой не соглашусь по портам. Один порт объединяет несколько пинов. На ардуино нано доступно три порта: 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 раз.
PULLUP можно использовать один раз? Или сколько угодно, и не перегрузится ли резистор?
10ком, даже если 20 портов не страшно, до 50ма не дойдет
@@МаксЛычагин-ъ5э ты, я смотрю, шаришь в электронике, резистор для чего там нужен?
@@Bagasl чтобы не спалить плату, если + 5 вольт соединить с - 5 вольт (землёй или gnd) без резистора получится короткое замыкание.
@@deceiveitself7275 с резистором же такое же КЗ просто ток меньше, не?
@@Bagasl Нет. КЗ это короткое замыкание, при котором по элементам цепи идёт недопустимо большой ток, в следствии чего как правило элемент выходит из строя. А резистор ограничивает этот ток до приемлемых величин
Спасибо. Но хотелось бы обьяснения почему с подключением резистора сигнал начал читаться нормально. И почему когда мы используем PULLUP нам не нужны +5V, а вместо этого мы подключаем к земле. Откуда у нас тогда высокий сигнал идет?
Высокий сигнал идёт с pullup
5:56 объясните пожалуйста, почему нужно сопротивление? Зачем как это работает? Я не могу видеть логику в этом или просто ее(логику) не ососнаю.
Я сам не очень шарю и возможно стоить спросить у ChatGPT. Насколько я понимаю все дело в законе Ома(можете погуглить), короче говоря, без сопраьевления что-то сгорит
Конкретно в этом случае резистор нужен, так как после отключения порта А5 от порта 5V, тот остается «чувствительным» и ловит всякие шумы, поэтому его значение может скакать то на 0, то на 1. А резистор это как клапан, через который мы сливаем этим заряды-шумы в заземление, чтобы они нам не мешали. И так как сопротивление маленькое, то оно при этом никак не влияет на то, когда мы порт А5 снова подключаем к 5V - порт будет снова показывать 1.
ЧатГПТ и правда может неплохо объяснить. Можно его еще просить объяснить подробнее и с аналогией в виде воды и труб.
Если брать аналогию с водой, то без резистора у нас порт А5 чувствительный остается и на нем может оседать роса или дождик мелкий идет (шумы из окружающей среды) и он это улавливает, и то 1 показывает, то 0.
Заземление в нашем случае это огромный бездонный бак в земле для слива воды в него ненужной.
А резистор это тоненький шланг небольшого диаметра - такой тоненький, что через него совсем немного воды утекает. И он подключен к А5 порту и к заземлению. И поэтому все шумы, которые оказываются на порту А5 - вся эта небольшая влага, стекают в наш бездонный бак заземления и никак не влияют на порт А5, поэтому он показывает 0 благополучно, а не скачет туда-сюда.
А если мы подключаем порт 5В, то это как водонапорная башня - в ней вода под давлением и вода с нее стекает по обычному проводу-шлангу в порт А5. И этот провод - он не такой узкий, как резисторный шланг, по нему сразу много воды течет от водонапорной башни 5V к порту А5. При этом через резисторный шланг по-прежнему вода стекает помаленьку. Но это значение такое маленькое, что никак не влияет на основную подачу, поэтому когда от порта 5В ток идет к А5, резистор не влияет особо, и А5 показывает, что напор воды большой (Button1: 1)
@@CadCabade понял, спасибо это прямо идеальное обьяснение!
когда на практике пришло осознание нахера подтягивать к земле резистором питание, прям кайфанул :-D
Не совсем понял про подтягивающий резистор, точнее про принцип его работы. Почему он убирает "ошибки"?
У проводов есть паразитная емкость. Убираем провод - заряд остаётся. С резистором по другому - у него огромное сопротивление, и когда подключены настоящие 5 вольт, то он не может спустить весь ток на землю (ардуино видит высокий сигнал), но когда мы выдернули провод - резистор спускает маленький остаточный заряд на землю (ардуино видит слабый сигнал 0v или LOW). С pullup резистором всё примерно так же, но притягиваем не к земле, а к 5 вольтам. Как то так.
+kkjey wheiss он не убирает ошибки. Он устанавливает на пине четко понятное для микроконтроллера напряжение. Без подтяжки пин висит в воздухе, и ловит всякие наводки
Мужик, ты крутой, спасибо тебе!
А если подключить кнопку через резистор могу ли я узнать его сопротивление в режиме input_pullup при нажатии на кнопку?
Через аналоговый пин можно. Загугли омметр на ардуино
Алекс, дай пожалуйста ссылку, чтобы почитать и понять, зачем и когда и насколько Ом подключать резисторы?! (что здесь, что при работе с масфет-транзисторами - не пойму) Буду очень признателен!
Всё очень интересно и понято. Спасибо большое за урок!
Кстати, у меня одного проблема с контактами, когда подключаю к белой плате? Контакт то есть, то его нет. Если делаю всё напрямую, то норм, а на плате как-то странно...
Да, контакты изнашиваются, можно их достать поджать
БОГ ЕСТЬ ЛЮБИТЕ БОГА И СВОИХ БЛИЖНИХ!!!☦❤🙏
спасибо за твои уроки трудновата но потихоньку вкуриваю
Для новичков. Итоговый код будет более оптимален в таком виде:
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, если можно на светодиод напрямую выводить состояние с кнопки?
А если gnd задействован на подключение nrf24l01, то внутренний резистор уже не подтянуть?
Хотелось бы подробнее узнать о нюансах ардуинки и основах электроники, для понимания, а не для запоминания.
Например, не понятно откуда берётся питание 5v в последней схеме на входе pinMode(A5, INPUT_PULLUP). Как я понял, вписывая "INPUT_PULLUP", мы не просто добавляем подтягивающий резистор, а ещё напряжение 5v на входной пин. То есть, ардуинка замыкает 5v и пин и постоянно выдаёт логическую единицу на любом пине, где прописано "INPUT_PULLUP".
Пулап и есть подключение (подтягивание) пина внутренним резистором к пяти вольтам. То есть на пине они есть и стабильно читаются как логическая единица. Однако при прямом замыкании пина на землю кнопкой на нем получается логический ноль.
и я тоже в панике смотрю.. откуда ток если оба конца в минусе стоят... что за волшебство и откуда взялась инверсия...
Спасибо, все очень понятно. Очень хорошо объяснил
Спасибо за помощь) благодаря тебе все заработало)
Алекс, а что по поводу встроенной поддтяжки входов, есть ограничения? Читал рассуждения на тему выжигания ног МК... Не будет ли надежнее использовать внешние резисторы? Что думаешь на этот счет?
+Вячеслав Бард думаю что такой херни у меня никогда не случалось
Алекс, а почему у тебя программа работает, при несоблюдении синтаксиса ?
6:52
Там ты не ставишь фигурные скобки, после условия, и все работает.
А у меня так не работает ?
Это зависит от версии IDE ?
Или я что то неправильно делаю ?
Неправильно делаешь, смотри уроки на сайте, там подробнее
Под конец видео, собрал, из земли к кнопке, из кнопки в А5.. откуда плюсовой взялся ток, для работы цепи? Земля принимает же (-)?
+Александр Гришанов input_pullup - подтяжка к плюсу встроенным резистором
Заметки Ардуинщика от какого же порта + идет? Да, я немного чайник)
+Александр Гришанов изнутри микроконтроллера, он просто так "может"
Добрый вечер скажи а как тут прописать чтоб при одном нажатии горела лампочка при втором тухла
Недавно узнал: "тактовая кнопка" на самом деле ТАКТИЛЬНАЯ кнопка. )) Т.е. такая кнопка, которая отзывается кликом на нажатие (обеспечивает оператору тактильные ощущения = осязание события нажатия кожей пальца ). Даже не знаю, зачем я всё это написал. Всё равно всё останется как есть. +1 за труды, всех благ!
Спасибо за урок, не хватает обьяснения почему резистор тут помогает.
привет, Алекс. У меня плата ардуино уно, код в IDE точно такой же как у тебя. Ардуинка прошита этим кодом, подключена, но не работает с кнопкой
это можно как нибудь пофиксить или нет?
Такая же проблема
Спасибо огромное!!!! Я новичек и мне дико понравилось особенно в вашем изложении. Не откажите в любезности у меня два вопроса 1 - как сделать что бы светодиод моргнул один раз при включении? 2- как написать скетч что бы светодиод загорался только в том случае когда на трех входах единица а если хотть на одном ноль то не загорался? Возможно это банально но мне пока сложно. Буду очень рад если поможете.
Здравствуйте. Имеется Ардуино Леонардо. Нужно подключить кнопки к всем входам. Тоисть 14 кнопок. Но, все работаю кроме пин 0. Как можно его задействовать?
Важная мелочь - к аналоговым пинам можно подключать дискретные сигналы, и обрабатывать их.
Быстро все объясняешь, на скорости 0.75 только можно уловить суть. А так отличные видео, с книгой по ардуино сидел неделю, так и ничего не понял, а тут все понятно. Спасибо, ждем новые видео. С термодатчиками бы что нибудь и датчиками влажности.
Я смотрю на скорости 2
Почему у меня 13 пин показывает 1, режим INPUT, туда ничего не воткнуто
@@serega3214 Индикаторная лампочка L у порта 13 имеет неопределенное напряжение без установки подтягивающего резистора (INPUT_PULLUP в коде), то есть значения могут прыгать от 0 до ~ 1В. Вы тем более у компа наверняка сидите, а это источник помех. Можно замерить вольтметром на "чистой" программе контакты порта и земли, там не всегда 0.
Короче не заморачивайтесь, главное чтобы с подтягивающих резистором все работало.
@@ПавелОсокин-ш3г, у меня после кодключения подтягивающих резисторов всё равно значение прыгает 1-0. Юзаю плату Arduino DUO. Может знаете, с чем это связано? Может из-за того, что резисторы на самой плате слабые, ибо когда подсоединяю дополнительно, то проблема пропадает...
@@artemkhrb3071 Вы про 13 пин говорите? Просто достаточно давно сталкивался с такой проблемой у UNO с 13-й индикаторной лампочкой, искал в интернете почему у меня такое происходит, даже подумал, что плата сломана) У нее (мелкой лампочки) там прикол в строении, к тому же плата же не оригинальная (хотя проблем у меня не было, только с подключением - драйвер скачать). Да и на самом деле пофигу) На практике вы скорее всего будете выводить на отдельный пин обычный 2-вольтовый красненький светодиод (нагрузка - ключевое слово) и использовать INPUT_PULLUP в коде, когда захотите отследить нажатие кнопок например. Проблем не будет.
А я вот написал digitalWrite(6, button); и результат такой же, как и у тебя. светодиод загорается при нажатии кнопки.
у меня короче.
Можешь пожалуйста рассказать, как сделать включение и выключение на одну и ту же тактовую кнопку?
+Shawn Storm смотри новый выпуск
большое спасибо, долго мучился с этой темой.
Алекс, я так обрадовался когда ты начал делать эти уроки. Ждал каждый, но пока они выходили выучил всё сам. Перерывы чертовски долгие. Я понимаю тебе сложно, но выбери определённую тему. Страдают все! И люди с квадрокоптерами и всякие оружейники и Ардуинщики и чёрт возьми даже вейперы!!!
+mine miner ну, увы...
Лайк за зачётный видос!
а как подключить сенсорную кнопку к управляемой ленты на вкл и выкл WS2813
А возможно из цифровоого или аналогового пина сделать землю?
Можно, но только из цифрового. Для этого нужно его сконфигурировать как выход и задать на нем постоянное значение низкого уровня, то есть 0.
у меня ардуино UNO выдает 1 без какого либо подключения, когда подаю LOW (GND) значение меняется на 0, то есть инвертированные показатели, почему так?
void setup() {
pinMode(A5, INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
boolean but1 = digitalRead(A5);
Serial.println(but1);
}
так в видео как бы говорится про это. Использовать надо было инвертирование значений: !digitalRead(A5)
ты притянул линию к плюсу питания и удивляешься, что там логическая единица?
То же самое, диод горит при подключении (по умолчанию), соответственно 1, а в ролике он не горит (0). Это именно на УНО, а подключаю Нано и всё идет как в ролике.
тоже самое, бред какой-то
подтверждаю! Тут непонятки на UNO, Алекс, внеси ясность, такой баг с самого начала изучения подталкивает на уничтожение ардуинки)) Инверсия выходит, когда подаю сигнал на 13й пин - диод потухает. Инверсия ничего не дает, только отображение в окне вывода, но на диод не влияет.
как ты открыл COM3
Подскажите название исполнителя джазовой музыки в ваших роликах.
Здравствуйте! Не могли бы вы сделать что-то типа сигнализации, работающей через модуль NRF24L01 с вибродатчиком? При вибрации идет сигнал на ардуино и загорается светодиод на 3-4 секунды. Буду благодарен! Смотрю все ваши видео, так вот и сам хочу что-то смастерить.
Здравствуйте! можно ли к одному цифроаому порту подключить несколько кнопок сразу?
Вот это совсем другой вид уроков! я заново все учу и выкидую стили других уроковедов!
Я думал что кнопке нужно +5 вольт всегда на ее распознавание и подачи тока на цель. светодиод скажим!
Почему аналоговый вход тоже называют digital, или это только в случае с кнопкой (False, True). И может ли быть режим Input_Pullup на цифровом входе?
Разобрался. Спасибо за уроки!
Напряжение высокого уровня не равно 5В из-за защитного диода на входе питания от USB, он находится прямо под разъёмом.
А можешь сделать видео так же, но про уно, я пытался повторить но не получилось.
Александр, расскажи как создавать классы и использовать их в сложных программах.
Здоров Саня! Такой вопрос. Как к одной ардуино, (допустим нано) подключить и реле на 8 выходов, от 8 ми кнопок, и градусник, и сервопривод, от резистора, все одновременно. имею в виду как скетч выглядит...
Непередаваемое ощущение, когда впервые зажигаешь светодиод на плате) Спасибо)
Кодревью:
Можно без 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));
}
---------------------------------------------------------------------------------
может кто подсказать!!??
у меня Arduino UNO R3
сделать все как у автора на 5:00 минуте
но почему-то вижу что оба пина выдают 1 а не 0 (без подключения 5V)
проблему решил изменением INPUT на OUTPUT
почему так? может кто подсказать?
и ещё у меня все работает стабильно даже без подключения резистора
это нормально?
У меня тоже без резистора норм работает но про пины не знаю, может быть у тебя Ардуино Уно не качественный
а почему к аналоговому пину применяется команда digitalwrite? или можно и analogread и digitalread?
+gladiatorpwnz потому что аналоговые это те же самые цифровые, они имеют функцию АЦП. Сами пины то цифровые, они все цифровые вообще на ардуино
Алекс,почему ты не поставил { } на 6:53 и оно сработало?
Потому что команды написаны в одну строчку после if и после else. Так можно делать, но не рекомендуется, так как снижается читабельность кода.
Здравствуйте, задали такое задание, нужно использовать три тумблера или кнопки (Т1, Т2, Т3) и три разноцветных светодиода (красный, жёлтый и зелёный). Включение светодиодов должно определяться состоянием тумблеров в соответствии с таблицей вариантов заданий.
Условия включения красного светодиода -Одновременно включены 1 и 2 тумблеры или выключен 3 тумблер.
Условия включения жёлтого светодиода - Одновременно включены 1 и 3 тумблеры.
Условия включения зелёного светодиода - Включён 2 тумблер.
Помогите разобраться с кодом пожалуйста. Тут основано на булевых переменных, код необходимо писать исходя из таблицы истинности(имеется).
Алекс, а какая мощность рассеивания у встроенного резистора (ВР) в Ардуинках? Я правильно понимаю, что ВР всегда будет работать штатно (ведь ток управления копеечный должен быть...), и можно все пины управления/чтения на всех навешанных модулях притягивать через него?
(3:45) А у меня не точно такое же напряжение: V3.2 (D12) против V4.1 (V5). В чем может быть причина?
В подаче питания на плату :3
Почему то у меня D12 и D13 по умолчанию в ком порте выдают 1, даже в сетапе вводил digitalWrite(13, 0) после компиляции и загрузке все равно выдает 1 и зажигает светодиод. Зато с А5 все нормально, работает как в видео...
Serial.print("Button1: " + (String)but1 + ", Button2: " + (String)but2 + "
");
То же самое, только занимает одну строку.
оператор + объединяет строковые значения тоже.
+ "
" удаляй, и используй println ) .. Но за объединение строк и чисел спасибо!
4:59 этот баг из-за конденсатора?
Алекс, вопрос. Ты говоришь, что в этом видео речь о цифровых пинах, но выдаёшь ток на аналоговом. Пул_ап резистор он один для все выходов, или у каждого выхода свой?
И не совсем понятно, декларируя я могу сказать int a = A5 но для диджитал D5 писать не надо, откуда система знает что int b = 5 это константа b, а не выход 5-ого пина?
Цифровой пин это такое себе условное название, большинство пинов с индексом А также могут работать в режимe Input/Output. Подтягивающий резистов свой для каждого пина. А5 в системе это имя постоянной переменной, значение которой задано 19; вызовите контекстное меню на А5(правая кнопка мыши) и выберите "Go to Definition"
А какое сопротивление на резисторе на 10кОм
А можно на этой ардуино сделать видеонаблюдение? наверняка можно, только не нашел
Нет, видео наблюдение это сложно ибо видеопоток не потянет ардуинка, это просто микроконтроллер, который умеет решать поставленные математические и логические задачи.
а вроде есть камера для ардуино или искра что ли. ну я и думал что можно что то собрать
можно, только не видео, а фото наблюдение :) скорости не хватит для видео потока, ну разве если картинка видео будет 320 x 240
с частотой 1 кадр в сек. И то получаем 76800 байт плюс столько же на кодирование цвета, и еще половина этого на синхроимпульсы. если минимальный битрейт принять 16 кбит/с для монохрома или в трое больше для цвета со звуком получим поток больше или практически равный максимальной скорости порта Com порта 30KБ/сек ( камеры для ардуино работают по последовательному интерфейсу). Но если рассматривать вариант с отправкой фото скажем по тревоге или каждые 5 минут - то как бы можно смерится :) Еще есть камеры на интерфейсе I2C, но они то же особой картинкой не отличаются. Вариант домофона с качеством картинки «говорящая голова» более реален :)
Тут лучше использовать рашбери или обычный комп
Сударь, вы изумительные видео снимаете. Я восхищён до охуения. Премного благодарю вас.
товарищи подскажите почему перед digitalWrite не должно быть фигурных скобок (ну и после соответственно)?
я конечно проверил, что с ними код не работает, но все одно, почему скобок то нет?
А цыфровые могут тоже входами быть
Жаль с универом у тебя нет времени на уроки ) пока ждал уже сам разобрался с шаговиком, лсд и некоторыми другими штуками ) Но все равно то-то полезное, но узнаю. Благодарю )
Подключил для управления шаговым движком 2 кнопки (крутиться вперед и назад) но обнаружил на маленькой скорости что при одном коротком нажатии на кнопку двигатель все равно потихоньку крутится пока полоборота не сделает. Как это можно вылечить?