По вашим просьбам сделал "конспект" в формате PDF, ссылка в описании под видео. Под каждым уроком будет ссылка на отдельный урок (для печати), и на общий сборник всех уроков (пополняемый!). Спасибо.
Почему же нет. Есть такое приложение как АРДУИНО ДРОИД. В плей маркете найдете. Прекрасно заливает скэтчи в ардуино прямо с смартфона. Библиотеки тоже есть. К стати библиотеки идут стандартные и сторонние.
Хорошо что речь без мата. Ребёнку видео подкидываю - смотрит. На основном канале тоже интересно, но из-за проскакивающего порой мата не делюсь. К сожалению.
Черта с два! Ты гений! У тебя лучшая подача во вселенной, из этого ролика я усвоил больше информации чем из 11 лет информатики в школе. Спасибо большое за данный курс! Отдельно спасибо за готовый конспект!
Просто обязан оставить комментарий! Подача материала очень профессиональная. Все разложено по "полочкам". Посмотрел не мало подобного материала - этот самый лучший. Огромное спасибо за Вашу работу!!!!
Лайк однозначно! Хоть я и не первый год с ардуино, но было очень интересно обновить материал в голове. Самый точный и очень доходчиво изложенный материал, однозначно заслуживает похвалы!
У тебя очень крутые видео и конспекты к ним. В идеале, если ты ещё тесты придумал на эти конспекты. Они нужны для того, чтобы в головах новичков оставалось в разы больше нужной и полезной для них информации. Спасибо огромное за видео, конспекты и код.
Все четко и доходчиво , при долгом просмотре каша в голове ну я нашёл способ немного посмотрел пописал и голову на отдых . Я реально начинающий без образования и без знания языка (англ) , иногда снимаю на видео все с чем борюсь и что не получается , если все же хватит моральных сил освоить данную науку залью все на ютуб ... И да Алекс там со своим каналом займет одну из самых важных мест... СПАСИБО СПАСИБО СПАСИБО!!!
Здравствуй. В общем очень интересный вопрос и думаю очень много кому будет полезно это. Посмотрел много роликов твоих но до конце так и не понял как самому это сделать. Смотри нужно чтобы ардуинка работала как контактная кнопка делая короткое замыкание получая сигнал от датчика осветления. Постараюсь описать более точно думаю ты поймёшь. Суть схемы в том чтобы ардуинка управляла дальним светом авто, получая сигнал от датчика осветления, если едет встречка она включала дальний, а когда встречки не будет она включала дальний. Это ппц какая полезная штука для многих была бы.
Я понятия не имею как я попал сюда. Мне 31 год и богом клянусь я н*хрена не понял о чем ты рассказывал. Но я как мальчишка сидел с отвисшей челюстью и слушал твой материал .С меня подписка, сам пока не понял зачем мне это нужно ,но очень интересно.
Спасибо большое, очень полезно и интересно. Можешь потом рассказать про прошивку WiFi, я слышал, что можно использовать WiFi модуль отдельно без ардуино, как контроллер, например для управления светодиодной лентой
В видео сказано, что достать исходник из бинарного файла нельзя ( 1:23 ), но это не так. Весь машинный код можно перевести в ASM и его диалекты. После перевода в asm можно прогнать код в специальной программе/спец. сайте и получить готовый исходный код. Этот процесс называется реверс инженерингом
6:09 1) Не обязательно. Произойдёт конвертация целого числа в float 2) Можно делить на целое, будет float 3) В этом случае необязательно ставить float, т.к. опять же произойдёт конвертация до float, а уже потом деление. Подставлять (float) нужно, когда целое делится на целое и нужно получить float.
Не знаю, кто придумал назвать С++ для ардуины как-то по другому. В настройках Arduino IDE поставь подробный вывод при компиляции. Посмотри, какие файлы уходят в компилятор (а там помимо твоего скетча, преобразованного в .cpp-шку путём добавления одного-двух #include сверху, будет ещё куча других .c-шек и .cpp-шек для поддержки Serial и тому подобных вещей) Так же, посмотри какой компилятор используется (avr-g++. Сюрприз). И какой стандарт (флаг -std). У меня это gnu++11. Чем gnu++11 отличается от C++11 точно не скажу, однако ряд фич C++11, такие как тип "auto", лямба-функции, и тому подобное в ардуине шикарно работают. Так, ну а теперь по делу. Словом void функция не объявляется. Например "void *pData;" это не функция. Правильнее, наверное, будет так: "Перед объявлением или определением любой функции, за исключением конструктора и деструктора класса, должен быть написан тип данных, возвращаемых этой функцией. void указывает на то, что функция ничего не возвращает". Хотя, про классы как-то пока рановато, наверное. void loop(); это не совсем бесконечный цикл. Это функция, вызываемая в бесконечном цикле. В чём разница? В переменных. При новом входе в функцию (то бишь при новой итерации цикла) переменные, которые не объявлены в функции как static будут сброшены. Тип данных "boolean". Спасибо, не знал, что такой есть. Однако, если глянуть в файл "Arduino\hardware\arduino\avr\cores\arduino\Arduino.h", который автоматом подключается ко всем скетчам, в нём можно две строки, идущих друг за другом: typedef bool boolean; typedef uint8_t byte; Что делает typedef - почитай на досуге сам. (Если кратко - даём своё название другому типу данных) "Поставить слово float в скобках" называется "приведение типов". Спасибо за внимание. :)
все по делу, только для неподготовленного зрителя, для которого программирование это что то с другой планеты слишком жестко. Вот про области видимости переменных и про константы стоило бы упомянуть.
т.е. можно использовать bool вместо boolean и uint8_t вместо byte? (хотя byte проще) ну то что это С++ и так понятно, стоит только взглянуть на любую библиотеку - все состоят из *.h и *.c файлов
"по умолчанию переменная имеет значение 0" нет не верно. по умолчанию она не имеет никакого значения. Нужно понимать разницу между объявлением переменной и ее инициализацией. обьясление перемнной это: int myLOL; инициализация это: myLol = 0; возможно также обьявление с инициализацией: int myLOL = 0; Зачем я доебался? А потому что в связи с этим возникают досадные ошибки, которые ох как сложно находятся новичками. Чтобы их избежать наверняка - просто инициализируйте все объявленные переменные сразу.
вообще то имеет, но в виде "мусора". Однако если это глобальная переменная, то да, он будет инициализироваться 0(относится к численным типам данным), но если это локальная переменная, то она будет инициализироваться "мусором".
верно, но в рамках для начинающих можно и простить досадную ошибку вряд ли она на что то повлияет, ну а тем кто интересуется шире найдите уроки по Си, Си шарпу и т.д. на ютубе уже есть канал с очень грамотными уроками по Си, там есть про все и начальное про все известные циклы, логические и другие про типы про инкременты-декременты с вариациями и четкими примерами причем простейшими, типа от for (int x = 0; x < 100; x++) до того как сократить это до for (; ;) в примерах (п.с. второй вариант без указания условия будет работать бесконечно пока его принудительно не остановить) ну итак далее про все есть про все понятно и то что если не инициализировать переменную а только объявить и про это тоже все есть, но повторюсь - ошибка в данном видео не существенная для начинающего, надеюсь что те кто прочитал данные комментарий просто запомнит для себя эту информацию, и если захочет - найдет и проверит прямо в ютубе у тех кто уроки чисто по программированию выкладывает например в бесплатной среде Визуал студио.
Вроде бы компилируется в Ардуино иде все так, что объявленные без инициализации переменные = 0. Почему вроде бы? Потому что недавно прогал и вывел неинициализированную переменную. Вывелось 0, но я не стал разбираться, действительно ли я ее забыл проиницилизировать или нет. Завтра проверю.
А разве по умолчанию переменная при ее создании имеет значение 0 или просто место в памяти резервируется как в Си? И еще вопрос, можно ли на питоне на Ардуино писать?
Если бы еще научится быстро загружать информацию в мозг,вслед за автором! Наверное для этого нужно несколько раз осознано повторять это действием... Отличный канал!
7:00 вот этот момент стал интересен, но ответа не нашёл. Допустим я получаю данные с датчика с двумя знаками после запятой, а мне это не удобно и не нужно. Как округлить до десяток? как работает round(x) и можно ли его применить? Ну и попутно вопрос: как разделить дробное число на отдельные цифры? если с целыми числами я разобрался, то с дробными пока трудности возникают.
В начале видео (1:27) , вы сказали что после прошивки, процесс необратим (возможно я недопонял), то есть я не могу использовать один микропроцессор для обучения, а каждый раз новый, после каждой прошивки или как? Просто я купил один набор, там одна Arduino UNO, что мне нужно делать , что бы использовать эту платформу много раз в процессе обучения?
Контроллер можно прошивать несколько раз. Я сейчас не помню сколько циклов перезаписи допускает память-программ данного микроконтроллера, но по любому не менее 1000, а EEPROM - не менее 10000. Еще там по идее должны быть так называемые lock-биты. Если их выставить, то программу из контроллера нельзя будет считать и придется стирать весь кристалл. Это сделано, если нужно обеспечить защиту интеллектуальной собственности.
Boolean в видео некорректно описан. На самом деле этот логический тип занимает один бит, но система может выделить минимально только байт. В C есть понятие битовых полей. И можно в байт запихнуть 8 булевских флагов. А 0 и 1 - лишь ещё одно представление. Так иногда удобно использовать арифметические флаги с небинарными значениями. Чаще используют true/false.
Привет из 22) Возникает вопрос, почему часть переменных ты обьявляешь в начале и задаешь. А другую после setup, и работаешь с необьявленной изначально переменной. Это допустимо? В чем разница где объявлять и т.д.?
Привет. С работой СОМ-портом покажи пожалуйста приём и разбор данных еще ждать пока не будет 4-байта, принимать данных пока не закончиться передача или например принимать до символа $. Вообще о том что мола говорят другие.
Есть переменная типа unsigned. И допустим где-то в скетче она принимает значение а-б, при этом если "б" больше "а", то какое значение она примет учитывая, что отрицательное значение она принимать не может? Примет 0 или возьмёт модуль отрицательного числа, или что-то ещё?
Ниразу не работал ардуино и прочим, да и вовсе не разбираюсь в этом и решил попробовать начать с малого, есть задумка-проект для самого старта (главное начать с идеи). Задумка проста, в курилку поставить сборку которая бы реагировала на сигаретный дым и включала композицию с флешки о вреде курения из МФ. Остров Остров сокровищ. Но столкнулся с тем что не нахожу датчика который бы срабатывал на никотиновый дым, в итоге задумка освоить и начать творить на ардуино пока лежит на полке... Помогите с задумкой.
Здравствуйте. Хочу спросить совет. Что проще будет, изучать программирование на arduino wiring или учиться с помощью flprog ? С программирования раньше изучал javascript.
Привет, если уже код писал, то лучше писать его дальше. Flprog покажется проще, но спустя время поймёшь что он очень сильно ограничивает возможности и делает тебя зависимым от "блоков" с форума. А чтобы самому заделать нужный блок - нужно уметь кодить, круг замкнулся
Говоря о типах данных нелишне было бы упомянуть функцию sizeof(), которая возвращает размер переменной в байтах, ибо то что int - это два байта, а long - четыре может быть не всегда верно. Подзабыл уже стандарты С/С++, но, вроде как, размер int и word соответствует машинному слову, а long - двум словам, т.е. для 16-битных контроллеров int будет два байта, а для 32-битных уже четыре. Так что на фиксированное значение размера значения лучше не закладываться, ибо, теоретически, можно огрести проблем, собрав скетч под другой чип в некоторых случаях. Кстати, почему С++ в ардуино урезанный? Там же, вроде как, gcc-компилятор используется, должна быть полная поддержка стандарта, не?
Там используется avr-g++ со стандартом gnu++11. А нет в ардуине stl-контейнеров (std::vector, std::map и тому подобного). Поддержки std::thread и аналогчиных фич тоже нет, ну да и как-то не надо.)
Есть реализация вектора для ардуины, правда она там недолелана. range-based for не работает (это for(auto val:vData){//что-то делаем с val;} где vData это std::vector
Алекс, большое спасибо, на основании твоих уроков я начал изучать ардуино! у меня проблема я задаю тип данных unsigned long wstart = 0; при этом простое действие wstart = 9*60*60+6*60+8; выходит за предел типа данных и дает непонятную цифру 4294934528, при уменьшении на единицу (wstart = 9*60*60+6*60+7) подсчет идет корректно = 32767 . почему переменная wstart ведет себя как int? Я делаю таймер могофункциональный - переводу все в секунды и включение и выключение осуществляю при определении больше или равно заданным секундам. (платформа Arduino nano). С уважением, Илья
А вот по поводу бесконечного цикла. Закачиваю пример File - Examples - 04.Communication - ASCIItable Он выводит в терминал таблицу символов. На Uno и Mega он делает это циклично, а на Nano и ProMini - однократно. Почему так? Ведь Nano и ProMini - это та же самая Uno.
Немного не понял по поводу необратимости процесса прошивки. Если залить прошивку в ардуино то перепрошить ее или использовать для другого проэкта уже не получится?
Заметки Ардуинщика константы точно будут, ну а с ними и дефайны заодно объяснить и различие.. при прочих равных использую define. Хотя по незнанию\ошибке для объявления пинов частенько используют переменные, а не константы
Андрей Бадин нужно приучать себя к красивому и правильному программированию, к комментированию скетчей, оформлению (табуляции) участков кода и тд.. позволяет сэкономить кучу времени на отладке, особо райнтайм-ошибок и тормоза в работе. Поэтому важно обьявлять пины дефайнами (вот в 90% скетчей к сожалению переменными делают), не выбирают типы данных, не пробуют оптимизировать (например избавиться от delay)..
По вашим просьбам сделал "конспект" в формате PDF, ссылка в описании под видео. Под каждым уроком будет ссылка на отдельный урок (для печати), и на общий сборник всех уроков (пополняемый!). Спасибо.
Заметки Ардуинщика
було б ліпше твою копію шпаргалки)
Заметки Ардуинщика а с андройда 6.0 можно запрограммировать ардуино
Русский Электроник нет
Почему же нет. Есть такое приложение как АРДУИНО ДРОИД. В плей маркете найдете. Прекрасно заливает скэтчи в ардуино прямо с смартфона. Библиотеки тоже есть. К стати библиотеки идут стандартные и сторонние.
Заметки Ардуинщика интересно синтаксис похож на С или С ++ )
Алекс,большое спасибо за Ваш труд! Мне 63 года. Сам заинтересовался Ардуино и внука 12 лет хочу к этому делу приохотить.Будем вместе изучать!
Как там успехи?
@@arctic6281 Присоединяюсь к вопросу)
@@arctic6281 помер
@@isakneuman9995, смеюсь xD
походу ардуина сгорела вместе с хатой
Вау, Алекс! Это лучшее видео, что я находил в интернете по обучению с Arduino! Да ты, черт возьми, красавчик! Спасибо тебе огромное за твои труды!
AcademeG 4ever ❤
Это не Костя)))
самое познавательное видео из всех обучалок по ардуино , что я находил..
+Tim Steel их будет целый курс!
Будет очень хорошо , заранее спасибо вам !!!!
Объясняешь понятней чем мой учитель по инфе =D
Хорошо что речь без мата. Ребёнку видео подкидываю - смотрит. На основном канале тоже интересно, но из-за проскакивающего порой мата не делюсь. К сожалению.
Tim Steel джеремм блюм еще хорошо рассказывает
Спустя столько лет до сих пор годно
Крайне редкая и полезная информация, спасибо большое.
Titan Games это сарказм?)
@@excore1322 с хера ли ?
У Вас самое понятное и познавательное объяснение по Ардуино из 30 просмотренных курсов..
Черта с два! Ты гений! У тебя лучшая подача во вселенной, из этого ролика я усвоил больше информации чем из 11 лет информатики в школе.
Спасибо большое за данный курс!
Отдельно спасибо за готовый конспект!
где скачать конспект в пдф?
Сколько труда!!!
Спасибо тебе, Будь здоров!
На секунду появилось чувство будто я собираюсь ухаживать за очень прихотливым животным которому нужна специальная подготовка 🤔
Жиза, рыбки будут жить в мире машин
@@Shlepa_kitдаже рыбки живут в будущем😂😂😂
Просто обязан оставить комментарий! Подача материала очень профессиональная. Все разложено по "полочкам". Посмотрел не мало подобного материала - этот самый лучший. Огромное спасибо за Вашу работу!!!!
+Slava Dem спасибо :3 курс будет продолжаться
У нас в школе в 8 классе наш учитель решил дать нам язык с. Как же я ему сейчас благодарен...
Лайк однозначно! Хоть я и не первый год с ардуино, но было очень интересно обновить материал в голове. Самый точный и очень доходчиво изложенный материал, однозначно заслуживает похвалы!
+Vitaliy Kosenko спасибо) дальше будет круче!
большое спасибо за труды, проделана большая работа. очень лаконично и максимально информативно.
спасибо огромное, ваши курсы , то что нужно начинающим , это порвые на которых я остановился , тк все достаточно подробно и начинаете с самых основ
Алекс Гайвер спасибо за урок!
У тебя очень крутые видео и конспекты к ним. В идеале, если ты ещё тесты придумал на эти конспекты. Они нужны для того, чтобы в головах новичков оставалось в разы больше нужной и полезной для них информации. Спасибо огромное за видео, конспекты и код.
Крута чувак , то что главное и отдельно написано в конспект за это отдельный респект
Все четко и доходчиво , при долгом просмотре каша в голове ну я нашёл способ немного посмотрел пописал и голову на отдых . Я реально начинающий без образования и без знания языка (англ) , иногда снимаю на видео все с чем борюсь и что не получается , если все же хватит моральных сил освоить данную науку залью все на ютуб ... И да Алекс там со своим каналом займет одну из самых важных мест... СПАСИБО СПАСИБО СПАСИБО!!!
Отличная серия видео. Очень помогли разобраться.
В любой непонятной ситуации - пиши конспект☝️
Автору канала всех благ земных желаю за труды🎉🎉🎉🎉
Ты лучший !
Продолжай в том же духе ! Я хожу на курсы програмирования и ты мне очень помогаешь!)))
..Просто шикарнейшая тетрадочка😊
Спасибо за инфу. Очень полезно. Хорошей практикой в программировании считается все-таки переменной присваивать значение.
да неужели, так давно не смотрел годноты на ютубе, чёт вообще пусто на ютубе в последние дни
До сих пор смотришь этот канал?
Спасибо! Наконец то разобрался в коде ардуино
Алекс, огромное спасибо!!!!
Ооооо, спасибо мастер Гайвер!!!😙
Единственный конспект который я писал с удовольствием.
Алекс, была ли мысль сделать умный дом на ардуинке? Хотел бы увидеть реализацию в твоем варианте.
Эх, ыл бу у меня канал... У меня шторы сами открываются и окно скоро будет тоже само.
За конспект мега спасибо!
сегодня начинаю, пните к концу лета, хочу узнать насколько продвинусь ахахах))
пнул
Как успехи? Уже почти конец лета так что думаю пора.
@@DIMAA1118 ну я был занят другими делами (программирование), дошел до реагирования светидиода на нажатие кнопки
Здравствуй. В общем очень интересный вопрос и думаю очень много кому будет полезно это. Посмотрел много роликов твоих но до конце так и не понял как самому это сделать. Смотри нужно чтобы ардуинка работала как контактная кнопка делая короткое замыкание получая сигнал от датчика осветления. Постараюсь описать более точно думаю ты поймёшь. Суть схемы в том чтобы ардуинка управляла дальним светом авто, получая сигнал от датчика осветления, если едет встречка она включала дальний, а когда встречки не будет она включала дальний. Это ппц какая полезная штука для многих была бы.
Огромный труд! Спасибо.
Я понятия не имею как я попал сюда. Мне 31 год и богом клянусь я н*хрена не понял о чем ты рассказывал. Но я как мальчишка сидел с отвисшей челюстью и слушал твой материал .С меня подписка, сам пока не понял зачем мне это нужно ,но очень интересно.
Супер то что надо, просто и доступно, так держать....
Очень доступно ,и понятно ,буду пробывать экспрементировать ,видео вроде полезное.Спасибо.
Спасибо большое, очень полезно и интересно. Можешь потом рассказать про прошивку WiFi, я слышал, что можно использовать WiFi модуль отдельно без ардуино, как контроллер, например для управления светодиодной лентой
Блин,Гайвер как же мне не хватало данной инфы)))
В видео сказано, что достать исходник из бинарного файла нельзя ( 1:23 ), но это не так. Весь машинный код можно перевести в ASM и его диалекты. После перевода в asm можно прогнать код в специальной программе/спец. сайте и получить готовый исходный код. Этот процесс называется реверс инженерингом
СПАСИБО ЗА ТРУД ТЕБЕ АЛЕКС🎉
Офигеть! Парень, ты лучший!!!
Первую серию посмотрел, на второй серии мозг взорвался.
подписался сразу на 2 канала, почаще ролики выходили бы, цены бы не было! =)) Много полезной и понятной информации. Alex так держать!!!
Просто и понятно, прямо как мне нужно
Пересматриваю 4 раз, наконец-то решил вести конспект .. Ёпт , я уже и забыл как это тяжко)))
Алекс, спасибо вам огромное!!!!!
Я только пришёл с посылками
И уже хотел написать тебе в личку вопрос
О том
КОГДА ВИДОС ?
Включаю консоль и тут видос )
6:09
1) Не обязательно. Произойдёт конвертация целого числа в float
2) Можно делить на целое, будет float
3) В этом случае необязательно ставить float, т.к. опять же произойдёт конвертация до float, а уже потом деление. Подставлять (float) нужно, когда целое делится на целое и нужно получить float.
очень жду про массивы и строки. Наконец то пришел наборчик с китая.
Отличный видеоурок!
Спасибо за полезный видос. Лайк!
Не знаю, кто придумал назвать С++ для ардуины как-то по другому.
В настройках Arduino IDE поставь подробный вывод при компиляции.
Посмотри, какие файлы уходят в компилятор (а там помимо твоего скетча, преобразованного в .cpp-шку путём добавления одного-двух #include сверху, будет ещё куча других .c-шек и .cpp-шек для поддержки Serial и тому подобных вещей)
Так же, посмотри какой компилятор используется (avr-g++. Сюрприз). И какой стандарт (флаг -std). У меня это gnu++11. Чем gnu++11 отличается от C++11 точно не скажу, однако ряд фич C++11, такие как тип "auto", лямба-функции, и тому подобное в ардуине шикарно работают.
Так, ну а теперь по делу.
Словом void функция не объявляется. Например "void *pData;" это не функция. Правильнее, наверное, будет так: "Перед объявлением или определением любой функции, за исключением конструктора и деструктора класса, должен быть написан тип данных, возвращаемых этой функцией. void указывает на то, что функция ничего не возвращает".
Хотя, про классы как-то пока рановато, наверное.
void loop(); это не совсем бесконечный цикл. Это функция, вызываемая в бесконечном цикле. В чём разница? В переменных. При новом входе в функцию (то бишь при новой итерации цикла) переменные, которые не объявлены в функции как static будут сброшены.
Тип данных "boolean". Спасибо, не знал, что такой есть. Однако, если глянуть в файл "Arduino\hardware\arduino\avr\cores\arduino\Arduino.h", который автоматом подключается ко всем скетчам, в нём можно две строки, идущих друг за другом:
typedef bool boolean;
typedef uint8_t byte;
Что делает typedef - почитай на досуге сам. (Если кратко - даём своё название другому типу данных)
"Поставить слово float в скобках" называется "приведение типов".
Спасибо за внимание. :)
все по делу, только для неподготовленного зрителя, для которого программирование это что то с другой планеты слишком жестко. Вот про области видимости переменных и про константы стоило бы упомянуть.
т.е. можно использовать bool вместо boolean и uint8_t вместо byte? (хотя byte проще)
ну то что это С++ и так понятно, стоит только взглянуть на любую библиотеку - все состоят из *.h и *.c файлов
Андрей Бадин
можно конечно
"по умолчанию переменная имеет значение 0"
нет не верно. по умолчанию она не имеет никакого значения. Нужно понимать разницу между объявлением переменной и ее инициализацией.
обьясление перемнной это: int myLOL;
инициализация это: myLol = 0;
возможно также обьявление с инициализацией: int myLOL = 0;
Зачем я доебался? А потому что в связи с этим возникают досадные ошибки, которые ох как сложно находятся новичками. Чтобы их избежать наверняка - просто инициализируйте все объявленные переменные сразу.
вообще то имеет, но в виде "мусора". Однако если это глобальная переменная, то да, он будет инициализироваться 0(относится к численным типам данным), но если это локальная переменная, то она будет инициализироваться "мусором".
верно, но в рамках для начинающих можно и простить досадную ошибку вряд ли она на что то повлияет, ну а тем кто интересуется шире найдите уроки по Си, Си шарпу и т.д. на ютубе уже есть канал с очень грамотными уроками по Си, там есть про все и начальное про все известные циклы, логические и другие про типы про инкременты-декременты с вариациями и четкими примерами причем простейшими, типа от for (int x = 0; x < 100; x++) до того как сократить это до for (; ;) в примерах (п.с. второй вариант без указания условия будет работать бесконечно пока его принудительно не остановить) ну итак далее про все есть про все понятно и то что если не инициализировать переменную а только объявить и про это тоже все есть, но повторюсь - ошибка в данном видео не существенная для начинающего, надеюсь что те кто прочитал данные комментарий просто запомнит для себя эту информацию, и если захочет - найдет и проверит прямо в ютубе у тех кто уроки чисто по программированию выкладывает например в бесплатной среде Визуал студио.
Не знаю как это работает на ардуино, но в том же С# такая переменная примпт значение null
Вроде бы компилируется в Ардуино иде все так, что объявленные без инициализации переменные = 0.
Почему вроде бы? Потому что недавно прогал и вывел неинициализированную переменную. Вывелось 0, но я не стал разбираться, действительно ли я ее забыл проиницилизировать или нет. Завтра проверю.
@@АлексейАлексеев-л4ш дык а как запомнить если половину слов непонял
Крутое видео. Только вот, я не понял: Можно ли пере прошить уже прошитую Arduino? Подскажите пожалуйста.
Конечно же можно!
Автор , ты Богоподобен ты супер мего класс. Спасибо тебе
А разве по умолчанию переменная при ее создании имеет значение 0 или просто место в памяти резервируется как в Си? И еще вопрос, можно ли на питоне на Ардуино писать?
спасибо! все просто и понятно.
Если бы еще научится быстро загружать информацию в мозг,вслед за автором!
Наверное для этого нужно несколько раз осознано повторять это действием...
Отличный канал!
Интиресние чем на уроках информатики
Алекс огромное тебе спасибо
Привет, не пора записать обновленный курс?! 7 лет прошло, наверное появился опыт, который можно опубликовать?! Всё меняется )))
очень полезные уроки!
7:00 вот этот момент стал интересен, но ответа не нашёл. Допустим я получаю данные с датчика с двумя знаками после запятой, а мне это не удобно и не нужно. Как округлить до десяток? как работает round(x) и можно ли его применить?
Ну и попутно вопрос: как разделить дробное число на отдельные цифры? если с целыми числами я разобрался, то с дробными пока трудности возникают.
Спасибо за конспект -- я не поленился и распечатал)
В начале видео (1:27) , вы сказали что после прошивки, процесс необратим (возможно я недопонял), то есть я не могу использовать один микропроцессор для обучения, а каждый раз новый, после каждой прошивки или как? Просто я купил один набор, там одна Arduino UNO, что мне нужно делать , что бы использовать эту платформу много раз в процессе обучения?
Контроллер можно прошивать несколько раз. Я сейчас не помню сколько циклов перезаписи допускает память-программ данного микроконтроллера, но по любому не менее 1000, а EEPROM - не менее 10000. Еще там по идее должны быть так называемые lock-биты. Если их выставить, то программу из контроллера нельзя будет считать и придется стирать весь кристалл. Это сделано, если нужно обеспечить защиту интеллектуальной собственности.
Boolean в видео некорректно описан. На самом деле этот логический тип занимает один бит, но система может выделить минимально только байт. В C есть понятие битовых полей. И можно в байт запихнуть 8 булевских флагов. А 0 и 1 - лишь ещё одно представление. Так иногда удобно использовать арифметические флаги с небинарными значениями. Чаще используют true/false.
Бро, ты Красавчик. Не найти подобную информацию
Привет из 22)
Возникает вопрос, почему часть переменных ты обьявляешь в начале и задаешь. А другую после setup, и работаешь с необьявленной изначально переменной. Это допустимо? В чем разница где объявлять и т.д.?
Крутой видосик!
Ардуинщик, сделай заметку с использованием модуля SD/TF карты. НУ и как всегда, тонкости там всякие и нюансы расскажи. Думаю будет хороший урок.
+Евген Лют заметки и уроки по модулям будут после основного цикла уроков, так задуман канал)
долго ждал)
афигенный Учитель.
Привет. С работой СОМ-портом покажи пожалуйста приём и разбор данных еще ждать пока не будет 4-байта, принимать данных пока не закончиться передача или например принимать до символа $. Вообще о том что мола говорят другие.
Спасибо за урок )
Привет, Алекс. Очень нравятся твои видео. Вопрос: знаком ли ты с таким продавцом как "All Electronics Trading Company"? Стоит покупать у него что то?
Какой набор посоветуешь с твоего сайта чтобы было не много и не мало для начала? А то вдруг что нибудь понадобится а до заказывать долго.
Расскажи пожалуйста про прерывания. Думаю это очень многим пригодится.
+vorobei chumaziy почти в самом конце цикла уроков
С меня подписка и лайк! Спасибо! 🤗
Есть переменная типа unsigned. И допустим где-то в скетче она принимает значение а-б, при этом если "б" больше "а", то какое значение она примет учитывая, что отрицательное значение она принимать не может?
Примет 0 или возьмёт модуль отрицательного числа, или что-то ещё?
Очень интересно хотел ардуино применить в системах импульсной генерации, если у вас нет такой разработки хотелось бы увидеть. Спасибо !
Алекс, сделай пожалуйста обзор и подключение ардуино Pro mini.
Ниразу не работал ардуино и прочим, да и вовсе не разбираюсь в этом и решил попробовать начать с малого, есть задумка-проект для самого старта (главное начать с идеи). Задумка проста, в курилку поставить сборку которая бы реагировала на сигаретный дым и включала композицию с флешки о вреде курения из МФ. Остров Остров сокровищ. Но столкнулся с тем что не нахожу датчика который бы срабатывал на никотиновый дым, в итоге задумка освоить и начать творить на ардуино пока лежит на полке... Помогите с задумкой.
Здравствуйте. Хочу спросить совет. Что проще будет, изучать программирование на arduino wiring или учиться с помощью flprog ? С программирования раньше изучал javascript.
Привет, если уже код писал, то лучше писать его дальше. Flprog покажется проще, но спустя время поймёшь что он очень сильно ограничивает возможности и делает тебя зависимым от "блоков" с форума. А чтобы самому заделать нужный блок - нужно уметь кодить, круг замкнулся
@@ArduNotes Спасибо за совет.
Посоветуйте, как принимать и обрабатывать на Ардуине картинку с камеры и на что эту картинку записывать.
Отдельный лайк за Blink 182 !)
Выпускай новые уроки чаще, пожалуйста
Эх, как же круто, когда знаешь c++.
Говоря о типах данных нелишне было бы упомянуть функцию sizeof(), которая возвращает размер переменной в байтах, ибо то что int - это два байта, а long - четыре может быть не всегда верно. Подзабыл уже стандарты С/С++, но, вроде как, размер int и word соответствует машинному слову, а long - двум словам, т.е. для 16-битных контроллеров int будет два байта, а для 32-битных уже четыре. Так что на фиксированное значение размера значения лучше не закладываться, ибо, теоретически, можно огрести проблем, собрав скетч под другой чип в некоторых случаях.
Кстати, почему С++ в ардуино урезанный? Там же, вроде как, gcc-компилятор используется, должна быть полная поддержка стандарта, не?
Там используется avr-g++ со стандартом gnu++11.
А нет в ардуине stl-контейнеров (std::vector, std::map и тому подобного). Поддержки std::thread и аналогчиных фич тоже нет, ну да и как-то не надо.)
А, и точно stl ведь нету... Сам же недавно по вектору скучал, когда менюшку делал)
Есть реализация вектора для ардуины, правда она там недолелана. range-based for не работает
(это for(auto val:vData){//что-то делаем с val;} где vData это std::vector
Алекс, большое спасибо, на основании твоих уроков я начал изучать ардуино! у меня проблема я задаю тип данных unsigned long wstart = 0; при этом простое действие wstart = 9*60*60+6*60+8; выходит за предел типа данных и дает непонятную цифру 4294934528, при уменьшении на единицу (wstart = 9*60*60+6*60+7) подсчет идет корректно = 32767
. почему переменная wstart ведет себя как int? Я делаю таймер могофункциональный - переводу все в секунды и включение и выключение осуществляю при определении больше или равно заданным секундам. (платформа Arduino nano). С уважением, Илья
А вот по поводу бесконечного цикла.
Закачиваю пример File - Examples - 04.Communication - ASCIItable
Он выводит в терминал таблицу символов. На Uno и Mega он делает это циклично, а на Nano и ProMini - однократно. Почему так? Ведь Nano и ProMini - это та же самая Uno.
Спасибо за урок!
Здравствуйте! Подскажите, пожалуйста, почему у меня OUTPUT команда не выделяется другим цветом, как у вас? Написал вроде правильно, заглавными буквами
Интересно а спиртометр можно построить на ардуино и какой датчик использовать?
классно очень важный урок
Алекс Гайвер Если я знаю c++ могу Ли я спокойна програмировать на ардуино?
Немного не понял по поводу необратимости процесса прошивки. Если залить прошивку в ардуино то перепрошить ее или использовать для другого проэкта уже не получится?
Перепрошить можно много раз .
что делать, мне выдает ошибку, у меня не получается даже нормально написать код.
что делать(Raspberry Pi Pico; C++)
погоди, а про константы, области видимости переменных, дефайны ?
+Alexei Belousov новичок это использовать не будет, а про область да, забыл
Заметки Ардуинщика
константы точно будут, ну а с ними и дефайны заодно объяснить и различие.. при прочих равных использую define.
Хотя по незнанию\ошибке для объявления пинов частенько используют переменные, а не константы
даже не задумывался над этим, но да, ведь номера пинов в процессе работы меняться вряд ли будут
Андрей Бадин
нужно приучать себя к красивому и правильному программированию, к комментированию скетчей, оформлению (табуляции) участков кода и тд.. позволяет сэкономить кучу времени на отладке, особо райнтайм-ошибок и тормоза в работе.
Поэтому важно обьявлять пины дефайнами (вот в 90% скетчей к сожалению переменными делают), не выбирают типы данных, не пробуют оптимизировать (например избавиться от delay)..
а чем плоха задержка? наоборот хорошо что программа не гоняет на сверхзвуковой а работает ровно с такой скоростью как надо - не больше ни меньше
Алекс, подскажи, есть ли возможность программирования Ардуино из под Линукс? Валяется малинка, а обычного ПК нет...