Оптимизация кода Ардуино и ускорение работы Ардуино проекты.

Ғылым және технология

В этом примере, я покажу как можно сократить использование памяти и ускорить работу программы в 5 раз. Думаете это невозможно или трудно? Как оказалось совсем не трудно. Надо всего лишь придерживаться нескольких правил и ваш код будет работать в 5 раз быстрее, а памяти Ардуино вам хватит на любую проект.
Скетчи используемые в видео можно скачать на сайте "Ардуино для начинающих".
arduino-kid.ru/blog/optimizaci...
Станьте спонсором канала, и вы получите доступ к эксклюзивным бонусам. Подробнее:
/ @arduino2000
Помочь в развитии канала, и на покупку новых модулей и датчиков yoomoney.ru/to/410011924549016
Официальный сайт arduino-kid.ru
Группа в контакте club196958636
Почта arduino-kid@yandex.ru
Подпишитесь на канал
ссылка на канал / Ардуинодляначинающих
Теги:
#ардуино #arduino #урокиардуино #ардуинодляначинающих #ардуиноуроки

Пікірлер: 58

  • @arduino2000
    @arduino20002 жыл бұрын

    Ссылки на продавцов где есть модули применяемые в примерах. Arduino NANO - alii.pub/699fxy NodeMcu V3 - alii.pub/699ich Модуль RFID RC522 - alii.pub/69dct2 ЖК-дисплей 1602 и 2004 - alii.pub/699yzr Модуль часов DS3231 - alii.pub/698ydt

  • @kosmos8460
    @kosmos84602 жыл бұрын

    Спасибо напрямую с портами даже более наглядные чем дижитал Райт ,круто и намного быстрее спасибо вам за ваши уроки 👍

  • @masterkit9517
    @masterkit95172 жыл бұрын

    мощный урок, супер! кстати нигде никто и не рассказывал подобное ни разу не находил

  • @aecorp629
    @aecorp6296 ай бұрын

    Редко пишу комментарии, но тут просто не могу пройти мимо. Спасибо вам большое за столь прекрасное и наглядное обьяснение базовых вещей! Зачастую примеры, находящиеся в открытом доступе, не имеют оптимизации и написаны "на скорую руку" для демонстрации того или модуля..а вот когда проект обрастает кодом, тут ты уже и сталкиваешься с базовыми вещами) Спасибо вам еще раз!

  • @MrSergidze
    @MrSergidze2 жыл бұрын

    Снимай ещё. Очень интересно! Спасибо!

  • @user-ib4vo5hc9r
    @user-ib4vo5hc9r2 жыл бұрын

    С таким уроком и ребёнок разберётся. Наглядно и доходчиво. БлагоДарю!

  • @pro_stroy
    @pro_stroy Жыл бұрын

    Это интересная тема.

  • @donfedor007
    @donfedor0077 ай бұрын

    Я смотрю до конца 👍

  • @vladilion90
    @vladilion90 Жыл бұрын

    Продолжение обязательно) я не знал про символ F

  • @Shizaracing
    @ShizaracingАй бұрын

    Большое спасибо

  • @DimaDSP
    @DimaDSP2 жыл бұрын

    Комментарий в поддержку хорошего канала!

  • @masterkit9517
    @masterkit95172 жыл бұрын

    6:51 точно) вот это самое важное) тоже так делаю, а через год бывает и не вспомнить что это такое)

  • @Neon-24
    @Neon-242 жыл бұрын

    Оч интерресно.

  • @timurazizbekuulu6120
    @timurazizbekuulu6120 Жыл бұрын

    Спасибо большое за видео. Жду продолжения с нетерпением. 👍👍👍

  • @OttoLilo
    @OttoLilo2 жыл бұрын

    А это оказалось интересно, спасибо.

  • @VitaliyZlobin
    @VitaliyZlobin9 ай бұрын

    Благодарю! Уникальный контент. Ждём продолжение)

  • @BRIS-P
    @BRIS-P2 жыл бұрын

    Хорошая тема по оптимизации, с буквой F не знал, подправлю за одно и свой код.

  • @veoramid
    @veoramid2 жыл бұрын

    Жги!

  • @albertumanets3983
    @albertumanets3983 Жыл бұрын

    Классно!!! Спасибо за труд!

  • @yrisu6098
    @yrisu6098 Жыл бұрын

    Спасибо, очень интересно и познавательно. Можно эту тему развивать.

  • @89263230559
    @892632305592 жыл бұрын

    Ого, ну вы даете!!!!)

  • @alexmarkov7309
    @alexmarkov7309 Жыл бұрын

    СПАСИБО !!!

  • @JonMatrix
    @JonMatrix2 жыл бұрын

    Давай дальше! Мне интересно даже было, хотя почти все это знаю. Теперь интересно что я не знаю

  • @arduino2000

    @arduino2000

    2 жыл бұрын

    Делаю продолжение

  • @emilmv9089
    @emilmv90892 жыл бұрын

    👍🏻👍🏻👍🏻

  • @hamelionxamlov5504
    @hamelionxamlov55042 жыл бұрын

    Это дело особенно в Attiny актуально. Так что жги!

  • @Anna_Porosenok
    @Anna_Porosenok2 жыл бұрын

    Ну конечно есть желающие и ждём продолжения, да и снимать тебе чтото надо.

  • @arduino2000

    @arduino2000

    2 жыл бұрын

    Поверьте, снимать есть про что

  • @alexbaysha2586

    @alexbaysha2586

    2 жыл бұрын

    @@arduino2000 😄😄😄😄👍

  • @Ananas.kamchatka
    @Ananas.kamchatka2 жыл бұрын

    Ещё еще))

  • @Ananas.kamchatka

    @Ananas.kamchatka

    2 жыл бұрын

    Я бы про PROGMEM послушал

  • @andron311
    @andron3112 жыл бұрын

    Да,можно ещё какие-нибудь способы по экономии памяти

  • @Relevantium

    @Relevantium

    2 жыл бұрын

    Чтобы сэкономить скорость вычислений например можно используемые формулы в коде прописать в сетап, они выполнятся 1 раз при старте мк и запишутся в константу и тем самым в дальнейшем на их расчёт не бед тратиться время))

  • @olexangrstetsiuk3092
    @olexangrstetsiuk30922 жыл бұрын

    Уже многие ардуино-блогеры делали попытки объяснить аудитории оптимизацию кода , но ни у кого не получилось так доходчиво с ,,табличными,, сравнениями показать позитивные результаты оптимизации . Очень жду объяснений почему используя функцию мейн получается такой результат , я всегда думал что среда arduino IDE сама переводит весь код с сетапа и лупа в функцию Мейн , но вижу что ошибался. И ещё одно мое заблуждение развеялось : считал что все функции с обращениями к пинам микроконтроллера тоже переводятся компилятором к обращению к портам в зависимости от выбранной платы в менеджере плат.

  • @Relevantium

    @Relevantium

    2 жыл бұрын

    Сетап и луп не переводятся, они означают что содержимое сетап выполняется 1 раз, а луп бесконечно и только это означают, вы можете писать доп функции и вызывать их там где угодно и сколько угодно раз

  • @olexangrstetsiuk3092

    @olexangrstetsiuk3092

    2 жыл бұрын

    @@Relevantium , если пробовать изучать программирование не только из среды arduino IDE , тогда увидишь что все ,,завязывается,, на функции мейн , в которой уже можно в басконечном цикле вызывать как бы - луп (тоесть ,,петля,,). Вот я и предположил себе , что это все скрыто в библиотеках ардуино ..., но видимо как то по иному устроено .

  • @Relevantium
    @Relevantium2 жыл бұрын

    Снимай больше! Смотрел взахлёб, особенно интересно было когда ты применил битную систему вместо диджиталрайт, кстати, как также заменить диджиталрид битами?

  • @user-matiza
    @user-matiza Жыл бұрын

    Любопытно все это.

  • @Vlafder
    @Vlafder2 жыл бұрын

    Очень интересное видео, конечно делай продолжение! Можешь пожалуйста посоветовать соответствующую литературу по оптимизации кода? Заранее спасибо

  • @user-ld4lj3wi3h

    @user-ld4lj3wi3h

    2 жыл бұрын

    Посмотри "Совершенный код" Стива Макконнелла и "Чистый код" Роберта Мартина

  • @esp32s
    @esp32s Жыл бұрын

    Это круто,жаль я не программист, а лишь электронщик.Когда учился нам пк давали лишь потрогать.Сейчас комп в каждом кармане.Первую программу что написал это для советского калькулятора, а уроки назывались информатика.Потом армия и всё надолго заглохло, надолго потому что как русский бился как рыба в воде чтобы съе... на свою историческую родину, это тяжело полжизни просто впустую. Помощи ни от кого, кому мы нужны, наоборот нас ещё доили свои же менты, им всё равно что ты их брат кровный. Но что делать, я только Россию признавал своей Родиной. Теперь навёрстывать упущенное просто ни к чему, просто что-то для души, не более. До 30 лет ты рыпаешься, как одержимый, а потом понимаешь. Что ты рыпаешься, успокойся.

  • @vb8937
    @vb8937 Жыл бұрын

    Подскажите как подключить два Ардуино к одному дисплею?

  • @anlaz1
    @anlaz12 жыл бұрын

    Очень интересный урок. Но я плохо ориентируюсь в программировании. Я собрал пару ЧПУ-станков. Один для фрезерования рельефов, второй лазерный гравёр. Использую программу GRBL 1.1. На этом месте и начинается мой вопрос. При загрузке скетча в arduino я получаю сообщение "Недостаточно памяти, программа может работать нестабильно". При этом скетч использует 96% памяти, а глобальные переменные - 1633 (79%). Возможно ли оптимизировать этот grbl, или можно как-то добавить немого памяти на ардуино nano или uno. Спасибо за ваш урок.

  • @arduino2000

    @arduino2000

    2 жыл бұрын

    Не видя код сказать трудно. Если не хватает памяти можно использовать Ардуино МЕГА или ESP.

  • @user-cr9fr2mk9i
    @user-cr9fr2mk9i2 жыл бұрын

    В вашем примере прямая запись в порт изменяет все значения gpio на порту? Проверьте с подключенными светодиодами.

  • @arduino2000

    @arduino2000

    2 жыл бұрын

    Да. В следующем видео я показал как управлять каждым битом порта.

  • @user-wr4jz1dl6j
    @user-wr4jz1dl6j2 жыл бұрын

    Здравствуйте. Можете переснять видео со сдвиговым регистром 74hc165, который для того чтоб подключить много кнопок, с примером работы? А то в том старом видео нет ни одного примера, какие команды нужны - неясно! Благодарю за ваши труды!

  • @arduino2000

    @arduino2000

    2 жыл бұрын

    Странно. Обычно я выкладываю скетчи. Хорошо. Обязательно сделаю. Напишите мне на почту и я пришлю скетчи из видео

  • @user-wr4jz1dl6j

    @user-wr4jz1dl6j

    2 жыл бұрын

    @@arduino2000 спасибо! обращусь...

  • @fadorin4779
    @fadorin47799 ай бұрын

    а какой ценой мы строки фо флеш память перекинули? она явно не за просто так в оперативку по умолчанию идёт

  • @animesk4951
    @animesk49512 жыл бұрын

    Извините, вы бы не могли проверить вашу почту? :)

  • @arduino2000

    @arduino2000

    2 жыл бұрын

    Теперь только вечером

  • @masterkit9517
    @masterkit95172 жыл бұрын

    1:36 ахах) FLASH у Esp 16мб у Унылого уны 32 кб)

  • @Relevantium

    @Relevantium

    2 жыл бұрын

    Зато на есп нет некоторых библ и это осложняет

  • @micromaster4405

    @micromaster4405

    Жыл бұрын

    Прикрути к ардуинке внешнюю память и будет тебе 16 Мб, как у есп

  • @masterkit9517
    @masterkit95172 жыл бұрын

    да в ардуинах памяти кот наплакал в отличие от STM32

  • @arduino2000

    @arduino2000

    2 жыл бұрын

    И от ESP

Келесі