Ссылки на продавцов где есть модули применяемые в примерах. Arduino NANO - alii.pub/699fxy NodeMcu V3 - alii.pub/699ich Модуль RFID RC522 - alii.pub/69dct2 ЖК-дисплей 1602 и 2004 - alii.pub/699yzr Модуль часов DS3231 - alii.pub/698ydt
здОрово ! Действительно хорошо объяснено, жаль что за два года так мало лайков. Для Arduino Uno может такой простой пример и не показателен (типа: а зачем? места же хватает) а вот для ATTiny самое оно!
Очень правильно , что затронули эту тему , но замечу : что я бы никогда не понял программирование микроконтроллеров без традиционного вайрлинга , теперь же когда знаешь и понимаешь как изобретать новые нужные алгоритмы (реакции на входящие данные) можно вникать в низкоуровневое программирования для увеличения функционала маломощного микроконтроллера . Ещё очень жду Ваших исследований с объяснениеми в ООП.
Одназначно намного лучше с регистрами и портами и понятне чем дижиталами и аналог райтами спасибо вам большое и если не забыли то прерывание тоже покажите 👍😉
А чем именно лучше? Оперировать магическими числами в регистрах? Тогда вообще лучше писать на асме. Насчет прерываний согласен но причем здесь Ардуино? Пишите на голой Меге
Очень доходчиво объясняете) с нетерпением жду следующее видео. Есть какраз один проект который хочу оптимизировать) А есть какие нибудь примеры с работой олед дисплея напряму? Буду очень благодарен, и спасибо за видео.
Вопрос: через digitalwrite - мы можем изменять по отдельности состоянием разных выходов, через регистр так же не получится? Например: приходит сигнал (например с пульта) в хай 8й выход, выполняется: PORTB = 0b00000001; затем приходит команда в хай 9й выполняется PORTB = 0b00000010; а нам 8й ненужно было в лоу переводить.
А можно комментарии, которые по сериал порту отображаются, не закоментировать вручную, а в условные конструкции ставить #if #endif (условная компиляция). Так делают для отладки скетча.
а как бы это дело использовать с классами, например некоторый класс требует на вход числовой номер пина в виде integer например, и таких классов много, переменных куча. копирований памяти тоже куча, и вот как передать например в функцию номер пина как номера бита. т.е. например класс требует int PinX, а мы ему хотим не байт и номер бита передать, как вот здесь быть? как передать нужные порт и регистр этого порта? если мы хотим к примеру некую универсальность, у нас напрмиер класс может работать и на аналоговых и на цифровых пинах, как передать что 5 байт на порту C например. какое объявление должно быть?
Хорошо бы предупредить начинающих , что называть переменные можно длинными-понятными именами , так как увеличенная длинв имени переменной не увеличивает размер кода .
Возврат к чистому Си или к асму вряд ли имеет смысл. Развитие идет выпуском более мощных микроконтроллеров и менее привязаных к железу языков програмирования но не наоборот
Так никто и не говорит о преждевременной оптимизации - можно прототипировать и работать на высокоуровневых языках, а оптимизировать лишь горячий код и высоконагруженные части системы. Но лично я бы хотел, чтобы мой девайс работал быстрее в 5 раз чем у конкурента)
@@arduino2000 я не про это, миллис по переполнению сбросится и по новой пойдёт отсчёт, я про вообще жизнь микроконтроллера , в том смысле что к примеру у флешки есть 200000 циклов перезаписи и так далее
Всё зависит от желания и необходимости. Если скорость и размер не имеют значения, то можно писать как угодно. Я например тоже редко когда пишу оптимальный код. Только когда очень прижмёт. А так- сплошные delay(100000)
Ссылки на продавцов где есть модули применяемые в примерах.
Arduino NANO - alii.pub/699fxy
NodeMcu V3 - alii.pub/699ich
Модуль RFID RC522 - alii.pub/69dct2
ЖК-дисплей 1602 и 2004 - alii.pub/699yzr
Модуль часов DS3231 - alii.pub/698ydt
Эталон методичности! Выводит мышление на новый уровень! Это особенно ценно для начинающих!
отличный урок. доходчиво, понятно. урок от профессионала.
Отлично! Ясно, просто и доходчиво. Прошу вас продолжать.
Высший пилотаж. Браво, автор!
Ждём продолжения. Очень интересно.
Автор! Ждём продолжение, обязательно!
Полезное и нужное видео. .....Жду продолжения.
Будет
Классно и понятно, большое спасибо, обязательно продолжайте в том же духе.
Спасибо, всё очень доступно и понятно
Очень хорошая подача. Ждём развития канала и живого голоса автора😊
Спасибо, очень информативно! Хотел попросить Вас сделать серию видео про организацию шины данных по интерфейсам.
Супер, як завжди!
Спасибо, регистровый метод очень полезен, очень хочется узнать больше!
здОрово ! Действительно хорошо объяснено, жаль что за два года так мало лайков. Для Arduino Uno может такой простой пример и не показателен (типа: а зачем? места же хватает) а вот для ATTiny самое оно!
Очень правильно , что затронули эту тему , но замечу : что я бы никогда не понял программирование микроконтроллеров без традиционного вайрлинга , теперь же когда знаешь и понимаешь как изобретать новые нужные алгоритмы (реакции на входящие данные) можно вникать в низкоуровневое программирования для увеличения функционала маломощного микроконтроллера . Ещё очень жду Ваших исследований с объяснениеми в ООП.
Коротко, Ёмко. Вот ответ 👍
Огромное СПАСИБО !!!
Сразу лайк 👍
А посмотреть))) Ещё надо было написать ПЕРВЫЙ!!!
Сразу и посмотрел спасибо
Очень полезно.
Здемс продолжения!)
Полезно. Апнул мой скил :) благодырочка!
Одназначно намного лучше с регистрами и портами и понятне чем дижиталами и аналог райтами спасибо вам большое и если не забыли то прерывание тоже покажите 👍😉
А чем именно лучше? Оперировать магическими числами в регистрах? Тогда вообще лучше писать на асме. Насчет прерываний согласен но причем здесь Ардуино? Пишите на голой Меге
Очень доходчиво объясняете) с нетерпением жду следующее видео. Есть какраз один проект который хочу оптимизировать)
А есть какие нибудь примеры с работой олед дисплея напряму? Буду очень благодарен, и спасибо за видео.
Жду продолжения)
Заинтересовала работа с регистрами
Скоро будет новое видео про регистры
Очень круто! Будет продолжение ?
Нет. Я больше этим не занимаюсь.
@@arduino2000 жаль (
Вопрос: через digitalwrite - мы можем изменять по отдельности состоянием разных выходов, через регистр так же не получится?
Например: приходит сигнал (например с пульта) в хай 8й выход, выполняется: PORTB = 0b00000001; затем приходит команда в хай 9й выполняется PORTB = 0b00000010; а нам 8й ненужно было в лоу переводить.
Можно управлять каждым битом порта в отдельности
PORTD &= ~(1
А можно комментарии, которые по сериал порту отображаются, не закоментировать вручную, а в условные конструкции ставить #if #endif (условная компиляция). Так делают для отладки скетча.
Можно. Но я подумал, что пока рано. В следующих видео хотел рассказать
а как бы это дело использовать с классами, например некоторый класс требует на вход числовой номер пина в виде integer например,
и таких классов много, переменных куча.
копирований памяти тоже куча, и вот как передать например в функцию номер пина как номера бита.
т.е. например класс требует int PinX, а мы ему хотим не байт и номер бита передать, как вот здесь быть? как передать нужные порт и регистр этого порта?
если мы хотим к примеру некую универсальность, у нас напрмиер класс может работать и на аналоговых и на цифровых пинах, как передать что 5 байт на порту C например.
какое объявление должно быть?
Хорошо бы предупредить начинающих , что называть переменные можно длинными-понятными именами , так как увеличенная длинв имени переменной не увеличивает размер кода .
иными словами какой тип имеют DDRB DDRС DDRD и другие , и как их передать в функцию к примеру.
Пробовал делать blink с int main(), но почему-то цикл while(1) все ровно ардуино упорно выполняет один раз. Версия ардуино 1.8.19.
А с вами можно как нибудь связаться?
По почте
Возврат к чистому Си или к асму вряд ли имеет смысл. Развитие идет выпуском более мощных микроконтроллеров и менее привязаных к железу языков програмирования но не наоборот
Так никто и не говорит о преждевременной оптимизации - можно прототипировать и работать на высокоуровневых языках, а оптимизировать лишь горячий код и высоконагруженные части системы.
Но лично я бы хотел, чтобы мой девайс работал быстрее в 5 раз чем у конкурента)
Помнится, мы в 90-е и 00-е так же коды страниц сайта оптимизировали - вплоть до килобайта. Потом все это вдруг резко стало не нужно
Я помню что картинка не должна была весить больше 15-20 килобайт. И сайты я писал в блокноте. Вот было время.
@@arduino2000 ага, я целый год потратил на изучение HTML :))
@@TheRajvo а я до сих пор могу любую таблицу на HTML написать, с любыми ячейками и вложенностью )))
Глупый наверное вопрос но как долго проработает ардуино на миллис? Как ни крути это ведь процесс, но скорее всего вопрос глупый
На миллис 49 дней, на микрос 70 минут. У меня есть видео где я про это рассказывал сколько и почему так
@@arduino2000 я не про это, миллис по переполнению сбросится и по новой пойдёт отсчёт, я про вообще жизнь микроконтроллера , в том смысле что к примеру у флешки есть 200000 циклов перезаписи и так далее
@@jalokin84 я свою нану использую уже пару лет. И в день прошиваю раз по 20-40, и ничего работает как часы.
Работает 4 года онлайн без выключения
@@jalokin84 следующее видео будет про использование программы Proteus. В ней можно собрать и протестировать коде без Ардуино
Я в шоке, от души!
Машинным кодом еще удобнее писать , нулями и единицами
😂😂😂
ну тоесть не пишите на ардуино, а пишите на С+ )))
Всё зависит от желания и необходимости. Если скорость и размер не имеют значения, то можно писать как угодно. Я например тоже редко когда пишу оптимальный код. Только когда очень прижмёт. А так- сплошные delay(100000)
Пробовал делать blink с int main(), но почему-то цикл while(1) все ровно ардуино упорно выполняет один раз. Версия ардуино 1.8.19.