Программирование Ардуино с нуля. Arduino для начинающих.

Информация о загрузке и деталях видео Программирование Ардуино с нуля. Arduino для начинающих.
Автор:
Hi Dev! – ЭлектроникаДата публикации:
27.09.2017Просмотров:
577KОписание:
На это видео у меня очень амбициозные планы, за несколько минут я хочу вас научить программированию в среде Arduino IDE. И я думаю у меня это получится! ▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂ ▽ ТАКЖЕ ПОСМОТРИТЕ ▽ ► Умный коридор Часть 1: ► Обзор Arduino Nano: ► Как паять SMD компоненты: ▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂ ▽ КОНТАКТЫ ▽ ▶ Яндекс.Дзен: ➦ Наш сайт: ☺ Группа в ВК: vk.com/hidevru ➣ Telegram канал: t.me/hidevidson 🤝 По вопросам рекламы и сотрудничества: [email protected]
Транскрибация видео
Всем хайдев!
У меня на сегодняшнее видео очень амбициозные планы.
За несколько минут я хочу научить вас программировать в среде Ардуино.
Посмотрим, получится ли у меня это.
Отмечу, что это видео для самых начинающих, а не для тебя, Джон Кармак.
Пошел вон.
Чтобы программировать, не обязательно учить все команды наизусть.
Главное понять и почувствовать логику действий.
А у Ардуино она крайне проста.
Но первым делом нам нужно обзавестись платой Ардуино, бредбордом, соединительными проводами и нужными датчиками и модулями, с которыми вы хотите работать и экспериментировать.
Их, естественно, можно купить на Алиэкспресс.
Ссылки вы найдете на нашем сайте в разделе Ардуино.
Ну а если вы зеленый и не понимаете, что вам именно нужно, но знаете точно, что хотите постигнуть Ардуино, то лучше, конечно, купить какой-нибудь готовый набор со всеми нужными прибамбасами для начала работы.
На странице нашего сайта, посвященной этому видео, я оставлю ссылки на рекомендуемые платы Ардуино и наборы с Алиэкспресс.
Так что переходите и заказывайте.
И пока вы ждете посылку, нам нужно скачать среду Arduino IDE на ваш компьютер.
Благо у нас на это много времени, спасибо почте России.
О том, как скачать нужный софт для работы и настроить его, я рассказывал в моем старом видосе про Arduino Nano.
Ссылка в верхнем правом углу и в описании.
Ну а теперь перейдем к пониманию программирования Arduino.
Заходим в Arduino IDE и мы видим, что по умолчанию в программе вписаны строки Setup и Loop.
Теперь запомним первый столб программирования в Arduino.
команды что мы впишем в блок сета будут выполнены один раз при включении arduino все что в блоке лук будет выполняться постоянно по кругу после выполнения команд из блока сета и будет это все происходить до выключения или перезагрузки arduino и чтобы это окончательно понять приведу пример но перед тем как написать первую программу нужно поставить задачу для arduino для примера будет на и простейшая задача по мигает светодиодом на самой arduino
В Ардуино к 13 пину подключен светодиод.
То есть, если через 13 пин подать сигнал, то светодиод загорится.
Вот как раз этим светодиодом мы и попробуем помигать.
У Ардуино все цифровые пины могут работать в двух режимах.
Считывание сигнала и передача сигнала.
Так что мы должны в программе активировать один из двух режимов работы пина.
Для этого в блоке Setup пишем команду PinMode.
В скобках указываем номер пина, с которым мы будем работать, и его режим.
В нашем случае это 13-й пин, и через него мы будем передавать сигнал.
Так что пишем Output.
Если бы мы хотели считывать сигнал, то писали бы Input.
В блоке Loop пишем команду, которая будет подавать сигнал на цифровой пин.
DigitalWrite.
В скобках пишем номер пина и какой сигнал подает.
Как мы знаем из уроков информатики в школе, что цифровой сигнал может быть либо нулем, либо единицей.
Либо high, либо low.
Это все одно и то же.
High сигнал это плюс 5 вольт, в случае с Arduino Nano.
А low сигнал равен земле.
Должен отметить, что low сигнал это именно замыкание пина с общим минусом, то есть с землей, а не отсоединение пина от всей цепи.
Не все это знают, но иногда это важно.
но нам нужно, чтобы светодиод загорелся, и поэтому мы впишем high.
В следующей строчке пишем delay и в скобках 1000.
Эта команда останавливает выполнение программы на 1000 миллисекунд, то есть на одну секунду.
Далее копируем две полученных строчки и вставляем ниже, но только меняем в этом месте high на low.
Вот наша программа готова.
Теперь я все еще раз поясню для вас.
Как только мы загрузим эту программу в Arduino, произойдет следующее.
Arduino перезагрузится, и при включении будут выполняться строки кода из блока Setup.
У нас тут одна строка.
И эта строка включит 13-й пин в режим передачи сигнала.
После выполнения блока Setup будет постоянно выполняться блок Loop, где светодиод включается, потом программа замирает на секунду, потом светодиод выключается и опять ждем секунду.
Далее строк кода у нас нет и Arduino начинает выполнять блок Loop заново.
Загрузим и проверим.
Естественно, все работает.
Если вы поняли принцип работы этой программы, то вы преодолели порог вхождения в мир Ардуино.
Есть очень хороший сайт arduino.ru, где в разделе программирования собраны все команды языка Ардуино с примерами.
С помощью этих команд можно сделать все, что угодно.
Все ограничивается только лишь вашей фантазией.
Ссылка на arduino.ru в описании.
Перечислять все команды нет смысла, но я расскажу вам про еще кое-что базовое.
Вот мы научились орудовать цифровыми портами Ардуино.
Теперь перейдем к аналоговым.
Аналоговые порты умеют только считывать аналоговый сигнал.
Передавать аналоговый сигнал они не умеют.
И поэтому в блоке Setup их не нужно инициализировать командой PinMod.
На самом деле почти все аналоговые порты можно использовать как цифровые.
Но не будем пока забивать этим голову.
Что же умеют аналоговые входы?
Они могут измерять напряжение от нуля до напряжения питания самой Ардуино.
Повторюсь, в случае с Ардуино Nano это 5 вольт.
Это нужно для подключения аналоговых датчиков или аналоговых органов управления, например потенциометра.
Давайте подключим потенциометр к порту А0 как делитель напряжения.
Мы будем делить питание напряжения Ардуино от номинала до нуля поворотом ручки.
Команда считывания аналогового порта пишется как Analog Right.
В скобках указываем номер порта.
Ардуино имеет 10-битный аналогово-цифровой преобразователь и преобразует напряжение, измеренное с аналогового порта, в число от 0 до 1023.
В нашем случае крайнее левое положение ручки потенциометра равно 0, а крайнее правое равно 1023.
Чтобы увидеть изменения значений, полученных с аналогового порта, можно подключить дисплей, но мы пока что учимся базовым вещам, так что выберем вариант попроще.
Будем выводить значения на компьютер.
Для этого в блоке Setup откроем программный монитор команды Serial Begin.
В скобках указана скорость передачи данных.
В блоке Loop команды Serial Print будем выводить значения с потенциометра на монитор.
Загружаем скетч, открываем монитор среди Arduino IDE и выбираем скорость, которую мы указали в коде.
Мы видим огромное количество строчек.
Все это потому, что блок loop выполняется очень быстро.
И с каждым выполнением выводится новая строчка с состоянием потенциометра.
Чтобы усмирить эту вакханалию, добавим в код уже знакомую команду delay1000, которая будет останавливать программу на секунду после того, как строка с состоянием потенциометра отобразилась на мониторе.
Снова загружаем скидку.
Мы видим, что строки идут с перерывом в секунду, чего мы и добивались.
Теперь посмотрим на зависимость положения ручки потенциометра и значения с аналогового порта.
Крайне левое положение это 0, и с каждым градусом поворота вправо значения растут.
Теперь я думаю вы понимаете, как подключается к Ардуино аналоговое устройство.
В позапрошлом видео мы подключали к аналоговому порту фотодатчик.
Посмотрите тот ролик для закрепления сегодняшнего материала.
Теперь перейдем к, наверное, самой основной команде, которую нужно понять.
Это управляющий оператор IF.
Этой командой мы можем создавать условия, которые Arduino будет проверять с каждым новым повтором цикла loop.
Начнем с примера.
У нас уже подключен потенциометр.
И в блоке loop мы создаем условия.
Если значение с аналогового порта будет больше 500, это примерно середина ручки, то будет выполняться код программы ниже в фигурных скобках.
Сюда мы впишем код, который делали в самом начале мигания светодиодом в самой Ардуино.
Только применяем задержку с 1000 на 150, просто так.
Поскольку мы используем 13-й цифровой пин, не забываем установить режим работы цифрового пина командой pinmod в блоке setup.
И что теперь происходит?
Ардуино постоянно проверяет условия.
Если оно верно, то светодиод моргает, а если не верно, то код в фигурных скобках игнорируется.
Если все понятно, то вы уже можете выполнять большинство задач на ардуино.
Только я еще добавлю, что ваши созданные условия вы можете проверять не только оператором сравнения больше, но еще есть операторы меньше, больше или равно, меньше или равно, равно, не равно.
Все эти операторы сравнения есть на сайте arduino.ru.
Например, можно написать, что если значение с потенциометра равно 500, то в этом случае будет выполняться код ниже.
Или наоборот, если значение не равно 500, то в этом случае код будет выполняться ниже.
Также можно добавить дополнительные условия логическим операторам И. Например, первое условие, что значение с потенциометра должно быть меньше 500, а второе условие, что значение с потенциометра не должно быть равно нулю.
В этом случае код выполняется, когда ручка нашего потенциометра левее среднего положения.
Но если она на нуле, то код игнорируется.
Надеюсь, вы чувствуете всю суть программирования и понимаете, что тут ничего сложного нет.
В данном случае, чтобы код выполнялся, необходимо выполнение обоих условий.
Но если поставить логический оператор или, то при выполнении одного из условий код будет выполнен.
Например, если значение с потенциометра будет меньше 200 или больше 800, то код будет выполнен.
Логический оператор if диктует, что делать с Arduino в том случае, если заданное условие верно.
Но если мы хотим задать команды в случае, если условия не верны, то нам понадобится оператор else.
Выглядит в программе все это вот таким образом.
Если условие верно, то код выполняется, и после этого оператор else и его команды игнорируются.
Но если условия не верны, то выполняются строки кода в операторе else.
Приведем пример.
Если ручка потенциометра меньше середины, а как мы и помним, значение 500 это примерно середина, то светодиод на Arduino просто горит.
А если это условие не верно, то есть ручка потенциометра больше середины,
то светодиод мигает с задержкой 150 миллисекунд.
И как видим, это работает.
Чтобы закончить с этими IF-ами и ELSE-ами, нужно понять еще один логический оператор ELSE-IF.
Тут сразу пример.
Если значение с потенциометра меньше 250, то светодиод не горит.
Если это не так, но ручка между 250 и 500, светодиод мигает с задержкой полсекунды.
Если и это не так, но потенциометр в диапазоне от 500 до 750, то светодиод мигает с задержкой 150 миллисекунд.
Но если эти все условия не верны, то есть потенциометр больше 750, то светодиод просто горит без миганий.
Надеюсь, вы поняли, что с помощью Else If можно создать условия любой сложности в несколько уровней.
Все, что я сегодня рассказал,
это уже и есть самое настоящее программирование ардуино конечно я не говорил про переменные константы библиотеки и прочие функции и тонкости но я думаю эта тема какого-нибудь следующего более углубленного урока всего что я сегодня рассказал вполне достаточно чтобы начать действовать
Если у вас возникают вопросы, то идите на сайт arduino.ru.
Там расписаны все команды с пояснениями и примерами.
Если я смог вас заинтересовать этой темой, то пора бежать на Алиэкспресс и затариваться ардуинками и наборами.
Ссылки на все нужное, как я и говорил, на нашем сайте.
Интересные проекты, которые можно сделать на Ардуино, вы можете найти на нашем канале.
Посмотрите, я там все показываю и подробно рассказываю.
Подписывайтесь на канал, ставьте лайки, вступайте в нашу группу ВКонтакте и ардуиньте понемногу.
Всем пока!
Похожие видео: Программирование Ардуино с нуля

Программирование Ардуино с нуля. Типы данных, переменные, константы, массивы.
![Архитектура. M(VC, VP, VVM) [RU] / Мобильный разработчик](https://videodownloadbot.com/images/video/75e/e1uyhz1gnwewasw27b6uol6d6hzipobw_medium.jpeg)
Архитектура. M(VC, VP, VVM) [RU] / Мобильный разработчик

МАФИЯ в МАЙНКРАФТ: Райм, Домер, Феликс, Клайп, Зени, Дед, Никки, Пингвин

ШИКАРНЫЙ ДЖОН УИК, CS 2 и ДР.

Интервалы в музыке. Секреты гармонии.
![GC, ARC, RAM. Часть 1. Оперативная память / Мобильный разработчик, [RU, IT]](https://videodownloadbot.com/images/video/3ac/nj3xgnrp4uwymx0cja49h30h91y13eiq_medium.jpeg)
